Archive for: ‘Juli 2014’
Holiday Reading: Redbook Performance Optimization and Tuning Techniques for IBM Processors
Table of contents
Chapter 1. Optimization and tuning on IBM POWER8
Chapter 2. The POWER8 processor
Chapter 3. The POWER Hypervisor
Chapter 4. AIX
Chapter 5. IBM i
Chapter 6. Linux
Chapter 7. Compilers and optimization tools for C, C++, and Fortran
Chapter 8. Java
Chapter 9. DB2
Chapter 10. WebSphere Application Server
Appendix A. Analyzing malloc usage under AIX
Appendix B. Performance tooling and empirical performance analysis
Cloud Computing ist der zentrale Wachstumstreiber
“Höggschte” Aufmerksamkeit: 10 Weisheiten, die die wir besser von Jogis Jungs fürs Social Business lernen
Die WM ist vorbei. Und Wir sind Weltmeister, überraschenderweise (zumindest für mich). Was lernen wir denn nun für das Business von Jogis Jungs und vor allem natürlich vom Magier Jogi? Hier einige alle bierernst gemeinte Weisheiten von einem der 80 Millionen Möchtegern-Bundestrainer:
- Die Zeit von Kadavergehorsam und striktem Befehl und Gehorsam ist vorbei. Hrubeschs Jungs wurden von eben diesem zu selbständigen Denken und Mitdenken ermuntert. Diese WM hat auch Hrubesch gewonnen. Und wir lernen auch fürs Business, dass Mitdenken erwünscht, willkommen un unausweichlich ist, wie immer wir die Generation Hrubesch nun im Geschäftsleben nennen.
- Klar. Der Chef gibt die Linie vor, nach dem das Team spielt. Aber es ist nicht mehr der unantastbare Chef à la Sepp Herberger. Heute ist der Chef vor allem auch ein Coach, der seine Spieler und Mitarbeiter stärker macht. Das erfordert neben Führungsqualitäten auch andere Fähigkeiten.
- Ein tiefenentspannter Chef, der Druck vom Team fern hält, tut sich und dem Team gut, um erfolgreich zu sein.
- Gemanagt wird heute erfolgreich im Team, das sich austauscht und offen diskutiert. Klar, die letzte Entscheidung hat der Löw, aber Flick, Köpke und Bierhoff (und Siegenthaler …) sprechen mit und geben Input. Management im und durch das Team mit einem starken CEO, aber auch anderen exzellenten Executives vom Chief Operation Officer Bierhoff bis zum Chief Medical Officer Müller-Wohlfarth …
- Das Management- und Logistikteam hält Bürokratie und unnötige Pr(oz)esse von den Spielern fern. Die können voll ihren Fokus darauf haben, zu trainieren und vor allem erfolgreich zu spielen, müssen sich nur in geringstem Maße (hier und da eine Pressekonferenz) mit Adminstration auseinander setzen.
- Auch wenn ich wieder Schläge bekommen werde: Social Media Training ist nützlich. So kann man #Gaucho-Peinlichkeiten (die man bitte nicht zu ernst nehmen sollte) vermeiden. Und bitte nicht alles auf Übermüdung, Restalkohol, Humor und sonst was schieben. Übrigens könnte das auch Herr Maradonna gebrauchen, der immer noch von deutschen Panzern schwadroniert. Aber die Hand Gottes ist wohl eh jenseits von Gut und Böse.
- Social is everywhere. Vor Jahren haben wir diese Aussage getroffen. Die WM 2014 ist der endgültige Beweis und man darf auch durchaus fragen, ob jedes Selfie unbedingt sein muss. Aber klar ist: Zu stoppen ist es nicht. Deshalb (siehe 2.) a bisserl Social Media Training schadet in Fussball und Business nicht.
- Nicht alle dürfen stromlinienförmig sein. Typen kommen an. Das zeigt ein Thomas Müller. Das zeigt auch ein Big F…. German wie Per Mertesacker: „Wat wollnse von mir? Ich verstehe die ganze Fragerei nicht.“ Und solche Wild Ducks braucht man auch im Business. Selbst einen Großkreutz? Oh Gott, was schreibe ich.
- Ein Team mit vielen starken Spielern ist immer stärker wie ein Team mit einem Star: Neuer, Müller, Hummels, Schweinsteiger, Schürrle, Lahm, Klose, Boateng … und ich zwinge mich Götze hinzuzufügen machen den Unterschied zu EINEM Messi, EINEM Ronaldo …
- Lagerkoller und zu viel Druck tut in der Regel nicht gut, ist eher kontraproduktiv. Ein Wohlfühlquartier, stimmige WGs (wo man sich auch mal reiben darf) und das Feiern von Erfolgen tut gut, hilft erfolgreich zu sein. Und auch die Familie der Teammitglieder einzubeziehen, kann durchaus sehr sinnvoll sein.
So weit, so gut. Das sind die ersten 10 Binsenweisheiten, die mir eingefallen sind. Und was sind Eure Business-Weisheiten, die Ihr aus der WM 2014 so ganz ernsthaft zieht? Bin höggscht gespannt (wie ein Flitzebogen).
Innovative Weiterbildungskonzepte mit IBM Kenexa bei der Helmholtz-Gemeinschaft
Externe Experten nicht vergessen!
Innovative Weiterbildungskonzepte mit IBM Kenexa
Upcoming European Video Chat: Understanding the Patterns of Expertise – Creating a new step on the virtual technology continuum
(This is a guest entry posted on behalf of Kerstin Olasik)
Organizations have a continuum of choices for increasing the efficiency of application development and deployment in virtual and cloud environments. This continuum, including virtual appliances, virtual systems and virtual application patterns, provides increasing levels of value.
IBM PureSystems Virtual Application Patterns are designed to deliver proven expertise, enabling capabilities that are essential for developing and deploying applications into virtual environments and the cloud. They also go beyond development and deployment to include automated lifecycle services, with patterns providing policy-based management, monitoring and maintenance.
A panel of experts will discuss help you understand the patterns of expertise better on July 24, 2014 (1:15 – 2:00 PM CEST).
The panel includes:
- Georg Ember: Leading Technical Sales Professional – IBM PureSystems SWG
- Mark Aichholz: Manager Technical Sales – zTivoli ISM and Workload optimized Systems
You can also questions or post comments on Twitter using the #IBMPureChat tag during the video chat.
You can watch the session live below here during the video chat:
Want to learn more on how to rapidly extend your applications to the cloud? Sign up for a product demo webinar and learn how to extend applications to the cloud with IBM PureApplication Service on SoftLayer. Our next webinar is on July 30, 2014.
Identifying Back Doors, Attack Points, and Surveillance Mechanisms in iOS Devices
Eine sehr interessante Präsentation von Jonathan Zdziarski: Identifying Back Doors, Attack Points, and Surveillance Mechanisms in iOS Devices
Overall, the otherwise great security of iOS has been
compromised… by Apple… by design.
Kommt mir irgendwie bekannt vor…
Ein bischen mehr Privatspähre
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, lief alles wie “immer”. Einzig bei der Sucherweiterung für Firefox habe ich Hand anlegen müssen, damit auch diese Suche per GET funktioniert. Um das hinzubekommen, habe ich die search.json mittels einem Texteditor angepasst.
Die Datei unter Windows zu finden im Verzeichnis
<USERDATA>\AppData\Roaming\Mozilla\Firefox\Profiles\<PROFIL ID>
unter Linux im Ordner
~\.mozilla\profiles\<PROFIL ID>
Der folgende Part…
[{"template":"https://startpage.com/do/search","rels":[],
"method":"POST","params":[{"name":"query","value":"{searchTerms}"},
{"name":"cat","value":"web"},{"name":"pl","value":"ff"},
{"name":"language","value":"deutsch"}]}]
muss durch diesen ersetzt werden (Änderungen hervorgehoben), dann läuft auch diese Suche wie gewünscht:
[{"template":"https://startpage.com/do/search","rels":[],
"method":"GET","params":[{"name":"q","value":"{searchTerms}"},
{"name":"cat","value":"web"},{"name":"pl","value":"ff"},
{"name":"language","value":"deutsch"}]}]
Ich nutze natürlich weiterhin Google-Dienste, nicht zuletzt auch wegen den eingesetzen Smartphones, aber es ist ein kleiner Schritt in die richtige Richtung.
Mails fluten die Unternehmen
Roland Berger: Online-Händler sind die besseren Kundenberater
Sponsor MobileIron Inc. mit dem Thema Enterprise Mobility Management zur 41. DNUG Konferenz in Leipzig
MobileIron ist ein führender Anbieter von Sicherheits- und Managementlösungen für mobile Apps, Inhalte und Geräte, rund um das Enterprise Mobility Management (EMM) für Unternehmen. Dementsprechend steht der Vortrag des Sponsors zur nächsten DNUG Konferenz unter dem Thema „MobileIron Enterprise Mobility Management im Mobile First Zeitalter“.
Mehr Informationen zur Konferenz:
Ephox EditLive 2.5.2.45 for IBM Connections 4.5
Fix 2.5.2.45 für den Ephox EditLive Editor verfügbar.
2. Franz-Xaver Uhl Classic 2014 – Unser Bericht
Quick-Tipp: Wie du die lästigen Fehlermeldungen des Schedulers beim Domino-Server-Start los wirst
Letzte Woche hat er darüber geschrieben, wie man gezielt Datenbanken vom Scheduler und Rooms and Resources Manager ausnimmt: From the SocialBiz Mailbox: Excluding Calendars from Mail-in Databases
Du kennst wahrscheinlich auch diese "Fehlermeldungen" des Schedulers und des RnRMgr, die jedesmal kommen, wenn einer der beiden Prozess auf eine Datenbank stößt, zu der er den Eigentümer nicht (mehr) im Domino-Verzeichnis findet:
SchedMgr: Error processing calendar profile document (NoteID: NT....) in database...:
Can't find $BusyName field on profile
SchedMgr: Error processing calendar profile document (NoteID: NT...) in database ...:
Cannot find user in Domino Directory
Dass passiert zum Beispiel wenn das Personen-Dokument gelöscht wurde (Mitarbeiter arbeitet nicht mehr für das Unternehmen) und bei Mail-In-Datenbanken.
Die beiden Prozesse sind wichtig, um die Freie-Zeit-Datenbank (busytime.nsf bzw. clubusy.nsf) immer auf dem aktuellen Stand zu halten. Aber bei bestimmten Datenbanken ist das einfach nicht (mehr) relevant. Und da wäre es doch toll, wenn man den beiden Prozessen einfach sagen könnten: "Diese Datenbank bitte ignorieren."
Und Chris kennt eine Lösung: In kleines Programm namens "NoCal".
Leider hat es ein paar Nachteile
- Es ist wirklich, wirklich alt: Release: R5, Platform: Windows 95/98/NT, Date Posted: 04.05.2001,
- es muss von der Kommandozeile aus gestartet werden und
- es kann die "Has Calendar"-Datenbank-Option nur ausschalten, nicht wieder anschalten, wenn man aus Versehen die falsche Datenbank erwischt hat.
- Meine Lösung sollte klein und transportabel sein, wie z. B. ein Agent, den man einfach in die Schablone oder jede Datenbank packen kann,
- sie sollte in der Lage sein, die Option an- und auszuschalten und
- sie sollte einfach aus dem Notes-Client heraus aufgerufen werden können.
Im Kern sieht der Agent so aus:
Sub Initialize
'/**
' * gets current database's options, prints "Has Calendar" option,
' * toggles it and prints new status
' *
' * @author Thomas Bahn/assono <tbahn@assono.de>
' * @version 2014-07-17
' */
Dim session As NotesSession
Dim returnCode As Integer
Dim hDB As Long
Dim retDbOptions As Long
On Error GoTo miniErrorHandler
Set session = New NotesSession
' open the current database
returnCode = NSFDbOpen(session.CurrentDatabase.FilePath, hDB)
Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbOpen", hDB)
' get current options
returnCode = NSFDbGetOptions(hDB, retDbOptions)
Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbGetOptions", hDB)
' print current status
If retDbOptions And DBOPTION_HAS_CALENDAR Then
Print "Database has calendar"
Else
Print "Database doesn't have calendar"
End If
' toggle option
returnCode = NSFDbSetOptions(hDB, _
retDbOptions Xor DBOPTION_HAS_CALENDAR, _
DBOPTION_HAS_CALENDAR)
Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbSetOptions", hDB)
' get current options
returnCode = NSFDbGetOptions(hDB, retDbOptions)
Call ShowCAPIErrorIfAnyAndEnd(returnCode, "NSFDbGetOptions", hDB)
' print new status
If retDbOptions And DBOPTION_HAS_CALENDAR Then
Print "Database now has calendar"
Else
Print "Database now doesn't have calendar"
End If
' close the database
returnCode = NSFDbClose(hDB)
Exit Sub
miniErrorHandler:
MessageBox "Error #" & Err & " occurred in line " & Erl & Chr$(10) &_
"Error message: " & Chr$(10) & Error$, 48, "Error"
If hDB <> 0 Then ' if there is a valid handle, try to close database
returnCode = NSFDbClose(hDB)
End If
End Sub
Er braucht noch einige Deklarationen (Declarations):
' STATUS LNPUBLIC NSFDbOpen(char far *PathName, DBHANDLE far *rethDB);
Declare Function NSFDbOpen Lib "nnotes.dll" (ByVal pathName As LMBCS String, rethDB As Long) As Integer
' WORD LNPUBLIC OSLoadString(HMODULE hModule, STATUS StringCode, char far *retBuffer, WORD BufferLength);
Declare Function OSLoadString Lib "nnotes" Alias "OSLoadString" (ByVal hModule As Long, ByVal stringCode As Integer, ByVal retBuffer As LMBCS String, ByVal bufferLength As Integer) As Integer
' STATUS LNPUBLIC NSFDbGetOptions(DBHANDLE hDB, DWORD far *retDbOptions);
Declare Function NSFDbGetOptions Lib "nnotes.dll" (ByVal hDB As Long, retDbOptions As Long) As Integer
' STATUS LNPUBLIC NSFDbSetOptions(DBHANDLE hDB, DWORD DbOptions, DWORD Mask);
Declare Function NSFDbSetOptions Lib "nnotes.dll" (ByVal hDB As Long, ByVal dbOptions As Long, ByVal mask As Long) As Integer
' STATUS LNPUBLIC NSFDbClose(DBHANDLE hDB);
Declare Function NSFDbClose Lib "nnotes.dll" (ByVal hDB As Long) As Integer
' DBOPTION_HAS_CALENDAR - TRUE if database stores calendar events.
Const DBOPTION_HAS_CALENDAR& = &H00002000
Const NOERROR = 0
Const NULLHANDLE = 0&
Und zwei unterstützende Funktionen für die C-API-Fehlerbehandlung:
Sub ShowCAPIErrorIfAnyAndEnd(errorCode As Integer, functionName As String, hDB As Long)
'/**
' * shows user the C API error and aborts execution.
' *
' * @param errorCode return code of the function's execution
' * @param functionName name of the C API function called
' * @param hDB handle to the open database
' *
' * @author Thomas Bahn/assono <tbahn@assono.de>
' * @version 2014-07-17
' */
If errorCode = NOERROR Then Exit Sub ' exit if no error occured
MessageBox _
"An error occurred in C API function '" & functionName & "'" & Chr$(10) &_
"Error code: " & Trim$(Str$(errorCode)) & Chr$(10) & _
"Error message:" & Chr$(10) & GetCAPIErrorMsg(errorCode), _
48, "Error calling C API"
If hDB <> 0 Then ' if there is a valid handle, try to close database
Call NSFDbClose(hDB)
End If
End
End Sub
Function GetCAPIErrorMsg(errorCode As Integer) As String
'/**
' * gets error message for the C API error.
' *
' * @param errorCode return code of the function's execution
' * @return error message for the C API error
' *
' * @author Thomas Bahn/assono <tbahn@assono.de>
' * @version 2014-07-17
' */
Dim length As Integer
Dim buffer As String
' initialize a buffer of adequate length to accept the error string
buffer = String$(256, 0)
' get the API error message from the internal Notes/Domino string tables
length = OSLoadString(NULLHANDLE, errorCode, buffer, Len(buffer))
If length > 0 Then
' remove any trailing characters from the string
GetCAPIErrorMsg = Left$(buffer, InStr(1, buffer, Chr$(0)) - 1)
Else
' couldn’t locate the error message in the string tables
GetCAPIErrorMsg = "Unknown error"
End If
End Function
Erstelle einfachen einen LotusScript-Agenten, der manuell gestartet wird mit dem Ziel "Keine".
Hier ist eine kleine Datenbank mit dem Agenten - fertig zum Kopieren:
Die Datenbank enthält auch eine erweiterte Version des Agenten, mit dem man andere Datenbanken umstellen kann.
Der Benutzer wählt als erstes die Datenbank aus, bekommt den aktuellen Status angezeigt und kann dann entscheiden, ob er die Einstellung ändern möchte.
Wichtig: Soweit meine Versuche ergeben haben, wird die Änderungen der Datenbank-Option nicht repliziert. Du musst also jede Replik auf jedem Server einzeln umstellen.