|
|
|
|
| Zitat von pinnback
Aber volle Kanne. Ich wurde auch schon danach gefragt, ob ich nicht ähnlich beknackte Forschung machen kann, weil es einen coolen Titel geben würde ... für die Karriere hätte ich wohl ja sagen sollen, hab es aber nicht gemacht, weil ich es zu doof fand irgendwas unsinniges mit tollem Titel zu machen, was niemals wirklche Anwendung oder auch nur Sinn haben wird.
Aber sowas kann die Uni halt toll als Pressemeldung raus hauen, Pressemeldungen steigern den Bekanntheitsgrad der Uni, steigert die Zitationen, steigert die Publikationen, gibt der Uni mehr Geld und das ist es worum es den meisten geht, besonders in der Verwaltung.
| |
Wer gerne die Publikation lesen will, auf die sich bezogen wird: http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fjournal.pmed.0020124#s2
Ist relativ kompakt das Teil, und beschäftigt sich mehr mit dem interessanten Aspekt der Sache - nämlich wieso das akademische Umfeld sowas provoziert. Warum nur die reißerischen und dämlichen Studien in nicht-Fachblättern auftauchen kann sich wohl jeder selbst denken.
|
|
|
|
|
|
Bilder + Spektrum
|
Hallo zusammen. Ich bin gerade dabei die Fouriertransformation zu verstehen bzw. wie Spektrum/Amplitude/Phase eines Bildes aussehen ... wäre nett, wenn mir wer nochmal mit eigenen Worten erklären könnte, wie die einzelnen Ergebnisbilder der Spektren zustande kommen. Beim Spektrum sind außen ja die hohen Frequenzen, oder?
(oben Originalbild, unten Spektrum im Frequenzraum)
Weiss bedeutet = Frequenz "vorhanden" in diesem Bereich?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Gepan.3dsvs.com am 28.06.2014 12:38]
|
|
|
|
|
|
Rechne dir mal den 1d-Fall aus, fuer einen einfachen Boxfilter (....,0,1,1,1,0,...) und vergleiche das mit dem kontinuierlichen "Boxfilter". Dann wirst du auch den 2D Fall besser verstehen.
Und ja, aussen sind die (betragsmaessig) hohen Frequenzen.
|
|
|
|
|
|
|
Wie kann ich hier (bash)
|
Code: |
find . -type f -exec mv -n "$HOME/"{} "$HOME/"{}"$BACKUP_SUFFIX" \;
|
|
elegant einen filecheck einbauen, bevor mv aufgerufen wird?
edit: file check wie:
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von PutzFrau am 28.06.2014 17:00]
|
|
|
|
|
|
Wie wärs mit [ -f ... ] && mv ... ?
Zumindest in zsh ist && short-circuit logic, dann wahrscheinlich auch in bash.
> false && echo yesss
zsh: exit 1
> true && echo yess
yess
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 28.06.2014 17:04]
|
|
|
|
|
|
| Zitat von PutzFrau
Rechne dir mal den 1d-Fall aus, fuer einen einfachen Boxfilter (....,0,1,1,1,0,...) und vergleiche das mit dem kontinuierlichen "Boxfilter". Dann wirst du auch den 2D Fall besser verstehen.
Und ja, aussen sind die (betragsmaessig) hohen Frequenzen.
| |
Das, oder noch besser: Werd dir erstmal über die gängigsten Fourier-Paare klar, dann sind solche Bilder viel einfacher zu interpretieren.
|
|
|
|
|
|
|
| Zitat von csde_rats
Wie wärs mit [ -f ... ] && mv ... ?
Zumindest in zsh ist && short-circuit logic, dann wahrscheinlich auch in bash.
> false && echo yesss
zsh: exit 1
> true && echo yess
yess
| |
Das geht leider nicht aus find -exec raus:
|
Code: |
find . -type f -exec [ -f $HOME/{} ] && echo {} \;
find: missing argument to `-exec'
|
|
edit: Zur Not geht ja immer noch (mit adaequaten quotes). Hier ist allerdings das Problem, wie escape ich Sonderzeichen in $HOME/{}?
|
Code: |
find . -type f -exec bash -c [ -f $HOME/{} ] && echo {} \;
|
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von PutzFrau am 28.06.2014 17:22]
|
|
|
|
|
|
Quoting-Problem, nehme ich an.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von csde_rats am 28.06.2014 17:23]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
probier mal ... -exec test ... -exec mv ...
| -exec command ;
Execute command; true if 0 status is returned. All following arguments to find are taken to be arguments to the command until an argument
consisting of `;' is encountered. | |
Wenn also das -exec test fehlschlägt, sollte er das -exec mv nicht mehr machen.
/e: Ah, in der Zwischenzeit hast du das auch gefunden. Wenn die Post-Seite und das Abschicken vom Post jeweils 3 Minuten dauern, passiert sowas schonmal
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 28.06.2014 17:41]
|
|
|
|
|
|
Hehe, ja, etwas langsam heute.
Aber danke trotzdem.
|
|
|
|
|
|
|
| Zitat von Xerxes-3.0
| Zitat von PutzFrau
Rechne dir mal den 1d-Fall aus, fuer einen einfachen Boxfilter (....,0,1,1,1,0,...) und vergleiche das mit dem kontinuierlichen "Boxfilter". Dann wirst du auch den 2D Fall besser verstehen.
Und ja, aussen sind die (betragsmaessig) hohen Frequenzen.
| |
Das, oder noch besser: Werd dir erstmal über die gängigsten Fourier-Paare klar, dann sind solche Bilder viel einfacher zu interpretieren.
| |
Danke. .. was verstehst du unter "fourier paare"?
|
|
|
|
|
|
|
Ich denke, er meint sowas:
Eigenschaft der Funktion < -- > Eigenschaft der Fouriertransformation
z.B.
f ist symmetrisch, reell < -- > FT ist reell
|
|
|
|
|
|
|
Das auch, aber viel banaler: Wissen, was die Fouriertransformationen von bestimmten Standardfunktionen sind. Auf die Art lässt sich eine FT einfacher interpretieren weil man etwa weiß, was bei raus kommen soll.
Gauß <-> Gauß
e-Funktion <-> Lorentzkurve
Rechteckfunktion <-> Sinc-Funktion
Und so nützliche Dinge wie
Faltung <-> Multiplikation
Hier gibts ne Tabelle
In dem Beispiel hast du eine 2D-Rechteckfunktion wobei ein Rechteck breiter ist als das andere. Daher hast du in der FT zwei Sinc-Funktionen, wobei die "kurzwelligere" zum breiteren Rechteck gehört.
|
|
|
|
|
|
|
Fuer alle, die es interessiert (rats z.B.), ich habe jetzt rausgefunden, wie ich die -exec commands gruppieren kann:
|
Code: |
\( -exec exec1 \; <mod> -exec exec2 \; \)
<mod> = -a return exec1 AND exec2
<mod> = -b return exec1 OR exec2
<mod> = empty string == <mod> = -a
|
|
Das ganze laesst sich schachteln, hier ein Beispiel, damit das klarer wird:
|
Code: |
$ find .
.
./arch
./arch/install.log
$ find . \( \( -exec test -d {} \; -a -exec sh -c 'echo {}; exit 1' \; \) -o -exec echo {} \; \)
.
.
./arch
./arch
./arch/install.log
|
|
Obiger code macht: Finde alles rekursiv in ., falls es ein directory ist, gib es an stdout aus, in jedem Fall gib es an stdout aus.
Daher werden, "." und "./arch" jeweils zwei mal ausgegeben, "./arch/install.log" allerdings nur einmal.
|
|
|
|
|
|
|
Oha, ich wusste gar nicht, dass find () kennt. Alle Operatoren:
| OPERATORS
Listed in order of decreasing precedence:
( expr )
Force precedence. Since parentheses are special to the shell, you will normally need to quote them. Many of the examples in this manual
page use backslashes for this purpose: `\(...\)' instead of `(...)'.
! expr True if expr is false. This character will also usually need protection from interpretation by the shell.
-not expr
Same as ! expr, but not POSIX compliant.
expr1 expr2
Two expressions in a row are taken to be joined with an implied "and"; expr2 is not evaluated if expr1 is false.
expr1 -a expr2
Same as expr1 expr2.
expr1 -and expr2
Same as expr1 expr2, but not POSIX compliant.
expr1 -o expr2
Or; expr2 is not evaluated if expr1 is true.
expr1 -or expr2
Same as expr1 -o expr2, but not POSIX compliant.
expr1 , expr2
List; both expr1 and expr2 are always evaluated. The value of expr1 is discarded; the value of the list is the value of expr2. The comma
operator can be useful for searching for several different types of thing, but traversing the filesystem hierarchy only once. The -fprintf
action can be used to list the various matched items into several different output files.
| |
TODO: NICHT den Cmdline-Parser von find anschauen.
|
|
|
|
|
|
|
Wusste ich auch nicht, und scheinbar wissen das auch nicht so viele im Internet, oft habe ich auf stack overflow gelesen, "geht nicht mit find", wenn es um if abfragen (bzw. test) geht.
|
|
|
|
|
|
|
Beim Lesen der man-pages habe ich festgestellt, dass ich ',' statt '-o' benutzen muss ('-o' ist XOR).
|
|
|
|
|
|
|
| Zitat von Xerxes-3.0
Das auch, aber viel banaler: Wissen, was die Fouriertransformationen von bestimmten Standardfunktionen sind. Auf die Art lässt sich eine FT einfacher interpretieren weil man etwa weiß, was bei raus kommen soll.
Gauß <-> Gauß
e-Funktion <-> Lorentzkurve
Rechteckfunktion <-> Sinc-Funktion
Und so nützliche Dinge wie
Faltung <-> Multiplikation
Hier gibts ne Tabelle
In dem Beispiel hast du eine 2D-Rechteckfunktion wobei ein Rechteck breiter ist als das andere. Daher hast du in der FT zwei Sinc-Funktionen, wobei die "kurzwelligere" zum breiteren Rechteck gehört.
| |
Ah, im 7. Semester aufgepasst.
|
|
|
|
|
|
|
Super Tabelle, vielleicht druck ich mir die aus.
|
|
|
|
|
|
|
|
|
|
|
Ich habe zur Zeit Probleme mit einer Twitter-API-Implementierung.
Ich will in ein Projekt das hochladen eines Screenshots einbinden.
Das Problem ist, dass mir der Compiler folgendes ausschmeißt.
|
Code: |
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: OAuth authorization is required.
at twitter4j.media.ImageUploadFactory.getInstance(ImageUploadFactory.java:108)
at twitter4j.media.ImageUploadFactory.getInstance(ImageUploadFactory.java:95)
at PROJECTPATH.Tweet.PostImage(Tweet.java:83)
at PROJECTPATH.Tweet.start(Tweet.java:72)
at PROJECTPATH.PlayingField.keyReleased(PlayingField.java:1055)
... |
|
Der Code sieht so aus:
|
Code: |
package PROJECTPATH;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.auth.RequestToken;
import twitter4j.media.ImageUpload;
import twitter4j.media.ImageUploadFactory;
import twitter4j.media.MediaProvider;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* This class sends a Tweet to Twitter.
* Escpacially in this case it will tweet a screenshot/media.
*/
public class Tweet {
// Required Keys for Authentication
private final static String CONSUMER_KEY = "GEHEIM";
private final static String CONSUMER_KEY_SECRET = "AUCH GEHEIM";
/**
* Start the process
* @param path
*/
public Tweet(String path) {
try {
start(path);
} catch (TwitterException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void start(String path) throws TwitterException, IOException {
/**
* this Method connects with Twitter.com to authorise the programm.
* @param path
* @throws TwitterException
* @throws IOException
*/
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_KEY_SECRET);
RequestToken requestToken = twitter.getOAuthRequestToken();
System.out.println("Autorisierungs-seite: \n" + requestToken.getAuthenticationURL());
AccessToken accessToken = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (null == accessToken) {
try {
System.out.println("Hier PIN eingeben: ");
String pin = br.readLine();
accessToken = twitter.getOAuthAccessToken(requestToken, pin);
} catch (TwitterException te) {
System.out.println("Fehler beim Zugriff, durch: " + te.getMessage());
System.out.println("Gebe den PIN erneut ein");
}
}
System.out.println("Zugriffs-Token: " + accessToken.getToken());
System.out.println("Geheimer Zugriffs-Token: " + accessToken.getTokenSecret());
PostImage(path);
}
/**
* Screenshot path saved in String
*/
public static void PostImage(String path) {
try {
ImageUpload upload = new ImageUploadFactory().getInstance(MediaProvider.TWITTER);
String url;
url = upload.upload(new File(path));
System.out.println("Successfully uploaded image to Host at " + url);
System.exit(0);
} catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to upload the image: " + te.getMessage());
System.exit(-1);
}
}
} |
|
Einen normalen Textstatus kann ich twittern, aber sofern es an Mediaupdate geht, verweigert es den Dienst
Fakeedit: Während ich hier frage, habe ich festgestellt, dass der Code den Access und den Secret Access braucht um weitermachen zu wollen.
Den bekomme ich auch am Ende meiner Fehlerausgabe.
Nur hab ich gerade den Überblick etwas verloren, wie ich das nun da rein implmentieren soll.
Hat jemand Ahnung von der twitter4j Bibliothek, dass er mir eben auf die Sprünge helfen kann?
|
|
|
|
|
|
|
Ich mag keine Yoda conditions
|
|
|
|
|
|
|
| Zitat von SwissBushIndian
Yoda conditions
| |
Nie gehört, aber ich wusste gleich, was gemeint ist.
Interessanterweise scheinen die Vorteile davon ja zu überwiegen..
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Rufus am 29.06.2014 14:09]
|
|
|
|
|
|
Als wenn man Riesenroboter mit Fliegensex vergleichen könnte
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Rufus
Interessanterweise scheinen die Vorteile davon ja zu überwiegen..
| |
Vor 15 Jahren vielleicht, aber heute wirft sowas so viele Warnings, dass es praktisch kein Vorteil mehr ist. Mit OO kannst du dir vor allem richtig schöne Nullpropagations einhandeln, die du dann nie findest.
Aber hauptsächlich:
Fucked up to read, it is.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SwissBushIndian am 29.06.2014 14:47]
|
|
|
|
|
|
Sogar C-Compiler warnen inzwischen vor Zuweisungen in Bedingungen, wenn man sie nicht extra klammert. Mit dieser Konvention ist auch unabhängig von der Reihenfolge der Parameter bei =/== eine eindeutige Unterscheidung der Absichten möglich.
/E: GCC braucht bei mir -Wall / -Wparentheses dafür (aber wer benutzt schon *kein* -Wall?), clang hat die bei mir standardmäßig an:
|
Code: |
t.c:6:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
if(a = 3.0)
~~^~~~~
t.c:6:7: note: place parentheses around the assignment to silence this warning
if(a = 3.0)
^
( )
t.c:6:7: note: use '==' to turn this assignment into an equality comparison
if(a = 3.0)
^
==
|
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 29.06.2014 14:53]
|
|
|
|
|
|
Und dazu noch -Werror und man kann diese warnings gar nicht ignorieren.
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XVI ( Ship painting activities ) |