Archiv für die Kategorie: “Programmierung”
Am Wochenende war es mir eine Spur zu heiss draussen und deshalb habe ich mich an ein schon lange Zeit geplantes Projekt gesetzt und zumindest schonmal den Aufbau auf einer Streifenrasterplatine gemacht. Es handelt sich hierbei um ein USB Gerät, das auf der einen Seite eine Tastaturmatrix als Eingabe hat und sich auf der anderen Seite wie eine USB Tastatur verhält. Insgesamt basiert das Platinenlayout dabei auf einem Referenzdesign von V-USB. Die Software ist allerdings noch nicht fertig und wird von mir mal in Angriff genommen, wenn es mal wieder zeitlich passt. Solange die Software nicht fertig ist möchte ich zum Zweck aber noch nichts sagen. Das fertige Design wird dann irgendwann mal hier im Blog landen.

Verwandte Artikel
Keine Kommentare »
Im vorigen Blogeintrag habe ich ja schon beschrieben, dass ich mit USBasp ein Atmel Programmiergerät zusammengebastelt habe und da es gerade so viel Spaß gemacht hat, an USB Geräten herumzubasteln habe ich gleich mal weitergemacht und mir als nächstes einen Joystickkonverter gebaut. Mit diesem Joystickkonverter kann ich nun digitale Joysticks (z.B. die meines Amstrad CPCs) per USB an einen PC anschliessen. Und hier ist ein Bild des Lochrasterplatinenaufbaus (noch ohne 9 polige D-SUB Stecker, die muss ich noch bestellen ):
Einen ersten Test habe ich natürlich schon durchgeführt und es funktioniert soweit alles. Dank dem umständlichen Aufbau auf Lochrasterplatine habe ich diesmal gelernt, dass Kupferlackdraht doch komfortabler ist und ich das wohl in Zukunft doch endlich mal mehr einsetzen werde. Ein nächstes Projekt steht schon an, mal schauen, ob ich vielleicht schon über Ostern dazu komme, daran zu arbeiten.
Verwandte Artikel
Keine Kommentare »
Was tun, wenn einem langsam die Druckerschnittstellen ausgehen, um seine Mikrocontroller mit dem Parallelport Programmieradapter noch zu programmieren? Klar, da muss eine Alternative her, die mit USB klarkommt. Also entweder so ein Ding bereits fertig kaufen oder halt selbst bauen. Nach ein wenig Suchen habe ich die Schaltpläne für das USBasp Programmiergerät gefunden und habe, da ich die Bauteile sowieso in der Gegend rumfliegen hatte, am Wochenende das Ding auf einer Lochrasterplatine einfach mal nachgebaut. Dabei herausgekommen ist folgendes Programmierboard:
Das Board funktioniert, nachdem ich bei dem Streifenrasterboard eine Verbindung zwischen Pin 15 und Pin 16 am ATMega8 vergessen hatte (musste unterbrochen werden), einwandfrei und ist wesentlich schneller als die Parallelport Version. Beim nächsten Mal würde ich mir allerdings wahrscheinlich nicht mehr die Arbeit mit der Lochrasterplatine machen, sondern gleich eine Platine belichten und ätzen. Das hätte mir sicherlich etwas Zeit gespart.
Verwandte Artikel
Keine Kommentare »
Geschrieben von Octoate in Kommunikation, Online, Programmierung, tags: Java, MySQL, Oracle, Statistik, Toplink, Twitter, Twitter-API, Twitter4j
Für unser Seminar zum Thema "Microblogging" habe ich in den vergangenen Wochen versucht, einige Statistiken zu finden. Leider gibt es dazu entweder nur ganz altes Zeug – naja, zumindest schon ein halbes Jahr alt – oder nur benutzerspezifische Statistiken. Nun könnte man die Webseitenstatistiken von Twitter.com verwenden, was allerdings auch nicht optimal ist, da man hier die Info über die Twitter-Clients und SMS Tweets verliert. Aus diesem Grund habe ich ein kleines Skript geschrieben, das mir alle 15min die "Public Timeline" über die Twitter-API abholt. Die ID der Tweets ist aufsteigend, wodurch ich hoffe, eine Tagesstatistik von den Tweets machen zu können. Bleibt nur zu hoffen, dass wir bis zu unserer Präsentation genug Daten zusammenbekommen. Vielleicht fallen mir auch noch ein paar andere Statistiken ein, die ich aus den Informationen der Public Timeline herausholen kann.
Kurz was zum Skript: Ich verwende dafür die Java Twitter Bibliothek Twitter4j in Kombination mit der Java Persistence API in Kombination mit Oracle Toplink mit einer MySQL Datenbank im Hintergrund. Das Programm wird alle 15min per Cronjob auf einer Linux Maschine gestartet und macht erstmal nichts anderes als die Daten 1:1 in der Datenbank abzuspeichern. Zukünftig notwendige Tabellen für die Auswertungen werde ich aus den "Rohdaten" der Public Timeline erstellen können. Je nachdem ob sich diese Statistik als sinnvoll erweist, werde ich den Quellcode nach dem Seminar hier zur Verfügung stellen.

Verwandte Artikel
Keine Kommentare »
Geschrieben von Octoate in Programmierung, tags: CSV, Daten, Datenschutz, Excel, HTML, JavaScript, Software, SQL, Testdaten, XML
Ab und an benötigt man während einer Entwicklungsphase eine Menge Testdaten für eigene Programme und richtige Daten möchte man dann nicht unbedingt eingeben. Macht ja auch keinen Sinn die selbstgeschriebene Software, die evtl. noch eine Menge Fehler aufweist, mit richtigen Daten zu füttern, vom Datenschutz ganz zu schweigen.
Für sowas gibt es aber glücklicherweise einen Datengenerator unter http://www.generatedata.com, der Dummy Kundendaten generiert. Zur Verwendung wird ein JavaScript-fähiger Browser benötigt und schon kann man sich tausende von Datensätzen in den Formaten HTML, Excel, XML, CSV und SQL erstellen lassen. Bei den Datensätzen kann man sich komplette Adressen mit Telefonnummern und Emailadressen generieren lassen.
Verwandte Artikel
Keine Kommentare »
Über die folgende Zeile bin ich in einem Forum gestolpert. Und so könnt ihr das Javascript benutzen: Geht mit eurem Browser auf eine Seite mit vielen Bildern und wartet bis die Seite komplett geladen ist. Danach einfach den folgenden Text in die Adresszeile kopieren und staunen:
| javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName(“img”); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position=’absolute’; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+”px”; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+”px”}R++}setInterval(‘A()’,5); void(0); |
Verwandte Artikel
Keine Kommentare »
Was es nicht alles gibt… Heute bin ich beim Lesen einer Newsgroup über eine Frontpanel Emulation gestolpert. Mit dieser C++ Bibliothek kann man die Bedienpults von alten Computern bzw. generell von elektrischen Geräten simulieren. Bisher sind die Bedienpults des Altair 8800, des IMSAI 8080 (das ist übrigens der Computer aus dem Film Wargames mit Matthew Broderick), des Nova 3, des Nova 1200 und des D-116 simuliert.
Wer also Lust hat, seine alte Stereoanlage nachzubauen, der kann sich die Bibliothek “Frontpanel” ja mal anschauen .
Hier mal ein Foto von so einer Emulation:

Verwandte Artikel
Keine Kommentare »
Normalerweise muss man für Fachbücher eine Menge Geld auf den Tisch legen, aber einige Buchverlage stellen im Internet sogar Fachbücher zum freien Download zur Verfügung. Vor kurzem habe ich dabei Galileo Computing entdeckt. Auf der <openbook> Seite gibt es jede Menge IT-Fachbücher zum legalen (!) Download. U.a. findet man hier so bekannte Bücher wie “Java ist auch eine Insel” oder ganz aktuelle Bücher wie “Visual C# 2008“.
Die Onlineausgaben werden, zumindest bei mir, eine gedruckte Version der Bücher nicht ersetzen können, aber wenn man mal schnell etwas nachschlagen möchte oder um zu testen, ob das Buch auch das richtige ist, ist ein solches Angebot natürlich genau richtig. Ein Blick lohnt sich auf jeden Fall.
Verwandte Artikel
Keine Kommentare »
Ab und an trifft man immer wieder auf elementare Fragen beim Programmieren, die man sich vorher in der Art noch nicht gestellt hat. Diesmal war es generell der FileStream in .NET. Die Frage ist halt, ob die FileStream Klasse in .NET schon einen Buffer verwendet oder ungebuffert ist, sodass man sie besser in einen BufferedStream einpackt, um die Performance zu erhöhen. Glücklicherweise bin ich auf einen Blogeintrag von Brad Abrams im MSDN gestossen, der diese Frage eindeutig beantwortet:
Bei einem FileStream kann im Konstruktor eine Buffergröße mitgegeben werden, d.h. dass ein FileStream generell gebuffert wird und man ihn somit nicht mehr extra in ein BufferedStream verpacken muss.
Tja, da man nicht reinschauen kann, war das nicht von vornherein klar, aber da das momentan für mich wichtig ist (ich brauche eine performante Schreibmethode für Daten), ist es nicht schlecht, wenn man das weiss und nicht unnötig Balast aufbaut.
Verwandte Artikel
Keine Kommentare »
Warum braucht man eigentlich bei jedem Spiel 3D Modelle? Bspw. Command & Conquer, da würde es doch 2D auch tun. Oder die guten alten Point & Click Adventures a la Monkey Island oder Sam & Max – die brauchen doch auch kein 3D. Ohne 3D wären die Anforderungen an den Computer minimal.
Im Prinzip bringen die paar Sätze oben das auf den Punkt, was man schon länger in diversen Foren bei Spieleankündigungen lesen kann, aber haben die Personen, die wieder 2D einfordern wirklich recht? Ursprünglich habe ich auch mal so gedacht, denn warum 3D, wenn es für den Spielablauf unerheblich ist?
Da gibt es aber einen ganz einfach Grund, warum man heute alles in 3D umsetzt und dafür muss man sich die ein wenig in die Arbeit eines Spieleentwicklers hineindenken: Wenn man die Perspektive eines 2D Bildes ändern möchte, dann muss man das Bild neu zeichnen und das ist natürlich teuer und kostet Zeit. Bei einer 3D Szene setzt man einfach die Kamera neu und schon kann das ganze Bild neu berechnet werden.
Das ist der ganze Grund dahinter und auch wenn man Spiele wie Baphomets Fluch, Monkey Island, etc. auch heute noch immer wieder gerne spielt so wird ein klassisches 2D Adventure wohl höchstens noch als Fanadventure das Licht der Welt erblicken. Spiele wie Jack Keane oder Ankh beweisen aber, dass 3D Adventures genauso viel Spaß machen können.
Verwandte Artikel
Keine Kommentare »
|