Archiv für Kategorie ‘Development’

Eclipse speichert Passworte nicht

Wenn man viel zwischen Eclipse IDE Versionen hin und her wechselt, kann es sein, daß die Eclipse eigenen und systemweiten Einstellungen nicht behalten werden.
Das kann auch z.B. die Passworte für den Proxy Server betreffen, wenn man in einer Firma arbeitet
Die Systemweiten Einstellungen liegen in %USERHOME%/.eclipse.
Wenn z.B. es Ärger mit den Passworten gibt. kann man einfach den Ordner .eclipse/org.eclipse.equinox.security umbenennen.
Nach einem Neustart von Eclipse sollte das Speichern von Passworten wieder funktionieren.

Das dynamisch mit verschiedenen Versionen laufen zu lassen braucht sicher noch ein paar Scripte, die für Windows und Linux leider stark unterschiedlich sein werden…aber man braucht ja noch Projekte 😉

Good bye blabla

Habe schon öfters über meine Mikro Erfolge geschrieben, die eigentlich nur das Endergebnis einer stundenlangen Suche auf ebenso inhlatlosen Blogs waren. Jetzt habe ich aber einen gefunden, der ziemlich schnell auf den Punkt kommt und die Tutorials so schreibt, wie ich sie brauche. Dass sie in english sind, ist da leicht zu verkraften.

Hier die nächsten zwei Blogs Einträge wie ich sie geplant hatte…sind so schon fast perfekt 🙂

Dreh Encoder Ansteuern mit Arduino
Stepper Motor am Arduino mit Motor Treiber

Wehn also coole kleine Arduino Schaltungen interessieren, der sollte sich einfach den RSS Feed von bildr.org sicher

gefunden auf Sparkfun

ein Haufen Zeugs auf bildr.org was man gebrauchen kann.
Kann man nicht alles an einem Tag lesen aber man braucht ja noch Projekte 😉

[EDIT] das hier geschribene war wohl ein wenig verfrüht, ich glaube sehr wohl noch daß ich hier etwas bloggen werden nur um mich an ganz einfache Details zu erinnern oder anderen den Einstieg zu erleichtern oder einfach weil ich es gesagt haben will….also back to blabla !

git clone über ssh mit nicht standard port

als bestes Protokoll zum Arbeiten auf fremden unixiden Systemen hat sich ssh und als Soure code Verwaltung hat sich GIT als Mittel der Wahl gezeigt. Wenn man aber bei der einen oder anderen Seite vom Standard abweicht ist die Syntax nicht immer intuitiv zu finden, daher hier wieder eine Notitz dazu.

Git clone von einem fremden Rechner mit ssh Protokol auf Port 3000


git clone ssh://linuxuser@192.168.0.1:3000/~/myproject/.git

gefunden auf Miguels Webseite

Jetty

Mal wieder was zur Erinnerung…

Jetty ein Embedded WebServer für Java, der auch (der übliche Weg)direkt aus einer Java Klasse heraus aufgerufen werden kann. Sprich man bekommt für ein paar MB eine Webanwendung samt Webserver 🙂

Hier die notwendigen Schritte, vorausgesetzt man hat Eclipse installiert

1. Ein KOMPlETTES Jetty Repository herunter laden. Das erkennt man an der vorhandenen oder fehlenden start.jar. Z.B von hier
oder jetty-distribution-8.0.4.v20111024

2. In Eclipse ein neues Java Project in Eclipse erstellen. Alles auf Standard lassen. Finish klicken

3.Auf src mit rechts klicken und „New -> Class“ auswählen.Als Package Name z.b „com.trytry“ und als Klassen Name z.B“HelloHandler“. Die muss man sich nur merken und bei behalten, wenn man danach gefragt wird

4. Man klickt auf den Project Namen mit rechts und dann „New -> Folder“, diesen nennt man lib. In diesen kopiert man alle jar Files aus dem lib Verzeichnis des herunter geladenen Jetty zip Files

5. Diese Jar Files macht man dem Project bekannt. In dem man mit rechts auf den Projekt Namen klickt und dann „Properties -> Java Build Path -> Add JARs -> im LIB Verzeichnis alle markieren -> ok -> ok“

6. Muss man einfach die HelloHandler.java in Eclipse durch doppelklicken öffnen und für ein einfaches HalloWorld Programm diesen Code eingeben


package com.trytry;

import java.io.IOException;
import java.net.InetAddress;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.Request;
import org.eclipse.jetty.server.handler.AbstractHandler;

public class HelloHandler extends AbstractHandler{

public void handle(String target,Request baseRequest,HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html;charset=utf-8");
response.setStatus(HttpServletResponse.SC_OK);
baseRequest.setHandled(true);
response.getWriter().println("

Jetty Server

");
}
public static void main(String[] args) {
int port = 8090;
String IPAddress = "";

try {
Server server = new Server(port);
server.setHandler(new HelloHandler());

InetAddress thisIP = InetAddress.getLocalHost();
IPAddress = thisIP.getHostAddress();
System.out.println("\n Starting Jetty on http://"+ IPAddress + ":" + port + "\n");

server.start();
server.join();

} catch (Exception e) {
e.printStackTrace();
}

}

}

copy+paste sollte funktionieren.

7. Klick auf Projekt in der Menu Leiste dann bei ausgewähltem „Build Automatically“ Clean auswählen und ok beim gewählten Project

8. Jetzt kann man es schon laufen lassen. Klick auf den grünen Run Button und man sollte in der Cosole sehen wie der Jetty zu erreichen ist..
„Starting Jetty on http://192.168.0.100:8090“

9. Jetzt braucht man nur noch einen Browser öffnen und man sollte „Jetty Server“ bei der oben genannten URL sehen

Noch keine richtige Anwendung aber für ein paar MB einen vollständigen Webserver inklusive Anwendung zu bekommen macht zB. im Embedded Bereich vieles möglich

Wie das ganz dann von einer Maschine auf die nächste kopiert wird, ist eine andere Geschichte…man braucht ja noch Projekte 🙂

ANT

dies ist nur mal eine Notitz, weil mich der Einstieg in ANT echt Nerven gekostet hat und die Iteration wohl öfters gebraucht wird
Ant-contribute downloaden und in  $(basedir)/lib/ant-contrib-version.jar ablegen, dann in Build File integrieren

<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${basedir}/lib/ant-contrib-version.jar"/>
</taskdef>

Liste von z.B xsd Files erstellen und dabei für jedes File eine Funktion aufrufen


<target name="xsd_iteration">
<foreach target="generate_package" param="file">
<path>
<fileset dir="${basedir}/schemaII">
<include name="**/*.xsd" />
</fileset>
</path>
</foreach>
</target>


in der Aufgerufenen Funktion z.B den File Namen benutzen um JAXB laufen zu lassen


<target name="generate_package" description="Generate Packages with Java files">
<basename property="xsdname" file="${file}" suffix=".xsd"/>
<property name="packname" value="com.more-machines.packages.${xsdname}" />

<echo message="Generate package ${packname}" />
<echo message="from ${file}" />

<xjc schema="${file}" destdir="${basedir}/generated" package="${packname}" removeOldOutput="true" />

</target>

Was zu trinken

seit einiger Zeit bin ich hier einer Bastler Gruppe beigetreten und wir wagen uns langsam an unser erstes Projekt. Einem Getränke Automat….
Warum eine Getränke Automat wurde ich schon gefragt, so etwas gäbe es doch schon. Nun icht so einen, Er wird in etwa wie ne kleine Bar aussehen und die Getränke direkt nach oben auf die Theke fahren. Man muss sich also nicht bücken oder so. Gestaltet wurde das gedankliche Modell in einer virtuellen 3D Umgebung

Wie hier zu sehen ist der Plan schon fast fertig. Das Gehäuse habe ich hier mal weggelassen, damit man was sieht. Ist aber auch schon geplant. So, jetzt gehts ans Bauen :-). Leider musste ich festelle, daß mein Lager stark geschrumpft ist. Die notwendigen Teile sind leider wech und müssen neu angeschafft werden, Wohl beim letzten Umzug passiert, mal sehen wie ich das günstig hin bekomme. Das als (1) bezeichnete Bauteil wird der Anfang

Was soll’s, man braucht ja noch Projekte.

Geminoid F

Hiroshi Ishiguro ist Professor an der Univerisität in Osaka und hat nun die Version F seines Androiden Modells Geminoid vorgestellt.


Es fällt immer schwerer den Unterschied zu richtigen Menschen fest zu stellen. Als nächstes wird es wohl nur noch darum gehen einen vernünftigen Unterbau zu bekommen, der gehen und greifen kann.

Das erste Modell war noch ein Clone des Professors selbst

Schon damals kam einem der Gedanke, ob mal wohl einen Bot hinbekommt, der in einer Umgebung, die einen eigentlich gut kennt, die eigene Rolle übernehmen könnte…

z.B bei der Arbeit oder wie unlängst in London bei einem Juwelen Raub (Menschliche Bösewichte, die aber die selbe Masken Technologie benutzen). Es scheint mir ein wenig aufwendig aber machbar und man braucht ja noch Projekte 😉

Found via Botjunkie
via Geminoid

Formen

Eigentlich wollte ich nur ein paar Boxen fotografieren aber da ich gerade auf der Suche nach einem guten Chasis bin hier ein Fotos, da ein paar der Ideen doch gut zu verden sind







mal sehen, wie sich das umsetzen läßt, man braucht ja noch Projekte 😉

Clean Code

seit längerem beobachte ich die Clean Code Initiative. Ich habe hier jetzt keinen Link weil sich dahinter eine ganze Sammlung an Webseiten verbirgt, die ursprünglich mit dem DOTNET Framework von Microsoft aufkam.

Es geht darum den Code so stabiler, Lesbarer und portierbarer zu machen. Für mich das A und O um solche Dinge wie OpenSource weiter voran zu bringen. Aber auch für Profis in der IT geht meiner Meinung nach nichts ohne wenigstens eine Gewisse Akzeptanz. Niemand ist perfekt aber man kann sich ja stufenweise ran tasten. Wer seine Stufe der Akzeptanz verdeutlichen will kann das z.B hier tun.

BTW ich fühle mich mit meinem Roten Band ganz wohl 😉

OpenSource

war gerade mal wieder im Netz unterwegs auf der Suche nach einem OpenSource Tool um Videos zu konvertieren. Nun bin ich mit WinFF fündig geworden. Vorteil ist daß es sich auch auf Windows installieren läßt, daß ich ich immer noch auf den meisten Rechnern am laufen habe. Dieses war nebenbei auch das erste Tool was wirklich funktioniert hat. Alle anderen auch kommerziellen Tools waren entweder sehr viel zu teuer oder haben eh nicht funktioniert

Warum erwähne ich das ?

Weil all die Maschinen/Technologien nix bringen, wenn ihre Herstellung nur einem eingeweihtem Kreis möglich ist. Alle die Technik hat nur Sinn, wenn sie immer, überall und jedem gleichermaßen zur Verfügung steht. Das gilt auch für das Wissen um die Herstellung. Das wird bei Software eben nur wirklich mit OpenSource weiter gegeben.

Nach oben