by:

Der erste Tag der jQuery Konferenz ist vorbei und es ist Zeit für ein kurzes Fazit.

  • /images/jqueryeu14/_DSC0333.JPG
  • /images/jqueryeu14/_DSC0334.JPG
  • /images/jqueryeu14/_DSC0335.JPG
  • /images/jqueryeu14/_DSC0339.JPG
  • /images/jqueryeu14/_DSC0341.JPG
  • /images/jqueryeu14/_DSC0344.JPG
  • /images/jqueryeu14/_DSC0345.JPG
  • /images/jqueryeu14/_DSC0347.JPG
  • /images/jqueryeu14/_DSC0349.JPG
  • /images/jqueryeu14/_DSC0350.JPG
  • /images/jqueryeu14/_DSC0353.JPG
  • /images/jqueryeu14/_DSC0366.JPG
  • /images/jqueryeu14/_DSC0368.JPG
  • /images/jqueryeu14/_DSC0370.JPG
  • /images/jqueryeu14/_DSC0371.JPG
  • /images/jqueryeu14/_DSC0375.JPG
  • /images/jqueryeu14/_DSC0376.JPG
  • /images/jqueryeu14/_DSC0379.JPG
  • /images/jqueryeu14/_DSC0381.JPG
  • /images/jqueryeu14/_DSC0386.JPG
  • /images/jqueryeu14/_DSC0388.JPG

Was war Gut ? 

Der Kontakt und Austausch zu den Menschen die jQuery verwenden und weiterentwickeln hat mir besonders gefallen.
Auch die Location ist einfach nur umwerfend gewählt. Man hat schon ein sehr ehrwürdiges Gefühl im Palais Liechtenstein, mit den hohen Räumen und der wundervollen Freskenmalerei. 

Ich muss leider an der Stelle zugeben, dass die Talks selbst mich nur bedingt interessiert haben,
ich hoffe mal das sich das Morgen (am Samstag) ändern wird.

Was war weniger Gut ?

Wie auch im letzten Jahr (so wurde mir gesagt) hätte das Mittagessen etwas besser sein können,
auch mehr Talks wären bei den Eintrittspreisen durchaus angebracht.

Als Tipp für den Veranstalter:
Student Tickets wären cool, nicht jeder Student, OpenSource Hacker oder Startup Gründer kann sich die 400 Euro für das Ticket leisten.

Update:

Habe die Bilder vom zweiten Tag noch hinzugefügt.

Am Ende möchte mich bei den Organisatoren und vielen tatkräftigen Helfern bedanken, ihr macht einen super Job !!!


Happy Hacking

Andreas


Kommentare

by:

Ich habe bereits mal von der Möglichkeit eines SSH reverse tunnels geschrieben, das ist dann hilfreich, wenn man sinnigerweise eine Verbindung die man von A nach B aufgebaut hat, auch wieder von B nach A nutzen möchte.

Heute beschreibe ich einen SSH Socks Proxy, dieser dient z.B. um eine Firewall, einen Content Filter oder Länderbeschränkungen zu umgehen bzw. eine Punkt zu Punkt Verbindung in einem unverschlüsselten Netzwerk zu verschlüsseln.

Auf meinen Reisen in China habe ich diese Funktion zu schätzen gelernt, da leider ein Großteil des Internets zensiert war und ohne die Technik es schlicht nicht möglich war, mit meiner Familie und Freunden in Kontakt zu treten.


Um die Tunnel Verbindung aufzubauen muss man folgenden Befehl in der Linux Konsole ausführen:
 

ssh -D localhost:8080 root@yourserver.ltd

 


Der nächste Schritt ist nun dem Betriebsystem zu sagen, dass es die Tunnel Verbindung verwenden soll.

Im Fall von Chrome kann man das auch explizit angeben:

google-chrome --proxy-server="socks5://localhost:8080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

Bei Firefox muss man, soviel ich weiss, noch folgende Option aktivieren:

about:config
network.proxy.socks_remote_dns auf true schalten

Das ganze verschlüsselt die Punkt zu Punkt Verbindung, wenn das lokale System bereits komprimittiert ist, ist dieser Schutz wirkungslos.

Es sei an der Stelle auch nochmal darauf hingewiesen, dass nicht nur in China das Internet blockiert
und analysiert wird, gerade in den letzen Monaten und Jahren nimmt die Häufigkeit auch bei uns und im Rest der Welt deutlich zu.

Darum bitte ich euch, informiert euch, diskutiert mit eurer Familie und Freunden über die möglichen Gefahren und versucht wann immer es möglich ist, solche Systeme zu kritisieren.

Happy Hacking

Andreas


Kommentare

by:

Hier mal ein kurzes Resume vom letzten Wochenende in Brüssel.
Wie auch schon 2011 war die Fosdem sehr gut besucht, teilweise zu gut besucht, sodass man bei einigen interessanten Vorträgen/Workshops kaum eine Chance hatte teilzunehmen.  

Mich hat das am ersten Tag etwas geärgert, da gerade die ersten 3 Vorträge, die ich gerne sehen wollte, nacheinander so überlaufen waren, dass an eine Teilnahme nicht zu denken war.

Zum Glück gab es aber reichlich Alternativen, um genau zu sein 512 Vorträge und Workshops die an 2 Tagen auf dem Universitätsgelände in Brüssel stattfanden.
Ausserdem haben noch diverse Community Projekte und Firmen Ihre Produkte vorgestellt und man hatte auch etwas Zeit sich mal mit den Köpfen hinter der Software zu unterhalten.

  • /images/fosdem/_DSC0172.JPG
  • /images/fosdem/_DSC0173.JPG
  • /images/fosdem/_DSC0182.JPG
  • /images/fosdem/_DSC0184.JPG
  • /images/fosdem/_DSC0185.JPG
  • /images/fosdem/_DSC0189.JPG
  • /images/fosdem/_DSC0190.JPG
  • /images/fosdem/_DSC0196.JPG
  • /images/fosdem/_DSC0198.JPG
  • /images/fosdem/_DSC0199.JPG
  • /images/fosdem/_DSC0210.JPG
  • /images/fosdem/_DSC0241.JPG
  • /images/fosdem/_DSC0243.JPG
  • /images/fosdem/_DSC0244.JPG
  • /images/fosdem/_DSC0246.JPG
  • /images/fosdem/_DSC0255.JPG

Ich persönlich hab mir dieses Jahr hauptsächlich die Language Parsing und Compiler Bau Vorträge angeschaut, da mich die Idee, eine Programmiersprache so zu erweitern, dass sie gewisse Eigenschaften von Variablen versteht, sehr fasziniert.

Abschliessend möchte ich mich noch kurz bedanken bei allen, die die Fosdem möglich gemacht haben. DANKE !!

Grüße aus Wien

Andreas


Kommentare

by:

Festival for Cocktailrobotics since 1999

  • /images/roboexotica/_DSC0065.JPG
  • /images/roboexotica/_DSC0067.JPG
  • /images/roboexotica/_DSC0071.JPG
  • /images/roboexotica/_DSC0074.JPG
  • /images/roboexotica/_DSC0080.JPG
  • /images/roboexotica/_DSC0082.JPG
  • /images/roboexotica/_DSC0087.JPG
  • /images/roboexotica/_DSC0097.JPG
  • /images/roboexotica/_DSC0125.JPG
  • /images/roboexotica/_DSC0129.JPG
  • /images/roboexotica/_DSC0137.JPG
  • /images/roboexotica/_DSC0139.JPG

Kommentare

by:

This is my first jQuery Plugin and a pre release of my responsive slider. The main reason for programming another javascript slider is for fun. Another reason was the existing slider did not feed my needs.

Goals

  1. Responsive
  2. Works with many pictures (+10000)
  3. Small footprint and easy to integrate
  4. No Flash
  5. Must be awesome (iam working on that)

Demo

  • /images/asia/22.jpg
  • /images/asia/7.jpg
  • /images/asia/27.jpg
  • /images/asia/30.jpg
  • /images/asia/29.jpg

SourceCode

$.fn.slider = function (options) {

  var settings = $.extend({
    interval: 2000,
    showCaption: false,
    dataClass: "imagedata",
    preload: 3
  }, options);

    /*
    todo
    var autoPlayback = true;
    */


  function LoaderImage(url) {
    var self = this;

    this.isLoaded = false;
    this.url = url;
    this.imgObj = new Image();
    this.load = function () {
      self.imgObj.src = self.url;
    }
    this.onLoad = undefined; // callback function

    this.imgObj.onload = function () { // load imgUrl into imgObj and call imgOnLoad when finished
      self.isLoaded = true;
      console.log("imgIsLoaded");
      if (self.onLoad)
        self.onLoad();
    };
  }

  //for every slider object, we attach the slider functionality
  $(this).each(function () {


    var items = [];
    var cnt = 0;
    $(this).find('ul.' + settings.dataClass)
      .children().each(function () {

        var item = new LoaderImage(
          decodeURI($(this).text())
        );

        // TODO: broken preloader
        if (cnt < settings.preload) {
          item.load();
        }

        items.push(item);
        ++cnt;
      });

    //we create a img tag
    var img = $('<img />').attr({
      "class": "img opaque",
      "src": items[0].url
    }).insertAfter($(this).find('ul.' +
      settings.dataClass));

    //we need a second one for overlay/transition effect        
    var oldimg = $('<img />').attr({
      "class": "img opaque",
      "src": items[0].url
    }).insertAfter(img);

    if (settings.showCaption)
      var caption = $('<span />').html(
        items[0].caption).insertAfter(
        img);

    var btnBox = $('<div />').attr({
      "class": "btnBox"
    }).insertBefore($(img));

    $(btnBox).append($('<span />').attr({
      "id": "preBtn",
      "class": "btn"
    }).html("Prev"));

    $(btnBox).append($('<span />').attr({
      "id": "nextBtn",
      "class": "btn"
    }).html("Next"));

    //we start rotation
    var i = 0;

    function gotoNext(back, isClick) {
      back = typeof back !==
        'undefined' ? back : false;
      isClick = typeof isClick !==
        'undefined' ? isClick : false;

      if (back)
      --i;
      else ++i;

      if (i < 0)
        i = cnt - 1;
      else if (i > cnt - 1)
        i = 0;


      var setImageFunc = function () {
        oldimg.removeClass("opaque");
        img.attr({
          "src": items[i].imgObj.src,
          "class": "opaque img"
        });
        var tmp = oldimg;
        oldimg = img;
        img = tmp;


      };

      if (!items[i].isLoaded) {
        items[i].onLoad = function () {
          setImageFunc();
        }
        items[i].load();
      } else {
        setImageFunc();
      }

    }

    var slideint = setInterval(
      function () {
        gotoNext()
      }, settings.interval);

    $($(this).find("#nextBtn")).click(
      function () {
        clearInterval(slideint);
        gotoNext(false);
        slideint = setInterval(
          function () {
            gotoNext()
          }, settings.interval);
      });

    $($(this).find("#preBtn")).click(
      function () {
        clearInterval(slideint);
        gotoNext(true);
        slideint = setInterval(
          function () {
            gotoNext()
          }, settings.interval);
      });
  });
} // end plugin

 

Integration

Please dont integrate my slider at this time, because its still an alpha. I know there is plenty of room for improvements, like pre loading, different animation, key binding etc...

Contribute

Feel free to make suggestions and/or code improvements

Thank You

Jakob Oberhummer and Michael Walloch for feedback and code improvements.

Chanelog

2013/12/08 added preloading, fixed rotation issue, improved transition
2013/10/02 inital release

Happy Hacking

Andreas


Kommentare


Seiten: