Showing posts with label faszinierend. Show all posts
Showing posts with label faszinierend. Show all posts

Friday, September 26, 2008

Ganz ohne Excel Exceldateien erzeugen, öffnen, ändern, speichern...

Vorhandene Exceldatei bearbeiten? Hier - http://sheet.zoho.com/excelviewer - hochladen, im Browser editieren, mit "Export" wieder lokal speichern.

Neue Exceldatei? Leere Datei hier - http://sheet.zoho.com/scratch - öffnen, im Browser bearbeiten, mit "Export" abspeichern.

Für beides ist nicht mal ein Account erforderlich! Und dass die Spreadsheets bei Zoho auch VBA Makros (VBA? Ja, VBA!) und Pivot Tables können, habe ich das schon erwähnt? Ziemlich faszinierend, oder?

Sunday, February 24, 2008

Ruby hat heute Geburtstag und wird 15!

Um das gleich mal festzuhalten, Ruby wird heute, am 24. Februar 2008, 15! Habe ich hier: Ruby Turns 15 and Other Important Stuff - O'Reilly FYI gelesen:

David Flanagan, author of many books including most recently The Ruby Programming Language
observed that this month marks Ruby’s 15th birthday. David
confirmed with Yukihiro “Matz” Matsumoto–creator of
Ruby and David’s coauthor on the aforementioned book–that,
indeed, Ruby was conceptualized and named on Feb. 24, 1993. Mark your
calendars.
Zum 10. Geburtstag gratulierte David A. Black: [ANN] Happy Birthday, Ruby, and an announcement....

Today, February 24, 2003, is Ruby's 10th birthday.** Happy Birthday,Ruby! And congratz to Matz!
Und selbst in einem Kalenderblatt des bayerischen Rundfunks vom 24.02.2005 geht es um Ruby, das war dann wohl anlässlich des 12. Geburtstags.

Monday, February 11, 2008

XML People

In einem wunderbaren Artikel - XML People - beschreibt Tim Bray die Personen, die mit der ursprünglichen Entwicklung von XML zu tun hatten. Hat mich sehr fasziniert, wie er die Menschen hinter der Technologie lebendig werden lässt, ihr Aussehen, ihre Persönlichkeit, ihre Rolle und ihren Beitrag charakterisiert. Was mich wirklich neugierig machte und ich anfing Bilder von Ihnen im Internet zu suchen. Hier das Ergebnis, die Begründer und Erfinder von XML, jeweils kurz wie Tim Bray sie charakterisiert, und dazu ein Bild.
"Ted · Theodore Holm Nelson looks like Peter O’Toole, with a personal style similarly extravagant."




"TimBL - Tim Berners-Lee is thin, pale, and twitchy, a well-bred British baby-boomer who circumlocutes and temporizes and gets to the point slowly."




"Charles
· Charles F. Goldfarb is a Jew from New York who got a Harvard law degree and went to work for IBM.Charles, fiftyish now, is dark, burly, balding, bearded, Californian. (...) He wears Western-style string ties, talks energetically with a lot of hand movement and still a New York rasp."




"Yuri
· Yuri Rubinsky died in early 1996 (suddenly, of a heart attack) before our story really got started,...Yuri, a Canadian of Russian descent; was born in Beirut, Lebanon (a place we’ll hear from again) and, and while his family was Gentile as far as he knew, looked like a caricature of a mid-European Jewish intellectual.
"




"Jon
· Jon Bosak is a writer who escaped into high tech from the inspiring but stingy publishing world; not the first by any means.(...) Jon, another boomer, is shortish, and looks like the child that might have been born to John Lennon and a Kennedy."




"James
· James Clark is a computer programmer. (...) His ancestors made enough money that he, a GenXer, doesn’t really have to work. He is our story’s second Englishman, but is less polished and much more direct than TimBL."




"Tim
· This is me, a fortysomething Canadian raised mostly in Beirut (there it is again). (...) I’m average size, average weight, fair, largely bald, with a vaguely Mennonite look caused by wearing a beard sans mustache, and speak average toneless mid-North-American."




"Eve
· Eve Maler, a Honolulu-born boomer now in suburban New England, toiled for years, like Jon, in the techdoc mines. (...) Eve is buxom, curly-haired, full of smiles. Some people foolishly conclude that she is a technical lightweight and usually end up exposing their foolishness in public."




"Michael
· C. Michael Sperberg-McQueen has a name that is unusually long by any standard...Michael, about 8 feet tall, correspondingly broad-shouldered, and with a bit of middle-aged spread...He is at all times in strict conformance with the dress code of the Midwestern academic: tweeds, checks, scarf, cloth cap."




"Lauren
· Lauren Wood is a New Zealander whose adult life has been in Australia andGermany. (...) Lauren is smallish, slenderish, dark-haired, pale-skinned, large-eyed, and speaks with an Auckland lilt that can veer into complete opacity on
words with a strong “O”, such as “word” and “cold”. She is cheerful, patient, and very good company. (...) We were married in November 1996, just after XML was unleashed on the world."




"Jean
· Jean Paoli is a citizen of France but really Lebanese, a typical Levantine ethnic cocktail: dark, burly, hirsute, chubby-faced."




"Phil
· Phil Karlton died in 1997 (in an Italian auto accident while on vacation), so only takes a brief turn on this stage. (...) Phil was an ugly bald whiskery sweet man, with lots of rough edges and an
apparently-perfect 20-year marriage that, I think, intimidated many whose
relationships are more mundane and compromise-laden."



Wednesday, January 09, 2008

Heise Full Content News Feed mit Yahoo Pipes

Problem? Der Newsfeed von Heise heise online News enthält lediglich die Titel der News, aber keinerlei Newsinhalt. Wie könnte man sich einen Newsfeed basteln, der Titel und gesamten Inhalt der News liefert?

Ich hatte Yahoo Pipes schon fast wieder vergessen, was können die nochmal?

Like Unix pipes, simple commands can be combined together to create output that meets your needs:

  • combine many feeds into one, then sort, filter and translate it.
  • geocode your favorite feeds and browse the items on an interactive map.
  • power widgets/badges on your web site.
  • grab the output of any Pipes as RSS, JSON, KML, and other formats.

Sounds good? Learn more....

Und ob das gut klingt! Es hat dann zwar nicht gleich auf Anhieb ganz so wunderbar funktioniert, letztendlich aber doch: Wie funktionierts? Eigentlich recht übersichtlich:
  • "Fetch Feed" Modul holt den vorhandenen Heise Newsfeed (er wird in eine interne Struktur von "Items" geparsed, auf die man dann z.B. mit item.summary oder item.title Zugriff hat)
  • "Truncate" entnimmt nur die ersten 10 Einträge
  • "Loop" ruft für jeden Eintrag
    • "Fetch Page" auf, die Seite des Newsbeitrags selber wird geholt und durch Angabe eines Von- und Bis-Strings der Nachrichtentext herausgeschnitten
    • der Ausschnitt wird im Item (item.content) abgelegt
  • "Rename" benennt item.content.content dann noch in "description" um. (Für RSS Feeds muss das "description" heißen)
  • "Pipe Output" gibt das Ergebnis aus
Fazit? Irgendwie schon faszinierend. Und dafür dass man das mit einem graphischen Tool im Webbrowser zusammenklickt/schiebt/konfiguriert (kann man da Programmieren dazu sagen? Immerhin ist eine Loop dabei?), kann man scheinbar doch ganz faszinierende Funktionalitäten kreieren. Und wenn man sich überlegt, dass es mehr solcher Tools im Internet gibt, siehe z.B. sowas wie Dapper: The Data Mapper (kann auch Webseiten parsen) und dass man die mit einem Tool wie Yahoo Pipes ja alle irgendwie zusammenbinden kann ohne lokal auch nur irgendetwas installieren zu müssen, ja, das ist schon faszinierend.

Irgendwer noch andere Ideen, was man mit Yahoo Pipes probieren könnte?

Friday, July 20, 2007

Schönes Deutsch, noch schöneres Englisch

Da hat doch glatt ein "IT-Consultant" seine Website entweder maschinell oder selber dermaßen wörtlich ins Englische übersetzt, aus:
- Der Kunde schätzt Impulse von "außen". Viele Abteilungen kochen für Jahre ihren "eigenen Brei". Dinge / Situationen werden als selbstverständlich hingenommen, obwohl sie nicht so sein müssen. Ein Blick von außen kann da sehr inspirierend sein. Ein Außenstehender sieht Dinge, die intern schon lange keiner mehr sieht oder nie gesehen wurden.
wurde z.B.:
- the customer estimates impulses of "outside". Many departments cook their "own mash" for years. Things/situations are accepted as natural, although they do not have to be like that. A view from the outside can be inspiring much there. An outstanding one sees things, which sees internally already for a long time none more or was never seen.
Noch einer? Ja!
-Wenn ein definiertes Projekt die zeitlichen Möglichkeiten des Angestelltenteams sprengen würde.
-Wenn a defined project the temporal possibilities of the employee team would blow up.
Hoppala, ausgerechnet beim "Wenn" hat die Übersetzung versagt?!
Einer geht noch, oder:
(...)® ist so leicht zu bedienen, dass sich alle Ihre Mitarbeiter in der Lösung wiederfinden.
(...)® it is so easy to serve that all appear your coworkers in the solution.

Tuesday, June 19, 2007

Ruby: "dynamic hash-tree"

Beim Stöbern auf RubyForge: Snippet Library entdeckt: dynamic hash-tree, der
...stores objects in a tree structure, creating nodes automatically when needed.
Wenn man jetzt meint, dass das eine Menge Code wäre..., weit gefehlt! (Wie war das? The best code is no code at all, und das zweitbeste so wenig Code wie möglich?):

class Node < Hash
attr_accessor :value

def method_missing(key)
self[key]==nil ? self[key]=Node.new : self[key]
end
end

tree = Node.new

tree.branch.leaf.value = 'Hello World!'
tree.branch1.leaf.value = 'Hallo Hallo!'

tree # => {:branch=>{:leaf=>{}}, :branch1=>{:leaf=>{}}}
tree.branch.leaf.value # => "Hello World!"
tree.branch1.leaf.value # => "Hallo Hallo!"

Irgendwie magisch! Node erbt von Hash. Wird ein Node (tree = Node.new) mit einer unbekannten Methode aufgerufen (tree.branch), wird diese einfach in dem Node, d.h. dem Hash, es ist so einfach, dass ich es gar nicht gescheit ausdrücken kann....letztendlich entstehen mit dem method_missing - Trick in sich geschachtelte Hashes. Echt erstaunlich!

Tuesday, June 12, 2007

Hilfe und Stützbetriebsmittel

Ich habe keine Ahnung, wo dieses "Hilfe- und Supportcenter" auf meinem IBM Thinkpad T30 herkommt, eins scheint sicher zu sein, es wurde maschinell ins Deutsche übersetzt, und mit einem so schönen Ergebnis, dass ich es hier festhalten möchte.

Die Hauptmenupunkte mit jeweiligem Tooltip:
  • Rückseite
    Gehen Sie zurück zu der vorigen Seite.
  • Vorwärts
    Nachdem Sie zurück umziehen, verschieben Sie vorwärts eine Seite.
  • Home
    Gehen Sie zur Hilfe und unterstützen Sie Home Page.
  • Index
    Stöbern Sie für Hilfe Themen im Index durch.
  • Lieblinge
    Sehen Sie schnell Hilfe Seiten an, die Sie gesichert haben.
  • Geschichte
    Sehen Sie Seiten an, die Sie während dieser Hilfe Sitzung gelesen haben.
  • Optionen
    Wählen Sie von den unterschiedlichen Optionen aus, um ihrer Hilfe und Stützanzupassen mitteerfahrung.
  • Support
    Erhalten Sie Hilfe Online mit Remoteunterstützung oder treten Sie mit einem Stützfachmann in Verbindung.
Ein wirklicher Sinn ergibt sich vermutlich erst nach einer genauso wörtlichen Rückübersetzung ins Englische. Viel Spaß!

Thursday, May 17, 2007

Ruby, creating classes dynamically

Eine Klasse "Klass" mit einer Methode "meth" würde man ja normalerweise so definieren und instanzieren:

class Klass
def meth
"soso"
end
end

Klass.new.meth # => "soso"

Angenommen, man hätte den Inhalt der Klasse als String vorliegen, könnte man das Gleiche so machen:

s = <<eos
def meth()
"soso"
end
eos

Klass = Class.new() # neue leere Klasse erzeugen und der Konstante "Klass" zuweisen
Klass.class_eval s # "Evaluate" String (mit der Methodendefinition) im Kontext der Klasse

Klass.new.meth # => "soso"

Angenommen, man hätte auch den Namen, den die Klasse erhalten soll, als String vorliegen, so:

s = <<eos
def meth()
"soso"
end
eos

Kernel.const_set("Klass", Class.new())
Klass.class_eval s

Klass.new.meth # => "soso"

Angenommen, der Name, den die Klasse erhalten soll, wäre auch in dem String mit dem Inhalt der Klasse als Konstante definiert:

s = <<eos
NAME = 'Klass' # <= so soll die Klasse später mal heißen
def meth(); 'soso'; end
eos

c = Class.new
c.class_eval s
Kernel.const_set(c::NAME, c)

Klass.new.meth # => "soso"

Schon erstaunlich, oder?

Friday, April 13, 2007

Wurstsalat!

Das absolute Highlight des heutigen Tages (immerhin Freitag, der 13.):

Beim Stöbern auf Flickr: Explore everyone's geotagged photos on a Map hier
auf folgendes interessante Bild gestoßen - Wurstsalat in der degussa-Kantine in Schalchen (Variation 2) des Users wurstsalat01, mit 27 Bildern, 24 davon im Set Wurstsalat (Set), ein Blick ins Profil von Flickr: wurstsalat01 ergibt, dass wurstsalat01 zwar keine Contacts, aber eine Public Group, und zwar World of Wurstsalat (WoW) (Pool) hat, bei der er als einziges Mitglied natürlich der "Top Contributor" mit 25 Bildern ist!

Was soll ich sagen? Ich bin tief beeindruckt, vom klaren Fokus, der klaren Ausrichtung, Mann, ich bin neidisch! Warum ist mir das nicht eingefallen! Wurstsalat!! Man sollte: Buy wurstsalat01 a Pro Account

Thursday, April 05, 2007

Das gibts ja wohl nicht: Google My Maps!

Wie lange ist das jetzt her, dass ich mir Gedanken machte über eine Webapplikation, ...:
"...mit der ich auf einfache Art und Weise eine Spaziergangroute in eine Google Map hätte eintragen können und mit ein paar Kommentaren hätte versehen können (was weiß ich, sowas wie: "Hier gehts los.", "Man bemerke hier die schöne Aussicht!", "Bei schönem Wetter steht hier ein Italiener mit seinem Eiswagen.") und dann dem Rest der Welt zur Verfügung hätte stellen können..." (Das ist doch alles Kokolores....: Faszinierend!)
Das war am 7. März, vor knapp einem Monat, und was gibts seit heute bei Google Maps? My Maps! Mit ziemlich genau der Funktionalität, die ich mir so ins Blaue hin ausgemalt hatte!
  • Mark your favorite places on your map.
  • Draw lines and shapes to highlight paths and areas.
  • Add your own text, photos, and videos.
  • Publish your map to the web.
  • Share your map with friends and family.
Faszinierend! Ja, wie ist das jetzt? Das hat ja fast schon so etwas Tischleindeckdich-mäßiges! Kaum gedacht, schon vollbracht! Eigenartig...

Was könnte man jetzt dokumentieren? Bergtouren, Spaziergänge, Fahrradtouren, Joggingrouten, Schwimmstrecken, Dampfer-Routen-MitHäfen-MitLinkszuAnundAbfahrtsplänen, mein persönlicher Architekturführer, Kunstspaziergänge, Kneipen in und um..., Anfahrtsskizzen, Abfahrtsskizzen, der kürzeste Weg von Dings nach Bums, Flurdenkmäler in und um...., meine Urlaube, meine Spaziergänge (hatten wir schon!), ja, alles, was man sinnvollerweise räumlich darstellen will, und das ist jede Menge, oder?