You are currently browsing the category archive for the ‘Computer’ category.

More truths than you ever need.

Advertisements

Yesterday, I looked through the examples of Raphaël and found the following line of code in an animation demo:

+!!(this.cx - 100)

I was baffled by the sheer amount of operators in front of the brackets. What do they actually do? So I switched to WriteCodeOnline and typed in some examples. The following table presents the results:

value ! !! +!!
undefined true false 0
null true false 0
0 true false 0
number != 0 false true 1

So, the sole purpose of +!! is to get a 0 or 1 from whatever value is passed to it.

If your plug-in runs flawlessly in your development environment (e.g., Eclipse PDE) but not in your production environment, you might suffer from a ClassDefNotFoundError.

The Problem:

First of all, you may consult the Eclipse Error Log in your production environment to confirm that there is actually a ClassDefNotFoundError thrown. Then, have a look into the JAR created by the Export Wizard: you won’t find the classes expected by your plug-in because the Export Wizard seems to miss some class files.

The Solution:

If you found that the Export Wizard is not exporting all class files but your plug-in works well in you development environment select the option Use class files compiled in the workspace (Options tab) in the Export Wizard.

Good luck!

After having seen the following video…

…I just guess the following is just business as usual:

From http://ebb.org/bkuhn/

As you know, recently, I started hacking on Eclipse. This time I needed to follow modifications made by a refactoring. Therefore, Eclipse introduced Refactoring Participants. After a while, I figured out how to participate in a Rename Refactoring (for fields and variables):

<extension
point="org.eclipse.ltk.core.refactoring.renameParticipants">
<renameParticipant id="a.b.c.MyParticipant" name="GraphSemanticsRenameParticipant">
<enablement>
    <with variable="affectedNatures">
        <iterate operator="or">
            <equals value="org.eclipse.jdt.core.javanature"></equals>
        </iterate>
    </with>
    <with variable="element">
        <or>
            <instanceof value="org.eclipse.jdt.core.IField"></instanceof>
            <instanceof value="org.eclipse.jdt.core.ILocalVariable"></instanceof>
        </or>
    </with>
</enablement>
</renameParticipant>
</extension>

I thought it would be as easy as this to hook into other refactorings but all the other Participators
(Copy, Create, Delete, Move in org.eclipse.ltk.core.refactoring.participants) never fired an event when I triggered other refactorings. After further investigations, I found a bug report telling me that there are still Refactoring Particaptors left to implement. At least I found a Participator for hooking into the Change Method Signature Refactoring:

<extension point="org.eclipse.jdt.core.manipulation.changeMethodSignatureParticipants">
<changeMethodSignatureParticipant
            id="a.b.c.MyChangeMethodSignatureParticipant"
            name="GraphSemanticsChangeMethodSignatureParticipant">
<enablement>
    <with variable="affectedNatures">
        <iterate operator="or">
            <equals value="org.eclipse.jdt.core.javanature"></equals>
        </iterate>
    </with>
    <with variable="element">
        <or>
            <instanceof value="org.eclipse.jdt.core.IMethod"></instanceof>
        </or>
    </with>
</enablement>
</changeMethodSignatureParticipant>
</extension>

Happy hacking! 🙂

Following this post, I had a hard time to figure out how to add a custom icon to my custom marker. But finally… . The only difference is that I removed the markerSeverity attribute from the annotationTypes extension point.

This “correction” may only be valid for Eclipse 3.7.1 (Indigo). Try it yourself and if you have any corrections just leave a comment. 🙂

<extension
 id="MyMarker"
 point="org.eclipse.core.resources.markers"
 name="MyMarker">
 <super type="org.eclipse.core.resources.textmarker" />
 <persistent value="false" />
</extension>

<extension point="org.eclipse.ui.editors.annotationTypes">
 <type
 super="org.eclipse.ui.workbench.texteditor.warning"
 markerType="a.b.c.MyMarker"
 name="a.b.c.MyMarkerAnnotation"/>
</extension>

<extension point="org.eclipse.ui.editors.markerAnnotationSpecification">
 <specification
 annotationType="a.b.c.MyMarkerAnnotation"
 icon="icons/myMarkerIcon.png" />
</extension>

Good luck!

Today, the company’s IT and I wanted to install .Net 3.5 on a workstation. Wondering why it takes so long, I started my favorite search engine and looked for a solution. And after a few clicks, I finally found it…. the network connection. On the company’s network there is a great number of network shares available. Before installation, the .Net installer wants to see all the files in that folders. Because there are a lot of folders with even more files on the network, the better idea was to take of the network cable until the installer finished looking for files on the network shares.

I hope this helps…

Ach, meinen Sie den grünlich-weißen?

Ja, ganz genau. Ich  musste fast kotzen!

Hier das Geld zurück. Nur nicht motzen.

(Frei nach Helge Schneider)

Der Kefir heute Morgen war wirklich schlecht (oder mein Magen darauf einfach am frühen Morgen nicht vorbereitet), zumindest habe ich heute der Toilette “gesagt”, wie ich sie finde. Das war besonders interessant, weil man auf dem Weg zur Toilette natürlich auf seine Studenten treffen muss, die ich natürlich mit einem Lächeln begrüßen will, auch wenn man dabei Gefahr läuft dabei gleich auf Flur (und möglicherweise auch auf die Studenten)… na ja, die geschätzte Leserin und der geschätzte Leser, werden sich das mögliche Desaster ausmalen können.

Wie “nah” ich im Übrigen dem Protest am Sonntag war oder bin, wurde mir heute bewusst, als sich ein Student für sein Fehlen bei der letzten Vorlesung entschuldigte. Freunde von ihm und deren Verwandte wurden am Sonntag verhaftet. Von einem Vater fehlt jede Spur. Ich würde das ja als Behinderung meiner Lehrtätigkeit bezeichnen (immerhin wurde mein Student davon abgehalten meine Vorlesung zu besuchen), aber ich befürchte der Flachzange dem Spinner dieser europäischen Absurdität dem demokratisch gewählten Präsidenten würde das wenig interessieren.

Natürlich war nicht alles Spaß in der letzten Vorlesung. Meinen Studenten habe ich Möglichkeiten gezeigt Daten zu Verschlüsseln, miteinander verschlüsselt zu kommunizieren und sich anonym im Internet zu bewegen.  Am Ende habe ich einen Satz gesagt, der mir so in Deutschland wohl nicht eingefallen wäre: “Niemand sollte Angst haben müssen, sich die Informationen zu beschaffen, die er/sie braucht.”

Traurig…

Vorhin, als ich den Artikel über die “dolle” Musik an den Wahlurnen schrieb, hatte ich meine liebe Not, überhaupt  auf meinen Blog zu kommen. Ich konnte den Blog zwar laden, mich aber nicht einloggen.

Ich (und auch andere) erkannte dann bald, dass es sich um ein Problem mit der SSL-Verbindung handeln muss, da sonst alles funktionierte.

Aber für solche Anlässe gibt es ja TOR, das mir den ungehinderten Zugang zu meinem Blog ermöglicht. Tja, auch Zensur will gelernt sein, und wie heißt es so schön: Der beste Schutz vor der Zensur, ist die Dummheit der Zensoren. (Unbekannt) Am besten ist, die versuchen das Internet das nächste Mal gleich ganz abzuschalten, vielleicht klappt es dann auch mit der Zensur. Außerdem wäre das weniger heuchlerisch, jeder weiß doch, mit was für einem Staat wir es hier in Weißrussland zu tun haben.

Während sich also das alte neue Staatsoberhaupt feiern lässt, surfe ich durch’s Netz und erkläre nebenbei meinem weißrussischen Freund, wie er ebenfalls ohne Störungen an die Informationen kommt, die er benötigt. 😎

Nebenbei werden schon die ersten Oppositionskandidaten verprügelt (Bild im Laufe des Textes). Für diese akkurat demokratisch durchgeführte Wahl, gibt es dann wohl kein Geld von der EU.

Update: Es sei an dieser Stelle noch auf einen anderen Artikel verwiesen, der das zukünftige Staatsoberhaupt Weißrusslands zeigt. Derweil haben sich wohl 20.000 Menschen versammelt, um gegen die Wahl zu demonstrieren.


Ich weiß nicht, warum ich meinen VPN-Client nicht schon früher gestartet und mich mit meiner Universität verbunden habe. Wahrscheinlich war es zu naheliegend.

Aber jetzt, da ich nicht mehr über den Proxy gehen muss, genieße ich eine wunderbar schnelle Internet-Verbindung in der Staatlichen Weißrussischen Universität. Selbst Livestreams laufen wunderbar flüssig.

Ganz hervorragend!

Vellocet Club

A blog not only about my time in Sweden and Мiнск but also about the things I am concerned about.

RSS Dinge, die man so liest…

  • An error has occurred; the feed is probably down. Try again later.
October 2017
M T W T F S S
« Aug    
 1
2345678
9101112131415
16171819202122
23242526272829
3031