1. Haskell Linksammlung

    Ich lerne gerade in der Uni etwas Haskell und möchte hier einige Tipps und Tricks zum Thema Haskell Lernen sammeln. Vielleicht hilft es ja dem ein oder anderen.

    • Ich lese das großartige Buch Learn you a Haskell for Great Good, um mich etwas stärker in die Haskell Programmierung einzufinden. Menschen haben mir außerdem noch Real World Haskell empfohlen, aber das war für meinen Geschmack etwas zu viel "Tipp das hier mal ab und dann erkläre ich dir spätertm, was du getan hast".
    • Ich benutze als neue Editor Font jetzt Fira Code, vorallem da Haskell viele Pfeile (bsp. -> oder <-) verwendet und diese mit Fira Code sehr viel hübscher werden. Der Editor muss zwar Ligaturen unterstützen, aber die meisten tuen das eh schon. Fira Code Beispiel
    • HaskellWiki ist ein schönes Nachschlagewerk, besonders für Zusammenfassungen von Themen. "Wie war das nochmal mit Lists?" oder "Welche Funktion Int -> Int -> Int dividiert?" sind so typische Wiki-Fragen.
    • Wenn man im Prinzip weiß was man tut, aber so ein-zwei Funktionen nachschlagen will dann empfiehlt sich ein Besuch auf Hoogle. Ja, genau wie Google nur mit H und λ statt l. Typisches Haskell Zeug also. Inbesondere kann man sich da auch den Source Code der Funktionen anschauen.
    • Zum Lernen habe ich jetzt angefangen die Problem des Project Euler zu lösen. Die lassen sich mit Haskell ziemlich gut bearbeiten, weil Haskell ist ja quasi wie Mathe ... nur mit Code.

    Der Timo hat mir noch diesen lustigen Link über Haskell Programmierer geschickt.


  2. plusminus5 Alpha

    plusminus5 Logo
    So jetzt ist sie draussen!
    Die erste Alpha Version von unserer Live-Veranstaltungs-Bewertungs-App plusminus5.

    Und du bist bei der Alpha dabei.

    Wenn du irgendwelche Probleme hast, dann melde dich doch bei uns unter plusminus5@molar.es.

    David & Philip



  3. GNUPlot Template

    This is my GNUPlot Template. I created it because I don't use GNUPlot that often and remembering each and every command for the most basic stuff is a huge pain in the ass.

    I make this template public for two reasons:

    1. I want to just give somebody a URL to get the template.
    2. I want to be able to use the template on other machines without the hazzle of DropBox or other services like that.

    The Template

    # Template for GNUPlot
    # made by Philip Molares | git@molar.es | http://molar.es
    # thanks to R.Schmieg & M.Lex
    # 19.06.2015
    #
    # you can use LaTeX commands in every text, but
    # every text should be in ' instead of " or LaTeX commands won't work
    # you should use \"a instead of ä and so on
    #
    
    # title 
    set title 'Default Title'                                               # title
    set xlabel 'x'                                                          # x label
    set ylabel 'y'                                                          # y label
    set key on inside bottom left                                           # legend inside the plot in the bottom left
                                                                            # other options:
                                                                            # outsied | below  | at <position>
                                                                            # top | bottom | center
                                                                            # left | right | center
    
    # axis 
    set border 15                                                           # border thickness
    set xrang[-2:2]                                                         # x range from -2 to 2
    set yrange[-2:2]                                                        # y range from -2 to 2
    #set xtics ('a' -2,  -1, 0, 1, 2)                                       # explizit major x tics at -2, -1, 0, 1, 2 instead of -2 gnuplot will print 'a'
    #set mxtics 2                                                           # minor x tics with the frequency of 2
    #set ytics  (-2, -1, 0, 1, 2)                                           # explizit major y tics at -2, -1, 0, 1, 2
    #set mytics 2                                                           # minor y tics with the frequency of 2
    #set grid xtics                                                         # grid lines for every xtic
    #set grid ytics                                                         # grid lines for every ytic
    #set samples 100                                                        # set the sampling rate for functions or for interpolating data
    
    # log scales
    #set logscale x                                                         # set x-axis logarithmic
    #set logscale y                                                         # set y-axis logarithmic
    
    # polar plots
    #set polar                                                              # polar display
    #set angles degrees                                                     # angels in degrees instead of radians
    #set grid polar                                                         # polar grid
    #set rrange [0:150]                                                     # set the radius of the polar plot
    #r = 100                                                                # radius for polar label
    #set label '0$^\circ$' at (r*cos(0)), (r*sin(0)) center                 # labels for 0°,60°,120°,180°,240°,300°
    #set label '60$^\circ$' at (r*cos(60)), (r*sin(60)) center
    #set label '120$^\circ$' at (r*cos(120)), (r*sin(120)) center
    #set label '180$^\circ$' at (r*cos(180)), (r*sin(180)) center
    #set label '240$^\circ$' at (r*cos(240)), (r*sin(240)) center
    #set label '300$^\circ$' at (r*cos(300)), (r*sin(300)) center
    
    # line styles
    set style line 1 lc rgb '#B40A00' lw 3                                  # red           linewidth of 3
    set style line 2 lc rgb '#CC3000' lw 3                                  # dark orange   linewidth of 3
    set style line 3 lc rgb '#FF9F00' lw 3                                  # orange        linewidth of 3
    set style line 4 lc rgb '#FBD506' lw 3                                  # yellow        linewidth of 3
    set style line 5 lc rgb '#A8BF12' lw 3                                  # light green   linewidth of 3
    set style line 6 lc rgb '#736C12' lw 3                                  # dark green    linewidth of 3
    set style line 7 lc rgb '#00AAB5' lw 3                                  # cyan          linewidth of 3
    set style line 8 lc rgb '#025CB3' lw 3                                  # light blue    linewidth of 3
    set style line 9 lc rgb '#0C2C84' lw 3                                  # dark blue     linewidth of 3
    
    # box styles
    #set boxwidth 0.02                                                      # boxwidth
    #set style fill solid border -1                                         # solid blocks
    
    # labels
    #set label 1 "Default Label" at 0,0 right textcolor rgb '#000000'       # label at point 0,0 in black
                                                                            # other options
                                                                            # left | center | right
    
    # fits
    #f(x) = m*x+b                                                           # fit function with parameter m and b
    #m = 2                                                                  # start value for m
    #b = 3                                                                  # start value for b
    #fit f(x) 'default.dat' using 1:2 via m,b                               # fit f(x) with row 1 and 2 from 'default.dat' via parameter m and b
    #fit [-4:4] f(x) 'default.dat' using 1:2 via m,b                        # fit f(x) from -4 to 4 with row 1 and 2 from 'default.dat' via parameter m and b
    
    # plots
    plot x**2 ls 1 title 'default'                                          # plot x^2 with line style 1 and title 'default'
    #plot [-4:4] x**2 ls 1 titlw 'default with range'                       # plot x^2 from -4 to 4 with line style 1 and title 'default with range'
    #plot 'default.dat' using 1:2 ls 1 w lines title 'data'                 # plot row 1 over 2 from 'default.dat' as lines with line style 1 and title 'data'
    #plot 'default.dat' using 1:2 ls 1 w boxes title 'boxes'                # plot row 1 over 2 from 'default.dat' as boxes with line style 1 and title 'boxes'
    #plot 'default.dat' using 1:2 ls 1 w points title 'points'              # plot row 1 over 2 from 'default.dat' as points with line style 1 and title 'points'
    #plot 'default.dar' using 1:2:3 ls 1 w lines w yerrorbars title 'error' # plot row 1 over 2 with row 3 as error from 'default.dat' as lines with line style 1 and title 'error'
                                                                            # xerrorbars or errorbars is also possible
                                                                            # data should be in one of the following formats:
                                                                            # (x, y, ydelta),
                                                                            # (x, y, ylow, yhigh),
                                                                            # (x, y, xdelta),
                                                                            # (x, y, xlow, xhigh),
                                                                            # (x, y, xdelta, ydelta) or
                                                                            # (x, y, xlow, xhigh, ylow, yhigh)
    
    # output
    set terminal epslatex input color colortext font 'Helvetica,13'         # terminal epslatex creates both .tex and .eps files for use in LaTeX [works on Mac] 
    #set terminal cairolatex pdf input color colortext                      # terminal cairolatex creates both .tex and .pdf files for use in LaTeX [works on Linux/Windows]
    set output 'default.tex'                                                # name for the output file
    replot                                                                  # replot everything
    

    LaTeX Code

    To use the plots in LaTeX just put them in a figure environment. You'll also need the packeges 'color' and 'graphicx'

    \documentclass[a4paper, fontsize=11]{scrartcl}
    \usepackage{color}
    \usepackage{graphicx}
    
    \begin{document}
    
    \begin{figure}
    \input{default.tex}
    \end{figure}
    
    \end{document}
    

    Download the Examples

    download GNUPlot Template
    download LaTeX Example


  4. Git - the inital push

    Nicht wirklich interessant für jemanden der schon mal git benutzt hat.
    Aber da ich nur selten remote repositories erstelle, speichere ich es mir hier mal ab.

    remote repository erstellen:

    ssh git@example.com
    mkdir my_project.git
    cd my_project.git
    git init --bare
    exit
    

    Auf dem lokalen Rechner:

    cd my_project
    git init
    git add *
    git commit -m "initial commit"
    git remote add origin git@example.com:my_project.git
    git push -u origin master
    

    Klonen:

    Andere können jetzt mit diesem Kommando das repository verfolgen und bearbeiten:

    git clone git@example.com:my_project.git
    cd my_project
    

  5. SNAFU

    Deutsche Version

    Am Anfang war der Plan

    Und dann kamen die Annahmen Und die Annahmen waren ohne Form Und der Plan war ohne Substanz

    Und Dunkelheit war auf den Gesichtern der Arbeiter Und sie sprachen unter sich und sagten: “Das ist alles Scheiße und es stinkt!”

    Und sie gingen zu Ihren Aufsehern und sagten: “Das ist ein Haufen Mist und wir können mit dem Gestank nicht leben”

    Und die Aufseher gingen zu ihren Leitern und sagten: “Es ist eine Ladung von Exkrementen, und es riecht sehr stark, so daß niemand es ertragen kann.”

    Und die Leiter gingen zu ihren Direktoren und sagten: “Es ist wie eine Ladung von Düngemitteln und keiner kann seine Strenge ertragen”

    Und die Direktoren sprachen unter sich und sagten: “Es enthält wohl das, was Blumenwachstum anregt und es ist sehr mächtig”

    Und die Direktoren gingen zum Präsidenten und sagten “Dieser neue Plan wird aktiv das Wachstum und die Kraft unserer Firma fördern mit sehr wirkungsvollen Effekten”

    Und der Präsident sah auf den Plan und sah, daß er gut war.

    Und der Plan wurde die Vorgabe. Und schon war die Kacke am dampfen.

    Übersetzung: Tim Pritlove

    English Version

    In the beginning was the plan, and then the specification; And the plan was without form, and the specification was void.

    And darkness was on the faces of the implementors thereof; And they spake unto their leader, saying: “It is a crock of shit, and smells as of a sewer.”

    And the leader took pity on them, and spoke to the project leader: “It is a crock of excrement, and none may abide the odor thereof.”

    And the project leader spake unto his section head, saying: “It is a container of excrement, and it is very strong, such that none may abide it.”

    The section head then hurried to his department manager, and informed him thus: “It is a vessel of fertilizer, and none may abide its strength.”

    The department manager carried these words to his general manager, and spoke unto him saying: “It containeth that which aideth the growth of plants, and it is very strong.”

    And so it was that the general manager rejoiced and delivered the good news unto the Vice President. “It promoteth growth, and it is very powerful.”

    The Vice President rushed to the President’s side, and joyously exclaimed: “This powerful new software product will promote the growth of the company!”

    And the President looked upon the product, and saw that it was very good.

    /sna’foo prin’si-pl/ n. [from a WWII Army acronym for "Situation Normal, All Fucked Up"] “True communication is possible only between equals, because inferiors are more consistently rewarded for telling their superiors pleasant lies than for telling the truth.” — a central tenet of {Discordianism}, often invoked by hackers to explain why authoritarian hierarchies screw up so reliably and systematically. The effect of the SNAFU principle is a progressive disconnection of decision-makers from reality.

    Original: http://www.jargon.net/jargonfile/s/SNAFUprinciple.html




  6. QLMarkdown - QuickLook für Markdown

    Heute bin ich durch Timo Hetzel von Bitsundso auf ein nettes QuickLook Plugin für Markdown gestossen, dass für mich eine Lücke im Schreiben von Markdown füllt.
    Bisher habe ich für die Preview eines schnellen Blogposts immer Marked verwendet. Das erscheint mir für ein paar Zeilen Markdown, aber als overkill (für längere Posts, Doku etc. aber sehr zu empfehlen).
    Wer im QuickLook auch gerne sein eigenes Blogdesign haben möchte, der kompiliert sich das Plugin selbst und packt vorher seine eigene 'styles.css'-Datei dazu.

    QLMarkdown in Action

    QLMarkdown in Action


  7. Todesurteil

    Für Referenzzwecke und damit ich nicht immer danach suchen muss:
    Gandalf's (J. R. R. Tolkien's) Zitat zum Thema Todesurteile:

    "Viele, die leben, verdienen den Tod.
    Und manche, die sterben, verdienen das Leben.
    Kannst du es ihnen geben?
    Dann sei auch nicht so rasch mit einem Todesurteil bei der Hand."

    ~ Gandalf
    Der Herr der Ringe: Die Gefährten


  8. Hallo Welt

    Ab jetzt könnt ihr hier mein Blog finden.

    Bevor wir beginnen, möchte ich ein paar Worte sagen.
    Und hier sind sie:
    Schwachkopf! Schwabbelspeck! Krimskrams! Quiek!
    Danke sehr!

    ~ Albus Dumbeldore


Page 1 / 1