261 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
REST & Security: Why HTTP GET is insecure (and the other methods too)
Thu, Feb 26th 2015 137
Rest & Security: More about the DominoStatelessTokenServlet
Wed, Feb 25th 2015 97
Rest & Security: A Stateless Token Servlet
Tue, Feb 10th 2015 10
IBM Bluemix: Creating Buildpacks
Thu, Feb 5th 2015 3
REST & Security: Same-Origin Policy / CORS
Mon, Feb 2nd 2015 11
Raspberry Pi vs. IBM Bluemix – 1:0
Wed, Jan 28th 2015 8
HowTo: Vaadin on Domino (4)
Mon, Jan 26th 2015 5
Top 10
REST & Security: Why HTTP GET is insecure (and the other methods too)
Thu, Feb 26th 2015 137
Rest & Security: More about the DominoStatelessTokenServlet
Wed, Feb 25th 2015 97
Security: Usefull HTTP Response Headers
Wed, Jan 14th 2015 11
REST & Security: Same-Origin Policy / CORS
Mon, Feb 2nd 2015 11
REST & Security: CSRF Attacks
Tue, Dec 30th 2014 10
HowTo: Vaadin on Domino (3)
Sun, Jan 25th 2015 10
Rest & Security: A Stateless Token Servlet
Tue, Feb 10th 2015 10
Raspberry Pi vs. IBM Bluemix – 1:0
Wed, Jan 28th 2015 8
Hardening SSH vs. Eclipse RSE
Tue, Jan 13th 2015 5
HowTo: Vaadin on Domino (2)
Sat, Jan 24th 2015 5


Sven Hasselbach
Blog Title blog@hasselba.ch
Blog URL http://blog.hasselba.ch
RSS Feed http://hasselba.ch/blog/?feed=rss2
Validate Feed feedvalidator.org or validator.w3.org
Feed Last Checked Feb 26, 2015 5:30:12 AM EST. Realtime Update:
Location Wiesbaden, Hessen, Germany


Recent Blog Posts
137
REST & Security: Why HTTP GET is insecure (and the other methods too)
Thu, Feb 26th 2015 5:22a   Sven Hasselbach
Yesterday René commented that submitting username and password with HTTP GET is insecure, because they are submitted in clear text over the wire as part of the URI. At the first moment, I did not give some thought about it, because it is known fact that data added to an URI are less secure. They are added to the browser history, are logged in the requests on servers, and every proxy between the user’s browser and the requested server are seeing (and maybe logging) these URI’s
97
Rest & Security: More about the DominoStatelessTokenServlet
Wed, Feb 25th 2015 6:01a   Sven Hasselbach
During the last days I have refined the DominoStatelessTokenServlet a little bit. It is now a pre-beta release, and I think it is time to explain some details about it. While it is still a proof-of-concept, it demonstrates how a stateless authentication can easily be implemented. A lot of testing is still required until it is ready for production use, but I think it provides really cool things for the domino environment. First, it fixes the problematic 200er HTTP response code when an authentica
10
Rest & Security: A Stateless Token Servlet
Tue, Feb 10th 2015 8:25a   Sven Hasselbach
I have uploaded some of my projects to GitHub, including an alpha version of a stateless token servlet. The servlet has it’s own authentication mechanism (the password is currently not validated), and for developing purposes it uses HTTP GET. In a future release, the token will be transfered as a HTTP header. Additionally, the HTTP method will be changed to POST. Last but not least must the code be optimized. For example there is no recycling implemented at this moment, and there is a dubi
3
IBM Bluemix: Creating Buildpacks
Thu, Feb 5th 2015 10:11a   Sven Hasselbach
When creating your own build pack for IBM Bluemix applications (or other Cloud Foundry based solutions), it is required to set the correct file mode for the executables before initially pushing them to GitHub. Otherwise the compilation will fail, and it seems to be a known bug for GitHub based repositories that the mode cannot be changed later. The command for this is git update-index --chmod=+x You can see the result when you commit the files to your respository: > git commit -m "first com
11
REST & Security: Same-Origin Policy / CORS
Mon, Feb 2nd 2015 9:07a   Sven Hasselbach
The “Same-orginin policy“ is an important concept for protecting web applications. In short, only resources from the same domain are allowed, everything else is permitted. To allow access other domains in your application, you have to enable “CORS“, a tutorial how to enable this on a Domino server was written by Mark Barton a while ago. It works fine for protecting an applications against DOM manipulations and/or injection of malicous script code, but this client side sec
8
Raspberry Pi vs. IBM Bluemix – 1:0
Wed, Jan 28th 2015 1:50p   Sven Hasselbach
I had some time last night (the whole family had gone to bed early), so I spent some to look at the XPages integration into Bluemix. I found the Greenwell Travel Expenses Demo: But after clicking a link, the page returned an error: Hmm…But I wanted to see the application! That’s why I checked, if the datasources are protected. I recommend this for years. Fredrik Norling wrote a little snippet for this. Or better use the “ignoreRequestParam“. Then all your problems are g
5
HowTo: Vaadin on Domino (4)
Mon, Jan 26th 2015 7:50p   Sven Hasselbach
Now, let’s access some Domino resources. I have created a database named “VaadinResources.nsf“, containing a normal image resource, and an image added via package explorer to the “WEB-INF” folder: Vaadin provides stream resources, which allows creating of dynamic resources. These resources handle “InputStream” objects, which we can grab from Domino via Java NAPI. To do this, it is first required to add some plug-ins to the dependencies of the “He
10
HowTo: Vaadin on Domino (3)
Sun, Jan 25th 2015 1:16p   Sven Hasselbach
Let’s create another application, based on Vaadin’s AddressBook example. You can download the source code directly or grab the code from the repository; it is a single class file named “AddressbookUI” only. After importing (or manually creating) the class in the HelloVaadin plug-in, the servlet configuration in “web.xml” must be updated:   Addressbook             Vaadin production mode         productionMode         false
5
HowTo: Vaadin on Domino (2)
Sat, Jan 24th 2015 1:07p   Sven Hasselbach
When running your own servlet, you eventually want to access the Domino environment. To do this, some changes has to be made to the HelloVaadin plug-in. 1. Open the “MANFIFEST.MF” and open the “Dependencies” tab 2. Add the plug-in “com.ibm.osgi.domino.core” to the list of required plug-ins Save the “MANIFEST.MF” 3. Now we can use “com.ibm.domino.osgi.core.context.ContextInfo” to access the Domino environment in HelloVaadinUI package
3
HowTo: Vaadin on Domino
Sat, Jan 24th 2015 6:42a   Sven Hasselbach
This example requires a valid XPages Plugin Development Environment. The execution environment used is the XPages Domino JRE. 1. Create a new plug-in project and select “Equinox” as OSGi framework 2. Set the name of the acivator class to “ch.hasselba.vaadin.Activator” 3. Open the MANIFEST.MF file 4. On Tab “Overview“, activate the option for lazy loading and the singleton property 5. Go to “Dependencies” tab and add the required plugin “c
1
Der Letzte macht das Licht aus!
Tue, Jan 20th 2015 1:28p   Sven Hasselbach
Es ist schon faszinierend, wenn mans sich den Wandel in der Lotus Notes Welt näher vor Augen führt: Wäre man für das Einreichen von Themen ausserhalb der Domino-Welt vor ein paar Jahren noch geteert und gefedert worden, stehen dieses Jahr auf der Agenda vom Entwicklercamp 2015  nicht nur vereinzelte Session, die sich mit Migration befassen, sondern es widmet sich dem Thema praktisch gleich ein ganzer Track. Zwischenzeitlich (2013/2014) haben sich einige führende Technologie-Köpfe der
11
Security: Usefull HTTP Response Headers
Wed, Jan 14th 2015 9:04a   Sven Hasselbach
Here is a list of usefull HTTP headers for responses you should know about: X-Content-Type-Options When set to “nosniff“, this header will prevent browsers from MIME-sniffing a response away from the declared content-type. While this header is more relevant for “normal” web applications (it protects against some types of drive-by-downloads), it does not hurt to add it to your REST service, if See http://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-
5
Hardening SSH vs. Eclipse RSE
Tue, Jan 13th 2015 10:06a   Sven Hasselbach
After hardening the SSH configuration on a Debian server by removing unsecure ciphers and MACs I got in trouble with Eclipse Remote System Explorer. When trying to open the server, I always got an “Algorithm negotiation fail” message: Even installing the missing Unlimited Strength version of Java Crypto Extension which allows key sizes larger then 128 bit doesn’t helped me out. The problem was the allowed KexAlgorithms and the list of MACs in the configuration: Ciphers aes256-
4
Yii: GridView’s selectionChanged not working on iOS
Tue, Jan 13th 2015 3:45a   Sven Hasselbach
I had a strange issue with TbGridView‘s (YiiStrap‘s version of CGridView) selectionChanged event: In all browsers, the defined function was executed when a row was selected, but not on devices with iOS 7 & 8. While trying to hack around the issue, I found a simple solution by adding 'htmlOptions' => array( 'onclick' => '' ) to the declaration of the grid. This little hack kills the inherited event handler from the body element by adding an empty onclick event to the g
10
REST & Security: CSRF Attacks
Tue, Dec 30th 2014 6:58a   Sven Hasselbach
In this post I will demonstrate how a do a CSRF attack against a XPages REST service. Let’s assume that we have a custom REST service on a XPage. To keep the example as simple as possible, this service returns the posted data back to the requesting browser only, nothing more and nothing less:                                                            On my web server, I have created a simple HTML page with a form:               
3
REST & Security
Tue, Dec 23rd 2014 7:33a   Sven Hasselbach
I am currently wearing my white hat and doing some pen and vulnerabilty tests for a RESTful API. While this is actually a hot topic in the Domino world, here are some resources CSFR & REST: Stateless CSRF Protection Stateless Session IDs: REST and Stateless Session IDs REST Security Cheat Sheet:
2
Domino-Migration: Der frühe Vogel fängt den Wurm
Tue, Dec 16th 2014 6:47p   Sven Hasselbach
Wenn die Entscheidung erst einmal gefallen ist, dass mittel- oder langfristig die Domino-Infrastruktur aus dem Unternehmen verschwinden wird, lässt die Investitionsbereitschaft der einzelnen Fachabteilungen in Domino-basierte Applikationen verständlicher Weise spürbar nach. Aber auch aufkommende Gerüchte oder durchgeführte Studien (auch wenn diese zu einem gegenteiligen Ergebnis kommen) können den Willen der IT- oder Geschäftsleitung nach einem Systemwechsel zu entsprechender Aussage verh
1
Amazon Instant Prime: Es nervt
Tue, Dec 16th 2014 4:15a   Sven Hasselbach
Jeden Sonntag das gleiche Spiel: Ab 20.00 Uhr bricht das Streaming regelmäßig zusammen. Trotz sehr guter Internetverbindung (hier ein Screenshot vom Smartphone, per WLAN in einer “miesen” Ecke in meinem Haus): Einer der größten Cloud-Anbieter der Welt bekommt es einfach nicht gebacken, hoch zu skalieren. Es gab Zeiten, da hatte ich diese Problem nicht: Anklicken, runter laden, in Ruhe anschauen. In bester Qualität, kurz nach Kinostart. Seit ich für diese Leistung bezahle, fun
2
XPages: Auf’s falsche Pferd gesetzt
Thu, Dec 11th 2014 3:39p   Sven Hasselbach
Gerade eben ist mir klar geworden, dass das letzte XPages-Projekt (eine Mini-Entwicklung) schon ein halbes Jahr zurück liegt. Und wenn ich mir das Gesamtvolumen in 2014 mit knapp 30 Tagen Entwicklungsleistung für diese Technologie anschaue, muss ich mir wohl eingestehen, auf das falsche Pferd gesetzt zu haben. In anderen Regionen Deutschlands scheint die Situation etwas anders zu sein, doch als Freiberufler kann man sich seinen Markt leider nicht aussuchen. Schade eigentlich. Wenn ich allerd
2
Migration der Domino-Infrastruktur
Fri, Dec 5th 2014 5:51a   Sven Hasselbach
In den nächsten Wochen werde ich mich intensiv mit der Migration bestehender Domino Infrastrukturen und den vorhandenen Applikationen befassen. Mich interessieren die unterschiedlichen Wege und die möglichen Fallstricke, die es zu beachten gilt, und da ich im letzten Jahrzehnt den einen oder anderen Einblick hatte, ist es an Zeit, ein Resume zu ziehen und die gesammelten Erfahrungen aufzubereiten. Wer jetzt allerdings erwartet, dass es dabei um die Aufzählung von negativen Erlebnissen geht, m
3
MongoDB for DBAs
Thu, Dec 4th 2014 10:00p   Sven Hasselbach
After receiving my confirmation for MMDS today, I also received the confirmation for successfully completing the “MongoDB for DBAs” course: Here is the link to verify the certificate.
2
Mining Massive Datasets
Thu, Dec 4th 2014 8:32p   Sven Hasselbach
I am very proud that I have successfully accomplished the MMDS course from Stanford University. It was unbelievable interesting to learn the theories and the mathematical basics of  topics like MapReduce, Web-link analysis, Data-streams, Locality-sensitive hashing, Computational advertising, Clustering, Recommender systems, Analysis of large graphs, Decision trees, Dimensionality reduction, Support-vector machines, and Frequent-itemset analysis. It was really hard for me to follow all the
2
XPages: WebContent Files (3) – Create a Minimizer Servlet
Thu, Nov 27th 2014 1:25a   Sven Hasselbach
Because of Stefano Fois comment I decided to write an example about how to create a minimizer servlet for Domino which cmpresses JavaScript resources on the fly. This is, again, a simple Proof-Of-Concept, nothing more and nothing less. First, I downloaded the YUICompressor, a Java based minimizer for JavaScript code from the project page. There are other compressors outside, I decided to use this one because it was the first result in my StartPage.com search. The project is a single jar file
1
XPages: WebContent Files (2) – Manipulate exitsting files using the Java NAPI
Wed, Nov 19th 2014 8:54a   Sven Hasselbach
In this article, I will shortly give an overview how you can edit existing file from the WebContent folder (Don’t miss the first article on this topic). First, let’s create a view to display the design elements of the WebContent folder. To do this, I have an old school LotusScript Agent which updates the selection formula of a view (Some details about this technique can be found here). Sub Initialize     Dim session As New NotesSession     Dim doc As NotesDocument     D
2
XPages: WebContent Files (1) – Create a file using the Java NAPI
Tue, Nov 18th 2014 8:44a   Sven Hasselbach
The great Marky Roden has written an interesting article about using the WebContent folder instead of standard domino design elements. To create or manipulate these files programmatically, you can use the Java NAPI. The first example demonstrates the creation of a file using a Java Agent. Before you can compile the code, you have to import the required jars as described here. import lotus.domino.AgentBase; import com.ibm.designer.domino.napi.NotesConstants; import com.ibm.designer.domino.nap
3
XPages: Running Google’s Chrome V8 Javascript Engine
Sun, Nov 9th 2014 6:38a   Sven Hasselbach
After answering a question on Stackoverflow.com about the Prototype problematic in the XPages SSJS engine, I thought of running another Javascript engine on top of Domino. While you can use the JavaScripting API JSR223, I choosed the jav8 project for a test how this can be realized. So I downloaded the Windows binaries to get the required DLL and imported it into a new database. I also imported the source files of the lu.fler.script package to recompile all required classes. Then, I registered t
2
GDL, Streik & der deutsche Michel (2)
Fri, Nov 7th 2014 12:11p   Sven Hasselbach
Da ja der eine oder andere zürnt, der Streik würde tagtäglich “immensen volkswirtschaftlichen Schäden anrichten”, sollte sich vielleicht doch besser mal den Schaum vom Mund abwischen und die Zahlen mal in die passenden Relationen bringen: Jeder Streiktag kostet geschätzte 50 bis 100 Millionen Euro, je nachdem, wer da so gefragt wird. Die Lokführer müssten also mindestens ein halbes Jahr am Stück streiken, um den gleichen Schaden anzurichten, die uns die letzte Krise der WestL
1
GDL, Streik & der deutsche Michel
Wed, Nov 5th 2014 3:19a   Sven Hasselbach
Wenn ich mir die Kommentare in den unterschiedlichsten Foren rund um das Thema “GDL & Streik” durchlese, frage ich mich ernsthaft, in was für einem Land ich eigentlich lebe: Man ist ja viel gewohnt von den “Berufstrollen“, die sich den ganzen Tag den Lebensfrust von der Seele schreiben. Und man findet natürlich auch die eher zur Erheiterung beitragenden Formulierungen, wie zum Beispiel den, dass man “wegen dem Sch…ß Ossi nicht zu den Feierlichkeiten des
1
Eine neue Zwiebelschicht
Thu, Oct 30th 2014 4:04a   Sven Hasselbach
Es sind manchmal die kleinen Dinge, die einen auf die großen Probleme aufmerksam machen: Eine kleine, zusätzliche Bitte im “Projekt-Anbahnungsgespräch” zum Beispiel. Nichts wildes – nur eine freiwillige Angabe, die aber – wenn sie denn Schulung macht – in meinen Augen für alle IT Freiberufler in Deutschland dramatische Auswirkungen haben wird. Was war geschehen? Am gestrigen Tag habe ich eine Projektanfrage erhalten, die ich – wie immer – gerne bean
0
Krautreporter sind online
Fri, Oct 24th 2014 5:16a   Sven Hasselbach
Das Warten hat ein Ende! Mit dem heutigen Tag ist das Krautreporter-Projekt endlich online gegangen. Ich bin gespannt, was sich aus diesem Versuch alles entwickelt. Es ist erfrischend, das man beim Besuch der Seite nur auf einen einzigen Tracker stößt, und nicht wie bei manchen anderen Online-Magazinen die Ghostery-Warnungen die halbe Seite blockiert.
1
MongoDB for Java Developers
Mon, Oct 6th 2014 12:31p   Sven Hasselbach
Today I have got the confirmation for successfully completing the “MongoDB for Java Developers” course:
2
XPages: Execute Events with HTTP Get
Tue, Sep 30th 2014 10:06a   Sven Hasselbach
To execute an event on the server, you normally have to send a POST request, because actions will be executed in the Invoke Application phase of the JSF lifecycle. A GET request will only process the Restore View and the Render Response phase, that why you can not execute an event with a GET request. But with the help of a PhaseListener, the execution can be done earlier in the Restore View phase: package ch.hasselba.xpages.util; import javax.faces.event.PhaseEvent; import javax.faces.event.
0
Apple: Ganz großes Kino!
Tue, Sep 9th 2014 1:19p   Sven Hasselbach
0
To Dump Or Not To Dump
Wed, Aug 13th 2014 1:05p   Sven Hasselbach
Die Firma GULP bietet ein neues “Feature”: Stundensätze der anderen Bewerber auf ein Projekt werden in 10-Euro Schritten gut sichtbar auf der Online-Bewerbungsseite angezeigt. Eine interessante Neuerung, denn letztlich fördert es den Wettbewerb, die Angebote der Anderen noch ein wenig zu unterbieten. Dumping at it’s best. Wenn ich mir allerdings den obigen Screenshot eines Projektes anschaue, sehe ich ein Angebot für 30€ oder weniger. Da frage ich mich schon, was diese
0
Identifying Back Doors, Attack Points, and Surveillance Mechanisms in iOS Devices
Mon, Jul 21st 2014 7:59a   Sven Hasselbach
Eine sehr interessante Präsentation von Jonathan Zdziarski: Overall, the otherwise great security of iOS has been compromised… by Apple… by design. Kommt mir irgendwie bekannt vor…
0
Ein bischen mehr Privatspähre
Mon, Jul 21st 2014 4:13a   Sven Hasselbach
Nach dem Post von Julian Buss habe ich seinen Hinweis auf die Suchmaschine startpage.com angenommen, und letze Woche die Umstellung vollzogen. Seit dem fehlt mir überraschenderweise nichts! Die Suchergebnisse stimmen, die Geschwindigkeit auch, und ich bemerke die Umstellung nur an dem anderen Seitenlayout. Anfangs war es etwas nervig, dass die Suchergebnisse allesamt per POST übertragen werden, und dadurch die Browser-Historie leidet, aber nachdem ich mal die Konfiguration angepasst hatte, lie
1
Ich, der Extremist (3)
Thu, Jul 17th 2014 6:00a   Sven Hasselbach
Node Nr. 2 ist jetzt auch am laufen. Die nächste Node wird eine Exit-Node, doch nach den Auswüchsen der letzten Zeit werde ich diese wohl 100% Anonym betreiben. (Es dauert übrigens immer ein paar Tage, bis die “Endgeschwindigkeit” erreicht wird. Erst muss die Node als “Stable” eingestuft werden.) Wenn jemand interesse verspürt, ebenfalls eine Node zu betreiben, kann sich gerne bei mir melden, ich helfe gerne bei den unterschiedlichen Szenarien. Node Nr. 2 läuft zum
0
Gauchogate
Wed, Jul 16th 2014 10:00a   Sven Hasselbach
Die Übersetzung des kleinen Liedchens findet sich hier: http://www.wm2014-in-brasilien.de/argentinien-invasion/7198/
0
Stürmerfoul
Tue, Jul 15th 2014 6:49a   Sven Hasselbach
Es ist für mich durchaus nachvollziehbar, dass die Niederlage im WM-Finale die Argentinier geschockt hat, und nun jede erdenkliche Fehlentscheidung des Schiedsrichters als Begründung für das Scheitern herhalten muss. Auch kann ich es gut verstehen, dass man sich als unterlegene Mannschaft betrogen fühlt um den verdienten Erfolg, der dem eigenen Team durch eine krasse Fehlentscheidungen verwehrt wurde, wie z.B. der nicht gegebene Elfmeter im Spiel Argentinien – Iran. Doch eines muss man
0
Brasilien
Sun, Jul 13th 2014 1:51a   Sven Hasselbach
Das war ja wohl nix: Mit 1:10 Tore in den letzten zwei Spielen und einer mehr als schlechten Vorstellung verabschiedet sich der WM Gastgeber vom Turnier. Und schon werden die ersten Stimmen laut, dass bei der WM 2018 in Russland alles besser werde. Ein Detail darf dabei nicht vergessen werden: Den Gastgeberbonus gibt diesmal nicht, und Brasilien muss durch die Qualifikation. 18 Spiele, in denen Mannschaften warten, die man nicht unterschätzen sollte. Es wird ein hartes Stück Arbeit, Tabula Ra
1
Leaving the Yellow Bubble
Thu, Jul 10th 2014 8:36a   Sven Hasselbach
A while ago I wrote an article about leaving leaving the Yellow Bubble. While I am still currently doing some IBM Notes Projects, there are more and more PHP Projects on my agenda (and some Java development too) . It takes some time to “transform” myself out of the IBM world, and this process won’t be finished in the next 12 monthes. During the last half year, I spent a lot of time to develop my personal project cyccle. While there was a lot of development work, most of the tim
0
Karma
Thu, Jul 10th 2014 1:33a   Sven Hasselbach
Die Niederlande verlieren gegen Argentinien im Elfmeterschießen. Durch zwei vergebene Elfmeter. Da hatte der Fußballgott wohl ein Einsehen.
0
Ich, der Extremist (2)
Wed, Jul 9th 2014 6:43a   Sven Hasselbach
Da es Dinge gibt, die mich maßlos ärgern, ist Node Nr. 1 wieder aktiv: Die anderen Nodes werde ich auch wieder in Betrieb nehmen.
0
TOR Projekt wegen Beihilfe verklagt
Wed, Jul 9th 2014 5:44a   Sven Hasselbach
In Texas wurde das TOR Projekt wegen Beihilfe verklagt. In der Klage wird dem TOR Projekt vorgeworfen, “privates” und “anonymes” Hosting zu betreiben, und damit zu werben, Kriminellen einen Unterschlupf zu bieten. Dadurch würde der Zugang zu einer dubiosen Pornoseite, die über das Onion-Netz bereit gestellt wird, ermöglicht. Hier die ganze Klageschrift Im Detail geht es darum, dass durch den Zugang mittels tor2web.org die Webseite auch außerhalb des Onion-Netztes er
0
Ich, der Extremist
Thu, Jul 3rd 2014 3:54p   Sven Hasselbach
Wie heute in den Medien zu lesen war, sind TOR Nutzer durch die NSA automatisch in einer Datenbank gelandet und als Extremisten “markiert” worden. Und Betreiber von TOR Nodes scheinen noch intensiver durchleuchtet und gezielt ausspioniert worden zu sein. Da ich selbst über Jahre hinweg einen größeren TOR Knoten in Betrieb hatte, kann ich mir also sicher sein, ebenfalls zu dem Personenkreis zu gehören, der eine höhere Aufmerksamkeit durch die US Amerikaner erfahren hat. Womit me
0
Österreich: Betrieb von TOR Nodes illegal
Wed, Jul 2nd 2014 5:57a   Sven Hasselbach
Am 30.06. wurde durch ein Präzedenzfall der Betrieb von TOR Nodes in Österreich praktisch für illegal erklärt: https://network23.org/blackoutaustria/2014/07/01/to-whom-it-my-concern/ Als Begründung für das Urteil diene §12 des StGB, so der Beklagte: Nicht nur der unmittelbare Täter begeht die strafbare Handlung, sondern auch jeder, der einen anderen dazu bestimmt, sie auszuführen, oder der sonst zu ihrer Ausführung beiträgt. Weder Staatsanwaltschaft noch der Beklagte werden das Urte
1
Yii Framework: Security Fix for Version 1.1.14
Tue, Jul 1st 2014 7:05a   Sven Hasselbach
A security fix for the Yii framework was released on 29th June: http://www.yiiframework.com/news/78/yii-1-1-15-is-released-security-fix/ The issue only affects the CDetailView component of Version 1.1.14, and can be upgraded safely without breaking existing code.
0
Klinsmann
Mon, Jun 23rd 2014 3:53p   Sven Hasselbach
Wann immer ich Klinsmann im Fernsehen sehe, was aus gegebenem Anlass zur Zeit häufiger vorkommt, muss ich zwangsläufig an seinen Auftritt damals bei Günther Jauch denken, im Debüt der neuen ARD Talkshow am 11. September 2011. Denn dort erklärte er uns “den Amerikaner” und wie der so tickt: Das der zwar immer nach vorne schaue, und nicht nach hinten, doch in ständiger Angst lebe, seinen Job zu verlieren. Und keine Zeit hätte, sich mit Politik und Nachrichten tiefer zu bes
0
Verbrannte Erde
Sat, Jun 21st 2014 1:09p   Sven Hasselbach
Zwar hatte die NATO in dem von Ihrem Generalsekretär Anders Fogh Rasmussen selbst ausgearbeiten neuen Strategischem Konzept im Jahr 2010 beschlossen, die Zusammenarbeit mit Russland zu verbessern, doch mittlerweile scheint das etwas in Vergessenheit geraten zu sein. Denn die NATO warnt: Der Kreml verbreite nicht nur mit bezahlten Schreiberlingen Pro-Russische Propaganda in den sozialen Netzwerken, er unterwandere sogar die Fracking-Gegner, um die Abhängigkeit der EU von russischem Gas zu erha
0
Zum Fremdschämen
Fri, Jun 20th 2014 2:56a   Sven Hasselbach
In Wiesbaden kennt man Oliver D. und seine “Werke”, denn seit Jahren werden sämtliche freie Flächen wie Plakatwände, Liftfaßsäulen, Sicherungskästen und wo-halt-grade-Platz-ist von ihm mit Bibelsprüchen vollgeschmiert. Meist in schwarz, doch er hat auch immer passende Stifte in anderen Farben dabei. Auch für strukturierte Untergründe. Unter seinen Zitaten finden sich zahlreiche alttestamentarische Sprüche, gerne frauenfeindlich oder antisemitisch, was die Kirche gar nicht l
0
Thema verfehlt. Setzen, Sechs!
Mon, Jun 16th 2014 2:49a   Sven Hasselbach
Der Philosoph Jörg Friedrich hat auf Heise “Stellung genommen” zu dem erfolgreichen Crowd-Funding der Krautreporter, doch leider hat er in seinem Kommentar irgendwie das Thema verfehlt: Keineswegs geht es um die Zeitung im Allgemeinen, und hätte er die Seite der Krautreporter etwas näher studiert, dann wäre ihm das wohl aufgefallen. Bevor er sich in seiner Abhandlung über die “Zeitung der Zukunft” vollkommen verliert, bemängelt er die fehlende Innovation des Projekt
0
Krautreporter: Finanzierungsziel erreicht!
Fri, Jun 13th 2014 8:09a   Sven Hasselbach
Die Krautreporter haben es geschafft! Heute morgen fehlten noch über 1.500 Unterstützer, und ich hatte schon alle Hoffnung aufgegeben. Doch mittlerweile ist die 15.000er Marke geknackt. Und das acht Stunden vor Ablauf, an einem Freitag den 13ten. Ich hatte schon Angst, dass der Journalismus nun endgültig am Boden liegt, denn nachdem neben dem WM-Start das gestrige Thema des Tages Claus Klebers Twittererfolg war, ahnte ich nichts Gutes. Doch nun ist es, allen Unkenrufen zum Trotz, doch noc
1
Die Spannung steigt!
Thu, Jun 12th 2014 3:18a   Sven Hasselbach
Nach langer Pause geht es endlich wieder los! Pünktlich zur WM werden wieder Gesetzesvorschläge eingebracht, die – während der deutsche Michel abgelenkt das Deutschlandfähnchen schwingt – in einer Geschwindigkeit verabschiedet werden, das einem beim Zusschauen schwindelig werden kann. Es ist schon erstaunlich, zu welchen Höchsteistungen die Regierungsparteien im Stande sind, wenn es keiner mitbekommen soll. Doch die Messlatte für neue Rekorde ist dieses Jahr recht hoch: Das Aus
0
Die NSA: Too big to comply
Wed, Jun 11th 2014 2:55a   Sven Hasselbach
Die Banken kamen mit dem “Too big too fail” durch, jetzt versucht es die NSA mit “Too big to comply“. Am Freitag erklärte die NSA dem Gericht: [A]ttempts to fully comply with the Court’s June 5 Order would be a massive and uncertain endeavor because the NSA may have to shut down all databases and systems that contain Section 702 information in an effort to comply. Tja, dann kann man da wohl nichts machen…
0
Swift vs. Objective-C: Benchmarks
Tue, Jun 10th 2014 10:38a   Sven Hasselbach
Here are some benchmarks comparing Swift and Objective-C: http://www.splasmata.com/?p=2798. These are just simple operations, no complex algorithms. But this unsettles me a little bit. Maybe I should wait a while before I begin to learn Swift.
0
Ab 13. Juni: Die neue EU-Verbraucherrechterichtlinie
Tue, Jun 10th 2014 3:29a   Sven Hasselbach
Onlineshopper und Shopbetreiber augepasst! Ab 13. Juni tritt die EU-Verbraucherrechterichtlinie in Kraft, und dadurch kann sich einiges ändern: Die wichtigste Änderung für die Kunden dürfte wohl der Wegfall der 40€-Grenze für die Übernahme der Rücksendekosten durch den Verkäufer sein. Grundsätzlich trägt also der Käufer von nun an die Rücksendekosten. Für Shopbetreiber gilt es, die neue Widerufsbelehrung mit all Ihren Ausprägungen fristgerecht in den AGBs eingepflegt zu haben, da
0
iOS 8 & die MAC Verschleierung: Einfach genial!
Mon, Jun 9th 2014 3:09p   Sven Hasselbach
Man muss es Apple lassen: Gute Ideen gehen Ihnen einfach nie aus. Mit iOS 8 wird ein neuen Feature zur MAC Adressen-Verschleierung eingeführt, wodurch Location Based Tracking praktisch unmöglich gemacht wird. Und gleichzeitig wurde mit iBeacon eine Technologie ins Leben gerufen, die eben genau das ermöglicht: Location Based Tracking, nur noch viel genauer, und mit einem deutlich erhöhten Funktionsumfang. So wird der Markt zukünftig von “Fremdanbietern” bereinigt, da deren bisher
0
Tschüß RFC 2616! War nett mit Dir!
Sun, Jun 8th 2014 12:06p   Sven Hasselbach
Wie auf Heise berichtet, ist das RFC 2616 zu seinem 15ten Geburtstag in Rente geschickt worden, und sollte keine Verwendung mehr finden. Bei Fragen rund um die HTTP/1.1 Spezifikation gelten von nun an folgende RFCs: RFC7230 - HTTP/1.1: Message Syntax and Routing – low-level message parsing and connection management RFC7231 - HTTP/1.1: Semantics and Content – methods, status codes and headers RFC7232 - HTTP/1.1: Conditional Requests – e.g., If-Modified-Since RFC7233 - HTTP/
0
Happy Birthday, BILDBlog!
Sat, Jun 7th 2014 8:58a   Sven Hasselbach
Gestern hat das BILDBlog seinen 10ten Geburtstag gefeiert. Herzlichen Glückwunsch! Und vielen Dank für die gute Arbeit! Nicht vergessen: Das BILDBlog kann man jederzeit ein wenig unter die Arme greifen.
1
XPages & Angular.js: AngScope for Firebug
Fri, Jun 6th 2014 1:40a   Sven Hasselbach
AngScope is a “Simple Firebug extension that allows you to inspect the AngularJS scope that a DOM element binds to.” Just do a right click on the DOM element you want to inspect and select “Inspect Angular Scope“: This gives you a direct access to all elements of the scopes of your Angular.js application:
2
XPages & Angular.js: Accessing Rich Text (1)
Thu, Jun 5th 2014 4:16p   Sven Hasselbach
If you want to access Rich Text with Angular.js, an easy way to get the content is to use a XPage as handler and grab the content of a XspInputRichText component. The component does all required steps automatically (f.e. it detaches all embedded images to disc and cleans up the temporary files later) and returns the complete HTML of the Rich Text item. For the conversion I have created a small java helper class: package ch.hasselba.xpages.util; import javax.faces.context.FacesContext; import
0
Krautreporter: Jetzt auch mit PayPal bezahlbar
Thu, Jun 5th 2014 11:54a   Sven Hasselbach
Die Krautreporter können jetzt auch per PayPal unterstüzt werden. Siehe dazu: http://blog.krautreporter.de/post/ab-sofort-krautreporter-per-paypal-unterstuetzen/
0
WordPress 3.9.1: Fix für Bug mit Copy & Paste von Bildern aus Zwischenablage
Thu, Jun 5th 2014 11:50a   Sven Hasselbach
Um das Problem zu beheben, muss der Konfigurationsparameter paste_data_images für den TinyMCE Editor auf true gesetzt werden. Dazu kann man folgendes tun: In der Datei /wp-includes/class-wp-editor.php folgende Zeile ergänzen: init["paste_data_images"] = true; Zu finden ist die richtige Stelle dafür in diesem Code-Block (ca. Zeile 1135): ..... /** * Fires after tinymce.js is loaded, but before any TinyMCE editor * instances are created. * * @since 3.9.0 * * @param array $mce_setting
0
WordPress 3.9.1: Bug mit Copy & Paste von Bildern aus Zwischenablage
Thu, Jun 5th 2014 6:07a   Sven Hasselbach
Anscheinden hat das heutige Update des Blog eines meiner liebsten Features gekillt: Das direkte Copy & Pasten von Bildern aus der Zwischenablage geht nicht mehr. Tolle Sache. Siehe dazu: https://core.trac.wordpress.org/ticket/27970
0
The Voices Told Me To Do It!
Wed, Jun 4th 2014 6:32a   Sven Hasselbach
1. “Create a new com.ibm.xsp.context.FacesContextExImpl!” 2. “Add all required classed to the build path!” 3. “Add a useless message to the constructor!”
1
Krautreporter: Nur noch 9 Tage
Wed, Jun 4th 2014 3:39a   Sven Hasselbach
Zur Zeit läuft ein Experiment namens “Krautreporter“: Ein Versuch, eine neue Form des Onlinejournalismus zu etablieren und dessen derzeit desolaten Zustand zu sanieren. Vielleicht sogar ein bisschen Rebellion gegen die bestehenden Strukturen im Verlagswesen, indem die Unabhängigkeit von Journalisten wieder etwas hergestellt wird. 15.000 Unterstützer müssen monatlich 5 € investieren, um ein werbefreies und qualitativ anspruchsvolles Onlinemagazin zu finanzieren. Ohne die ständi
0
XPages & Angular.js: Fileuploads
Mon, Jun 2nd 2014 1:27p   Sven Hasselbach
When using Angular.js you sooner or later want to upload a file to your Domino server. But to do this, you not only need some nice looking frontend, you also need some code in the backend. For the frontend you can use one of the already exsiting modules which are available for Angular.js, for example the angular-file-upload. For a quick start, I have choosen to modify the provided Simple example. After stripping down the example files (just saved the whole website with Firefox), you can import a
3
XPages: Create a Database without Template
Fri, May 30th 2014 3:14a   Sven Hasselbach
On stackoverflow.com, an interessting topic was asked about how to create a notes database programmatically without using a template. The problem is, that it will not contain a Icon document. But in this document are all database properties stored. So the question is: How can you create this document? Jesse Gallagher came up with the idea to use the DXL import and create the Icon document this way, which works fine. But the next problem is, that there is no ACL note in the database and no defaul
1
You might not need jQuery
Thu, May 8th 2014 3:42a   Sven Hasselbach
I have found a very interesting website: You might not need jQuery. It contains a lot of usefull solutions for the different IE versions.
3
Problems with Handles: When the same document is not the same
Thu, Apr 24th 2014 8:43a   Sven Hasselbach
Disclaimer: This will work in Java, SSJS and Lotus Script. When opening the same document from the same database in different instances, and then recycle one of them, the other documents will be recycled too, because the handle to the underlying C object are the same. This SSJS example…                                          … fails, because docOther is recycled too. But if you open the database dbOther after initializing the database obj
0
XPages: Bootstrap File Input
Wed, Mar 26th 2014 5:16a   Sven Hasselbach
When using the default file upload control in a Bootstrap application, the default file upload button does not fit anymore to the design: To fix this issue, you can use a small jQuery plugin named Twitter Bootstrap File Input. When this plugin is added to your XPage, the button will look like this: To initialize the jQuery plugin, you have to call it with a selector which selects all DOM elements of type file: The description of the button can be changed by setting the title attr
0
XPages: A Bootstrap Skin for CKEditor
Mon, Mar 17th 2014 7:59a   Sven Hasselbach
I have found a very nice skin for CKEditor, the “BootstrapCK-Skin”. It gives a bootstrap look and feel to the Editor: The dialogs are also skinned: You can find and download the skin here http://kunstmaan.github.io/BootstrapCK-Skin/ To use the skin in one of your applications, you have to import the unzipped files into your NSF… … and add your “own” declaration of a xspCKEditor instance: This is required to remove an URL parameter, which is added automa
0
Quick-n-Dirty: Use “isDocEditable” in an old school Java Agent
Fri, Mar 14th 2014 4:40a   Sven Hasselbach
If you want to check if a document is editable, you can do this in an old school Java agent with the NAPI function isDocEditable provided by the XSPNative class. First you have to add the required JARs to your agent. Then, you have to call XSPNative.isDocEditable with the document you want to test: import lotus.domino.AgentBase; import lotus.domino.Database; import lotus.domino.Document; import lotus.domino.Session; import com.ibm.domino.napi.c.xsp.XSPNative; public class JavaAgent exte
4
XPages: Set a Theme for a single XPage
Fri, Mar 14th 2014 4:00a   Sven Hasselbach
… or how you can use your own FacesContext implementation. What we need first is our own FacesContext implementation with new methods to set the StlyeKitId (which is the name of the Theme) for initializing the StyleKit instance: package ch.hasselba.xpages; import javax.faces.context.FacesContext; import com.ibm.xsp.application.ApplicationExImpl; import com.ibm.xsp.context.FacesContextExImpl; import com.ibm.xsp.stylekit.StyleKit; /**  * ThemeSwitcherFacesContext  * allows to sw
2
Quick-nDirty: A Hotfix for CKEditor4
Mon, Mar 10th 2014 1:01p   Sven Hasselbach
Russell Maher wrote a very interesting article about using CKEditor 4 in XPages, but the current solution requires to change to HTML files directly on the server. But with this little Hotfix you can use CKEditor form a NSF an don’t need to change the HTML files on the domino server: 1. Switch to package explorer perspective 2. Open the file ckeditor.js 3. Search for the variable timestamp… 4. …and remove the 4 characters 5. Save it. That’s it! Now, CKEditor 4 can be
2
XPages: Use async / defer option for external CSJS Script Libraries
Mon, Mar 10th 2014 6:56a   Sven Hasselbach
When adding CSJS libraries to your XPage, try to use the defer or the async option for a better user experience. When not using this options, the Page might be blocked during page load. Have a look at this example XPage which contains two external CSJS scripts (for demonstration purposes they are computed to get a remote script out of nowhere): Foo! Bar! When opening the XPage, the DOM is blocked, until the operation times out: The best you can do i
1
XPages: Add an attribute to the BODY-Element
Sun, Mar 9th 2014 8:22a   Sven Hasselbach
Today I wanted to add an attribute to the element of my XPage. My goal was to generate HTML code like this: After some testing I found a solution by overwriting the method encodeHtmlBodyStart. To do this, you have to extend the class ViewRootRendererEx2: package ch.hasselba.xpages; import java.io.IOException; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; import com.ibm.xsp.component.UIViewRootEx; import com.ibm.xsp.renderkit.html_basic.ViewRootRende
1
XPages: Use a Method Binding as Converter
Sat, Mar 8th 2014 3:17a   Sven Hasselbach
I accidentally found a way to add a method binding as a converter to a component, because I have added a managed bean as a converter directly in the source code. The DDE does not support this. If you go to the converter property of a component, you can only add one of the predefined converters: But you can go to the source and add a method binding to the option, in this case my bean which implements my converter functionality. If you now reopen the saved XPage, the converter property is fille
1
XPages: Optimized Partial Refreshs (2)
Fri, Mar 7th 2014 9:11a   Sven Hasselbach
With the Optimized Partial Refresh you can do a lot of nice things: If only a part of the form is sent to the server, only this part of the components in the JSF component tree will be processed. This means that only submitted values are applied, coverted and validated, which can result in less server usage and a better performance. Normally, if you have two required fields on you XPage and do a Partial Refresh, both fields will have a validation error: But with this technique, you can choose w
0
XPages: Optimized Partial Refreshs
Fri, Mar 7th 2014 3:58a   Sven Hasselbach
Inspired by the last post of Mark, I have created a small CSJS snippet which allows to optimize the behaviour of a Partial Refresh. Normally, if you execute a Partial Refresh, all elements of a form are sent to the server. Take a look at this XPage:                                                                                      The button refreshes only a small portion of the XPa
1
XPages: SSJS & How you can have fun at the office
Tue, Mar 4th 2014 2:20a   Sven Hasselbach
This article is a demonstration of what harmful things you can do when using the SSJS & prototyping wrong( decribed here by the great Mark Roden). Don’t do that! Especially not on a productive server!   Wanna have a lot of fun in the office with the other developers? Just overwrite some global SSJS functionality! They will never find out what happend to their applications! This is the application we destroy Our demonstration application uses a small Java class which has only a singl




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition