Tuesday, 25 July 2006

Gdy programistom się nudzi...

Widok ogólny

syslog-ng na BA66

Efekt niezagospodarowanych 30 minut w pracy. Log systemowy, oprócz normalnego wyświetlania wiadomości na dwunastej konsoli i zapisywania do pliku, pokazuje je także na stojącym obok monitora głównego wyświetlaczu od kasy sklepowej.

10 comments:

  1. Lesiu, Ciebie leczyć już trzeba. A że to się inni w pracy niby nudzą tia ;)? Z kasą sobie poradziłem a z moim kompem niet :P. ^_-

    ReplyDelete
  2. byś się lepiej za rozwój wtyczek do Konnekta wziął;p;)

    ale sam pomysł bardzo ciekawy muszę przyznać;)

    ReplyDelete
  3. W pliku /etc/syslog-ng/syslog-ng.conf:

    destination messages { program("mono /some/path/lcd_log.exe"); };


    Sam program wyglada tak:



    using System;

    using System.Text;

    using System.IO.Ports;

    using System.Collections;


    namespace lcd_log

    {

    class Program

    {

    static void Main(string[] args)

    {

    String result = "start";

    using (SerialPort driver = new SerialPort())

    {

    driver.BaudRate = 9600;

    driver.PortName = "/dev/ttyS0";

    driver.DataBits = 8;

    driver.StopBits = StopBits.One;

    driver.Parity = Parity.Odd;

    driver.Encoding = Encoding.GetEncoding(852);

    driver.Open();


    while (!"".Equals(result))

    {

    byte[] data = Encoding.ASCII.GetBytes((char)0x1b + "[2J");//clear

    driver.Write(data, 0, data.Length);


    driver.Write(split(result));


    Console.Error.WriteLine("#{0}#", result);

    result = Console.ReadLine();

    }


    }

    }


    static string split(string input)

    {

    ArrayList strings = new ArrayList();

    for (int i = 0; i < input.Length; i += 20)

    {

    strings.Add(input.Substring(i, Math.Min(20, input.Length - i)));

    }

    string result;

    foreach (String s in strings)

    {

    result += "\r\n" + s;

    }

    return result;

    }

    }

    }

    ReplyDelete
  4. a w jaki sposob ten ekran odbiera dane? pisales w ASM czy wystarczylo na bezczel podsylac pakiety?

    ReplyDelete
  5. @psota: Nie ważne w jakim systemie, ważne żeby to robić. A język - i tak na studiach na początku będzie C i Pascal, pewnie Java i .NET później też.

    Koniec tego offtopiku, bo nas pogonią.

    ReplyDelete
  6. Jak chciałem się nauczyć programować w .NET to wpierw zainstalowałem bete bo darmowa, a teraz zinstalowałem final (Czasopismo PCformat ma artykuły samouczeki) i mi nie działa :P Ale chyba zreinstaluje windowsa, bo w ramach opcowania z komputerem zainstalowałem linuksa i mi się bardzo spodobał :)

    Może pod linuksem zaczne się uczyć :D

    ReplyDelete
  7. @psota: Nie bój się. Dobry programista o otwartej głowie miewa takie właśnie intrygujące pomysły. Bo niby jak by wymyślili takie np. goggle?

    A na studiach nie uczą programowania - tam wymagają pisania programów. Ucz się sam, JUŻ!

    ReplyDelete
  8. Zaniemówiłem :O

    Ja też tak chce ^^

    Chce w przyszłości pujść na studia informatyczne, ale im intensywniej przyglądam się co ludzie potrafią zrobić tym bardziej się boje :P

    W liceum prawie nic nie uczą przez 1 rok zrobiliśmy pętle i warunki w pascalu oraz rysowanie, troche pov-ray'a i HTML + CSS i na Exelu skończyliśmy <u>Oo</>. Czułem się jakbym cofał sie w rozwoju. Ale trwa we mnie nadzieja, że i tak większość to sie na studiach zaczyna przerabiać.

    ReplyDelete
  9. Cool!

    Będzie do obejrzenia w sklepie?

    ReplyDelete