1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. MrBurns

Beiträge von MrBurns

  • Switch to INTEL chips - Apple ditches IBM!!!

    • MrBurns
    • 9. Juni 2005 um 01:50
    Zitat von J.Petso

    Einer der Hauptgründe für den Umstieg war ja auch die mangelnde Notebook-Fähigkeit der IBM-Prozessoren ...

    Zitat von J.Petso

    Ganz davon abgesehen, dass für den Cell grundlegende Entwicklertools noch nicht vorhanden sind (wie schauts aus mit einem 9-Prozessorkern-Debugger?), die Portierung mindestens genauso schwierig wäre und überhaupt alles noch schwer einzuschätzende Zukunftsmusik ist. Apple hat sich da wohl eher auf verlässliche Fakten als auf vielversprechende Ankündigungen verlassen. Und selbst wenn sie OS X hinkriegen würden, bräuchten Sachen wie Photoshop inkl. Plugins auch noch Zeit, die sich Apple nicht nimmt.


    stimmt sicher alles. ich denk halt nur, wenn der cell wirklich so grundlegend anders ist als bisherige (egal ob ppc/x86/...) architekturen, würd ichs mir an steve job's stelle nicht mit ibm verspielen ... ich denke, bei apple ist man im moment ein bisserl berauscht von der vielen publicity um i-pod / -tunes etc., und steve jobs ist ein ziemlich ehrgeiziger typ, der vielleicht seine chance sieht wieder so ins rampenlicht zu rücken wie in den 80ies.
    Vielleicht entwickelt sich Apple eh eher in Richtung Medien-Unternehmen. Dann will ich nur hoffen, dass Adobe seine creative suite zu einer distro ausbaut ... :verycool:
    die läuft dann auf nem x-core cell von IST.
    and microsoft can kiss my shiny metal ass.
    ach ja, und google is auch böse. siehe http://www.robinsloan.com/epic/
    und ibm kriegt keine gscheiten mobile-chips für ein neues powerbook hin. prinzipiell find ich zum arbeiten laptops aber eh eher unmöglich. egal.
    gute nacht.

  • Switch to INTEL chips - Apple ditches IBM!!!

    • MrBurns
    • 8. Juni 2005 um 20:04
    Zitat von inspector doofy

    na wartets nicht auf den cell

    der is fuer consolen super

    aber sobald ein betriebssytem drauf laufen sollte gibts troubles
    man muss vieles haendisch machen was bei anderen cpus schon seit 20 jahren automatisch geht

    also absolut uninteressant fuer macs

    steht irgendwo auf slashdot


    naja, weiss nicht ... lies mal

    http://www.blachford.info/computer/Cells/Cell0.html

    ... hoert sich ziemlich irre an ... und nix von wegen nur für konsolen ... eher der uber-chip schlechthin ... interessant der absatz cell vs. mac (allerdings vor dem anouncement von apple geschrieben) ...

  • SWT Table Text auslesen

    • MrBurns
    • 19. Mai 2005 um 10:27

    geht auch mit table.getModel().getValueAt(x ,y)

    ... ups, sorry, swt, hab an swing gedacht ...

  • Mastermind

    • MrBurns
    • 30. April 2005 um 15:07

    hört sich ja schwer nach sysprog an. naja, hier bitte:

    C
    /* MASTERMIND by Ernst Schwartz, 0004444*/
    
    
    
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <errno.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/wait.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>
    
    
    #define MAXCHAR 5
    
    
    const char *szCommand = "<not yet set>";
    static int pipe_father2son[2];
    static int pipe_son2father[2];
    static FILE *stream_father2son = (FILE *) 0;
    static FILE *stream_son2father = (FILE *) 0;
    int status;
    pid_t pid;
    pid_t wpid;
    
    
    
    
    void BailOut(const char *szMessage);
    void FreeRessources(void);
    
    
    /* GENERATES RANDOM 4-DIGIT NUMBER & STORES IT IN AN CHAR-ARRAY */
    
    
    char *GenerateRandom(void)
    {
        static char random_number[MAXCHAR];
    
    
        srand(time(NULL)*rand());
        (void) sprintf(random_number, "%04d\0", rand()%10000);
    
    
        return random_number;
    
    }
    
    
    /* COMPARES 2 NUMBERS AND RETURNS THE POINTS & X */
    
    
    char *CompareNumbers(char *number1, char *number2)
    {
        int i;
        int j;
        int anzahl_X;	/* Ziffern vorhanden, aber an der falschen Stelle */
        int anzahl_Punkte; 	/* Ziffern an der richtigen Stelle */
    
    
        char *result = "\0";
    
    
        i = j = anzahl_X = anzahl_Punkte = 0;
    
    
        /* printf("%s vs. %s\n", number1, number2); */
    
    
    
    
        while(i<(MAXCHAR-1))
        {
    	while(j<(MAXCHAR-1))
    	{
    
    
    	    if(number1[i] == number2[j])
    	    {
    	    	if(i==j)
    	    	{
    	    	    anzahl_X++;
    		    /* printf("%d - %d, %c - %c: X: %d\n", i, j, number1[i], number2[j], anzahl_X); */
    	    	} else
    	    	{
    	    	    anzahl_Punkte++;
    		    /* printf("%d - %d, %c - %c: Punkte: %d\n", i, j, number1[i], number2[j], anzahl_Punkte); */
    	    	}
    
    		number2[j] = 'X';
    
    
    		/* printf("number1: %s, number2: %s\n", number1, number2); */
    
    
    		break;
    
    
    	    }
    	    j++;
    	}    	
     	i++;   
    	j=0;   	
        }
    
    
        if (anzahl_X == 4)
    	(void) sprintf(result, "Du hast meine Zahl erraten!\n");
        else    	
            (void) sprintf(result, "X = %d, Punkte = %d\n", anzahl_X, anzahl_Punkte);
    
    
        return(result);
    
    
    }
    
    
    /* CHECKS IF INPUT IS CORRECT (only digits, not too short) */
    
    
    int CheckInput(char *text)
    {
        int i = 0;
    
    
        do 
        {
    	if(!isdigit(text[i]) && text[i] != '\0')
        	    return 1;
    
    
        } while (text[i++] != '\0');
    
    
        return 0;
    
    
    }
    
    
    /* HOW TO USE THIS PROGRAM */
    
    
    void Usage(void)
    {
     	(void) fprintf(stderr, "USAGE: %s\n", szCommand);
    
     	BailOut((const char *) 0);
    }
    
    
    /* PRINTS ERROR-MESSAGES */
    
    
    void BailOut(const char *szMessage)
    {
        if (szMessage != (const char *) 0)
    	(void) fprintf(stderr, "%s", szMessage);
    
    
        exit(EXIT_FAILURE);
    
    
    }
    
    
    /* THE CHILD PROCESS; GENERATES RANDOM NUMBER & COMPARES IT TO WHAT IT GETS FROM THE FATHER */
    /* RETURNS THE RESULT TO THE FATHER */
    
    
    void ChildProcess(void)
    {
        char *number, *number_tmp = "\0";
        char buffer[MAXCHAR];
        char *result;
        number = GenerateRandom();
    
    
        (void) printf("CHILD: created number %s\n", number);
    
    
        if (close(pipe_father2son[1]) == -1)
        {
    	BailOut("Error closing the write descriptor father -> son!");
        }
    
    
        /* printf("CHILD (134): CLOSED WRITE DESCRIPTOR father -> son.\n"); */
    
        if ((stream_father2son = fdopen(pipe_father2son[0], "r")) == (FILE *) NULL)
        {
    	BailOut("Cannot open pipe father -> son for reading!");
        }
    
    
        /* printf("CHILD (141): OPENED PIPE father -> son FOR READING.\n"); */
    
    
        if (close(pipe_son2father[0]) == -1)
        {
    	BailOut("Error closing the read descriptor son -> father!");
        }
    
    
        /* printf("CHILD (169): CLOSED READ DESCRIPTOR son -> father.\n"); */
    
    
    	
        if ((stream_son2father = fdopen(pipe_son2father[1], "w")) == (FILE *) NULL)
        {
    	BailOut("Cannot open pipe son -> father for writing!");
        }
    
    
        /* printf("CHILD (177): OPENED PIPE son -> father FOR WRITING.\n"); */
    
    
    /* NOW READING FROM FATHER ! */
    
    
    do {
    
    
        (void) strncpy(number_tmp, number, sizeof(number));
     
        /* printf("ANFANG: %s\n", number); */
    
    
    
    
        if (fgets(buffer, MAXCHAR, stream_father2son) == NULL)
        {
    	BailOut("Can't read from stream father -> son!");
        }
    
    
        /* printf("CHILD (148): READ FROM PIPE father -> son.\n"); */
    
    
        /* printf("VOR COMPARE: %s vs. %s\n", number, buffer); */
    
    
        result = CompareNumbers(number_tmp, buffer);
    
    
        /* printf("NACH COMPARE: %s vs. %s\n", number, buffer); */
    
    
        /* printf("CHILD: FUNCTION RETURNED: %s\n", result); */
    
    
        /* printf("CHILD (158): CHECKED RESULT.\n"); */
    
    
    
    
    
    
    /* NOW WRITING TO FATHER ! */
    
    
    
    
        if (fprintf(stream_son2father, result) < 0)
        {
    	BailOut("Cannot write to pipe son -> father!");
        }
    
    
        /* printf("CHILD (185): WROTE TO PIPE son -> father.\n"); */
    
    
    			
        if (fflush(stream_son2father) == EOF)
        {
    	BailOut("Cannot flush pipe son -> father!");
        }
    
    
        /* printf("CHILD (193): FLUSHED PIPE son -> father.\n"); */
    
    
        if(result[0] == 'D')
        	break;
    
    
        /* printf("ENDE: %s\n", number); */
    
    
    
    
    } while (1);
    
    
        FreeRessources();
    
    
        /* printf("CHILD (205): FREE'D RESSOURCES.\n"); */
    
    
        exit(EXIT_SUCCESS);
    
    
    }
    
    
    /* FATHER PROCESS; GETS USER INPUT, SENDS IT TO CHILD, RECEIVES RESULTS FROM CHILD */
    /* AND PRINTS THEM ON stdout */
    
    
    void FatherProcess(void)
    {
        char input[MAXCHAR];
        char result[1024];
        result[0] = '\0';
    
    
        if (close(pipe_father2son[0]) == -1)
        {
    	BailOut("Error closing the read descriptor father -> son!");
        }
    
    
        /* printf("PARENT (227): CLOSED READ DESCRIPTOR father -> son.\n"); */
    
    
        if ((stream_father2son = fdopen(pipe_father2son[1], "w")) == (FILE *) NULL)
        {
    	BailOut("Cannot open pipe father -> son for writing!");
        }
    
    
        /* printf("PARENT (235): OPENED PIPE father -> son FOR WRITING.\n"); */
    
        if (close(pipe_son2father[1]) == -1)
        {
    	BailOut("Error closing the write descriptor son -> father!");
        }
    
    
        /* printf("PARENT (261): CLOSED WRITE DESCRIPTOR son -> father.\n"); */
    
    
    		
        if ((stream_son2father = fdopen(pipe_son2father[0], "r")) == (FILE *) NULL)
        {
    	BailOut("Cannot open pipe son -> father for reading!");
        }
    
    
        /* printf("PARENT (269): OPENED PIPE son -> father FOR READING.\n"); */
    
    
    while (result[0] != 'D')
    {
    
    
        result[0] = '\0';
    
    
        do 
        {
        	input[0] = '\0';
    
    
    
        	(void) printf("PARENT: Write something: "); 
    
    
        	if (fgets(input, MAXCHAR, stdin) == NULL)
        	{
        	    BailOut("Couldn't read from stdin!");
        	}
    
        	if (fflush(stdin) == EOF)
        	{
        	    BailOut("Couldn't flush stdin!");	
        	}
    
    
        	if(CheckInput(input) == 1)
        	{
        	    (void) printf("%s: Bad bad input!\n", input);
    	    continue;
        	}
    
    
    	break;
    
    
        } while(1);
    
    
    
    
    /* NOW WRITING TO SON ! */
    
    
    	
        if (fprintf(stream_father2son, input) < 0)
        {
    	BailOut("Can't write to pipe father -> son!");	
        }
    
    
        /* printf("PARENT (243): WROTE TO PIPE father -> son.\n"); */
    
    
    
    
        if(fflush(stream_father2son) == EOF)
        {
        	BailOut("Can't flush stream father -> son");
        }
    
    
        /* printf("PARENT (251): FLUSHED STREAM father -> son.\n"); */
    
    
    
    
    /* NOW READING FROM SON ! */
    
    
    
    
        if (fgets(result, 1024, stream_son2father) == NULL)
        {
    	BailOut("Can't read from stream son -> father!");
        }
    
    
        /* printf("PARENT (277): READ FROM PIPE son -> father.\n"); */
    
    
        (void) printf("%s", result);
    
    
    }
    
    
        FreeRessources();
    
    
        /* printf("PARENT (282): FREE'D RESSOURCES.\n"); */
    
    }
    
    
    /* MAKES THE PIPES */
    
    
    void AllocateRessources(void)
    {
        if (pipe(pipe_father2son) == -1)
    	BailOut("Cannot create pipe father -> son!");		
        if (pipe(pipe_son2father) == -1)
    	BailOut("Cannot create pipe son -> father!");		
    }
    
    
    /* CLOSES THE STREAMS */
    
    
    void FreeRessources(void)
    {
    	if (stream_father2son != (FILE *) 0)
    	{
    		if (fclose((FILE *) stream_father2son) == EOF)
    		{
    			stream_father2son = (FILE *) 0;
    			BailOut("Cannot close pipestream!");
    		}	
    		stream_father2son = (FILE *) 0;	
    	}
    
    	if (stream_son2father != (FILE *) 0)
    	{
    		if (fclose((FILE *) stream_son2father) == EOF)
    		{
    			stream_son2father = (FILE *) 0;
    			BailOut("Cannot close pipestream!");
    		}	
    		stream_son2father = (FILE *) 0;	
    	}
    
    }
    
    
    /* MAIN METHOD; FORKS CHILD, PLAYS GAME, WAITS FOR CHILD TO EXIT, THEN EXITS */
    
    
    int main(int argc, char *argv[])
    {
    
    
        szCommand = argv[0];
    
        if (argc != 1)
        {
    	Usage();
        }
    
    
        AllocateRessources();
    
    
        switch(pid=fork()) 
        {
            case -1:
                perror("fork");  /* something went wrong */
                exit(1);         /* parent exits */
    
    
            case 0:
    	    ChildProcess();
    
    
            default:
    	    (void) printf("%s\n", "== MASTERMIND ==");
    
    
    	    FatherProcess();
    
    
    	    while ((wpid = wait(&status)) != pid)
    	    {
    		if (wpid != -1)
    		{
    		    continue;
    		}
    
    		if (errno == EINTR)
    		{
    		    continue;
    		}
    
    		BailOut("Error waiting for child process!"); 	
    
        	    }
    
    
        }
    
    
    	exit(EXIT_SUCCESS);
    
    
    
    
    }
    Alles anzeigen
  • sms über bluetooth?

    • MrBurns
    • 23. April 2005 um 19:40

    ok, hab das jetzt hinbekommen, falls es wen interessiert, hier eine vcard-klasse, die sich im passenden obex-bytecode zurückgibt. Is noch alles andere als perfekt, aber als proof of concept passts (so kann z.B. eine vCard noch nicht länger als 8kb = 1 packet sein).
    Den bytecode schickt man dann über einen passenden stream ans andere bluetooth-device (http://www.avetana-gmbh.de/avetana-gmbh/jsr82.xml).
    mehr Info unter http://benhui.net/

    Java
    import java.io.UnsupportedEncodingException;
    
    
    
    
    // VCard 3.0 defintion: http://www.ietf.org/rfc/rfc2425.txt
    public class VCard {
    
    
    	 private byte[] toByteArray(String hex) {
    	 	 java.util.Vector res = new java.util.Vector();
    	 	 String part;
    	 	 int pos = 0;
    	 	 int len = 0;
    
    	 	 while (pos<hex.length()) {
    	 	 	len = ((hex.substring(pos,pos+1).equals("-")) ? 3 : 2);
    	 	 	part = hex.substring(pos,pos+len);
    	 	 	pos += len;
    	 	 	int test = Integer.parseInt(part,16);
    	 	 	res.add(new Byte((byte)test));
    	 	 }
    
    	 	 if (res.size()>0) {
    	 	 	byte[] b = new byte[res.size()];
    
    	 	 	for (int i=0; i<res.size(); i++) {
    	 	 		Byte a = (Byte)res.elementAt(i);
    	 	 		b[i] = a.byteValue();
    	 	  	}
    
    	 	 	return b;
    
    	 	 } else {
    	 	 	return null;
    	 	 }
     	 }
    
    
    	
    
    	private String title, firstname, lastname, phone, email;
    
    	public VCard(String title, String firstName, String lastName, String phone, String email) {
    		this.title = title;
    		this.firstname = firstName;
    		this.lastname = lastName;
    		this.phone = phone;
    		this.email = email;
    
    	}
    
    	public byte[] getBodyHeader() throws UnsupportedEncodingException {
    		byte[] header = new byte[3];
    
    		header[0] = 0x49;
    
    		byte[] headerRest = toByteArray(Integer.toHexString(getBody().length+3));
    
    		switch(headerRest.length) {
    
    			case 1:
    				header[1] = 0x00;
    				header[2] = headerRest[0];
    				return header;
    			case 2:
    				header[1] = headerRest[1];
    				header[2] = headerRest[2];
    				return header;
    			default:
    				throw new UnsupportedEncodingException(); 
    		}
    
    	}
    
    	public byte[] getBody() {
    
    		byte[] value = null;
    		String vcardBody = "BEGIN:VCARD\r\nVERSION:3.0\r\nN:";
    
    
    
    		if(lastname != null) {
    			vcardBody += lastname;
    		}
    
    		vcardBody += ";";
    
    		if(firstname != null) {
    			vcardBody += firstname;
    		}
    
    		vcardBody += ";;;\r\n";
    
    		if(phone != null) {
    			vcardBody += "TEL;type=pref:"+phone+"\r\n";
    		}
    
    
    		if(email != null) {
    			vcardBody += "EMAIL;INTERNET:"+email+"\r\n";
    		}
    
    		vcardBody += "END:VCARD\r\n";
    
    		return vcardBody.getBytes();
    	}
    
    	public byte[] getBodyHeaderWO() throws UnsupportedEncodingException {
    		byte[] header = new byte[5];
    
    		// HI for "name"
    		header[0] = (byte) 0xc3;
    
    		// +3 for the header
    		byte[] headerRest = toByteArray(Integer.toHexString(getBody().length));
    
    		switch (headerRest.length)
    		{
    			case 1:
    				header[1] = 0x00;
    				header[2] = 0x00;
    				header[3] = 0x00;
    				header[4] = headerRest[0];
    				return header;
    			case 2:
    				header[1] = 0x00;
    				header[2] = 0x00;
    				header[3] = headerRest[0];
    				header[4] = headerRest[1];
    				return header;
    			case 3:
    				header[1] = 0x00;
    				header[2] = headerRest[0];
    				header[3] = headerRest[1];
    				header[4] = headerRest[2];
    				return header;
    			case 4:
    				header[1] = headerRest[0];
    				header[2] = headerRest[1];
    				header[3] = headerRest[2];
    				header[4] = headerRest[3];
    				return header;
    			default:
    				// throws exception if title is too long
    				throw new UnsupportedEncodingException();
    
    
    		}
    
    	}
    
    
    	/**
    	 * 
    	 * @return The "name" header
    	 * @throws UnsupportedEncodingException if the title is too long
    	 */
    	public byte[] getTitleHeader() throws UnsupportedEncodingException {
    		byte[] header = new byte[3];
    
    		// HI for "name"
    		header[0] = 0x01;
    
    		// +3 for the header
    		byte[] headerRest = toByteArray(Integer.toHexString(getTitle().length+3));
    
    		switch (headerRest.length)
    		{
    			case 1:
    				header[1] = 0x00;
    				header[2] = headerRest[0];
    				return header;
    			case 2:
    				header[1] = headerRest[0];
    				header[2] = headerRest[1];
    				return header;
    			default:
    				// throws exception if title is too long
    				throw new UnsupportedEncodingException();
    		}
    
    	}
    
    	public byte[] getTitle() {
    		byte[] title = this.title.getBytes();
    		byte[] title2 = new byte[title.length*2+2];
    
    		int j=0;
    		int i=0;
    		for(i=0; i<title.length; i++) {
    			title2[j] = 0x00;
    			title2[j+1] = title[i];
    			j += 2;
    		}
    		j -= 1;
    
    		title2[j+1] = 0x00;
    		title2[j+2] = 0x00;
    
    		return title2;
    	}
    
    	public byte[] getCardBytes() throws UnsupportedEncodingException {
    
    		int pos = 0;
    		int totalLength = 13 + getTitle().length + 3 + getBody().length + 3;
    
    		byte[] data = new byte[totalLength];
    
    		byte[] headerRest = toByteArray(Integer.toHexString(totalLength));
    		byte[] header = new byte[3];
    		header[0] = (byte) 0x82;
    
    		switch(headerRest.length) {
    
    			case 1:
    				header[1] = 0x00;
    				header[2] = headerRest[0];
    				break;
    			case 2:
    				header[1] = headerRest[0];
    				header[2] = headerRest[1];
    				break;
    			default:
    				throw new UnsupportedEncodingException();
    
    		}
    
    
    		for(int i=0; i<header.length; i++)
    			data[pos++] = header[i];
    
    
    		data[pos++] = (byte) 0xcb;
    		data[pos++] = (byte) 0xc3;
    		data[pos++] = (byte) 0x0f;
    		data[pos++] = (byte) 0xa5;
    		data[pos++] = (byte) 0x96;
    
    		for(int i=0; i<getTitleHeader().length; i++)
    			data[pos++] = getTitleHeader()[i];
    
    		for(int i=0; i<getTitle().length; i++)
    			data[pos++] = getTitle()[i];
    
    		for(int i=0; i<getBodyHeaderWO().length; i++)
    			data[pos++] = getBodyHeaderWO()[i];
    
    		for(int i=0; i<getBodyHeader().length; i++)
    			data[pos++] = getBodyHeader()[i];
    
    		for(int i=0; i<getBody().length; i++)
    			data[pos++] = getBody()[i];
    
    		return data;
    	}
    }
    Alles anzeigen
  • sms über bluetooth?

    • MrBurns
    • 20. April 2005 um 19:04

    ok, Du hast das mit irgendeinem Programm geschickt, ich würd das gern programmatisch aus java aus machen ...

    = so eine vcard nehmen, in bytecode umwandeln, die nötigen headers anhängen und dann einen kanal finden, über den man das verschicken kann ... bin dabei ...

  • sms über bluetooth?

    • MrBurns
    • 20. April 2005 um 18:31

    ok, so eine vCard würd ich jetzt gern am PC generieren und verschicken ... bloß ... wie geht?

  • vorhandene *.jpg in mehrere Ebene aufsplitten

    • MrBurns
    • 20. April 2005 um 17:52

    ... oder in photoshop unter Filter -> Extrahieren die Flächen nachzeichnen . oder eine Vectormaske zeichnen. oder den Zauberstab benutzen.

  • sms über bluetooth?

    • MrBurns
    • 20. April 2005 um 17:37

    Hi!

    Habe folgendes vor: jeden, der in bluetooth-range ist, eine Nachricht zukommen lassen. Das ganze sollte in java sein (weil ich mich mit C wirklich nicht auskenn) und möglichst auf Linux laufen (noch lieber auf mac os x, aber die haben eine grausige eigene bluetooth bzw. serielle-ports Implementierung ...)

    Es gibt hier im Forum eh schon einen ähnlichen Thread (die sms-wall), und ich hab mir die jsmsengine eh auch schon angeschaut, nur is das halt die falsche Richtung. (mensch -> computer, nicht computer -> mensch ...) So wie ich das sehe, muss man wohl echt AT - Commands ans Handy schicken (80er lassen grüssen) und ihm vorgaukeln, eine sms zu bekommen, obwohl die message eigentlich über bluetooth kommt.

    Die andere Möglichkeit die ich angedacht hab ist, beim Finden eines neuen Geräts seine tel# vom sim auszulesen und dann mit sowas wie jsms eine sms zu schicken, aber ich befürchte das geht dann doch nicht so leicht. man kann zwar schon Info über die sim auslesen, aber ob das auch für die tel# geht ....? ausserdem wär das ja auch nicht wirklich nett / legal ... :devil:

    Optimal wäre es, wenn der Benutzer eine Nachricht bekommt "xxx will über bluetooth kontakt aufnehmen" und wenn er mit "ja" antwortet bekommt er eine generierte Nachricht ...

    hat da jemand eine Idee? ich bin schon so weit, bluetooth-geräte zu finden (in java: http://www.avetana-gmbh.de/avetana-gmbh/p…/jsr82.eng.xml), aber dann kommt die ganze g'schicht mit den services, und da steh ich irgendwie an: messages zu empfangen sollte doch eigentlich prinzipiell auf jedem bluetooth-handy möglich sein (von mir aus auch in der form von vCards, wurscht) ... :confused:

  • focus für neues JInternalFrame

    • MrBurns
    • 26. Oktober 2004 um 13:45

    Ok. ich versuche verzweifelt ein JInternalFrame dazu zu bringen, on creation den focus zu bekommen. Mein prog. besteht halt aus mehreren Fenstern, und es wäre praktisch wenn das, dass gerade aufgemacht wurde, auch "ganz oben liegt" (was ich will ist dass es nicht ausge"graut" ist).
    schaut ungefähr so aus:

    LoginFrame login = new LoginFrame();
    theDesktop.add(login);

    und LoginFrame extends JInternalFrame & ist focusable ...

    ich habs mit login.setRequestFocusEnable(true), login.requestFocus(), login.requestFocusInWindow(), etc. etc. probiert, aber irgendwas scheine ich falsch zu machen... weiss vielleicht wer Rat?

  • majordomo

    • MrBurns
    • 20. Mai 2004 um 16:35

    Hi!
    Ich wollte mir eine mailingliste auf meiner gentoo-box einrichten, bin aber kläglichst an der sendmail-configuration gescheitert. gutes tutorial hab ich auch nicht wirklich gefunden ... kennt sich jemand bei mail-daemons aus? oder kennt jemand vielleicht eine leichter verdauliche alternative zu sendmail? ich will mir nicht gleich dieses 1000+ Seiten-Buch von O'reilly reinziehen müssen ...

  • Webserver selber machen....

    • MrBurns
    • 27. März 2004 um 15:37

    http://httpd.apache.org/docs-project/ ... bitte lesen.

    was meinst du mit "mehreren leuten" ? verschieden Domains? oder nur unterverzeichnisse? lässt sich alles in den apache conf files (httpd.conf etc.) einstellen.
    basically brauchst nur ein Verzeichniss, das du dem apache als document-verzeichniss gibst, und praktisch wärs natürlich wenn (die leute dies dürfen sollen) irgendwie (über ftp/ssh was auch immer) auch befugt sind in dieses Verzeichniss zu schreiben... hat aber prinzipiell nix mim webserver an sich zu tun.


    und: linux-distro (z.b. freeBSD) ... autsch! :winking_face:

  • virus? hä?

    • MrBurns
    • 27. Januar 2004 um 13:01

    folgendes fand sich eben in meiner in-box:

    Code
    Scenarios/Incoming/SAVI: A virus has been detected: 'W32/MyDoom-A'.
    Scenarios/Incoming/SAVI: A virus has been detected: 'W32/MyDoom-A'.
    
    
    
    
    Die E-Mail von <meineEmailAddresse> an [email]vonegelsteins@tkt-uhde.thyssenkrupp.com[/email]
    
    
    enthielt einen Computer Virus. Eine Zustellung erfolgt nicht.
    Bitte lassen Sie umgehend ihr Computer-System pruefen!
    Mehr Informationen ueber den Virus:
    [url]http://www.sophos.com/virusinfo/analyses[/url]
    
    
    The e-mail from <meineEmailAddresse> an [email]vonegelsteins@tkt-uhde.thyssenkrupp.com[/email]
    
    
    contained a computer virus. The delivery was blocked.
    Immediately check your computer, please!
    More information about the detected virus:
    [url]http://www.sophos.com/virusinfo/analyses[/url]
    Alles anzeigen

    ??? ich dacht das is ein Win32-Virus ??? oder spooft da einfach nur einer meine mail-addresse?

    und gibts einen gratis-virus-checker für os x oder muss man sich sowas kaufen?

  • Amd 64 --> Comments

    • MrBurns
    • 26. Januar 2004 um 10:53

    kein mitleid mit leuten denen NFSU zu langsam für ihre hardware ist. btw: gibts das spiel eigentlich fürn mac? würd gerne mal meinen g5 austesten :devil:

  • mysql installieren

    • MrBurns
    • 25. Januar 2004 um 17:12

    oder phpMyAdmin ... http://www.phpmyadmin.net/home_page/

  • ab in den hintergrund ...

    • MrBurns
    • 20. Januar 2004 um 16:27

    wunderbar, jetzt klappt alles. ausser dass wenn man das panel dann im nachhinein zumacht eine "** Message: xfce4-panel: Exit" kommt, aber da is man ja schon längst aus dem script raus und kann wohl nix mehr machen ...

    wegen .bash???:

    Code
    # .bashrc
    # User specific aliases and functions
    Code
    # .bash_profile
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    
    # User specific environment and startup programs
    ...

    ... so machts zumindest redhat ... also is es wurscht wo man was reinschreibt, war wohl gedacht dass man environment sachen in "profile" und aliases etc in ".bashrc" schreibt ...

  • ab in den hintergrund ...

    • MrBurns
    • 20. Januar 2004 um 16:01

    komisch, mein script is:


    Bash
    #!/bin/sh
    
    
    remoteIP=`echo $SSH_CLIENT | awk '// {print $1":0.0"}'`
    export DISPLAY=$remoteIP
    
    
    xfce4-panel &
    clear

    aber das "clear" wird komischerweise immer VOR den ganzen messages ausgeführt ...

    Kill Bill, genau. Oren Ishi ... hehe. geiler film. würd gern die asiatische (extended) Verison sehen, soll total irre sein ...

  • ab in den hintergrund ...

    • MrBurns
    • 20. Januar 2004 um 14:28

    noch etwas:

    kann man das ENTER drücken irgendwie scripten
    echo \n geht nicht wirklich ...

    und ganz was anderes: aus welchem anime is dein avatar eigentlich? sieht interessant aus...

  • ab in den hintergrund ...

    • MrBurns
    • 20. Januar 2004 um 14:04

    alles klar, darauf dass man einfach ENTER drücken muss wär ich nie gekommen ...

  • ab in den hintergrund ...

    • MrBurns
    • 20. Januar 2004 um 13:41

    naja, ich log mich von meinem mac über'n xterm auf meiner redhat box ein, dann hätt ich gern eine kleine grafische oberfläche. am anfang hab ich gnome benutzt, war mir aber 1. zu lahm und hat 2. nicht gscheit funktioniert (siehe http://hades.gothic.at/iforum/showthread.php?t=14877 ), also hab ich xfce genommen. da starte ich nur das panel (von dem aus ich dann alles mögliche andere starten kann: neue terminals, mozilla, filesystem-browser, was auch immer).
    nur stört mich halt dass ich dann immer noch den xterm offen hab ohne damit irgendwas anfangen zu können...

Rechtliches

Impressum

Datenschutzerklärung