Bios-Fehler "hyper transport sync flood error"

Kategorie Hardware 07.02.2010    Kategorie Hardware Hardware    Tags amd, bios    Kommentare 0 Kommentare

Kleine Statusnotiz: Auf einem älteren System mit einem AMD Athlon X2 4400+ und einem MSI K9Neo-Motherboard hatte ich das Problem, das beim Booten immer folgender Fehler angezeigt wurde: "hyper transport sync flood error".

Die Lösung war einfach: Der RAM wurde mit 1.85V angesteuert. Nachdem ich das auf 1.95V angehoben habe, läuft wieder alles. Scheint aber in anderen Fällen auch an der Grafikkarte zu liegen, aber hier in diesem Fall wars der RAM.

Ausgaben-Visualisierung


Das ist mal einen Blick wert:

http://zelos.zeit.de/wissen/2010-02/34-infografik-2-finanzkrise.pdf

Schon interessant, die Verhältnisse z.B. vom Umsatz der Opec und der Opec-Beteiligung am Klimafonds. Oder wieviel in Deutschland für Neuwagen ausgegeben werden. Aber diese Industrie muss natürlich massiv unterstützt werden. Lobbykratie anyone?

Versionskontrolle nach Subversion


Bisher verwendete ich Subversion zur Versionskontrolle und war damit auch meist zufrieden, bis auf drei Dinge, die mich jedes Mal ziemlich nerven:

  • Das Umbenennen oder Verschieben von Dateien ist umständlich
  • Branches, oder besser, das Merging: Zwar ist das Erstellen von Branches nicht sonderlich kompliziert, aber das zurückmergen von größeren Änderungen kann eine Plage werden
  • Das Ignorieren bestimmter Dateien ist umständlich

Nach all dem Hype um DVCS habe ich mir nun doch mal diese Systeme angeschaut. Am Ende muss ich sagen, dass ich Git oder Bazaar schon sehr interessant finde und plane, darauf umzusteigen. Aber welches von beiden?

Mein Ziel ist, den gleichen Workflow beizubehalten: Ein zentrales Repository, das automatisch per Backup-Skript gesichert wird. Dennoch sollen auf allen Rechnern einfach lokal Änderungen zu machen sein, die dann auch sofort lokal per Commit hinzugefügt werden können. So dass ich auch weiterarbeiten kann, wenn ich mal offline bin. Und das Branchen und Mergen soll wesentlich einfacher werden, damit eben diese Arbeiten später wieder einfach zurückgeführt werden ins zentrale Repository.

Ein paar sehr interessante Links zu diesem Thema sind die folgenden:



Vorteile Git
  • sehr schnell
  • Sicherheit des Repositories wegen kryptographischer Validierung des Contents
  • unterstützt Zugriff per SSH
  • cool
Nachteile Git
  • unterstützt meinen Workflow nur bedingt (mind. 2 Schritte pro commit notwendig)
  • relativ komplizierte Befehle. Vor allem, wenn man von Subversion kommt, ist einiges doch ganz anders. Von daher ist die Einarbeitungszeit deutlich länger
  • läuft nicht nativ unter Windows (das alte Leid Sad )
  • Revisions-Bezeichner sind SHA1-Werte - das ist nicht sonderlich intuitiv, wenn auch kein großes Problem
Vorteile Bazaar
  • einfache Kommandos, meist die gleichen wie bei Subversion
  • unterstützt ziemlich viele verschiedene Workflows, unter anderem auch den von mir gewünschten
  • unterstützt Zugriff per SSH
  • Windows-Unterstützung
  • Python-Bindings
  • Es gibt viele übersichtliche grafische Frontends. Zwar sind GUIs in der täglichen Arbeit langsamer, aber zur Ansicht der Historie, vor allem von Branches, doch hilfreich als Zusatzoption
  • sehr robustes Umbenennen oder Verschieben von Dateien
Nachteile Bazaar
  • nicht so cool Wink


Zugegeben, diese Auflistung ist doch recht subjektiv und ich finde es mysteriös, dass ich nicht einen richtigen Minuspunkt für Bazaar gefunden habe, aber es scheint doch alles für Bazaar zu stimmen. Mal schauen, wie es sich im produktiven Betrieb schlägt und ob ich nicht doch ein paar Kleinigkeiten finde.

Firefox-Einstellungen automatisch beim Anmelden per VB-Script setzen


Ich betreue einen Windows 2003-Terminal-Server. Dort soll aber dennoch Firefox als Standardbrowser verwendet werden und nicht der Internet Explorer. Da sich aber x Leute dort einloggen können, muss eine Möglichkeit gefunden werden, bestimmte Firefox-Einstellungen vorzugeben, die automatisch angewandt werden, wenn sich diese Person das erste Mal anmeldet. Sehr hilfreich könnte in diesem Zusammenhang FirefoxADM sein, aber für meinen Zweck wäre das Overkill gewesen. So habe ich ein kleines VB-Skript gemacht (oder besser modifiziert), was die für mich wichtigen Einstellungen setzt.

Zuerst muss Firefox zum Standardbrowser gemacht werden. Dazu reicht eine einfach Batch-Datei C:\Windows\setFirefoxDefault.bat mit diesem Inhalt:

@ECHO OFF

"C:\Programme\Mozilla Firefox\firefox.exe" -silent -setDefaultBrowser

Das VB-Script nun klappert alle Firefox-Profile des eingeloggten Nutzers ab und überschreibt in der Datei prefs.js bestimmte Werte. Sollte noch gar kein Profil existieren, wird eines erzeugt. Das Script basiert sehr stark auf dem Script firefox_login.lgns von FirefoxADM, ist aber von mir auf die von mir benötigten Einstellungen geändert worden. Das Script liegt bei mir unter C:\Windows\setFirefoxSettings.vbs.

' Override firefox settings defined in prefs.js in user's profile
' Creates a new profile first if necessary
'
' http://kb.mozillazine.org/About:config_entries
'

Dim FirefoxCacheKey, FirefoxBookmarksKey, DisableXPIInstallations
Dim DisableUpdateNotifications, BrowseWithCaret
Dim StartupHomepage, StartupHomepageReset, StartupHomepageWelcomeURL, StartupHomepageOverrideURL

' Default startup page url
' Set this to "" to skip this setting
StartupHomepage="http://www.bheil.net/blog/"

' If the user requested that their homepage be reset, get the new homepage value from this location
' Set this to "" to skip this setting
StartupHomepageReset="http://www.bheil.net/blog/"

' The URL that Firefox goes to when the user starts up the browser after the initial installation,
' or with a new profile
' http://kb.mozillazine.org/Startup.homepage_welcome_url
' Set this to "" to skip this setting
StartupHomepageWelcomeURL="http://www.bheil.net/blog/"

' The URL that Firefox goes to when the user starts up the browser after upgrading
' http://kb.mozillazine.org/Startup.homepage_override_url
' Set this to "" to skip this setting
StartupHomepageOverrideURL="http://www.bheil.net/blog/"

' Disable XPI (=Extensions) Installations
' Set this to 0 to skip this setting
DisableXPIInstallations = 1

' Disable update notifications
' Set this to 0 to skip this setting
DisableUpdateNotifications = 1

' Number of maximum days to remember visited pages in history (180 in Firefox 3)
' http://kb.mozillazine.org/Browser.history_expire_days
' Set this to 0 to skip this setting
HistoryExpireDays = 60

' Number of minimum days to remember visited pages in history
' http://kb.mozillazine.org/Browser.history_expire_days_min
' Set this to 0 to skip this setting
HistoryExpireDaysMin = 30

' Maximum number of websites to keep in history (40000 in Firefox 3)
' http://kb.mozillazine.org/Browser.history_expire_sites
' Set this to 0 to skip this setting
HistoryExpireSites = 10000

' Max. Cache size in KB
' Set this to 0 to skip this setting
FirefoxCacheKey = 20000

' Standard bookmarks html file (simple Firefox export)
' set to "" to skip this
FirefoxBookmarksKey = "C:\Windows\firefox-standard-bookmarks.html"

' Browse with caret
' http://kb.mozillazine.org/Accessibility.browsewithcaret
' Set this to 0 to skip this setting
BrowseWithCaret = 1

'''''''''''''''''''''''''''''''''''''''''''''''''''''''

set wshShell = WScript.CreateObject("WScript.Shell")
set fso = CreateObject("Scripting.FileSystemObject")

Dim FirefoxProfilePath, FirefoxProfileIniFile, FirefoxPrefsFile, FirefoxProfileFolder, FirefoxProfiles
Dim FirefoxFolder, PrefsFile, ParsePrefsFile, ParseOutPrefsFile, HomePageSetReset, FolderCreate, FirefoxEmptyPrefsFile

on error resume next 

set EnVar = wshShell.environment("Process")
FirefoxProfilePath = EnVar("appdata") & "\Mozilla\Firefox\Profiles"

' Check for an existing firefox profile and create a new one if necessary
if fso.FolderExists(FirefoxProfilePath) = false then
	if fsoFolderExists(EnVar("appdata") & "\Mozilla\Firefox") = false then
		if fsoFolderExists(EnVar("appdata") & "\Mozilla") = false then
			if fsoFolderExists(EnVar("appdata")) = false then
				FolderCreate = fso.CreateFolder(EnVar("appdata"))
			end if
			FolderCreate = fso.CreateFolder(EnVar("appdata") & "\Mozilla")
		end if
		FolderCreate = fso.CreateFolder(EnVar("appdata") & "\Mozilla\Firefox")
		' Create a default profiles.ini file
		Set FirefoxProfileIniFile = fso.CreateTextFile(Envar("appdata") & "\Mozilla\Firefox\profiles.ini")
		FirefoxProfileIniFile.WriteLine("[General]")
		FirefoxProfileIniFile.WriteLine("StartWithLastProfile=1")
		FirefoxProfileIniFile.WriteLine("")
		FirefoxProfileIniFile.WriteLine("[Profile0]")
		FirefoxProfileIniFile.WriteLine("Name=default")
		FirefoxProfileIniFile.WriteLine("IsRelative=1")
		FirefoxProfileIniFile.WriteLine("Path=Profiles/yhc73d.default")
		FirefoxProfileIniFile.Close
	end if
	FolderCreate = fso.CreateFolder(EnVar("appdata") & "\Mozilla\Firefox\Profiles")
	FolderCreate = fso.CreateFolder(EnVar("appdata") & "\Mozilla\Firefox\Profiles\yhc73d.default")
	Set FirefoxEmptyPrefsFile = fso.CreateTextFile(Envar("appdata") & "\Mozilla\Firefox\Profiles\yhc73d.default\prefs.js")
	FirefoxEmptyPrefsFile.Close
end if

if fso.FolderExists(FirefoxProfilePath) then
	set FirefoxProfileFolder = fso.GetFolder(FirefoxProfilePath)
	set FirefoxProfiles = FirefoxProfileFolder.SubFolders

	For Each FirefoxFolder in FirefoxProfiles
		FirefoxPrefsFile = FirefoxProfilePath & "\" & FirefoxFolder.Name & "\prefs.js"
		if fso.FileExists(FirefoxPrefsFile) then
                        ' Set startup pages
			if StartupHomepage <> "" then
				RemoveCurrentPrefsFromFile("browser.startup.homepage")
				set tmp = AppendPrefsToFile("browser.startup.homepage", chr(34) & StartupHomepage & chr(34))
				RemoveCurrentPrefsFromFile("browser.startup.page")
				set tmp = AppendPrefsToFile("browser.startup.page", 1)
			end if

        		if StartupHomepageReset <> "" then
				RemoveCurrentPrefsFromFile("browser.startup.homepage_reset")
				set tmp = AppendPrefsToFile("browser.startup.homepage_reset", chr(34) & StartupHomepageReset & chr(34))
			end if

			if StartupHomepageWelcomeURL <> "" then
				RemoveCurrentPrefsFromFile("startup.homepage_welcome_url")
				set tmp = AppendPrefsToFile("startup.homepage_welcome_url", chr(34) & StartupHomepageWelcomeURL & chr(34))
			end if

			if StartupHomepageOverrideURL <> "" then
				RemoveCurrentPrefsFromFile("startup.homepage_override_url")
				set tmp = AppendPrefsToFile("startup.homepage_override_url", chr(34) & StartupHomepageOverrideURL & chr(34))
			end if

			' Cache
			if FirefoxCacheKey > 0 then
				RemoveCurrentPrefsFromFile("browser.cache.disk.capacity")
				set tmp = AppendPrefsToFile("browser.cache.disk.capacity", FirefoxCacheKey)
			end if

			' Disable XPI Installations
			if DisableXPIInstallations = 1 then
				RemoveCurrentPrefsFromFile("xpinstall.enabled")
				RemoveCurrentPrefsFromFile("xpinstall.dialog.confirm")
				RemoveCurrentPrefsFromFile("xpinstall.dialog.progress.chrome")
				RemoveCurrentPrefsFromFile("xpinstall.dialog.progress.skin")
				RemoveCurrentPrefsFromFile("xpinstall.dialog.progress.type.chrome")
				RemoveCurrentPrefsFromFile("xpinstall.dialog.progress.type.skin")
				set tmp = AppendPrefsToFile("xpinstall.enabled", "false")
				set tmp = AppendPrefsToFile("xpinstall.dialog.confirm", chr(34) & "sorry-installation-permission-denied" & chr(34))
				set tmp = AppendPrefsToFile("xpinstall.dialog.progress.chrome", chr(34) & "sorry-installation-permission-denied" & chr(34))
				set tmp = AppendPrefsToFile("xpinstall.dialog.progress.skin", chr(34) & "sorry-installation-permission-denied" & chr(34))
				set tmp = AppendPrefsToFile("xpinstall.dialog.progress.type.chrome", chr(34) & "sorry-installation-permission-denied" & chr(34))
				set tmp = AppendPrefsToFile("xpinstall.dialog.progress.type.skin", chr(34) & "sorry-installation-permission-denied" & chr(34))
			end if

			' Copy bookmarks file
			if FirefoxBookmarksKey <> "" then
				if fso.FileExists(FirefoxBookmarksKey) then
					fso.CopyFile FirefoxBookmarksKey, FirefoxProfilePath & "\" & FirefoxFolder.Name & "\bookmarks.html"
				end if
			end if

			' Browse with Caret
			if BrowseWithCaret = 1 then
				RemoveCurrentPrefsFromFile("accessibility.browsewithcaret")
				set tmp = AppendPrefsToFile("accessibility.browsewithcaret", "true")
			end if

			' Disable update notifications
			if DisableUpdateNotifications = 1 then
				RemoveCurrentPrefsFromFile("update.showSlidingNotification")
				set tmp = AppendPrefsToFile("update.showSlidingNotification", "false")
				RemoveCurrentPrefsFromFile("update_notifications.enabled")
				set tmp = AppendPrefsToFile("update_notifications.enabled", "false")
			end if

			' History settings
			if HistoryExpireDays > 0 then
				RemoveCurrentPrefsFromFile("browser.history_expire_days")
				set tmp = AppendPrefsToFile("browser.history_expire_days", HistoryExpireDays)
			end if

			if HistoryExpireDaysMin > 0 then
				RemoveCurrentPrefsFromFile("browser.history_expire_days_min")
				set tmp = AppendPrefsToFile("browser.history_expire_days_min", HistoryExpireDaysMin)
			end if

			if HistoryExpireSites > 0 then
				RemoveCurrentPrefsFromFile("browser.history_expire_sites")
				set	tmp = AppendPrefsToFile("browser.history_expire_sites", HistoryExpireSites)
			end if
		end if
	next
end if

Function RemoveCurrentPrefsFromFile(removeSetting)
	Set ParsePrefsFile = fso.OpenTextFile(FirefoxPrefsFile, 1)

	' Get file content into an array:
	Dim aContents
	aContents = Split(ParsePrefsFile.ReadAll, vbCrLf)

	ParsePrefsFile.Close
	set ParsePrefsFile = Nothing

	' Parse Back In to Prefs.js file
	Dim aContentsNew
	aContentsNew = Filter(aContents, chr(34) & removeSetting & chr(34), False, vbTextCompare)

	' Overwrite the old file with the new file,
  	Set ParseOutPrefsFile = fso.OpenTextFile(FirefoxPrefsFile, ForWriting)
  	ParseOutPrefsFile.Write Join(aContentsNew, vbCrLf)
    ParseOutPrefsFile.Close
End Function

Function AppendPrefsToFile(writeKey, writeData)
 	set PrefsFile = fso.OpenTextFile(FirefoxPrefsFile, 8)
	PrefsFile.Write("user_pref(" & chr(34) & writeKey & chr(34) & ", " & writeData & ");" & vbNewLine)
	PrefsFile.Close
End Function

Auf diese beiden Dateien kann dann im Gruppenrichtlinienobjekt-Editor unter Benutzerkonfiguration -> Windows-Einstellungen -> Skripts -> Anmelden verwiesen werden, so dass die Skripte beim Login automatisch ausgeführt werden. (Ist die Microsoft-Welt nicht was schönes? Gruppenrichtlinienobjekt-Editor, da freut sich jeder Beamte Wink! Aufrufen mit: Start -> Ausführen -> gpedit.msc)

Anmeldeskripts

Zwar kann der Nutzer die Einstellungen ändern, aber beim nächsten Login werden diese wieder überschrieben.

Nachtrag: Wenn der Nutzer sich das erste Mal anmeldet, wird er vom Import-Dialog des Firefox begrüßt. Das kann einfach deaktiviert werden. Dazu wird eine Datei override.ini im Ordner des Firefox erzeugt (muss bei der firefox.exe liegen) mit folgendem Inhalt:

[XRE]
EnableProfileMigrator=false

Windows 7: Automatischen Neustart nach Einspielen von Updates verhindern


Windows will nach dem Einspielen von Sicherheitsupdates sehr oft neu gestartet werden, was auch wichtig ist, da sonst die Updates nicht greifen. Bei PCs, die jedoch sowieso täglich manuell neu gestartet werden (Arbeitsrechner etc.), kann dieses Verhalten schon nerven. Mit einem Registry-Eintrag kann das ausgeschaltet werden:

  • * Registrierungseditor öffnen (Win- bzw. Super-Taste + R -> "regedit")
  • * Zu HKEY_LOCAL_MACHINE\SOFTWARE\Polices\Microsoft\Windows navigieren
  • * Einen neuen Schlüssel anlegen mit dem Namen WindowsUpdate
  • * Darin ein 32bit-DWORD anlegen mit dem Namen NoAutoRebootWithLoggedOnUsers und diesen Wert auf 1 setzen

Die Geschichte des Internets


Ein sehr gutes Video zur Entstehung des Internets, allerdings in Englisch:

History of the Internet from Melih Bilgil on Vimeo.

Ein Einblick in die Architektur von Hotmail


Ein interessanter Artikel, der einen Einblick gibt, wie große Webdienste mit enormen Datenmengen zurechtkommen: Einblick in Hotmail

Ach, und btw: Frohe Weihnachten! Wink

A day on the internet


Das ist mal eine sehr interessante Übersicht über das Datenaufkommen im Internet an einem Tag (Quelle, klicken für Vollansicht):

Thunderbird 3 ist erschienen


Thunderbird, der Mail-Client von Mozilla, ist in Version 3 erschienen. Die wichtigste Änderung dabei für Nutzer mit IMAP-Konten ist wohl, dass Mails lokal heruntergeladen und indiziert werden. Damit stehen diese Mails nicht nur auch offline zur Verfügung, sondern können schnell durchsucht werden. Und das klappt fantastisch, auch bei sehr großen Konten. Mein Konto hat rund ~30.000 Mails und sobald die mal indiziert waren, funktioniert das Durchsuchen in rund 2 Sekunden und wird in einer sehr übersichtlichen Ergebnisseite dargestellt:


Eine andere Sache ist die Archiv-Funktion, die Thunderbird nun voll integriert hat. Klickt man bei einer Mail auf den Archivieren-Button, wird dies in einen Unterordner von "Archives" mit dem aktuellen Jahr verschoben. Das entspricht in etwa dem Archivieren, dass man von Google's GMail kennt.
Das habe ich bisher manuell gemacht (mit dem tollen Addon Archive This), aber schön, wenn der Mailclient das direkt integriert anbietet.

Und Thunderbird kann nun auch die obligatorischen Tabs. Aber am wichtigsten erscheint mir, dass Thunderbird nun subjektiv wesentlich schneller ist. Da wirds hier oder da bestimmt die nächsten Tage Benchmarks geben. Ist vielleicht auch nur meine Einbildung.

Auf jeden Fall eine konsequente Weiterentwicklung.

Informationen zur Windows-Aktivierung


Mit dem Tool slmgr.vbs kann die Windows-Aktivierung von Vista und 7 angesprochen werden. Interessant sind hierbei vor allem folgende Parameter:

slmgr.vbs /dlv  Detailierte Informationen anzeigen
slmgr.vbs /xpr  Ablaufdatum der Aktivierung
slmgr.vbs /ato  Aktivierungsprozess manuell anstoßen
slmgr.vbs /rearm  Frist zum Aktivieren verlängern (geht 3x zu je 30 Tagen)
slmgr.vbs /?  Alle Optionen anzeigen