Wednesday, April 28. 2010LaTeX - Wurzel mit Haken
Ich schreibe ja recht viele Texte mit LaTeX. Kuerzlich hat A. folgendes Problem an mich herangetragen, dass ich nicht auf anhieb loesen konnte: Wurzeln sollten mit einem "Haken" hinten gesetzt werden, damit man eindeutig erkennen kann wo der Ausdruck unter der Wurzel endet.
![]() W. aus Graz hat daraufhin folgendes Macro ausgegraben das offenbar schon seit einiger Zeit im Netz die Runde macht und den Job erledigt: \def\hksqrt{\mathpalette\DHLhksqrt} Leider unterstuetzt diese Loesung keine Wurzeln belibiger Ordnung (wie die aussere Wurzel und die Wurzel im Zaehler in der Abbildung). Daher hab ich die o.g. Loesung etwas aufgebohrt so dass sie wie das LaTeX \sqrt Kommando die Ordnung der Wurzel als optionales Argument versteht: \documentclass{article} Vielleicht googelt ja mal jemand nach dem Problem und stolpert dann dabei ueber mein Blog.. PS: Morgen (Donnerstag, 29.4.2010) halte ich ab 19:00 im Metalab einen Vortrag ueber Graphiken mit LaTeX erstellen: http://www.luga.at/veranstaltungen/latex-2010-04-29/ PPS: Im Metalab gibt es ein regelmaessiges TeX/LaTeX Treffen: http://metalab.at/wiki/Leidensgruppe_LaTeX Sunday, January 24. 2010
Was muss ein Taschenrechner koennen ... Posted by Clifford Wolf
in Technical at
14:11
Comments (0) Trackbacks (0) Was muss ein Taschenrechner koennen (Teil 3)
Vor ziemlich genau 2 Jahren habe ich ueber den CASIO fx-991ES geblogged. Bis vor ein paar Tagen war das meiner Meinung nach der empfehlenswerteste wissenschaftliche Rechner in der unteren Preisklasse (unter 30 EUR).
Jetzt bin ich ueber den SHARP EL-W506 (schon um 20,90 EUR bei Amazon gesehen, ich hab ihn aber um ein paar Euronen mehr aus dem offline Einzelhandel) gestolpert und muss sagen: das Graet ist sehr ueberzeugend! Soweit habe ich kein Feature des CASIO fx991ES gefunden das es nicht auch beim SHARP EL-W506 gaebe. In umgekehrter Richtung gibt es aber ein paar Kleinigkeiten und insgesammt ist mir der SHARP in der Bedienung noch etwas sympatischer als der CASIO.Vom Funktionsumfang sind sich die Rechner sehr aehnlich. Beide koennen nummerisch intergrieren und differenzieren. Beide beinhalten einen newton solver fuer gleichungen und haben einen modus zum loesen linearer systeme mit 2 oder 3 unbekannten sowie quadratischer und kubischer gleichungen. Beide koennen im komplexen (dazu unten noch etwas mehr) mit listen und mit matrizen rechnen und haben funktionen zur statistischen analyse. jedoch finde ich den zugang zu den aufwendigeren oder seltener benutzten funktionen bei SHARP intuitiver und ich habe vor allem den eindruck, dass das display besser genutzt wird. So faellt es beim CASIO beim eingeben von Matrizen schon recht schwer zu erkennen was man da eigentlich gerade tut, waehrend die selbe Aufgbae beim SHARP bei einem etwa gleich grossen Display kein Problem darstellt. Wenn man weiter ins detail geht findet man auch einige funktionale unterschiede. Z.bsp. kann der SHARP matrizen invertieren. Beim numerischen integrieren und differenzieren kann man beim SHARP die groesse des epsilons angeben. Die Summenfunktion unterstuetzt eine Schrittweite. Beim CASIO sucht man diese features vergeblich. Der SHARP hat einen Funktionskatalog fuer exotischere Funktionen der mich am ersten Blick etwas an die Bedienung von meinem HP50g erinnert. Auch die Liste der Konstanten und die Liste der unit conversions sind beim SHARP in einem menue abrufbar. Bei CASIO muss mann die Nummer der Konstant bzw. der unit conversion kennen (eine Liste gibt es aber auf der innenseite des deckels). Die Aufwendigeren Funktionen (solver, matrizenrechnungen, etc) haben beim SHARP ein meiner meinung nach ein viel intuitiveres interface. Der SHARP hat mehr Speicher als der CASIO - unter anderem einen Speicher um bis zu 4 haeufig verwendete Terme ablegen zu koennen und 4 speicher (D1 - D4) auf die man haeufig verwendete taschenrechner funktionen (z.bsp. solche die sonst nur ueber menues erreichbar sind) legen kann. Sehr angenehm finde ich die Art wie beim SHARP mit zahlenbasen ungleich 10 gerechnet und umgewandelt wird. Das geht zwar mit dem CASIO auch alles, ist aber beim SHARP um einiges konfortabler geloest. Leider ist mein groesster Kritikpunkt am CASIO auch beim SHARP gueltig: er kann nicht mit komplexen Exponenten rechnen. Ich hatte die Hoffnung, dass man zumindest einen geschlossenen Term fuer a^b mit komplexem a und b in einem der formelspeicher ablegen kann. Aber leider gestaltet sich das als etwas aufwendiger, weil die Umwandlung von komplexen Zahlen zwsichen Komponentenschreibweise und Polarkoordinaten und das extrahieren der einzelnen Elemente nur im Ergebnis einer Berechnung moeglich und nicht als Funktion auf eine Variable anwendbar ist. Zwar kann man mit re=(x+conj(x))/2 und im=(x-conj(x))/2 real und imaginaerteil extrahieren und mit abs(x) den betrag, ohne atan2() und ohne fallunterscheidung ist das zufuss berechnen des winkels in der gaussschen zahlenebene aber zu aufwendig um dann einen geschlossenen Ausdruck sinnvoll eingeben zu koennen. Es ist mir nach wie vor ein Raetsel wesshalb die Hersteller von Taschenrechnern zwar einen Newton Solver in ihre Geraete um knappe 20 EUR einbauen, nicht aber die Zerlegung der Berechnung eines komplexen Exponenten implementieren koennen. Wer sich einen neuen Taschenrechner anschaffen, dabei aber nicht viel Geld ausgeben moechte dem kann ich den SHARP EL-W506 sehr ans Herz legen. Bei mir hat er den CASIO fx-991ES als den Taschenrechner den ich immer dabei habe abgeloest. Thursday, January 14. 2010rpn, iomem, teletype
Im letzten Maerz habe ich angekuendigt in unregelmaessigen Abstaenden ueber die kleinen Tools zu schreiben die ich mir im laufe der Zeit fuer die unterschiedlichsten Aufgaben zusammengestoepselt habe. Vor 10 Monaten ging es um einige JavaScript Programme fuer Berechnungen aus dem Bereich der Elektrotechnik. In diesem Post will ich drei Tools vorstellen die eher in den Bereich embedded bzw. hardwarenahe entwicklung gehen.
Clifford's Tools: http://svn.clifford.at/tools/trunk/ rpn und rpn64: Ueber dieses Programm und das nachfolgende habe ich 2007 schon mal in aller kuerze geblogged. Rpn ist ein einfacher rechner mit 32 bit integern fuer rechenoperationen in reverse polnish notation. rpn64 ist die version fuer 64 bit integer. Das eigentliche Highlight des Rechners ist aber nicht das rechnen an sich sondern das format seiner Ausgabe: Wenn man oft damit zu tun hat die Inhalte von irgendwechen Registern auseinanderzuklauben oder mal schnell fuer einen test das richtige wort zusammenstoepseln muss das in ein register geschrieben werden soll, dann ist dieses tool eine wertvolle hilfe. "rpn --help" erzeugt eine 4 seitige uebersicht ueber alle aufrufarten und operationen die rpn versteht. Unter anderem gehen einfache rechnungen und bitoperationen, ein uns ausgabe kann in binaer, dezimal, hexadezimal oder oktal erfolgen. Wenn es keine angabe zum ausgabeformat gibt wird das oben gezeigte verbose format verwendet. Ich verwende das tool hauptsaechlich auf der kommandozeile um bitmuster zu zerlegen. machnmal ist es aber auch praktisch um z.bsp. kleine shell scripts zu schreiben die wiederkehrende berechnung/analyse von bestimmten bitmustern wie z.bsp. statusregistern zu automatisieren. iomem: iomem ist ein tool das man auf PCs wohl besser nicht starten sollte: es erlaubt den direkten zugriff auf memory-gemappte register. in embedded systems kann das aber sehr praktisch sein, wenn man fuer einfache aufgaben nicht gleich einen treibewr schreiben muss sondern mit iomem direkt im speicher herumpfuschen kann. Um z.Bsp. das 32 bit register an der Addresse 0x12345678 auszulesen ruft man "iomem r32 0x12345678" auf. Um die vier 16 bit register an der io adresse 0x100 auszulesen wuerde man "iomem r16-port:4 0x100" ausfuehren. es gibt modi um auf registerbloecke zu lesen und zu schreiben und um mehrere lese oder schreib zugriffe auf ein fifo register zu machen. Man kann auch pollend darauf warten das ein register ein bestimmtes bitmuster annimmt. Ich empfehle aber das Programm nur zu verwenden wenn man weiss was man da tut. Es gibt einen grund warum es normalerweise kein command line tool gibt um direkt hardware register zu manipulieren.. teletype: teletype is ein raw serial terminal. mit "raw" meine ich in diesem fall, dass es nicht versucht terminal escape codes selbst zu interpretieren sonder die bytes von der seriellen schnittstelle 1:1 an das controlling tty weitergibt. ansi, vt100, und andere escape codes muss das controlling tty selbst auswerten - oder der user bekommt den schrott halt angezeigt. das hat den vorteil, dass man alle features eines X terminal windows auch beim verwenden der seriellen schnittstelle hat. Insbesondere dass bei curses basierenden serial terminals die history funktion des terminal windows verloren geht hat mich immer sehr gestoert. dafuer hat teleteype einige features die andere terminal-programme nicht haben wenn es um das automatisieren oder teilautomatisieren von ablaeufen geht. speziell so dinge wie mit kleinen shell scripts devices flashen geht damit recht leicht. Wen man das programm ohne weitere parameter startet bekommt man eine uebersicht der optionen und befehle: $ teletype --------------------------------------------------------- Usage: teletype device [speed] [escape-letter] [command(s)] Default speed is 9600 Baud. Default escape letter is 'A'. Supported speed rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 Control Key Kombos: Ctrl-A A Send a Ctrl-A over the line Ctrl-A B Send a break over the line Ctrl-A 0 Send a a single zero byte over the line Ctrl-A H Print help message (command overview) Ctrl-A R Toggle RTS (Ready To Send) signal Ctrl-A D Toggle DTR (Data Terminal Ready) signal Ctrl-A T Toggle timestamp-mode and reset timer Ctrl-A L Set slow send mode (N chars/sec, 0=unlimited) Ctrl-A N Create network link to remote TCP/IP port Ctrl-A E Toggle local terminal echo Ctrl-A C Run a chat script (or any other command such as 'sx') Ctrl-A W Wait one second (this is usefull for scripts) Ctrl-A U Set baud rate (use with care!) Ctrl-A S Print line status Ctrl-A \ Exit without serial reset Ctrl-A X Exit with serial reset Ctrl-A . [x] Change escape key from Ctrl-A to Ctrl-[x] Commands are in the form of '-<Key><Argument>'. E.g.: teletype /dev/tts 9600 -b -l10 -c'chat -f myscript.txt' -l0 -u115200 -c'sx datafile.bin' -x --------------------------------------------------------- Friday, August 28. 2009
Letzte Erinnerung: Linuxwochenende ... Posted by Clifford Wolf
in Events at
10:59
Comments (2) Trackbacks (0) Letzte Erinnerung: Linuxwochenende 2009 - Call for Papers
An alle die noch nicht eingerecht haben: Der CfP fuer das diesjaehrige Linuxwochenende laeuft nur noch bis Montag! Mehr Informationen rund um das Linuxwochenende und Webapp zum Einreichen von Vortraegen gibt es auf der Homepage:
http://linuxwochenende2009.luga.at/ Das Linuxwochenende selbst ist dann am 24. und 25. Oktober. Wednesday, August 5. 2009Int vs. Float vs. Double
Ich erzaehle seit einiger Zeit bei allen moeglichen Gelegenheiten, dass meiner Meinung nach Scriptsprachen in Zukunft auf die verwendung von Integer typen verzichten sollten und statt dessen double precission floats als basis number-type verwenden sollten, oder zumindest bei divisionen automatisch nach double float casten sollten. Offensichtlich kann double float mit der 56 bit Mantisse ein 32 bit vollstaendig abbilden. D.h. es kaeme hier in keiner weise zu einem Verlust an genauigkeit. Das mehr an Speicherplatz verbrauch ist ebenfalls zu vernachlaessigen: das geht in aller Regel im Verwaltungsoverhead der VM unter.
Die Vorteile liegen auf der Hand: ersten muss man sich bei Sprachen mit dynamischer typisierung dann keine gedanken darueber machen, ob eine variable jetzt nun int oder float ist und wie eine divison nun definiert ist (das ist ein punkt der mich an python 2 aergert - afaik hat kommt bei python 3 bei einer division immer ein float raus, ausser man verwenden den speziellen // operator fuer integer divisionen) und andererseit macht es das VM design etwas einfacher wenn man es nur mit einem number-type zu tun hat. Das Gegenargument bleibt immer die performance. Also hab ich mal einen kleinen Test mit zwei typischen integer algorithmen gemacht: Das zaehlen von primzahlen mit einem ganz trivialen primtest und einfach nur zaehlen ohne weitere berechnungen: int testi(int n)
{
int counter = 0;
for (int i = 2; i < n; i++)
{
for (int j = 2; j < i; j++)
if (i % j == 0)
goto next_candidate;
counter++;
next_candidate:;
}
return counter;
}
int test2i(int a, int b)
{
int counter = 0;
for (int i = 0; i < a; i += b)
for (int j = 0; j < a; j += b)
counter++;
return counter;
}diese funktionen hab ich drei mal implementiert: fuer die C-typen int, float und double. bei float und double wird die modulo division mit der math.h funktion fmodf() bzw. fmod() umgesetzt. die implentierungen hab ich in jeweils eigene c-file gelegt und nochmals ein extra c-file mit einer main() implentierung erstellt. durch die verwendung jeweils eigener c-dateien soll sichergestellt werden, dass der compiler die funktion moeglichst generisch uebersetzt und nicht mit inlining und const folding in die main implementierung hineinzieht. Compiliert habe ich das ganze mit gcc 4.3.1 (-O3 -march=i386) und getestet auf meinem AMD Athlon(tm) 64 X2 Dual Core Processor 6000+. Im Test wird die erste funktion jeweils mit dem parameter 100000 und die zweite jeweils mit den parametern 40000 und 1 gestartet. Das Ergebnis des Primzahlen-Tests: Die integer variante braucht ganze 6,614 Sekunden um durchzulaufen. Die float bzw. double variante braucht 4,171 bzw. 4,172 Sekunden, ist also sogar deutchlich schneller! Das Ergebnis des Zaehlerschleifen-Tests: Die integer variante braucht 1,666 Sekuden. Die float bzw. double variante braucht 2,486 bzw. 2,450 Sekunden. Hier hat die integer variante klar die nase vorn! Fazit: Es liegen keine Welten zwischen integer und float performance. Gerade bei interpretierten Sprachen durfte sich der tatsaechliche Performanceunterschied kaum bemerkbar machen. Bei JIT compilation muesste man sich da schon mehr gedanken machen um die maximale performance rausholen zu koennen, und das erste beispiel zeigt, dass hier ein JIT compiler unter umstaenden sogar mehr performance rausholen koennte wenn integer typen (zumindest in bestimmten faellen) zu floats kompiliert werden. Der Python3 Ansatz den Divisionsoperator unabhaenig von den Operanden als floating point division zu implementieren und einen eigenen operator fuer integer divisionen einzufuehren erscheint mir aber in jedem falle sinnvoll. Die Bestrebungen in ECMA-Script 4 und Perl 6 eigene int typen einzufuehren halte ich dafuer fuer fragwuerdig, vor allem weil man davon ausgehen kann, dass bis zur umsetzung von ECMA-Script 4 und Perl 6 wahrscheinlich auch alle embedded CPUs, die maechtig genug zum hosten dieser Sprachen sind (ECMA-Script findet z.Bsp. bereits Anwendung bei den HD-DVD Menues als VM-Backend) ueber mindestens so schnelle floating point wie fixkomma einheiten verfuegen werden. Thursday, July 9. 2009
Building and installing qcad ... Posted by Clifford Wolf
in Technical at
10:27
Comments (3) Trackbacks (0) Building and installing qcad 2.0.5.0-1 community edition
Ich hatte in den letzten Wochen gleich mehrmals das recht zweifelhafte vergnuegen qcad von den Sourcen zu bauen. Offenbar hat der autor nur ein sehr eingeschraenktes interesse daran diesen prozess so problemlos wie moeglich zu gestalten. Einerseits gibt es kein "make install", andererseit gibt es einige troubles mit aktuellen gcc versionen. Letzteres ist das gleiche drama wie bei vielen anderen packages auch: die neuen aufgeraeumten C++ headers includen nicht mehr
http://www.clifford.at/writings/qcad-2.0.5.0-1-build.patch Vielleicht ist mit diesem kleinen patch ja auch noch dem einen oder anderen ausser mir geholfen... Saturday, July 4. 2009
Oberstufen Physik Buch "Physik ... Posted by Clifford Wolf
in Buch und Film at
15:33
Comments (8) Trackbacks (0) Oberstufen Physik Buch "Physik 5" von öbvhpt..
Ich mache ja gerade die SBP (Studienberechtigungspruefung) und habe mir zu diesem Zweck Lehrbuecher fuer die AHS Oberstufe aus den Faechern Physik und Mathematik besorgt. Heute habe ich angefangen das Physik Buch fuer die 5. Klasse aus dem ÖBVHPT Verlag (ISBN 13: 978-3-209-04373-3) zu lesen und komme aus dem Staunen nicht mehr heraus. Gleich am Ende des ersten Kapitels auf der Seite 10 finde ich zum Beispiel folgende zwei Absaetze:
Das Licht legt in ca. 3*108 s genau die Strecke von einem Meter zurueck. Die Entfernung zwischen Sonne und Erde betraegt ca. 150 Mio. km. Das bedeutet, dass das Licht 1,5 * 1011 m : 3*108 s = 500 s = 8,33 min benoetigt. Ich spiele mal kurz Captain Obvious und erklaere was da alles falsch ist: 1.) Das Licht legt in einer Sekunde die Strecke von ca. 3*108 Metern zurueck - nicht umgekehrt. In diesem ersten Kapitel, an dessen Ende die beiden oben zitierten Absätze stehen, geht es um die Basisgroessen Zeit und Länge. Da sollte man die beiden als Autor eher nicht verwechseln.. 2.) Sehen wir uns einmal die Einheiten aus dem Term im ersten Absatz an: m : s = s = s ganz offensichtlich stimmt hier etwas nicht mit den Dimensionen! Ganz klar: 3*108 ist die Lichtgeschwindigkeit in Metern pro Sekunde. Die Einheit sollte also "m/s" und nicht "s" sein: m : m/s = s = s So passen die Dimensionen: Die Laenge laenge laesst sich auf der linken Seite wegkürzen und die Zeit bleibt übrig. Es ist ja auch die Lichtgeschwindigkeit durch die hier dividiert wird und nicht die Lichtzeit.. 3.) Der gesamte zweite Absatz ist Schwachsinn. Sonnenauf- und -untergang entstehen durch die Drehung der Erde um die eigene Achse und haben nichts mit der Drehung von Erde und Sonne um einen gemeinsamen Schwerpunkt zu tun (in den knapp 8 Minuten drehen sich die beiden übrigens um gerade mal 0.096 mrad umeinander). D.h., die Sonne befindet sich staendig in der Richtung des eintreffenden Lichts. Dieses ist zwar 8 Minuten alt, da aber Sonne und Erde in dieser Zeit an ihrem Platz bleiben und sich lediglich die Erde um ihre eigene Achse dreht sind die Laufzeit des Lichts, die Lichtgeschwindigkeit und die Entfernungen der beiden Himmelskörper zueinander irrelevant. Dieser Denkfehler ist insbesondere deshalb tragisch, weil es sich hier um den erzählerischen Aufhaenger dieses ersten Kapitels handelt. Damit stellen sich fuer mich zwei Fragen: 1. Wer schreibt so einen Schwachsinn? Und 2. wer liest das Korrektur? Das Bundesministerium fuer Bildung Wissenschaft und Kunst hat mit Bescheid GZ 25.803/1-V/9/03 vom 29.7.2004 dieses Buch als für den Unterrichtsgebrauch an allgemeinbildenden höheren Schulen für die 5. und 6. Klasse als geeignet erklärt. Liest das dort keiner vorher? Mein Exemplar ist übrigens ein Nachdruck von 2007... Fehler passieren - das kenne ich nicht zuletzt von meinen eigenen Publikationen. Aber wie kommt es dass solche Ballungen von Fehlern jahrelang auf einer der ersten Seiten eines Schulbuches zu finden sind? Wie kann es sein, dass zwei Autoren (zumindest stehen zwei Namen am Umschlag) gemeinsam an einem solchen Werk arbeiten (Peer Review?!) und dieses dann noch von einem Ministerium geprüft wird und dann kommt so etwas dabei heraus? Ich jedenfalls bin fassungslos... Ansonsten macht das Buch vom grob Drueberfliegen eigentlich einen sehr guten Eindruck. Die Themen werden in einem sehr einfachem Erzaehlstil und anhand recht anschaulicher Experimente aufgearbeitet. Ich gewinne den Eindruck, die Oberstufenphysik haette mir in dem entsprechenden Alter Spass gemacht... Heute hat das zwar auch etwas Unterhaltsames, ich wuerde aber lieber den halbverstaubten Dirschmid aus dem Regal nehmen und darin etwas schmoekern statt die AHS Physik nachzuholen, aber das ist wohl eher mein privates Motivationsproblem und hat wenig mit dem AHS Physikbuch an sich zu tun.. Wednesday, April 22. 2009
Empfehlung: Mein Steuerberater ... Posted by Clifford Wolf
in Private at
20:13
Comments (3) Trackbacks (0) Empfehlung: Mein Steuerberater Friedrich IRO
Nachdem er mich jetzt bereits fuer das zweite Geschaeftsjahr beraet und ich wirklich sehr zufrieden bin, moechte ich eine Empfehlung fuer meinen Steuerberater Friedrich IRO aussprechen. Obwohl das ja bereits mein zweiter selbststaendiger (Berufs-)Lebensabschnitt ist finde ich den ganzen Themenkomplex rund um die Steuern immer noch sehr verwirrend. Gut, dass es kompetente Berater gibt, die den Selbststaendigen in diesen Fragen unterstuetzen. Nur: manchmal kann es schwer sein einen solchen kompetenten Berater zu finden, vor allem wenn ungewoehnliche Rahmenbedigungen vorherrschen oder (wie in meinem Fall als "freier Dienstnehmer") vergleichsweise neue Regelungen zum Tragen kommen. Mein Steuerberater weiss was er tut, ist gruendlich und auch in Spezialfragen firm. In short: He does the job, und ich hab das Gefuehl, dass mein Geld in guten Haenden ist.
Falls jemand einen solchen Berater sucht: einfach auf www.iro.at die Kontaktdaten raussuchen. Und sich nicht von den GIF Animationen abschrecken lassen: Du suchst einen Steuerberater, keinen Webdesigner! Saturday, March 14. 2009
Clifford's Tools: JavaScript ... Posted by Clifford Wolf
in Links, Private, Technical at
13:42
Comments (0) Trackbacks (0) Clifford's Tools: JavaScript Electronik Helferlein
Meinereiner wartet seit einiger Zeit ein kleines Subversion Repository mit allen moeglichen kleinen Tools, die ich fuer den Eigenbedarf entwickle. Ich habe mich nun entschlossen in unregelmaessigen Abstaenden das eine oder andere dieser Tools in meinem Blog vorzustellen.
Clifford's Tools: http://svn.clifford.at/tools/trunk/ In den letzten Monaten hatte ich wieder mal ein bischen Zeit zum elektronikbasteln und habe im Zuge der Basteleien ein paar im Webbrowser lauffaehige JavaScript Tools entwickelt um mich selbst bei der Loesung einiger haeufiger Probleme beim Designen von elektronischen Schaltungen zu unterstuetzen. RLC-Filter Calculator: http://svn.clifford.at/tools/trunk/electrotools/fcalc.html E6 Resistor Calculator: http://svn.clifford.at/tools/trunk/electrotools/rcalc.html Das naechste Tool ist mathematisch weniger interessant: Es loest eine Variation des Rucksackproblems durch einfaches Ausprobieren: Im metalab haben wir die E6 Widerstandsreihe im Sortiment. Werte die ausserhalb der E6 Reihe liegen muessen durch eine Kombination von mehreren Widerstandswerten genaehert werden. Das Programm rcalc findet zu einem gegebenen Widerstandswert jene Schaltungen die am besten geeignet sind diesen Wert zu naehern. Mit der Kombination von bis zu drei Widerstaenden laesst sich so gut wie jeder Wert so weit naehern, dass der gewuensche Wert wieder innerhalb der 1%igen Bauteiltoleranz liegt. Voltage Divider Calculator: http://svn.clifford.at/tools/trunk/electrotools/vdcalc.html Das dritte und letzte Tool das ich in diesem Blog Eintrag vorstellen moechte ist eine Variation des oben vorgestellten E6 Resistor Calculators: Als Designer elektronischer Schaltungen steht man oft vor der Aufgabe Spannungsteiler moeglichst genau dimensionieren zu muessen. Auch hier hat man nicht immer jeden belibigen Widerstandswert griffbereit sonder muss sich z.Bsp. im metalab wieder auf die E6 Reihe beschraenken. Das Programm vdcalc ermittelt die passenden Widerstandskombinationen und rechnet dann mit den Bauteiltoleranzen auch die Toleranzen fuer die Spannungen zurueck. Falls sich jemand fragen sollte: Die Toleranzen fuer V1 sind z.Bsp. dann interessant wenn man den Spannungsteiler zum parametrieren eines Festspannungsreglers verwendet der auf eine bestimmte Spannung V2 regelt. Thursday, January 1. 2009
Papers zu Lock-Free und Wait-Free ... Posted by Clifford Wolf
in Technical at
22:29
Comments (2) Trackbacks (0) Papers zu Lock-Free und Wait-Free Algorithmen
Herlihy, M. Wait-free Synchronization. ACM Transactions on Programming Languages and Systems 13, 1 (1991), 124-149.
Andrei Alexandrescu. Lock-Free Data Structures. December 17, 2007. M. Herlihy and J. Wing. Linearizability: A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems, Vol. 12, No. 3, July 1990, Pages 463-492. B.N. Bershad. Practical Considerations for Non-Blocking Concurrent Objects. Proceedings of the 13th International Conference on Distributed Computing Systems (DCS), pp. 264-273, May 1993. Also published as a Carnegie-Mellon University Technical Report CMU-CS-91-183, October 1991. Monday, December 29. 2008
Windows Software Hitliste Posted by Clifford Wolf
in Technical at
07:10
Comments (13) Trackbacks (0) Windows Software Hitliste
Ich installiere gerade die neue CAD Station im Metalab. Aus diesem Anlass poste ich hier mal eine Liste von Software die ich normalerweise auf einem Windows System installiere damit es fuer mich verwendbar wird:
Firefox und diverse Add-ons:
Unix Tools auf Windows:
Connectivity mit UNIX:
Der uebliche Krempel von Adobe:
Subversion:
Kleine Tools die man haben will:
Weitere Software (bei Bedarf):
Wissenschaft und Technik (bei Bedarf):
Last but not least meine reinstall scripte um mit Dualboot aus Linux Images vom Windows schnell und bequem erzeugen und rueckspielen zu koennen: Fuer Hinweise zu weiterer Free- oder Free-as-in-free-beer-Software, die Windows etwas brauchbarer oder leichter zu ertragen macht bin ich natuerlich dankbar. Comments zu diesem Blog-Eintrag sind ein geeigneter Ort fuer soche Hinweise.. Sunday, December 28. 2008
Eine Bitte des Wikipedia-Gründers ... Posted by Clifford Wolf
in Politik at
11:09
Comments (0) Trackbacks (0) Eine Bitte des Wikipedia-Gründers Jimmy Wales
Auf der Homepage der Wikimedia Foundation gibt es eine Art offenen rief von Jimmy Wales an alle Nutzer der Wikipedia. Im Grunde ist es ein Spendenaufruf:
http://wikimediafoundation.org/wiki/Donate/Letter/de?utm_source=2008_jimmy_letter_r&utm_medium=sitenotice&utm_campaign=fundraiser2008#appeal Interessant ist vor allem die folgende Passage: Stell dir eine Welt vor, in der jeder Mensch auf der Erde freien Zugang zum gesamten menschlichen Wissen hat. Das ist unsere Verpflichtung. Meiner Meinung nach wird zumindest die deutsche Wikipedia dieser selbstauferlegten Verpflichtung nicht gerecht. Hier ist es naemlich ueblich Artikel wegen "mangelnder Relevanz" zu loeschen. Also nicht, weil ein Artikel schlech recherchiert oder fehlerhaft sei, sondern schlicht weil irgendjemand der Meinung ist das vom Artikel behandelte Thema sei nicht wichtig genug. Nun, es sollte einem zu denken geben, dass es zumindest wichtig genug fuer jemanden war den Artikel zu schreiben. Also liegt die Vermutung nahe, dass es wichtig genug fuer den Einen oder Anderen ist um es spaeter mal zu lesen. Ich selbst habe schon oefters solche geloschten Artikel aus dem Google Cache heraussuchen muessen weil irgendein Volltrottel gemeint hat sich anmassen zu muessen zu beurteilen welche Themen fuer mich wichtig waeren und eine Loeschung des entsprechenden Artikels beantragt hat. ![]() Solange das die gaenige Praxis bei Wikipedia bleibt werde ich nicht spenden. Dies soll aber kein Aufruf an die Wikipedia Benutzer sein ebenfalls nicht zu spenden. Es soll ein Aufruf an die Verantwortlichen bei Wikipedia sein hier mit Verbesserungen anzusetzen. Thursday, October 23. 2008Namensaenderrung
Seit 10 Jahren nehme ich es mir vor, heute habe ich es durchgezogen: Jetzt ist "Clifford" mein ganz offizieller Vorname. Den neuen Staatsbuergerschaftsnachweis hab ich schon. Neuer Pass, Fuehrerschein, Geburtsurkunde, und was man sonst noch so braucht wenn man einen Namen hat folgt in den naechsten Tagen und Wochen... Mein Dank gilt A. fuer die tolle Unterstuetzung.
Saturday, September 27. 2008
Wahlempfehlung fuer das Liberale Forum Posted by Clifford Wolf
in Politik at
12:44
Comments (0) Trackbacks (0) Wahlempfehlung fuer das Liberale Forum
Ich habe mich entschlossen den folgenden Blogeintrag in zwei Teile zu zerlegen. Der erste beschaeftigt sich mit meinen strategischen Gruenden LIF zu waehlen, der zweite mit meinen ideologischen.
Teil 1: Warum ich aus Strategie das LIF empfehle Ein Argument, das man haeufig im Zusammenhang mit dem LIF hoert, lautet: "Ich habe Angst meine Stimme verloren zu geben, wenn ich fuer das LIF stimme." Ich moechte dem Leser, der Leserin meine ueblichen Tiraden ueber die Unschoenheiten (aka systemimmanenten Fehler) der NRWO (Nationalratswahlordnung) ersparen und statt dessen erlaeutern, warum eine Stime fuer das LIF aus strategischer Sicht sinnvoll ist. Zunaechst: Seit der Nationalratswahl 1999 sollte strategisches Waehlen in Oesterreich ja eigentlich out sein. Kurz zur Erinnerung: Die OeVP ist in den Umfragen abgerutscht und Schuessel hatte angekuendigt in Opposition zu gehen, wenn er Dritter werde. Mit einer OeVP in der Opposition waere eine Regierung mit einer Mehrheit im Nationalrat nur mit Beteiligung der FPOe moeglich gewesen. Aus Angst vor einer FPOe Regierungsbeteiligung sind viele WaehlerInnen zur OeVP gewandert. Die Schuessel-OeVP wurde dennoch Dritte - nur etwa 500 Stimmen hinter der FPOe. Anstatt in Opposition zu gehen wurde Schuessel Kanzler und ging eine Koalition mit der FPOe ein. Nicht nur die Waehlerinnen und Waehler die damals OeVP waehlten um eine Regierungsbeteiligung der FPOe zu verhindern fuehlten sich betrogen. Wer damals in Wien gewohnt hat erinnert sich sicher noch an die "Donnerstagsdemos", die sich bis ins Jahr 2002 als allwoechentliches Jour-fixe fuer Protestkundgebungen gegen die OeVP-FPOe Regierung gehalten haben. Wer dennoch zu den "strategischen Waehlern" gehoert, dem moechte ich folgende Gedanken zum Nach- und Mitdenken anbieten: 1. Eine "grosse Koalition" wuerde kaum Bestand haben. Die selbst fuer zeitgeschichtliche Massstaebe noch sehr jungen Zerwuerfnisse zwischen der OeVP und der SPOe (die in den Geschehnissen der beiden Regierungen unter Schuessel ihre Wurzeln haben) sind zu gross. 2. Eine "kleine Koalition" mit Beteiligung der Gruenen ist schon rein rechnerisch nur moeglich wenn auch FPOe und/oder BZOe an der Koalition beteiligt waeren. Fuer eine rein Rot/Gruene Kalition fehlen auf jeden Fall ein paar Prozent. 3. Erst zusammen mit dem LIF ist eine Koalition ohne Beteiligung von FPOe/BZOe moeglich. Das geht aber nur wenn das LIF ueber die 4 Prozent kommt. Ergo: Eine Stimme fuer das LIF ist unter keinen Umstaenden eine verlorene. Denn ohne das LIF im Nationalrat wird es auf jeden Fall entweder eine schnell scheiternde "grosse Koalition" oder eine "kleine Koalition" unter Beteiligung von FPOe und/oder OeVP geben. Teil 2: Warum ich aus Ideologie das LIF empfehle Zunaechst ist es mir wichtig festzuhalten, dass meiner Meinung nach das LIF, und vor allem die Person Heide Schmidt, glaubwuerdig und integer sind. Es ist schlimm, dass man so etwas heutzutage explizit festhalten muss. Eigentlich sollten Politiker und Politikerinnen grundsaetzlich das sagen, was sie tatsaechlich denken, und damit glaubwuerdig sein. Viele sagen aber einfach das, was das Publikum ihrer Einschaetzung nach gerade hoeren moechte. Wenn die wahren Absichten und Meinungen der zur Wahl stehenden Personen aber im Dunkeln bleiben, wie soll man dann als Waehler eine Wahlentscheidung treffen koennen? Das LIF ist in den letzten 15 Jahren einer konsequenten Linie treu geblieben. In den wenigen Punkten in denen es Aenderungen gab ist man zu den Fehlern gestanden und hat offen zugegeben etwas Neues gelernt zu haben. Genau so soll es sein. Beim LIF gibt es keine Wahlzuckerl. Es gibt ein Programm das unabhaenig von der gerade bevorstehenden Wahl ist. Das Programm wiederum ist abgeleitet aus der Liberalen Charta, ein Text der gut auf eine A4 Seite passt und eine klare Linie vorgibt, an der sich das Liberale Programm orientiert. Auszug aus der Liberalen Charta: Eine der groessten Bedrohungen fuer die persoenliche Freiheit ist die Angst vor Armut. Erst wer frei von dieser Angst leben kann ist wirklich in der Lage seinen oder ihren persoenlichen Weg zu suchen und zu finden. Daher ist einer der wichtigsten Programmpunkte des Liberalen Forums die bedingungslose Grundsicherung. Kaum jemand will allein von 750 EUR leben muessen, aber als Sicherheitsnetz, das immer und auf jeden Fall da ist, das keine Maschen hat durch die man hindurchfallen koennte, ist der Betrag ausreichend. Mit 750 EUR im Monat landet man nicht auf der Strasse. Es ist in jedem Fall ausreichend um wieder von vorne anfangen zu koennen. Die Umsetzung als negative Einkommenssteuer - wie das Modell des Liberalen Forums es vorsieht - ist kein Detail am Rande: Kein eigenes Amt wo man hingehen muss um eine Grundsicherung zu beantragen, keine Sonderstellung fuer die Bezieherinnen und Bezieher der Grundsicherung. Niemand soll sich schaemen muessen wenn er oder sie die Grundsicherung tatsaechlich ausbezahlt bekommt. Das Auszahlen der Grundsicherung soll und muss genauso selbstverstaendlich ablaufen wie das Bezahlen der Einkommenssteuer. Niedrige Einkommen werden gestuetzt und hohe belastet. Im Extremfall von keinem eigenem Einkommen bleiben am Monatsende 750 EUR. Dieser Extremfall bekommt aber keinen Sonderstatus. Durch die fliessenden Uebergaenge braucht sich auch niemand mehr Gedanken zu machen ueber eine Geringfuegigkeitsgrenze zu kommen und seine oder ihre Anspruche auf Sozialleistungen zu verlieren. Die bedingungslose Grundsicherung war schon vor ueber zehn Jahren ein Programmpunkt des LIF. Damals wurde das LIF fuer das Konzept belaechelt. Heute ist das LIF nicht mehr die einzige wahlwerbende Partei, die eine Grundsicherung im Programm hat. Wenn man sich einige der Entwuerfe aus den anderen politischen Lagern naeher ansieht, kommt man jedoch leider zu dem Schluss: Die haben das Prinzip nicht verstanden. Da finden sich dann Oximorone wie "bedarfsorientierte Grundsicherung". Das kommt halt raus, wenn sich eine Partei erst drei Wochen vor der Wahl mit einem Thema auseinanderzusetzen beginnt. Das wichtigste an der bedingungslosen Grundsicherrung ist, dass sie nicht "bedarfsorientiert" ist. Dass es niemandem zusteht den Bedarf in Frage zu stellen. Ob jemand die Auszeit braucht um zu studieren, um alle Babylon 5 Episoden ins Klingonische zu uebersetzten oder einfach nur um einen neuen Job zu suchen geht niemanden etwas an. Wird es Leute geben die gar nicht mehr arbeiten wenn es erst mal eine Grundsicherung gibt? Wahrscheinlich. Aber es werden nicht viele sein, denn 750 EUR ist den wenigsten genug. Wirklich wichtig sind ganz andere Fragen, die man leider viel seltener hoert: Wird es uns allen besser gehen mit einer bedingungslosen Grundsicherung? Werden wir eher den Mut zu Veraenderungen finden, wenn wir uns in eine andere Richtung als bisher weiterentwicklen wollen? Werden wir frei von der Angst vor Armut leben koennen? Die Antwort ist so einfach wie die Fragen wichtig sind: Ja. So koennte ich wahrscheinlich noch eine ganze Weile ueber die Grundsicherung weiterschreiben. Ich persoenlich halte die Einfuehrung einer Grundsicherung fuer das wichtigste politische Projekt der Gegenwart. Und das LIF hat als einzige Partei Oesterreichs dieses Konzept bereits vor ueber 10 Jahren aufgegriffen. Hier macht man sich Gedanken ueber die Zukunf unserer Gesellschaft. Diese Art von Weitblick braucht Oesterreich und braucht Europa. Natuerlich ist das LIF keine reine Grundsicherungs-Partei. Andere ganz wichtige Themen sind zum Beispiel Gleichberechtigung, Grundrechte und der Kampf gegen den Ueberwachungsstaat, eine Steuerreform, die vor allem den Vermoegenszuwachs (=Kapitalertrag) besteuert (abgesehen von der Einfuehrung einer umlaufgesicherten Waehrung meiner Meinung nach der einzig richtige Weg zur Bekaempfung der Zinsspirale und Inflationsfalle) und untere sowie mittlere Einkommen entlastet sowie Ein-Personen-Unternehmen beguenstigt und vieles mehr. Aber ich will hier ja nur einen Blog-Eintrag und kein Buch ueber das LIF schreiben. Was alle diese Konzepte gemeinsam haben ist, dass sie mit Vernunft, Weitblick und Fokus auf den liberalen Grundsaetzen aufgestellt wurden. Die Politik der Wahlzuckerl und unbedacht aus der Huefte geschossenen Wahlkampfversprechen ueberlaesst das LIF den anderen wahlwerbenden Parteien. Liberales Programm: http://www.liberale.at/content/site/programm/index.html Wednesday, September 17. 2008
ffmpeg: video via dv1394 und audio ... Posted by Clifford Wolf
in Technical at
15:10
Comments (3) Trackbacks (0) ffmpeg: video via dv1394 und audio via OSS
Schoen langsam verstehe ich, wie das bei ffmpeg so rennt: Alle Infos die man zum benutzen so braucht findet man eh im Sourcecode, und wenn es dann auch noch wie angepriessen funktionieren soll dann muss man halt ein bischen patchen. Also ich persoenlich mag so etwas ja sehr gerne: bis auf die Sache mit der Schokolade ein Programm wie ein Ueberraschungsei. Nur ob alle Anwender so denken?
Wie dem auch sei: Mit dem oben verlinkten Patch tut ffmpeg endlich so wie ich mir das von Anfang an erwartet habe. ffmpeg -f dv -i /dev/dv1394/0 -f oss -i /dev/sound/dsp -vb 1000000 -y -map 0.0 -map 1.0 demo.avi |
Calendar
QuicksearchArchivesCategoriesSyndicate This BlogBlog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||
