Millionen von Raupen in Esslingen

Uah! Gruselig und sehr interessant: In Esslingen am Neckar haben wir beim Hundespaziergang lustige Bäume gesehen:

Ein komplett weißer Baum. Beim genaueren Hinsehen waren dann Millionen (mindestens!) von Raupen darauf zu sehen:

Es waren 1-2 Bäume komplett weiß, die links und rechts daneben hatten gar keine Raupen, sehr sonderbar. Ggf. waren es andere Bäume, so dass die Raupen deren Blätter nicht mochten.

Ein Video habe ich natürlich auch noch gemacht:

Wohl bekommt’s!

Liebe

Die Liebe meines Lebens rückt näher an und in mein Leben:

Eine gar wunderbare Erfahrung!

Was kommen wohl als nächstes für Schritte?

  • Heirat?
  • Haus?
  • Kinder?
  • Oder ganz was anderes?

Wer weiß, was die Zukunft bringt, ich freue mich drauf!

Stochastik

Heute eine Frage aus der Wahrscheinlichkeitsrechnung der Mathematik.

Mein Freund der Rosenzüchter hat mir diese Frage gestellt, wohl um mich zu testen. Ich bin natürlich clever und betreibe Crowdsourcing.

Hier die Aufgabe:

Jäger

Es gibt drei Jäger, von denen jeder beim Schießen eine andere Trefferwahrscheinlichkeit hat.

  • Jäger 1 trifft in 3 von 5 Fällen das Ziel (in 2 von 5 Fällen also nicht), hat also 60% Trefferwahrscheinlichkeit.
  • Jäger 2 trifft in 4 von 7 Fällen das Ziel (in 3 von 7 Fällen also nicht), hat also zirka 57% Trefferwahrscheinlichkeit.
  • Jäger 3 trifft in 1 von 10 Fällen das Ziel (in 9 von 10 Fällen also nicht), hat also 10% Trefferwahrscheinlichkeit.

Reh

Diese drei Jäger gehen zusammen auf die Jagd, sehen ein Reh und zielen alle auf das Reh um es zu erlegen.

Wie hoch ist die gesamte Trefferwahrscheinlichkeit um das Reh zu treffen?

Lösung?

Wenn ich meinen Freund korrekt verstanden habe ist es keine Jux-/Fangfrage sondern rein über Wahrscheinlichkeit zu lösen.

Wisst Ihr eine Lösung?

Eiermann

Ja, ich gestehe, ich war mal Eiermann.

So Anfang/Mitte der 1990er-Jahre, zusammen mit meiner damaligen Freundin, der Manuela.

Es war zu Beginn meines Studiums und ich wollte mir ein Bisschen was dazuverdienen. Wie es der Zufall wollte, habe ich mitbekommen dass in Manzen ein Student regelmäßig wöchentlich Eier an einen festen Kundenkreis verkauft.

Dieser Student wollte diesen Nebenjob aufhören und suchte einen Nachfolger. Ich habe mich dann „beworben“, wurde dann für gut befunden und durfte anfangen.

Das Prinzip

Die Idee bei der Sache war, dass man sich Eier in großen Mengen bei einem Hühnerhof/Bauern besorgte und dann an Privatkunden direkt an der Haustür verkauft.

Der Anfang

Beim ersten Mal ging ich dann zusammen mit meinem Vorgänger, der alle Leute und auch die Leute selbst gut kannte, von Haus zu Haus, schrieb mir alles auf, klingelte und verkaufte Eier.

Bei jedem Klingeln wurde dann via Sprechanlage/Fenster oder auch persönlich gefragt: „Wie viele Eier brauchen Sie heute?“ und es kam dann eben eine Zahl zwischen 5 und 50 zurück, oder auch, dass diese Woche mal gar nichts benötigt wurde.

Das hat dann alles gut geklappt und fortan machte ich das dann alleine.

Jede Woche

Fortan habe ich mich dann also entweder alleine oder zusammen mit der Freundin zunächst zum Hühnerhof nach Dürnau begeben, dort einen großen Karton Eier gekauft und sind dann in den Ort mit den Kunden gefahren.

Anfänglich haben wir das Auto dann zentral geparkt und mit einem kleinen Handkarren und meinen Aufschrieben sind wir dann los gezogen.

Wenn ich alleine war hat’s ein Bissle länger gedauert, waren wir zu zweit, haben wir parallel die Kunden besucht, was entsprechend schneller ging.

Nach so ca. 2-3 Stunden haben wir dann alle Eier verkauft bzw. alle Kunden besucht und waren fertig. Die noch übrigen Eier wurden mit nach Hause genommen und selbst verzehrt oder an Freunde/Bekannte verkauft.

Lukrativ?

Leider kann ich mich nicht mehr genau erinnern, wie viel wir jeweils verdient haben an einer Tour, einige DM (ggf. 50-100?) werden es schon gewesen sein.

Insgesamt haben wir fast ausschließlich die Bestandskunden bedient, ich glaube zu meinen, dass wir fast keine Neukunden gewonnen haben, wohl vor allem deshalb weil wir es nie groß versucht haben.

Das langsame Ende

Wir haben dass ggf. so 1-2 Jahre lang gemacht, groß Spaß gemacht hat es in meiner Erinnerung nie.

Es war halt etwas um neben dem Studium Geld zu verdienen. Eigentlich wollte ich viel lieber programmieren, hatte damals aber weder Geschäftssinn noch Kunden noch genug Know-How/Erfahrung.

Als es dann mit der Freundin damals auseinander ging (meine alleinige Schuld!), hat sie es selbst noch ein wenig weiter gemacht, und irgendwann dann auch aufgehört.

Die Kunden wurden mit der Zeit auch weniger, irgendwie war die Zeit der Eier-Hauslieferungen wohl vorbei.

Eine interessante Erfahrung war es auf jeden Fall!

NullReferenceException beim DataBind in ASPxGridView

Heute habe ich nach ein paar Änderungen an einem funktionierenden ASPxGridView-Steuerelement auf einmal folgende Fehlermeldung erhalten, sobald der Anwender auf einen Hyperlink im Grid oder zum Sortieren auf eine Spalte geklickt hatte:

Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
Line 65: <dxgv:GridViewDataColumn Caption=“Actions“ VisibleIndex=“4″>
Line 66: <DataItemTemplate>
Line 67: <asp:LinkButton runat=“server“ Visible='<%#Eval(„CanContinue“)%>‘ OnCommand=“GridLinkButton_Click“ CommandArgument='<%# Eval(„ID“) %>‘ CommandName=“Continue“ Text=“Continue“ />
Line 68: <asp:LinkButton runat=“server“ Visible='<%#Eval(„CanFinish“)%>‘ OnClientClick=“javascript:return confirm(‚Do you really want to finish this test run?‘);“ OnCommand=“GridLinkButton_Click“ CommandArgument='<%# Eval(„ID“) %>‘ CommandName=“Finish“ Text=“Finish“ />
Line 69: <asp:LinkButton runat=“server“ Visible='<%#Eval(„CanDetails“)%>‘ OnCommand=“GridLinkButton_Click“ CommandArgument='<%# Eval(„ID“) %>‘ CommandName=“Details“ Text=“Details“ />

Source File: c:\Users\ukeim\Documents\Visual Studio 2010\Projects\Zeta Test\Zeta Test Main\Source\WebMain\UI\TestPlansAndRuns\TestRuns\CurrentTestRuns.aspx Line: 67

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
ASP.ui_testplansandruns_testruns_currenttestruns_aspx.__DataBinding__control25(Object sender, EventArgs e) in c:\Users\ukeim\Documents\Visual Studio 2010\Projects\Zeta Test\Zeta Test Main\Source\WebMain\UI\TestPlansAndRuns\TestRuns\CurrentTestRuns.aspx:67
System.Web.UI.Control.OnDataBinding(EventArgs e) +91
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +92
System.Web.UI.Control.DataBind() +15
System.Web.UI.Control.DataBindChildren() +201
System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding) +101
DevExpress.Web.ASPxGridView.GridViewBaseTemplateContainer.DataBind() +20
DevExpress.Web.ASPxGridView.Rendering.ASPxGridViewRenderHelper.AddTemplateToControl(Control destination, ITemplate template, Control templateContainer, TemplateContainerCollection collection, Boolean doDataBinding) +194
DevExpress.Web.ASPxGridView.Rendering.ASPxGridViewRenderHelper.AddDataItemTemplateControl(Int32 visibleIndex, GridViewDataColumn column, Control templateContainer) +211
DevExpress.Web.ASPxGridView.Rendering.GridViewTableDataCell.CreateControlHierarchy() +109
DevExpress.Web.ASPxClasses.Internal.InternalTableCell.CreateChildControls() +24
System.Web.UI.Control.EnsureChildControls() +102
DevExpress.Web.ASPxClasses.Internal.InternalTableCell.DevExpress.Web.ASPxClasses.Internal.IASPxWebControl.EnsureChildControls() +10
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +138
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +156
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +156
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control) +40
DevExpress.Web.ASPxClasses.ASPxWebControlBase.CreateChildControls() +49
System.Web.UI.Control.EnsureChildControls() +102
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControls() +4
DevExpress.Web.ASPxClasses.ASPxWebControlBase.DevExpress.Web.ASPxClasses.Internal.IASPxWebControl.EnsureChildControls() +10
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +138
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +156
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +156
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control, Boolean skipContentContainers) +156
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(Control control) +40
DevExpress.Web.ASPxClasses.ASPxWebControlBase.CreateChildControls() +49
DevExpress.Web.ASPxClasses.ASPxWebControl.CreateChildControls() +142
System.Web.UI.Control.EnsureChildControls() +102
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControls() +4
DevExpress.Web.ASPxClasses.ASPxWebControlBase.get_Controls() +21
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +24
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148
System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225
System.Web.UI.Page.LoadAllState() +312
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +747

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

Nachdem auf der Lauf im Debugger und „Bei Ausnahmen anhalten“ leider keine neuen Erkenntnisse gebracht hatten, bin ich durch diesen Artikel auf die Lösung gekommen:

Im Init-Ereignis des GridView-Steuerelements habe ich die Eigenschaft SettingsPager.PageSize gesetzt. Diese Zuweisung an die Eigenschaft hat die (indirekte) NullReferenceException ausgelöst.

Nachdem ich die Zuweisung entfernt hatte, lief alles wieder. Seltsam.

Das Zitronen-Phänomen

Seit Jahren beobachte ich ein Phänomen das zu 95% aller Fälle zutrifft:

Getränkegläser in Gaststätten mit Zitronenhälften werden immer so geliefert, dass die Zitrone zum Trinkenden zeigt.

Immer. Egal wo ich sitze, wie der Kellner das Glas abstellt und egal welcher Wochentag ist.

Folgendes Bild entstand gestern im Archie’s in Göppingen:

Foto eines vollen Getränkeglas mit Bitter Lemon und einer Zitrone

Wie Ihr seht, die Zitrone zeigt genau auf mich, so dass das Trinken deutlich erschwert wird.

Ursache?

Ich dachte schon, das ist Einbildung, also meine eigene subjektive Wahrnehmung, ggf. auch so ein Phänomen wie mit den rechtsdrehenden Toilettenabflüssen aus dieser einen Simpsons-Folge.

Habt Ihr so was auch schon beobachtet?

Kennt Ihr die Ursache? Wisst Ihr Abhilfe?

Doppelte Zeilen in Excel finden

Dieser Artikel ist primär als Erinnerung für mich selber gedacht.

Um in Microsoft Office Excel mehrfache (doppelte) Zeilen zu erkennen und markieren, gibt es folgende kleine Formel:

=WENN(ZÄHLENWENN(A$2:A2;A2)>1;“Doppelt“;““)

Dies einfach in die Spalte rechts daneben schreiben und mit der Maus dann den Bereich nach unten ziehen.

Beispiel

Um das zu verdeutlichen, hier eine kleine Tabelle (Download):

Bildschirmfoto einer Tabelle in Microsoft Office Excel 2010

Die Spalte „Doppelt?“ enthält überall dort Einträge „Doppelt“ wenn der Datensatz bereits vorhanden ist.

Diese Zeilen könntet Ihr dann z.B. löschen oder herausfiltern.

Alternative mit Excel 2010 und neuer (2013, 2016)

Unter Microsoft Office Excel 2010, 2013, 2016 und neuer gibt es die Option „Bedingte Formatierung“ und darin die Option „Regeln zum Hervorheben von Zellen“ sowie die untergeordnete Option „Doppelte Werte“.

Wenn Ihr zuvor eine ganze Spalte markiert und dann diese Bedingte Formatierung auf die Spalte anwendet, bekommt Ihr eine gleichwertige Lösung.