2-0

2009/09/29

Το πρωί στη δουλειά:

- Έλα ρε! Αυτοί δεν έχουν τέρμα.
- Εμείς έχουμε μόνο τέρμα.

(ref)

“But how do I find out what I search for?”, a friend asked the other day, “Google cannot help me find information that I need”. This friend is in the process of completing a thesis on social networks.

Google, Yahoo! Search, Bing and the rest are tools that help us search information already available. Unfortunately they are not mind readers, plus vast though it may be, indexed information on the web is not all available information. Years ago, when put in the same situation, my post started with “I have a silly question” and got back two answers, the answer to my question and that “Silly questions are the ones never asked; there are no silly questions”. So whenever in trouble, when your favorite search engine (or your ability to ask it) seems limited, ask the ultimate search engine:

People

The best answers I have ever got for questions that troubled me were from humans, be it in person, telephone, the USENET or even mailing lists. My advice to her was to locate and subscribe to a mailing list relevant to her subject (in her case SOCNET) and ask people there. Impressive things happen when you ask people instead of machines. Ideas spring and flourish and (human) networks form. Just do not ask anyone to do your homework for you.

Από μια λίστα staff που διαβάζω:

“Το καλώδιο δικτύου μου τα είχε παίξει και επειδή δεν βρήκα κανένα άλλο πρόχειρο (έψαξα και στη ντουλάπα σου) πήρα του Σ*****. Χρειάζομαι όμως ένα πιο μακρύ. Οπότε μπορέσεις σε παρακαλώ φτιάξε μου ένα.”

Για όποιον βιάζεται και μπαίνει στον κόπο (α) να ψάξει στη ντουλάπα κάποιου άλλου και (β) να πάρει το καλώδιο του διπλανού του, το Πλαίσιο για παράδειγμα έχει τα 15m UTP cat 5 στα €5,77 και τα 10m στα €3,99.

Εάν πάλι το συγκεκριμένο μήκος δεν βολεύει και υπάρχει κουλούρα διαθέσιμη, υπάρχουν και οδηγίες.

Δεν είμαστε σκλάβοι.

While reading Nagurney‘s Comment on Catching the Network Science Bug, I was fascinated that “Studies in the Economics of Transportation”, which was written in 1956 was mentioned. After all, Network Science is supposed to be “newer” than that.

For anyone interested the book is available from the RAND classics section. A more readable PDF is located here.

I will not claim that I have given the book anything more than a brief look. However I read A Retrospective on Beckmann, McGuire and Winsten’s Studies in the Economics of Transportation.

This was not the first time that I saw this book being cited: It is also cited in Preface to “On a Paradox of Traffic Planning” (a preface to the English translation of Braess‘s On a Paradox of Traffic Planning which introduces Braess’s Paradox).

Sometimes the titles stick to your head, I guess.

10

2009/09/23

Από το εξώφυλλο του Πρωταθλητή:

Πρωταθλητής, 2009-09-23

Πρωταθλητής, 2009-09-23

Έτσι όπως είναι προπονημένη η ομάδα, ο Zico άνετα φοράει στολή και παίζει. Να δούμε και καμιά “μπανάνα”.

- Μόνο για την ομάδα μας γυρίζει στο ποδόσφαιρο ο Πελέ!

Εμείς έχουμε μέλος τον Πελέ και προπονητή τον Λευκό Πελέ. Για να δούμε.

Με την ευκαιρία, αλίευμα από το twitter, χάρη στον @Jimbo77:

Score, 2006-09-23

Score, 2006-09-23

OneWebDay

2009/09/22

For this year’s OneWebDay, I simply quote from “Doctor for Two Decades“:

“I’ve seen the Internet go from E-mail to Twitter. I’ve seen fax machines and CDs go from amazing technologies to has beens. And computers got much faster and smaller. I no longer have time for a restroom break when I LaTeX a paper.”

And like the author notes: I got to watch it all in real time

(previous) (next)

debate

2009/09/21

Μόνη ελπίδα είναι να εμφανιστεί ο Jimmy Jump.

(previous)

Τέλος.-

(next)

ya don’t quit!

2009/09/18

(ref)

Yesterday’s ugliness in implemented in Processing:

class Cell {
  int x;
  int y;
  int size;
  int live;
  
  Cell(int tx, int ty, int ts, int tl) {
    x = tx;
    y = ty;
    size = ts;
    live = tl;
  }
  
  void display() {
    stroke(0);
    if (live == 0) {
      fill(209);
    } else {
      fill(255);
    }
    rect(x, y, size, size);
  }
  
  void display(int c) {
    stroke(0);
    fill(c);
    rect(x, y, size, size);
  }
}

Cell[][] grid;
int[][] next;
int maxI;
int maxJ;
int size = 10;
int start = 0;

void setup() {
  size(900, 500);
  background(255);

  maxI = floor(width / size) - 1;
  maxJ = floor(height / size ) -1;
  grid = new Cell[maxI][maxJ];
  next = new int[maxI][maxJ];
  
  noLife();
}

void noLife() {
  for (int i = 0; i < maxI; i++) {
    for (int j = 0; j < maxJ; j++) {
      grid[i][j] = new Cell(i * size, j * size, size, 0);
      next[i][j] = 0;
      grid[i][j].display();
    }
  }
}

void draw() {
  if (start == 1) {
    runLife();
    delay(200);
  }
}

void mouseClicked() {
  if (start == 1) {
      noLife();
      start = 0;
  }
    
  if ((mouseX < maxI * size) && (mouseY < maxJ * size)) {
    int i = floor(mouseX / size);
    int j = floor(mouseY / size);
    if (grid[i][j].live == 1) {
      grid[i][j].live = 0;
    } else {
      grid[i][j].live = 1;
    }
    grid[i][j].display();
  } else {
    start = 1;
  }
}

void runLife() {
  int i0;
  int i1;
  int j0;
  int j1;
  int alive;
  
  for (int i = 0; i < maxI; i++) {
    for (int j = 0; j < maxJ; j++) {
      i0 = i - 1;
      i1 = i + 1;
      j0 = j - 1;
      j1 = j + 1;
      
      if (i0 < 0) i0 = maxI - 1;
      if (j0 < 0) j0 = maxJ - 1;
      if (i1 == maxI) i1 = 0;
      if (j1 == maxJ) j1 = 0;
      
      alive = 0;
      
      if (grid[i][j0].live == 1) alive++;
      if (grid[i1][j0].live == 1) alive++;
      if (grid[i1][j].live == 1) alive++;
      if (grid[i1][j1].live == 1) alive++;
      if (grid[i][j1].live == 1) alive++;
      if (grid[i0][j1].live == 1) alive++;
      if (grid[i0][j].live == 1) alive++;
      if (grid[i0][j0].live == 1) alive++;
      
      if ((grid[i][j].live == 1) && ((alive == 2) || (alive == 3))) {
        next[i][j] = 1;
      } else {
        next[i][j] = 0;
      }
      
      if ((grid[i][j].live == 0) && (alive == 3)) {
        next[i][j] = 1;
      }
    }
  }
  
  for (int i = 0; i < maxI; i++) {
    for (int j = 0; j < maxJ; j++) {
      grid[i][j].live = next[i][j];
      grid[i][j].display();
      next[i][j] = 0;
    }
  }
}

Two things that I find cool about Processing:

  • You can export your application as a Java applet.
  • Processing.js
Follow

Get every new post delivered to your Inbox.

Join 975 other followers