Mit JNDI ein Active Directory anfragen
Die Aufgabe, ein Active Directory aus JAVA anzufragen, ist nicht ganz trivial.
Labels: Active Directory, Java, JNDI, LDAP, Microsoft, tech talk
Michael Hilberer on Software Engineering, software projects... ...and the madness of life ;-)
Die Aufgabe, ein Active Directory aus JAVA anzufragen, ist nicht ganz trivial.
Labels: Active Directory, Java, JNDI, LDAP, Microsoft, tech talk
Ich habe mir vor einiger Zeit mal die Zeit genommen, ein wenig mit Groovy rumzuspielen, da ich glaube dass Groovy eine Prima Scriptingergänzung zu JAVA darstellt. Und heute hatte ich mal einen typischen Scripting Task aufm Schreibtisch:
// Pattern for Java Filesdef p = ~/.*\.java/// Pathes to the directories containing the codedef newPath ='c:\\code\\20090427'def oldPath ='c:\\code\\20090213'// variables for countingdef newFilecount = 0def oldFilecount = 0def newLOCcount = 0def oldLOCcount = 0//define a closure for recursive directory access// in the new code folderdef directoryClosNewdirectoryClosNew = {it.eachDir(directoryClosNew);it.eachFileMatch(p){newFilecount++println "New source: $it"it.eachLine {newLOCcount++}}}//define a closure for recursive directory access// in the old code folderdef directoryClosOlddirectoryClosOld = {it.eachDir(directoryClosOld);it.eachFileMatch(p){oldFilecount++println "Old source: $it"it.eachLine {oldLOCcount++}}}// call closure on directoriesdirectoryClosNew(new File( newPath ))directoryClosOld(new File( oldPath ))println " Old number of Java Files $oldFilecount \n New number of Java Files $newFilecount "println " Old Lines of Code $oldLOCcount \n New Lines of Code $newLOCcount"
Das alte Lied, ein Nokia mit einem Exchangeserver zuverbinden: Das Nokia akzeptiert das Zertifikat nicht.
Labels: Handy Nokia E71, tech talk
Ziel: Eine einfache CRUD Anwendung in NetBeans 6.5 generieren.
Anne Thomas Mane hat in ihrem Blog das Ende von Service Oriented Architectures verkündet. Das ist insofern bemerkenswert, dass sie Vice President und Research Director der Burton Group für Application Platform Strategies ist. Zu ihren Aufgabenbereichen gehören: SOA, web services, XML, governance, Java, application servers, superplatforms, und application security.
aber trotzdem muss ich eindringlich vor diesem Buch warnen: C# for Artists: The Art, Philosophy, and Science of Object-Oriented Programming.
Thank you for supporting the writing efforts of a independent author and small
publisher. I spent two years of my life crafting this book. My goal was to
create a book with no spelling mistakes or typographical errors, a book whose
programming examples are complete and actually compile, a book that serves
equally well both novice and practitioner, a book that stretches your brain with
in-depth material and challenging projects. Above all, I wanted to create a book
that gives you the absolute best value for your money. I hope I’ve achieved my
goal. I tried my best and that’s all one can do.
Believe it or not, the hardest part about learning to program a computer, in any
programming language, is not the learning of the language itself; rather, it is
learning how to approach the art of problem solving with a computer.
If you have a family computer that everyone shares, adults as well as children,
then get another computer, put it off limits to everyone but yourself, and
password-protect it.
jetzt bin ich doch tatsächlich mal wieder selbst reingetappt.
Labels: requirements engineering, tech talk
Heute möchte ich meinen Blog mal Nutzen, um meine Gedanken ein bisschen zu ordnen und ein wenig Rückschau und Ausblick zu betreiben.
Google hat einen eigenen Webbrowser entwickelt -
Labels: architecture, google, tech talk
Im Programmierumfeld betrachten wir vier Speichersegmente:
Labels: Embedded Systems, tech talk
Gerade war an unserer sommerlich-schwitzenden Hochschule ein netter Vortrag über das Social Web. Dabei wurde in erfrischenderweise auf inflationäre Buzzwordnutzung verzichtet - außer vielleicht seitens des Publikums.
als kleine Anmerkung an meine geneigten Leser: Ich habe einige technische Schwierigkeiten am lebenden Blog beseitigt, will heißen:
Labels: tech talk
...Feisty Fawn has landed.
Es gibt auch die Darstellung, nach der CSS lediglich einen Abspielschutz darstellt: Die DVD kann zwar kopiert werden, allerdings ist das Anschauen ohne Entschlüsselungsprogramm nicht möglich. Es ist unklar, ob Gerichte dieser Auffassung folgen würden (wobei – im Gegensatz zur Benutzung von DeCSS – die Anwendung der libdvdcss noch nicht Thema vor Gericht war).
Schlussendlich ist dies auf den Hinblick auf § 95a Urheberrechtsgesetz vermutlich irrelevant, da CSS als Schutz gegen unlizenziertes Abspielen eine technisch wirksame Einschränkung der Nutzungsrechte darstellt und somit potentiell den entsprechenden legalen Einschränkungen unterliegt.
Die Benutzung der libdvdcss würde in diesem Fall auch nach § 108b Urheberrechtsgesetz strafbar sein, soweit sie nicht „ausschließlich zum eigenen privaten Gebrauch des Täters oder mit dem Täter persönlich verbundener Personen erfolgt“. Im Falle des Privatgebrauchs kommen lediglich zivilrechtliche Ansprüche der Rechteinhaber in Betracht."
Nach längerem Überlegen und mit dem Gedanken schwanger gehen, bin ich nun mit meinem Arbeitsrechner zu Linux migriert. Um genauer zu sein: Zu Ubunut (06.10 Edgy Eft). Und zwei Dinge kann ich gleich schonmal sagen:
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "ServerLayout"
Identifier "Default Layout"
#Screen 0 "aticonfig-Screen[0]" 0 0
#Screen 1 "aticonfig-Screen[1]" 0 0
Screen 0 "aticonfig-Screen[0]"
Screen 1 "aticonfig-Screen[1]" RightOf "aticonfig-Screen[0]"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
EndSection
Section "Files"
# path to defoma fonts
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "ServerFlags"
Option "Xinerama" "true"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
Option "XkbOptions" "lv3:ralt_switch"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
# /dev/input/event
# for USB
Identifier "stylus"
Driver "wacom"
Option "Device" "/dev/wacom" # Change to
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
# /dev/input/event
# for USB
Identifier "eraser"
Driver "wacom"
Option "Device" "/dev/wacom" # Change to
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
# /dev/input/event
# for USB
Identifier "cursor"
Driver "wacom"
Option "Device" "/dev/wacom" # Change to
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
#Section "Monitor"
# Identifier "DELL 1907FPV"
# Option "DPMS"
#EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[0]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor[1]"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
BusID "PCI:1:0:0"
Option "CRT2Position" "LeftOf"
EndSection
Section "Device"
Identifier "aticonfig-Device[1]"
Driver "fglrx"
BusID "PCI:1:0:0"
## here the needed values for 'Dual' are starting:
Option "AGPMode" "4"
Option "AGPFastWrite" "true"
Option "BusType" "PCIE"
Option "MonitorLayout" "LVDS, CRT"
Option "MergedFB" "true"
#Option "CRT2HSync" "31.0-80.0"
#Option "CRT2VRefresh" "60.0-76.0"
Option "CRT2Position" "RightOf"
#Option "MetaModes" "1920x1200-1600x1200"
Option "PanelOff" "false"
Option "DynamicClocks" "true"
Option "DesktopSetup" "horizontal"
## Change this to "false" if there are any problems:
Option "EnablePageFlip" "true"
Screen 1
EndSection
Section "Screen"
Identifier "aticonfig-Screen[0]"
Device "aticonfig-Device[0]"
Monitor "aticonfig-Monitor[0]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "Screen"
Identifier "aticonfig-Screen[1]"
Device "aticonfig-Device[1]"
Monitor "aticonfig-Monitor[1]"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024" "1152x864" "1024x768" "800x600" "720x400" "640x480"
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Letztes Jahr hatte ich das Problem, dass ich in einem Template mit Velocity Tags nach dem else Block einer if-else Schleife immer Whitespace hatte:
#if ( $firstString == "Nummer 1")Das ist Nummer 1. #else Das ist nicht Nummer 1.
#if ( $firstString == "Nummer 1")Das ist Nummer 1. #else#**#Das ist nicht Nummer 1.