Month: August 2012
dhl – netter service
das ist doch mal ein netter service. da wird man per email benachrichtigt, wann denn ungefaehr sein paket zugestellt wird.
- ok, vierzig minuten vorher nutzt mir das meist auch nichts mehr. einen tag vorher waere schoener gewesen.
- das zeitfenster hat gestimmt!
- ich weiss allerdings nicht, ob ich der weitergabe meiner mailadresse zugestimmt habe. aber vermutlioch schon – beim zustimmen der agb’s
klebebandfrontscheibe
ob man damit fahren kann?
HTTP request length exceeds MaxRequestLen
nach dem update eines debian auf squeeze gabs bei einem upload in wordpress immer einen “500 internal server error” und im apache error log stand dann sowas:
mod_fcgid: HTTP request length 131538 (so far) exceeds MaxRequestLen (131072)
das liegt daran, dass unter lenny dieser wert (MaxRequestLen) noch 1GB war und seit squeeze nur noch 128kb. abhilfe schafft eine weitere zeile in der datei /etc/apache2/mods-available/fcgid.conf, welche den wert setzt:
...
FcgidMaxRequestLen 134217728
...
den wert sollte man so machen, wie es die php.ini erfordert:
upload_max_filesize = 128M
post_max_size = 128M
die taegliche herausforderung
die taegliche herausforderungen fuer leute im it-bereich ist es, die “kunden” zu verstehen. der kunde hat ein problem und der it’ler muss einen gang zurueck schalten, um mit gezielten fragen eine beziehung zwischen der wahrnehmung des kunden und den technischen tatsachen (realitaet) herzustellen.
jedesmal wieder eine neue herausforderung. aber genau das macht den job aus. damit verdienen wir unser geld.
ich mach bäh… oder mach ich doch super?
was machst du bei diesem wetter? super oder bäh?
der mann hat sowas von recht
“Ich mache mir wirklich Sorgen, weil alles durch die Cloud gehtâ€, sagte er. “Ich glaube, in den nächsten Jahren kommen eine Menge furchtbare Probleme auf uns zu.â€
vba: download files (website requires login)
notiz… damit ich das nicht nochmal erfinden muss. die webseite erfordert ein login, bevor man daten runterladen kann. das login formular muss man sich halt mal ansehen und die entsprechenden werte in einem POST request schicken. ich habe dazu einfach irgendein firefox plugin beim login mitlaufen lassen, welches den entsprechenden POST request aufzeichnet. das cookie muss man dann noch aus der antwort des webserver axtrahieren und beim anschliessenden download der dateien mitschicken.
mit excel 2003 und dem ie7 ging das noch ohne login in vba, wenn man sich vorher im browser eingeloggt hatte (mit urlmon o.ä. einfach runterladen). mit excel 2010 und ie9 muss man sich explizit (mit vba) einloggen um die dateien runterladen zu können.
Option Explicit
Sub DownloadData()
Dim strSavePath As String
Dim strURL As String
Dim strURLDownload As String
Dim strHeaders As String
Dim strResult As String
Dim strRequest As Variant
Dim objXMLhttp: Set objXMLhttp = CreateObject("msxml2.xmlhttp")
Dim strUsername As String
Dim strPassword As String
Dim strFileToSave As String
Dim xArr As Variant
Dim yArr As Variant
Dim strTheCookie As String
Dim strCookie As String
Dim objStream: Set objStream = CreateObject("ADODB.Stream")
Dim i
Dim WkSh As Worksheet ' das Quell-Tabellenblatt - die Herkunft der Daten
Dim lZeile As Long
' Variablen
Set WkSh = ThisWorkbook.Worksheets("DOWNLOADFILES") ' den Tabellenblattnamen ggf. anpassen!
' Format in dem Tabellenblatt DOWNLOADFILES.. einfach eine Auflistung der Download URLs:
'http://www.website.com/download/data/file_1.xls
'http://www.website.com/download/data/file_2.xls
'http://www.website.com/download/data/file_3.xls
' Pfad zum speichern der XLS Dateien
strSavePath = "c:\temp\"
strUsername = "vorname.nachname%40domain.tld" ' URL encoded: @ = %40
strPassword = "mypassword"
' Login URL
strURL = "http://www.website.com/login-user"
' mitgehörter request header (mit Firefox Plugin aufgezeichnet)
' Benutzername und Passwort durch Variablen ersetzt
strRequest = "viewFrom=viewLOGIN&forward=%2Fbackend%2Findex.html&referer=%2Flogin.html&username= " & strUsername & "&password=" & strPassword & "&actionSUBMIT.x=0&actionSUBMIT.y=0"
' Login
With objXMLhttp
.Open "POST", strURL, False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send strRequest
End With
strHeaders = objXMLhttp.getAllResponseHeaders()
' ggf Response speichern um das Cookie anzuschauen
'Open "C:\temp\response.txt" For Output As #1
' Print #1, , strHeaders
'Close
' Beispiel Cookie aus strHeaders
'Set-Cookie: BALANCERID=b.cocoon0a0815; Expires=Tue, 07-Aug-2012 08:00:00 GMT; Path=/
' Cookie extrahieren
xArr = Split(strHeaders, "Set-Cookie: ")
For i = 1 To UBound(xArr)
strTheCookie = Left(xArr(i), InStr(xArr(i), "Path=/") - 2)
strCookie = strCookie & " " & strTheCookie
Next
yArr = Split(strCookie, ";")
strCookie = yArr(0)
For lZeile = 1 To WkSh.Cells(Rows.Count, 1).End(xlUp).Row
' Downloadlink
strURLDownload = WkSh.Range("A" & lZeile).Value
' Dateiname aus URL extrahieren
strFileToSave = Mid$(strURLDownload, InStrRev(strURLDownload, "/") + 1)
' Download der xls Datei
With objXMLhttp
.Open "GET", strURLDownload, False
.setRequestHeader "cache-control", "no-cache, must revalidate"
'Cookie 2mal setzen... Bug: http://support.microsoft.com/kb/290899
.setRequestHeader "Cookie", strCookie
.setRequestHeader "Cookie", strCookie
.send
End With
' Speichern der xls Datei als Binary
With objStream
.Type = 1 ' adTypeBinary
.Open
.Write objXMLhttp.responseBody
.SaveToFile strSavePath & strFileToSave, 2 ' adSaveCreateOverWrite
End With
objStream.Close
Next lZeile
Set objStream = Nothing
Set objXMLhttp = Nothing
End Sub
linux software raid: component device mismatches found
heute ist mir in einem syslog das hier ueber den weg gelaufen:
Aug 5 09:27:46 myhostname mdadm[1555]: RebuildFinished event detected on md device /dev/md/0, component device mismatches found: 1024
ach ja richtig.. dabei handelt es sich um ein software raid 1 auf einem linux rechner 😉
diese info steht da geschrieben:
cat /sys/block/md0/md/mismatch_cnt
1024
und eine reparatur laesst sich so anschubsen:
echo repair >> /sys/block/md0/md/sync_action
bei mir ist das von alleine losgelaufen. zu beobachten mit:
watch cat /proc/mdstat
danach sieht es hoffentlich wieder so aus:
cat /sys/block/md0/md/mismatch_cnt
0
wenn nicht… gibts hier weitere hilfe.