ePyx-online.de Just a moment ;-)

25Okt/090

[Qt] QThreads

Threads sind im Allgemeinen sehr nützlich, da man sehr schön zeitintensive Aufgaben auslagern kann. Leider sind sie aber genauso tückisch wie praktisch.

Einige Punkte die sich nach und nach herausgestellt sind und zu mindestens bei mir zum Erfolg geführt haben, sind diese :

  • Mutexe für kritische Funktionen verwenden
  • den Thread bei der Initialisierung starten und von "Außen" steuern

Qt Logo

Alles andere führte bei mir entwder zu einer blockierten GUI oder zu einem abnormalem Programmverhalten.

29Jul/090

[Linux] Uptime umrechnen

Eigentlich sehr trivial, wenn man auf die Idee kommt. Da die vorgestellte Möglichkeit die Linux-uptime auszugeben nur die Sekunden seit dem Booten ausgibt müsste man diese natürlich noch umrechnen.Die meiner Meinung nach einfachste und eleganteste Variante ist einfach den Rest der Division zu ermitteln.Dabei wird der alte Modulo-Operator genutzt und jeweils der Quotient zur nächsten Einheit gebildet.

Kryptisch zusammen gebacken sieht das Ganze so aus :

1
2
uptime = getTickCount();
sprintf(sequence, "%ldh %ldm %lds", (uptime / 60 / 60 ) % 60,  (uptime / 60) % 60  , uptime % 60  );

Ein wenig länger, dafür aber übersichtlicher wäre dann wohl diese Variante :

1
2
3
4
5
uptime = getTickCount();
long hours = (uptime / 60 / 60 ) % 60;
long minutes = (uptime / 60 ) % 60;
long seconds = (uptime % 60);
sprintf(sequence, "%ldh %ldm %lds", hours , minutes  , seconds);

Letzteres ist sicherlich nicht am effektivsten was die Ressourcen angeht, unsigned short oder ähnliche Typen für die Variablen hätten es auch getan, aber so bleibt es übersichtlicher. Mir gefällt die erste Variante eh besser.

27Jul/090

[Linux] Uptime mit C auslesen

Brauch man ja ab und an um sich ein Bild über die aktuelle Laufzeit des jeweiligen Systems zu machen oder um sich einzugestehen, dass man einfach zu lange vor der Kiste sitzt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <sys/sysinfo.h>

long getTickCount() // Zeit seit dem Booten in Sekunden
{
 struct sysinfo si;
 if(sysinfo(&si) == 0) return si.uptime;
 else return -1L;
}

int main()
{
    printf("Uptime : %2.0f min",(getTickCount()/60.0));
    return 0;
}
16Feb/080

Web-Interface für Torrent WebUI

Eigentlich ist es ja eher sinnlos, ein Webinterface für ein Webinterface zu schreiben, aber ab und an gibt es dann doch einen triftigen Grund dazu.

Zum Einen läuft Web-UI zwar auf einem beliebigen Port, jedoch ist der bei Uni-Netzwerken oder ähnlichen oft geblockt und man findet schwer bis gar nicht einen Port um darauf zuzugreifen.

Ein anderer Grund ist, dass auch wenn man die Seite erreicht, sie nicht gerade für mobile Geräte dimensioniert wurde. WebUI enthält sehr viele Grafiken und viel  Javascript.

Das sind 2 Faktoren, die für PDAs und Co sehr entscheidend sein können.

Naja und der mehr oder weniger triviale Grund, war dieses sogenannte uPSP, das in manchen PSP-Foren/-Blogs angepriesen wurde. Eigentlich keine schlechte Idee, aber auch nciht wirklich schwer und dazu auch noch relativ unsicher, denn wer weiss schon, was noch hinter dem Web-Interface von NameTaken33 so werkelt.

Seite 1 von 512345