2012-06-27

Restaurando el Spectrum 2 - alimentación

La alimentación de este Spectrum siempre falló (sobre todo cuando se calentaba un poco): en cuanto movías un poco la clavijita, se reseteaba. Un poco incómodo teniendo en cuenta que los juegos tardan una eternidad en cargar.

Para no liarla, he dejado la entrada que hay, pero le he metido una nueva, robada de un marco de fotos digital.



Queda un poco raro, pero bueno, al fin y al cabo es la parte de atrás...


Funciona perfecta! y además la polaridad ahora es la más habitual: el positivo dentro, el negativo fuera.



Restaurando el Spectrum 1 - Vídeo compuesto

El primer problema con el que me encuentro al arrancar el Spectrum después de tantos años es que el módulo que genera la señal de TV genera una mierda: todo rayas e interferencias. Por suerte, se puede eliminar porque aunque en la época del Spectrum las teles no tenían entrada de vídeo compuesto (y de ahí la necesidad del módulo RF) ahora todas lo tienen, y lo que entra en el módulo RF es, precisamente, una señal de vídeo compuesto estupenda.

Lo primero, lógicamente, es abrirlo (es más fácil abrir el spectrum que cualquier pc, y ya no digamos un mac)

En la parte superior izquierda está el módulo RF

Se abre fácil, la chapa va simplemente encajada a presión:

Aquí empieza lo bueno, porque está todo un poco apretadillo. La señal de vídeo compuesto viene desde la izquierda, por la entrada del medio de las tres que tiene la cajita del módulo. Lo que hacemos es, en primer lugar, desconectarla. La otra entrada de la izquierda es la alimentación del módulo, la quitamos para que luego no haga interferencias.

Finalmente unimos la señal de vídeo compuesto directamente al centro del conector (desconectando lo que había ahí previamente). Yo he usado un cablecillo negro. Genial el agujerito que había libre...


Volvemos a montar todo y... ¡listo!


Muchas gracias a Womble por las instrucciones.

2012-06-02

En la tuerka 27

Vamos a ver actuar ahora a los miticos Castro y Montes!

2012-05-28

Longhand - calculadora (gratuita) para mac como dios manda

Para windows ya tenía localizada una buena: Power Calculator, es uno de los "power toys" de windows xp

Para mac os lo más parecido es esto: Longhand

2012-04-21

Cascanueces invisible

Siguiendo con la serie "inventos caseros" hoy presentamos el cascanueces que combina con todo

2012-04-18

Nuevo Microserver para el cpd domestico

Acaba de llegar el nuevo servidor! Ahora quedan por delante horas y horas de diversión para configurar todo: servidor de ficheros, torrents con rss, backup...

Lo del dd-wrt en el router esta bien, pero se me hace demasiado duro... todo lleva mucho trabajo y el cacharro es muy limitado...

2012-04-14

Nuevo teclado para el PC


Tengo un nuevo teclado: un legendario IBM modelo M del año 1995, que estaba destinado al vertedero proveniente de cierto centro de informática, y que está en perfecto estado. Después de limpiarlo un poco con KH7 parece nuevo.

Cosa curiosa: tiene un altavoz dentro, pero no creo que se pueda utilizar.

2012-03-29

2011-12-22

Desde el tren (parado)

Esperando... por lo menos el paisaje mola

2011-12-15

Chrome Web Store - Syntaxtic!

Chrome Web Store - Syntaxtic!
Para los que suelen ver código fuente en el navegador

2011-10-06

En Euromed SPI

Dentro de un rato Carlos G. Jardón y yo daremos una charlita sobre cmm en http://www.euromedspi.com


2011-10-02

Proyecto Weekend: Configurar el router con dd-wrt para descargas de torrents y servidor de ficheros

Objetivos del proyecto
  • disponer de un servidor de ficheros doméstico ultra-barato
  • utilizar el servidor para descargar automáticamente series utilizando bittorrent y rss
Esta guía está totalmente basada en esta:
http://www.luminaria.cc/en/dd-wrt-home-server-part-2-bittorrent-client-and-safe-unmount/ , un fenómeno el tío.

Instalación de dd-wrt

El mejor sustituto del firmware del router para estos propósitos es dd-wrt. Digo esto porque es la que más routers soporta y la más utilizada, pero hay otras variantes. Para comprobar la compatibilidad de dd-wrt con tu router:

http://www.dd-wrt.com/wiki/index.php/Supported_Devices

si tu router no está ahí, olvídate. Si sí está, entonces podrás encontrar explicaciones (con suerte) por el wiki o los foros. 

Preparación del disco USB
Necesitamos que al router se le pueda conectar un disco USB. Por varios motivos: primero porque si no la memoria del router será insuficiente para instalar software, y además porque lo utilizaremos como servidor doméstico y para las descargas .

Necesitaremos crear al menos una partición ext3 en el disco usb. Lo mejor será crear 3, y así una será para el software (/opt) otra para el swap y otra para los datos (/mnt). Teóricamente la de los datos puede ser ntfs, pero yo no he conseguido que funcione. En mi caso excepto la swap (que es linux-swap) las otras dos son ext3. 

Para crearlas lo mejor es usar un pc con linux y gparted (sirve un livecd). En esta guía se explican muchas de las cosas que cuento yo aquí, y en concreto la forma de preparar el disco está aquí: http://www.luminaria.cc/en/dd-wrt-home-server-part-2-bittorrent-client-and-safe-unmount/?page=2#Preparing_the_disk. Luego el tío se lía un poco demasiado con el tema de quitar y meter el disco, yo no me he liado tanto.

Conectar disco, y habilitar en Services >> USB >> Usb Support el "Usb Storage Support" (con automatic drive mount, parece funcionar) y Disk Mount Point "/opt". Él únicamente montará la primera partición. Para montar más (las particiones disponibles están en /dev/discs/disc0), por ejemplo, en mi caso:

          mount -t ext3 /dev/discs/disc0/part4 /mnt

(es buena idea poner este comando en Administration >> Commands >> Startup)

Habilitar Samba
Habilitando SAMBA ya tendremos nuestro servidor doméstico. Simplemente en Services >> NAS >> Filesharing habilitamos las opciones. Super sencillo, yo no me maté nada:
  •   Server String = nombreDelServidor
  •   Workgroup = WORKGROUP
  •   Path to files = /mnt
  •   Public Share = enable
Instalar Optware
Paquetes de software adicionales al dd-wrt que ya podemos instalar, porque tenemos espacio de sobra, y que nos permitirán la descarga de torrents. 

Nos conectamos por telnet al router

   telnet 192.168.1.1 (la ip del router)

Nos bajamos el script de instalación y lo ejecutamos:

    wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O /tmp/optware-install.sh
   sh /tmp/optware-install.sh 
     
¿Cómo averiguar qué paquetes hay disponibles?
    
   /opt/bin/ipkg-opt list 



Instalamos Transmission:
   /opt/bin/ipkg-opt -verbose_wget install transmission
Para arrancarlo: (es buena idea poner esto en Administration - Commands -  Startup) 
   /opt/bin/transmission-daemon -g /opt/etc/transmission-daemon

Para pararlo:
   killall transmission-daemon
Para configurar Transmission: La primera vez que lo arrancamos, crea automáticamente el fichero de configuración en /opt/etc/transmission-daemon/settings.json. Algunas cosas interesantes de configurar:
 - download-dir (donde dejará las descargas)
 - incomplete-dir (donde almacenará temporalmente las descargas, mientas no acaben)
 - incomplete-dir-enabled (para habilitar el "incomplete-dir", si no utiliza download-dir)
 - rpc-enabled (para habilitar el acceso remoto)
 - rpc-whitelist y rpc-whitelist-enabled para limitar las ips que se pueden conectar)
 - speed-limit* para controlar los límites de velocidad de descarga y subida

Se puede utilizar el Transmission con http://192.168.1.1:9091 (ip-del-router:rpc-port) o con el comando "transmission-remote". Por ejemplo, para añadir un torrent:

  transmission-remote -a untorrent.torrent
 
 

Habilitar el swap
Como no estoy muy seguro de si me llegará siempre la memoria, habilité una partición de swap. Normalmente no hace falta, pero por si acaso:

Instalamos busybox (para poder disponer del comando "swapon")

  /opt/bin/ipkg-opt install busybox

Ejecutamos el comando swapon

  /opt/bin/busybox swapon /dev/discs/disc0/part3

  
Obviamente necesitamos tener una partición formateada como linux swap en el disco. Para saber cómo vamos de memoria: el comando "free" nos lo dice. 

Automatizar la descarga de torrents
Para descargar torrents (o podcasts o cosas así...) utilizaremos "castget"  

Lo primero, lo instalamos:
  /opt/bin/ipkg-opt install castget

Castget necesita que creemos un fichero "/tmp/root/.castgetrc" en el que configuraremos los feeds que nos interesan y, para cada feed, le indicaremos dónde guardar los ficheros. Es el típico fichero con secciones. Cada feed debe ir en su sección. Ejemplo:

  [seccion 1]
  url=http://showrss.karmorra.info/feeds/378.rss
  spool=/mnt/downloads/torrents-dropped

Como la carpeta /tmp/root se borra cada vez que se reinicia el router , es necesario poner en el script de arranque un comando que lo copie de alguna parte. Lo mismo pasa con la carpeta "/tmp/root/.castget" que usa el castget para recordar lo que ya se ha descargado previamente. Si no la guardamos en alguna parte, al reiniciar se perderá:



En el script de inicio del dd-wrt he metido algo así:
  cp /mnt/castget/castgetrc.txt '/tmp/root/.castgetrc'
  mkdir '/tmp/root/.castget'
  cp /mnt/castget/*.xml '/tmp/root/.castget/'

y luego tendremos que acordarnos de guardar el xml cada vez que lo actualicemos.


Sólo falta programar con "cron" la ejecución de "castget", el guardado del xml y la adición de los ficheros torrent a transmission. Eso yo lo hago con este script:


# ------------------
# Castget
# ------------------
# actualizar torrents desde el rss
/opt/bin/castget
# guardamos porque /tmp esta en memoria
cp /tmp/root/.castget/*.xml /mnt/castget

# ------------------
# Transmission
# ------------------
# torrents se añaden al transmission
for file in /mnt/downloads/torrents-dropped/* ; do
   /opt/bin/transmission-remote -a $file
done
# los borramos que hacen feo
rm /mnt/downloads/torrents-dropped/*

# finalmente, los que ya hayan acabado, los detenemos
/opt/bin/transmission-remote -l | /bin/grep Seeding | /opt/bin/cut -d " " -f 4 | /bin/grep [0-9] | while read line
do
  /opt/bin/transmission-remote -t $line -S
done

# finalmente, los que ya hayan acabado, los detenemos
/opt/bin/transmission-remote -l | /bin/grep Seeding | /opt/bin/cut -d " " -f 3 | /bin/grep [0-9] | while read line
do
  /opt/bin/transmission-remote -t $line -S
done


el script lo guardamos en algún sitio que no se borre en los reinicios (/mnt). Hay que hacerlo ejecutable con "chmod +x script.sh" y lo planificamos con cron en Administration -- Management -- Cron. En la cajita de texto ponemos algo como esto:

  0 * * * * root /mnt/script.sh &

De esta forma se ejecutará cada hora. Para más información sobre cron:
http://www.dd-wrt.com/wiki/index.php/CRON



2011-10-01

National Geographic en el jardín II



A esta la llamamos Pili. Es una habitual del jardín. Una rápida búsqueda revela que se trata de una lagarto ocelado (http://es.wikipedia.org/wiki/Timon_lepidus) 
Posted by Picasa

2011-06-10

De baretos por Dublin

Acabamos de estar hace un rato en el temple bar, escuchando música tradicional en directo: http://yfrog.com/ngzu1z

En cada garito hay un grupo!

2011-06-08

En Dublin

En el congreso Sepg Europe 2011.

www.sei.cmu.edu/sepg/europe/2011/

2011-05-26

2011-01-16

La pausa para comer...

Los abueletes reponiendo fuerzas...

2010-12-25

markdown2word

Me he hecho una pequeña chapucilla para convertir un fichero txt con formato MarkDown directamente a Word. La idea es que es mejor primero pensar en el contenido y luego en el formato. Además a mí últimamente me ha dado por el vim.

¿qué es el Markdown? ver wikipedia y artículo de john gruber

Ventajas de markdown2word:
  • no requiere instalar Perl en windows (porque utiliza Markdown.Net) y chequea automáticamente si tienes el .net framework, y si no lo tienes se lo baja
  • es un comando con un único parámetro: el nombre del fichero txt
Desventajas:
  • es un poco chapucero: en realidad crea un html que se llama igual que el txt y luego lo abre en el word y lo guarda con formato docx

2010-10-20

En Salamanca


Dando un paseo por la universidad, a ver si se nos pega algo...

2010-08-08

Nueva version de la ducha solar

Ducha solar 2.0: La he probado hace un rato y el agua sale totalmente caliente, y como se puede mezclar con la fria puede durar muchisimo. Estan previstas algunas mejoras para la v2.1.

2010-07-23

2009-12-23

utilidades mac

Las verdaderamente imporantes son gratuitas:

Internet:

  • Adium: mensajeria instantánea (compatible con MS Messenger, GTalk, etc...) gratuito. Muy recomendable acompañarlo de Growl
  • NetNewsWire: noticias vía RSS: se sincroniza automáticamente con Google Reader
  • El Safari no lo soporté hasta que le metí:
    • Glims: añade funcionalidades variadas (pantalla completa, cuadro de búsqueda, etc...)
    • LastPass: almacena las passwords y las sincroniza entre todos los navegadores y sistemas operativos
    • Xmarks: almacena los favoritos y los sincroniza entre todos los navegadores y sistemas operativos
  • Evernote: para anotar cosas: se sincroniza con cualquier cosa (incluyendo móviles)

El programa de correo que trae (mail) es suficiente para un uso básico. Si usas mucho el correo yo probaría el Thunderbird.

Por supuesto, Firefox también es una buena opción como navegador, pero yo al final me he quedado con el Safari “tuneado”

Multimedia

  • Seashore: a veces hace falta un pequeño editor de imágenes, tipo "paint".
  • VLC: reproduce cualquier cosa (audio vídeo, etc...) y para un portátil es ideal. Para un uso del PC como “media center” yo uso PLEX, que es una maravilla.
  • Perian: plug-in para el Quicktime para que reproduzca divx, xvid, etc...

Utilidades

  • iStatPro: es un "widget" del "dashboard" que te permite ver datos del sistema: uso de cpu, memoria, estado de la batería, etc...


2009-11-09

Macros para Outlook: nueva versión y sourceforge

He actualizado con algunas mejoras las macros que uso para organizar el correo con el Outlook. Básicamente:
- si el correo no tiene categorías, se le piden al usuario y si ya tiene no
- las categorías que tenga un correo se añaden al asunto del mismo al archivarlo (por si se pierden en algún momento, por ejemplo Vaults y cosas de esas...)
- el código esta un poquillo mejor estructurado, pero sigue siendo chapucero

Lo que mola es que lo he licenciado con GPLv3 y lo he dado de alta en SourceForge, para probar un poco el sistema. Tiene buena pinta; así de gratis te dan:
- subversion
- servidor de ficheros (para que la gente se descargue el proyecto)
- foros
- aplicación de incidencias y solicitudes
- gestión de usuarios
- página web en la que puedes poner lo que quieras

Estupendo. Por cierto, el "proyecto" es este:
https://sourceforge.net/projects/macrosdeoutlook/
http://macrosdeoutlook.sourceforge.net/

2009-08-06


El teatro colón

2009-06-29

Yo también tuve un Walkman

Y uno bastante bueno, por cierto... hoy he leído este artículo en wired sobre un chaval de 13 años al que le proponen cambiar el ipod por un Walkman y claro, el chaval alucina.

Jeje... tampoco era tan grande:





2009-05-04

Funciones útiles para el Outlook (GTD)

Algunas macros que estoy utilizando; básicamente hay 3 botones:
  • "al archivo" --> mueve el correo a la carpeta de archivo
  • "ahora no" --> mueve el correo a la carpeta de "pendiente" y crea una tarea relacionada
  • "a la espera" --> mueve el correo a la carpeta de "a la espera" prefijando el asunto con el nombre de la persona por la que esperamos
Tengo todo el código en un único módulo:


Attribute VB_Name = "Módulo1"


' ****************************
' ****************************
' ** Botones **
' ****************************
' ****************************

Public Sub ArchivarMensaje()
MoverMensajeSeleccionado "Carpetas Personales\Archivo\Proyectos", False
End Sub


Public Sub AhoraNo()
'MoverMensajeSeleccionado "Carpetas Personales\01 Pendiente", True
CrearTareaAPartirDeCorreo ("Carpetas Personales\01 Pendiente")
End Sub


Public Sub ALaEspera()

Dim esperandoPor As String

esperandoPor = InputBox("¿esperando por quién?", "Por quien espera este tema?")
MoverMensajeSeleccionado "Carpetas Personales\02 A la espera", True, "[" & esperandoPor & "] "

End Sub




















' ******************************
' ******************************
' ** Funciones principales **
' ******************************
' ******************************


Private Sub MoverMensajeSeleccionado(carpeta As String, pasarACarpetaDestino As Boolean, Optional concatenaEstoAlPrincipio)

Dim olApp As Outlook.Application
Dim olExp As Outlook.Explorer
Dim olMessage As MailItem
Dim fldCurrent As Outlook.MAPIFolder
Dim fldDestino As Outlook.MAPIFolder
Dim cntSelection As Integer
Dim i As Integer


Set olApp = Outlook.CreateObject("Outlook.Application")
Set olExp = olApp.ActiveExplorer


cntSelection = olExp.Selection.Count

For i = 1 To cntSelection

Set olMessage = olExp.Selection.Item(i)
Set fldCurrent = olExp.CurrentFolder
Set fldDestino = GetFolder(carpeta)

'olMessage.ShowCategoriesDialog


If Not IsMissing(concatenaEstoAlPrincipio) Then
olMessage.Subject = concatenaEstoAlPrincipio & " " & olMessage.Subject
olMessage.Save
End If

olMessage.Move fldDestino

Next

If pasarACarpetaDestino Then
Set olExp.CurrentFolder = fldDestino
End If

End Sub









Public Sub CrearLINKMensaje()

Dim olApp As Outlook.Application
Dim olExp As Outlook.Explorer
Dim olMessage As MailItem

Set olApp = Outlook.CreateObject("Outlook.Application")
Set olExp = olApp.ActiveExplorer
Set olMessage = olExp.Selection.Item(1)


Dim ClipBoard As String

ClipBoard = "Outlook:" + olMessage.EntryID

Set DataO = New DataObject
DataO.Clear
'Data0.SetData DataFormats.HTML, ClipBoard
DataO.SetText ClipBoard
DataO.PutInClipboard

End Sub









Private Sub CrearTareaAPartirDeCorreo(carpetaPendientes As String)

Dim fldDestino As Outlook.MAPIFolder
Dim olApp As Outlook.Application
Dim olExp As Outlook.Explorer
Dim olMessage As MailItem
Dim olTask As Outlook.TaskItem
Dim newolMessage As MailItem

Set fldDestino = GetFolder(carpetaPendientes)

Set olApp = Outlook.CreateObject("Outlook.Application")
Set olExp = olApp.ActiveExplorer



'El correo (o correos) actualmente seleccionados...

Dim cntSelection As Integer
cntSelection = olExp.Selection.Count

If (cntSelection = 1) Then


'...se mueve a la carpeta de "Pendientes"
Set olMessage = olExp.Selection.Item(1)
Set newolMessage = olMessage.Move(fldDestino)

'y se crea una tarea a partir de él a la que se la adjunta el enlace al correo
Set olTask = olApp.CreateItem(olTaskItem)

'asunto
olTask.Subject = olMessage.Subject

'contenido
InsertLinkToMessage olTask, newolMessage

'categorias
olTask.Categories = olMessage.Categories

olTask.Display

Else
MsgBox "solo uno, por favor"

End If



End Sub



























' ********************************
' ********************************
' ** Utilidades de bajo nivel **
' ********************************
' ********************************


Private Function GetFolder(strFolderPath As String) As MAPIFolder
' folder path needs to be something like
' "Public Folders\All Public Folders\Company\Sales"
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim colFolders As Outlook.Folders
Dim objFolder As Outlook.MAPIFolder
Dim arrFolders() As String
Dim i As Long
On Error Resume Next

strFolderPath = Replace(strFolderPath, "/", "\")
arrFolders() = Split(strFolderPath, "\")
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objFolder = objNS.Folders.Item(arrFolders(0))
If Not objFolder Is Nothing Then
For i = 1 To UBound(arrFolders)
Set colFolders = objFolder.Folders
Set objFolder = Nothing
Set objFolder = colFolders.Item(arrFolders(i))
If objFolder Is Nothing Then
Exit For
End If
Next
End If

Set GetFolder = objFolder
Set colFolders = Nothing
Set objNS = Nothing
Set objApp = Nothing
End Function





Private Sub RenombrarTituloSegunCategorias()

Dim olApp As Outlook.Application
Dim objCat As Category
Dim cat As String
Dim olTask As TaskItem

Set olApp = Outlook.CreateObject("Outlook.Application")
Set olTask = olApp.ActiveInspector.CurrentItem

categoriasArr = Split(olTask.Categories, ";")

For i = 0 To UBound(categoriasArr)
cat = categoriasArr(i)
If Mid(cat, 1, 4) = "Prj:" Then
olTask.Subject = "[" & Mid(cat, 5) & "] " & olTask.Subject
End If
Next

End Sub





Sub InsertLinkToMessage(task As Outlook.TaskItem, msg As Outlook.MailItem)

Dim objInsp As Outlook.Inspector
' requires reference to Microsoft Word library
Dim objDoc As Word.Document
Dim objSel As Word.Selection
Dim objParagraph As Word.Paragraph

Dim olAtt As Outlook.Attachment
Dim strAdjuntos As String


strLink = "Outlook:" & msg.EntryID
strLinkText = "Mensaje original"
Set objInsp = task.GetInspector
Set objDoc = objInsp.WordEditor
Set objSel = objDoc.Windows(1).Selection


If msg.BodyFormat <> olFormatPlain Then

' ¿tiene adjuntos?
strAdjuntos = ""
For Each olAtt In msg.Attachments
strAdjuntos = olAtt.FileName & "; "
Next


objDoc.Range.Text = vbCrLf & _
"De: " & msg.SenderName & vbCrLf & _
"Asunto: " & msg.Subject & vbCrLf & _
"Recibido: " & msg.ReceivedTime & vbCrLf & _
"Adjuntos: " & strAdjuntos & vbCrLf & vbCrLf & _
msg.Body & vbCrLf
objDoc.Range.Font.Shrink
objDoc.Range.Font.Shrink
objDoc.InlineShapes.AddHorizontalLineStandard objSel.Range
objSel.Range.Text = vbCrLf & vbCrLf & vfCRLF & vbCrLf & vfCRLF
'objParagraph = objDoc.Paragraphs.Add(objSel.Range)
'objParagraph.Range.Text = vbCrLf
objDoc.Hyperlinks.Add objSel.Range, strLink, _
"", "", strLinkText, ""
Else
objSel.InsertAfter strLink
End If


Set objInsp = Nothing
Set objDoc = Nothing
Set objSel = Nothing
End Sub






Private Function GetMsgDetails(Item As MailItem, Details As String) As String

If Details <> "" Then
Details = Details + vbCrLf
End If
Details = Details + Item.Subject + vbCrLf
Details = Details + "Outlook:" + Item.EntryID + vbCrLf

GetMsgDetails = Details

End Function

2009-01-26

SOW: Cómo permitir que desde una página de la intranet se abra un fichero local

A partir de windows XP SP2 el Internet Explorer (y sólo el Internet Explorer, no los controles basados en él, como el que se utiliza en of2k…) considera “Mi PC” como una zona más, que es además más restringida que las otras zonas (intranet local, internet, etc…).

Para permitir la navegación “entre zonas” es necesario cambiar a “0” el valor de la clave 2101 de la zona que corresponda, en nuestro caso la 0. La configuración de las zonas en el registro está en:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones

(a continuación copiado de http://support.microsoft.com/kb/182569 )

The Zones key contains keys that represent each security zone that is defined for the computer. By default, the following five zones are defined (numbered zero through four):

Value Setting

------------------------------

0 My Computer

1 Local Intranet Zone

2 Trusted sites Zone

3 Internet Zone

4 Restricted Sites Zone

Note By default, My Computer does not appear in the Zone box on the Security tab.

Each of these keys contains the following DWORD values that represent corresponding settings on the custom Security tab.

Note Unless stated otherwise, each DWORD value is equal to zero, one, or three. Typically, a setting of zero sets a specific action as permitted, a setting of one causes a prompt to appear, and a setting of three prohibits the specific action.

Value Setting

----------------------------------------------------------------------------------

1001 ActiveX controls and plug-ins: Download signed ActiveX controls

1004 ActiveX controls and plug-ins: Download unsigned ActiveX controls

1200 ActiveX controls and plug-ins: Run ActiveX controls and plug-ins

1201 ActiveX controls and plug-ins: Initialize and script ActiveX controls not marked as safe for scripting

1206 Miscellaneous: Allow scripting of Internet Explorer Web browser control ^

1207 Reserved #

1208 ActiveX controls and plug-ins: Allow previously unused ActiveX controls to run without prompt ^

1209 ActiveX controls and plug-ins: Allow Scriptlets

120A ActiveX controls and plug-ins: Display video and animation on a webpage that does not use external media player ^

1400 Scripting: Active scripting

1402 Scripting: Scripting of Java applets

1405 ActiveX controls and plug-ins: Script ActiveX controls marked as safe for scripting

1406 Miscellaneous: Access data sources across domains

1407 Scripting: Allow Programmatic clipboard access

1408 Reserved #

1601 Miscellaneous: Submit non-encrypted form data

1604 Downloads: Font download

1605 Run Java #

1606 Miscellaneous: Userdata persistence ^

1607 Miscellaneous: Navigate sub-frames across different domains

1608 Miscellaneous: Allow META REFRESH * ^

1609 Miscellaneous: Display mixed content *

160A Miscellaneous: Include local directory path when uploading files to a server ^

1800 Miscellaneous: Installation of desktop items

1802 Miscellaneous: Drag and drop or copy and paste files

1803 Downloads: File Download ^

1804 Miscellaneous: Launching programs and files in an IFRAME

1805 Launching programs and files in webview #

1806 Miscellaneous: Launching applications and unsafe files

1807 Reserved ** #

1808 Reserved ** #

1809 Miscellaneous: Use Pop-up Blocker ** ^

180A Reserved #

180B Reserved #

180C Reserved #

180D Reserved #

1A00 User Authentication: Logon

1A02 Allow persistent cookies that are stored on your computer #

1A03 Allow per-session cookies (not stored) #

1A04 Miscellaneous: Don't prompt for client certificate selection when no

certificates or only one certificate exists * ^

1A05 Allow 3rd party persistent cookies *

1A06 Allow 3rd party session cookies *

1A10 Privacy Settings *

1C00 Java permissions #

1E05 Miscellaneous: Software channel permissions

1F00 Reserved ** #

2000 ActiveX controls and plug-ins: Binary and script behaviors

2001 .NET Framework-reliant components: Run components signed with Authenticode

2004 .NET Framework-reliant components: Run components not signed with Authenticode

2100 Miscellaneous: Open files based on content, not file extension ** ^

2101 Miscellaneous: Web sites in less privileged web content zone can navigate into this zone **

2102 Miscellaneous: Allow script initiated windows without size or position constraints ** ^

2103 Scripting: Allow status bar updates via script ^

2104 Miscellaneous: Allow websites to open windows without address or status bars ^

2105 Scripting: Allow websites to prompt for information using scripted windows ^

2200 Downloads: Automatic prompting for file downloads ** ^

2201 ActiveX controls and plug-ins: Automatic prompting for ActiveX controls ** ^

2300 Miscellaneous: Allow web pages to use restricted protocols for active content **

2301 Miscellaneous: Use Phishing Filter ^

2400 .NET Framework: XAML browser applications

2401 .NET Framework: XPS documents

2402 .NET Framework: Loose XAML

2500 Turn on Protected Mode [Vista only setting] #

2600 Enable .NET Framework setup ^

{AEBA21FA-782A-4A90-978D-B72164C80120} First Party Cookie *

{A8A88C49-5EB2-4990-A1A2-0876022C854F} Third Party Cookie *

* indicates an Internet Explorer 6 or later setting

** indicates a Windows XP Service Pack 2 or later setting

# indicates a setting that is not displayed in the user interface in Internet Explorer 7

^ indicates a setting that only has two options, enabled or disabled