Zum Inhalt springen

Mittwoch 15. Juni 2016

Mit der Chrome(ium)-Extension "Toogle JavaScript" fährt es sich etwas besser im Alltag. Simpler Button zum Ein- und Ausschalten in der Leiste. Trotzdem werde ich wohl nie mit Browsern generell zufrieden sein. :/

Nachtrag: Nein, das ist völlig falsch. Textbrowser wären ja absolut ok (manchmal mit Bilder-Support), wenn die Webseiten nicht alle stupide und unsinnig sowie ohne Fallbacks mit JS vollgestopft und funktionstüchtig wären und zudem einen sinnvollen Aufbau ihrer Menüs und Inhalte hätten... dann wäre das Alles kein Problem. Eigentlich sollte man glatt den Aufbau von Webseiten standardisieren und nur ein vorgebenes, festes Gerüst zulassen bzw. überhaupt verarbeiten können bzw. solche, die einer Art von Gütesiegel unterliegen. Den Rest müsste man wie Flash langsam ausrotten. \o/

Nachtrag: Abgesehen davon ist man so deutlich schneller und ressourcensparender unterwegs, als mit aktiviertem uBlock und so weiter, weil die sich halt auch durch diverse Filter-Listen bei jedem Seitenaufruf fräsen. Nervt manchmal und auch der kleine Laptop-Lüfter macht sich da bemerkbar.

Nachtrag: Auch ein Bild~Gif-Blocker ist recht angenehm. So lassen sich JS und Bilder per Klick je nach Seite einschalten oder eben nicht. Da lesen sich News gleich schneller, leichter und neutraler... ^^
21:03 Uhr / 15.06.2016 / 20160615205835.txt

Dienstag 14. Juni 2016

Ich zitiere mich selber bezüglich des Ergebnisses des kollektiven Kugelspieles der ehemaligen Österreich-Ungarn-Monarchie: "Ist halt immer das Gleiche mit dem österreichischen Fußball. Erst jubeln alle, dann weinen sie. Jedes Mal. ^^"
20:02 Uhr / 14.06.2016 / 20160614200150.txt

Habt ihr auch das Gefühl, dass die Bildung stetig absinkt? Tja...

"Die 31-Jährige (US) kam 2011 nach Schweden, wo sie sich an der Hochschule in Västeräs im Osten des Landes für ein Studium der Finanzanalytik einschrieb. Schon bald bemerkte sie nach eigenen Angaben, dass vor allem das Mathematikniveau zu niedrig sei, um die von ihr angestrebte Karriere im Finanzwesen zu ermöglichen."

Geklagt und gewonnen. ^^
16:48 Uhr / 14.06.2016 / 20160614164640.txt

"Eine Folge der Entwicklung ist, dass das Vorhandensein eines Punktes mitunter neue Bedeutungen erlangt. Will man etwa Missfallen ausdrücken, so eignet er sich gut dafür. Würde ein "Na gut" oder "Na gut!" meist als einfache Bestätigung schlichte Akzeptanz verstanden, transportiert ein "Na gut." mitschwingende Verärgerung. "Der Punkt", so Crystal, "verfügt nun über emotionale Aufladung."
12:39 Uhr / 14.06.2016 / 20160614123907.txt

"Autonome Flugfunktionen für alte Helikopter zum Nachrüsten" - soll die Piloten entlasten. Die nächsten Kandidaten für einen System-Administrator-Kurs. \o/
11:31 Uhr / 14.06.2016 / 20160614113035.txt

Ah, der Waelti‌ hat mich auf einen Fehler bei der Snuffi-Suchmaschine hingewiesen - es war ein Zeichensatz im HTML-Header zuviel drinnen und dadurch gab es (bei manchen vielleicht nur) Darstellungsprobleme mit den Umlauten. Ist behoben. Klappt zudem auch mit Textbrowsern problemlos.

Übrigens scheint die Suche generell Vielen zu gefallen (einige positive Rückmeldungen erhalten) bzw. für sie interessant zu sein, deshalb vielleicht noch ein kleiner Einblick beim Index-Aufbau:

Ich habe das Standard-Setting bisher so belassen, wie es ist - das heißt der Crawler durchforstet bzw. aktualisiert die Seiten in 15-Sekunden-Intervallen, wenn er mal angeworfen ist. Pro Aktion futtert er dabei maximal 10 Webseiten im Standard-Setting und verarbeitet sie, dann pausiert er wieder 15 Sekunden und die nächsten 10 Seiten folgen.

Das ist bei meinen "leichten" Textseiten vielleicht etwas großzügig und auch für die heute moderneren, schnelleren Server im Jahr 2016, aber man verhindert damit eben ein Überlaufen bzw. eine Ressourcenknappheit beim Server (wer schon mal YaCy ausprobiert hat, kennt den Sprung bei der Prozessorauslastung).

15 Sekunden mit je 10 Seiten sind vielleicht nicht viel, aber in Summe dauert es somit bei 1100 Seiten natürlich dann dementsprechend, bis alles durchforstet (und gefiltert) ist.

Mittlerweile habe ich in meinem Kunden-Account-Backend des Servers jedoch einen Cronjob eingerichtet und getestet, der über die Angabe "perl /xx/xx/cmd_admin.pl Password=xyxyxy "All"" den Rebuild-Vorgang einmal in der Woche in der Nacht anstößt. Damit läuft das Ganze sozusagen unsichtbar und man kommt niemanden in die Quere und am nächsten Tag gibt es einen frischen Index wieder.

Ich bin gespannt, wie die Suche sich langfristig schlagen wird, denn im Endeffekt ist es ja eine Spiegelung sämtlicher Inhalte bzw. Texte, sonst könnte man ja nicht extern suchen... und nachdem diese Lösung ebenfalls mit Textdateien läuft, könnte das in ein paar Blog-Zyklen spannend werden, zugleich ist das Teil natürlich für große Mengen angelegt.

Einen Fehler~Bug habe ich bisher festgestellt: man kann für definierte Stichwörter "Werbung" einblenden - wer mag kann mal "emanuel, muli, schokolade, linux" oder "kommentare" in die Suche eingeben und wird danach über dem Suchfeld von mir angelegte Hinweis-Texte (Werbung) sehen. Sucht man jedoch mit einem + - also zum Bespiel email + client, dann werden ebenso die Texte manchmal unpassend angezeigt, auch bei Leerzeichen-Spielereien und so weiter. Aber das ist harmlos und nicht weiter schlimm.
08:30 Uhr / 14.06.2016 / 20160614083035.txt

Ich... ähm... habe da mal eine Frage: "Auf dem Tag der Bundeswehr in Stetten ließen Soldaten Kinder mit echten Waffen hantieren. Diese waren zwar nicht geladen – erlaubt ist es dennoch nicht. Der Truppe steht jetzt Ärger ins Haus."

1) Warum geht man mit Kindern überhaupt auf eine militärische Veranstaltung bzw. lässt sie dort rein? 2) Militär = Waffen und deren Technik. Was erwartet man denn dort? Ponyreiten und Seifenblasen-Formen? \o/
05:52 Uhr / 14.06.2016 / 20160614054704.txt

Kann es sein, wenn ich mir da so die recht nüchternen News da und dort gerade eben durchlese, dass die Apple WWDC Keynote eher... fad war? Auch wenn es keine Produkt-Präsentation war, sondern nur die WWDC... aber trotzdem.

"Durch das Speichern der beliebtesten Apps eines Nutzers im Arbeitsspeicher sollen die Ladezeiten für Apps auf der Uhr deutlich reduziert werden. ... Neue Schriftarten und Ziffernlätter für die Uhren gibt es ebenfalls. ... Mit Activity-Sharing können Nutzer ihre sportlichen Aktivitäten mit Familienmitgliedern und Freunden teilen. ... Die Fernbedienung bekommt ein Update und bietet jetzt Touch-Navigation und Siri-Spracheingabe. ... Eine dunklere Benutzeroberfläche bringt das neue OS auch. ... Eine Neuerung ist, dass sich Nutzer statt mit Passwörtern mit ihrer Apple Watch einloggen können. ... Siris Ergebnisse lassen sich per Drag-and-Drop in einem Ordner speichern."

Das klingt irgendwie so nach einer c't-Zeitschrift von 2007.

Nachtrag: Apples großer Hilferuf (Vorsicht, Welt-Link).

Nachtrag: Die Zeit: "Das Betriebssystem für den Mac wird wie erwartet umbenannt in macOS. Es gab daraufhin den bis zu diesem Zeitpunkt lautesten Jubel im Saal. Manche Menschen sind eben leicht zu beeindrucken." ^^
05:32 Uhr / 14.06.2016 / 20160614052210.txt

Montag 13. Juni 2016

Ha, jetzt kommen zwei zusammen, die gefühlsmäßig immer schon zusammen gepasst haben: Microsoft schnabuliert mal eben LinkedIn.
15:24 Uhr / 13.06.2016 / 20160613152102.txt

Alles absurd: "Deutschland ist im Vorjahr hinter den USA und Russland der drittgrößte Waffenexporteur weltweit gewesen und hat damit Frankreich und Großbritannien überholt. ... Davon ging etwas weniger als ein Drittel (29 Prozent) in den Krisengürtel Nahost-Nordafrika. Wichtigster Abnehmer in dieser Region war im vergangenen Jahr Saudi-Arabien gefolgt von Algerien, Ägypten und Katar. Laut Jane’s werden die Lieferungen nach Nordafrika und Nahost 2018 sogar 40 Prozent der deutschen Rüstungsexporte ausmachen."

Zugleich beschwert man sich über Flüchtlinge, weil es ist blauäugig zu glauben, dass all die Waffen ausschießlich immer nur der Friedenssicherung dienen.

"Die Golfstaaten und Ägypten hätten sich zudem Militärtechnik zugelegt, die auch anderen Zwecken diene als der rein defensiven Landesverteidigung. Der neue Fokus auf Präzisionslenkwaffen deutet nach Ansicht des Rüstungsexperten darauf hin, dass man sich auf Konflikte vorbereitet, in denen es auch darum geht, sich die Unterstützung der Bevölkerung zu sichern, indem man eine große Anzahl ziviler Opfer vermeidet."
11:34 Uhr / 13.06.2016 / 20160613113229.txt

Was für ein Sonntag-Abend! Wer hier regelmäßig mitliest, der hat ja mitbekommen, dass ich mir mehrfach Gedanken über die Suchfunktion hier gemacht habe und das aber auch schon früher einmal... und jedesmal mehr oder weniger das Thema wieder ohne Ergebnis beiseite legen musste.

Die Suche
Gestern habe ich mich dann noch einmal durch das Netz gefuttert und mir so ziemlich alle auffindbaren Varianten an "selbst gehosteten Suchmaschinen ~ self hosted search engines" angeschaut und war erneut ziemlich ernüchtert. Es ist erstaunlich, wie wenig Lösungen es mittlerweile da draußen so gibt - die paar Wenigen, die man zum Laufen bekommt, sind veraltet, vergessen und modernere Ansätze benötigen praktisch quasi einen eigenen Server mit einer Vielzahl an Zugriffsformen, Bibliotheken und Co. und sind so für mich kaum in einem vertretbaren Aufwand nutzbar.

Dann habe ich mir sehr frustriert gedacht, gut, schaue doch einmal so richtig in die feinere Vergangenheit, also ganz weit zurück, aus der Zeit von Blosxom und den ersten Skript-Portalen, denn alt ist zwar meistens riskant, aber die Dinger laufen meistens wie ein alter Käfer oder Lada... sie tun was sie sollen.

Archäologischer Fund
Und jetzt haltet Euch fest: ich habe eine kleine Suchmaschine für meine Seiten gefunden, die einfach und völlig unerwartet auf Anhieb funktionierte! Aus dem Jahre... seid ihr bereit?... aus dem historischen Jahre 2005. Fluid Dynamics Search. Auf Perl-Basis, ohne Datenbank naturgemäß (die waren damals nämlich noch sauteuer, wie ich mich leidvoll erinnern muss) und arbeitet deshalb sehr fein mit Textdateien. War früher eine 40 Dollar Shareware (ahahaha, meine Güte, ich vermisse diese Zeit irgendwie), wurde dann aber im Oktober 2015 eingestellt und in die Freiheit entlassen - heute ist kein Lizenz-Code mehr notwendig, kein Copyright und so weiter. Eh klar, wer nutzt das noch? \o/

Still running
War ich perplex. Nach dem Rumfitzeln mit den anderen, fetten High Tech-Suchmaschinen war das ein 20 Sekunden-Upload von gerade einmal 45 Dateien und es lief sofort out of the box und zwar richtig gut. Wtf? Wir haben das Jahr 2016, ich laufe gerade auf frisch aktualisierten Servern mit PHP7 und so weiter, unendlichen Datenbanken und dann kommt ein 11 Jahre altes Skript dahier und löst die Probleme mal eben ohne mit der Wimper zu zucken?! Ôo

Also gleich mal einen der schlafenden Domains geschnappt und das Teil dort installiert. Und dann eingerichtet - Herrschaftszeiten ist das ein reichhaltiges Ding!? Ich habe mal ein paar Screenshots vom Backend angefertigt, um einen Eindruck zu vermitteln:

Anlegen der Webseiten
Bearbeiten der Webseiten
Bearbeiten von Ergebnissen
Einstellungen für die Suche
Filter-Regel-Übersicht
Filter einrichten
Such-Protokolle
Such & Crawler- Einstellungen
Noch mehr davon
Und noch mehr
und so weiter...

Was hier noch fehlt ist die laufende Erfassung einer Webseite, bei der der Crawler sich in Intervallen durch die Seiten futtert und jeweils Ergebnisse, Fehler und so weiter sammelt und anzeigt und sich selbst immer wieder dabei aktualisiert. Und noch viele weitere Sub-Optionen. Bla. Komplex ist so eine Suchmaschine schon, wenn man es richtig machen möchte... da kann man ja fast Respekt vor Google und Co. bekommen. ^^

Fast analog
Irgendwie ist das Ganze auch ein Klassiker... heute konzentriert man sich ja meistens eher um die Darstellungen der Optionen und wie es auf den Benutzer wirkt an sich, dafür ist der Funktionenumfang und die Tüchtigkeit meistens Scheiße, während man früher sich hingegen eher nur um die Optionen und Möglichkeiten generell gekümmert hatte - rudimentär und nutzbar eben. Und ich bevorzuge eindeutig den alten Kram. Und nein, da ist kein responsives Bootstrap, jQuery-Bla, Laravel, Ruby, Docker und was auch immer an sonstigem Schmafu involviert... \o/

Das Ding entspricht auch sonst genau meinen Anforderungen. Zwar benötigte ich natürlich erst ca. 10 Anläufe und Erfassungen, bis ich gemerkt habe, wo ich was vergessen hatte - so zum Beispiel wurden bei den Wikis auch die Edit-, Diff- und Bak-Seiten als Ergebnisse mit erfasst, was natürlich nicht sein soll und auch beim Blog benötigte ich erst einige Runden, bis mir klar war, dass es wenig Sinn macht, den RSS-Feed und die paginierten Übersichten in den Index aufzunehmen, stattdessen wollte ich nur die Startseite und die Einzel-Beitragsseiten. War aber dann schlussendlich mal eben schnell mit den Zeichenketten-Vergleichen bei den Filtern gelöst.

Meine Suchmaschine
Nun, lange Rede, kurzer Sinn... nachdem das Ding erstaunlicherweise ohne Probleme läuft und auch die Suche flott anspricht, habe ich das Teil damit auf einem anderen Account und Domain online gestellt, was ebenso meinen Wunsch entspricht... denn ich wollte ja die Suche quasi "auslagern" und als ein eigenes Modul sozusagen laufen haben - und nicht eingebunden im Blog oder den Wikis.

Denn die werden - sofern ich nicht aus welchen Gründen auch immer das Zeitliche segne - die nächsten Jahre noch deutlich wachsen. Ende des Jahres wird der Blog wahrscheinlich über 2000 Einträge beinhalten und bei dem Tempo kommen pro Jahr vermutlich weitere 1000 hinzu, auch die Wikis möchte ich noch viel mehr als bis jetzt nutzen... sprich, da kommt viel Text und Inhalt zusammen. Und den mal eben Durchsuchen ohne Datenbanken und eingebunden in die anderen Tools mittels Plugins ist immer so eine Sache, auch aufgrund der vielen Bots und An~Abgreifer-Versuche im Netz, denn die belasten das dann zusätzlich ressourcenmäßig jede Seite und ihre Formulare in unendlichen Intervallen.

Da ist es mir lieber, ich habe ein eigenes, losgelöstes Such-Tool für alle meine Seiten zusammen und sollte es dort mal Probleme geben, kann ich das Ding sperren, stilllegen, pausieren, abschotten oder was auch immer - ohne die anderen Seiten damit zu treffen oder zu belasten. Reduziert den Aufwand, die Zeit und die Probleme. Eine Seite, ein Tool und eine Aufgabe jeweils... so wie es sich eben gehört.

Ausprobieren
Natürlich bin ich noch nicht ganz glücklich und muss erst noch einige Schrauben nochmal drehen, denn dadurch, dass ich gestern Abend nun zum ersten Mal den Index überhaupt erstellt habe, ist für die Suchmaschine natürlich alles "gleich neu" und somit sind die Ergebnisse etwas falsch gewichtet bzw. anders gereiht, als nach meinem Geschmack, aber das wird sich im Laufe der Zeit ja noch bessern. Auch werde ich aus Ressourcen-Gründen den Index nur alle 7 Tage aktualisieren - also immer am Ende der Woche, das spart ebenfalls Zeit und Energie auf allen Seiten und reicht völlig aus... soweit reicht mein eigenes Fruchtfliegenhirn gerade noch zurück. ^^

Hier geht es zur Suche: #Snuffi

Wie eh anhand der Beschreibung erkennbar, gibt es wie bei Google verschiedene Filter-Varianten, um schneller zu einem Ergebnis zu kommen... Übrigens bin ich ebenfalls noch nicht ganz mit der Darstellung der Inhalte und deren Auswahl der Preview-Texte zufrieden, ebenso ist die Seite erst halb mobil tauglich... aber gut Ding braucht Weile.

Nachtrag: Das Ding läuft einfach, Fehler habe ich auch kaum in den Logs gesehen, aber natürlich gibt es einen ganz großen, dunklen Schatten bei diesem Tool: die Sicherheit. Das Teil ist mehr als ein hartes Jahrzehnt alt (also im WWW somit historisch), wurde seitdem nicht mehr aktualisiert und betreut und ich habe damit natürlich keine Ahnung, ob das Teil so rudimentär "alt" ist, dass es dadurch schon wieder abgesichert genug ist oder ob es massive Löcher und Angriffspunkte gibt. Ein paar "Vulnerabilities" tauchen im Netz auf, aber alle von noch früher, nichts Aktuelles in den letzten.. ähm... 10 Jahren. :D Sollte da jemand mehr Kenntnisse, Einblicke und Co. haben oder gar Fehler entdecken, freue ich mich natürlich über Hinweise und~oder Tipps. Thx! Man betrachte also das Teil mal als ein laufendes Experiment.

Ein anderer Stolperstein ist natürlich das Alter selber, wer weiß, wie lange dieses Tool noch auf einem Standard-Hosting-Angebot mit seinen Updates laufen wird... allerdings gibt es eigentlich keine aktuellen, besseren Alternativen. Die Such-Engine Sphinx ist übrigens etwas ähnlich, aber deutlich unrunder und meiner Erinnerung nach viel karger, aber zugleich fetter und bröseliger als dieses anscheinend recht solide Teil hier.

Nachtrag: Was übrigens auch noch fast herzig ist: man kann Werbung an vier Stellen einblenden und mit Suchwörtern kombinieren - einfach mal nach meinem Namen suchen, dann seht ihr eine gelbe Werbung. Sogar mit Adblocker. ^^

Nachtrag: Ich hoffe mal, dass das Ding lange ohne Probleme läuft, denn es wäre wirklich schade darum - eben mangels Alternativen. Wie auch immer - ich bin erstmal sehr zufrieden und richtig erfreut... denn es würde sich gut neben meinem Blog-Fluffi machen, das ja selber mit Code aus dem Jahre 2005~2008 läuft, ebenso wie die Wiki-Engine (teilweise auch old school) und das noch dazu sehr gut. Hach ja... meine Oldtimer-Sammlung. \o/

Nachtrag: Und noch was... im Gegensatz zu vielen Tools und Projekten heute, ist das Teil umfangreich dokumentiert und das ausführlich. Nicht wie heute mit ein paar coolen Schlagwörtern, schau halt in die rudimentären man-Pages oder finde es selber raus.
07:00 Uhr / 13.06.2016 / 20160613055034.txt

Sonntag 12. Juni 2016

Selbstbalancierendes Motorrad... finde ich sehr spannend. Aber ebenso das Interview mit dem Erfinder. ^^

"Ja, ich bin sehr unfallgefährdet. Alle zehn Jahre habe ich einen lebensgefährlichen Unfall. Mein letzter war erst vergangenes Jahr. Da bin ich mit dem Motorrad auf einer Rennstrecke verunglückt.

... Ja, dagegen hätte ich nichts. Mit Lizenzen. Natürlich gäbe es da wahrscheinlich auch Raubkopierer aus China. Hallo China! Wir lieben euch! Also Lizensieren wäre eine Möglichkeit, oder wir könnten einfach selbst den Weltmarkt erobern. Mir ist es egal, wie die Sache verläuft."

10:20 Uhr / 12.06.2016 / 20160612101952.txt

Samstag 11. Juni 2016

Also wieder ein Problem gelöst. Ich war heute am Nachmittag ja ein wenig unterwegs und wollte dann zwischendurch am Chromebook mit dem aufgesetzten Ubuntu mal eben ein paar andere Blogs und deren aktuellen Einträge lesen (als ob ich RSS nutzen würde, hust)... Aber eh klar, ich hatte selbstverständlich vergessen, die Feeds von Newsbeuter am Laptop mit denen auf dem Chromebook abzugleichen. Klassiker und jedes Mal das Selbe. Und unterwegs und stundenlang an der Kassa stehen ist ebenso unbefriedigend, denn am Handy läuft natürlich kein Newsbeuter. Also kurz nachgedacht und beschlossen: Fuck drauf.

Lokale Newsbeuter-Installationen überall ade und Miniflux ohne Datenbank zentral am Server geklatscht. Zugriff von überall, syncen muss ich auch nix und mit dem "No Style"-Theme, sprich ohne irgendwas und mit nacktem CSS ist das Ding sogar brauchbar... auch am Smartphone (Smartphone Screenshot und Desktop Screenshot). Vielleicht bastel ich mir irgendwann ein Eigenes mit dunklem Hintergrund für das liebe Akku-Schonen unterwegs.

Damit wieder was erledigt und zudem wieder eine lokale Software-Installation am Gerät selber weniger und so wie bei den Emails eingespart. Jetzt ist es mir bald wirklich relativ egal, auf welchem Gerät ich sitze. ^^
16:56 Uhr / 11.06.2016 / 20160611164738.txt

Nein?! Doch! Ooohhhhh! \o/

"Kühlschrank und Waschmaschine: NSA will Internet der Dinge anzapfen"
12:49 Uhr / 11.06.2016 / 20160611124908.txt

8:33 Uhr und mal den ersten Schwung einkaufen für das Wochenende... aber ernsthaft: Ich bin wahrlich kein leuchtendes Vorbild für gesunde Ernährung - zuviel Zucker und für Viele amüsierend auch zuviel Kakao und Ähnliches - aber was andere Menschen so für sich und vor allem ihre Kinder einkaufen, ist teilweise schon heftig. Flaschenweise Cola, Zuckergetränke, Knabberzeugs und Schokoriegel und dergleichen, paar fettige Fertiggerichte und noch eine Packung Fett mit etwas Fleisch aus der Aktion - und merkbar nicht für eine Party, sondern als Alltagsnahrung, während hinten im Kinderwagerl auch schon bereits an einem Riegel gekaut wird.

Das ist irgendwie erschreckend wie wenig Bewusstsein da vorhanden ist... als Erwachsener ist das was Anderes, weil da kann man selber abschätzen, was einem mehr wert ist bezüglich körperlichen Auswirkungen vs. dem Eat-Fun-Faktor - aber bei einem Kind?! Meine deutlich jüngeres, weibliches Gen-Gegenstück beispielsweise fängt mit süßen Sachen wie Schokolade überhaupt nichts an, die lehnt das sogar kategorisch ab. Ist für mich naturgemäß unverständlich, aber ich freue mich auch zugleich darüber, weil es natürlich viel vernünftiger und gesünder ist. Und so gehört es sich auch.
08:41 Uhr / 11.06.2016 / 20160611083345.txt


 1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50  51  52   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   128