Archivos de la etiquetas programación

Computación de Altas Prestacións

Computación de Altas Prestaciones

Computación de Altas PrestaciónsO Centro de Supercomputación de Galicia (CESGA) vai acoller os vindeiros meses de setembro e outubro unha serie de cursos de programación de HPC (siglas en inglés que designan a Computación de Altas Prestacións). O ciclo vén da man da Rede Galega de Computación de Altas Prestacións en colaboración co devandito centro galego, a Universidade da Coruña e a Universidade de Santiago. Segundo informa o CESGA, trátase dunha achega de actividades formativas de balde, encamiñadas á especialización dos nosos profesionais, profesores e estudantes na dita materia e no uso eficaz dos sistemas de HPC. Uns sistemas que, para facernos unha idea da súa importancia, están entre os recursos tecnolóxicos que sen dúbida amosan máis proxección de mercado para os vindeiros anos. De feito, a consultora IDC prognostica que a actividade produtiva da HPC medrará no seguinte lustro un 7%.

Os cursos en cuestión son os seguintes:

  • Compilación, Execución e Optimización de Programas Científicos. Datas: 9 e 10 de setembro de 2013.
  • Programación en FORTRAN 90. Datas: 11, 12 e 13 de setembro de 2013.
  • Programación paralela utilizando directivas OpenMP. Datas: 16,17,18,19 e 20 de setembro de 2013
  • Programación de GPU con CUDA. Datas: 7 e 8 de outubro de 2013.
  • Programación de Sistemas Heteroxéneos con OpenCL. Datas: 9 e 10 de outubro de 2013.
  • Introdución á programación con MPI. Datas: 21, 22, 23, 24, e 25 de outubro de 2013.

MÁS INFORMACIÓN sobre los programas de los cursos y la inscripción AQUÍ

Organiza la Red Gallega de Altas Prestaciones. En colaboración de las Universidades de A Coruña y Santiago de Composta, CESGA.

Fuente: Código Cero

Logo SQLite - Como compactar una base de datos SQLite

Compactar base de datos de SQLite

Logo SQLite - Como compactar una base de datos SQLite

El sistema de base de datos de SQLite se puede acceder desde C#, para ello disponemos de la librería  System.Data.SQLite.

En caso de que nuestra base de datos crezca mucho de tamaño pero no de datos tenemos la posibilidad de compactarla.

Para compactar una base de datos de SQLite desde C# se realiza de la siguiente manera:

using (SQLiteCommand command = m_connection.CreateCommand())

{

command.CommandText = “vacuum;”;

command.ExecuteNonQuery();

}

Para más información:

http://sqlite.org/lang_vacuum.html

 

 

RAIA.co

RAIA.co: Presente y futuro de las APPS Meteorológicas

RAIA.coLa Facultad de Química de la Universidade de Santiago acogió el encuentro de RAIA.co del que hablamos hace unos días en este post. Al encuentro asistió casi un centenar de personas, entre ellas especialistas en el uso de servicios georreferenciados en meteorología y oceanografía en Galicia, así como programadores de apps y páginas en Internet, que dieron a conocer sus productos y mostraron sus planes para el futuro.

Concluyó la jornada con una mesa redonda moderada por Jose Iglesias de Iniciador Galicia, en la que los programadores gallegos Alberto Ruibal y Sergio Martínez abordaron las oportunidades de negocio y emprendimiento empresarial que pueden aportar las colecciones de datos abiertos que están publicando distintas administraciones -un proceso de apertura aún en fase inicial- en comparación con las que ofrece el mercado más en auge en estos momentos, el de los vídeojuegos para dispositivos móviles.

PRESENTACIONES DEL WORKSHOP RAIA.CO DE 25-10-2012

Conferencia de apertura

María José García Sexto, Directora del Área de Modernización de Admin. Públicas, Xunta de Galicia. 

Servicios Georreferenciados en Meteorología y Oceanografía en Galicia

Servicios Georreferenciados: modos de acceso.  Marco Amaro Oliveira, Instituto de Engenharia de Sistemas e Computadores do Porto
API de MeteoSIX. Xurxo Méndez. Grupo Arquitectura de Computadores, UDC.
SOS de MeteoSIX. Manuel Antonio Regueiro Seoane, COGRADE, CITIUS, USC.
Thredds Meteogalicia. Breogán Gómez, Área de Predicción Numérica, MeteoGalicia.
W*. Joaquín Triñanes, Laboratorio de Sistemas, USC.
MyOcean. Sistema de Información Marítimo Europeo. Marcos García Sotillo, Área de Dinámica Costera y Portuaria, Puertos del Estado.
 

Presentaciones Relámpago de Apps y Proyectos en Producción 

MeteoSIX. Xurxo Méndez, UDC.
Playas IEO. José Manuel Cabanas, IEO.
Percebeiros. Pedro Montero, INTECMAR.
Chove? Juan Porta. 
Mareas de Galicia y Playas de Galicia. Ignacio Díaz (Café de Red).
Ondas e Vento. David Gomis (Porto da Coruña)
GaliTempo. Adrián Moreno (Zadia Software).
Playas de Galicia. Pablo Bar (AYCO).

 

Sobre el proyecto RAIA.co

El proyecto Interreg RAIA.co, Observatorio Oceánico da Marxe Ibérica, está coordinado por MeteoGalicia, organismo dependente de la Consellería de Medio Ambiente, Territorio e Infraestruturas de la Xunta de Galicia, y en él también participan el Grupo de Arquitectura de Computadores de la Universidade da Coruña (UDC), el grupo COGRADE del CITIUS de la Universidade de Santiago de Compostela (USC) y el Centro de Supercomputación de Galicia (CESGA).
RAIA.co busca dotar a MeteoGalicia de una Infraestructura de Datos Espaciales (IDE) para el acceso a datos meteorológicos y oceanográficos y crear canales de acceso a la información adecuados para el mayor número posible de usuarios.
Actualizar vínculos o enlaces externos en Access

Actualizar vínculos o enlaces externos en Access

Actualizar vínculos o enlaces externos en AccessAccess tiene la posibilidad de crear vínculos  o enlaces externos a otras fuentes de datos. Hasta aquí todo bien. El problema surge cuando movemos la base de datos a otra ubicación, porque Access guarda la ruta absoluta a las fuentes externas de datos. Para unas situaciones está bien y para otras nos hace la vida imposible sin avisar.

A continuación os muestro un código de VBA para insertar en una macro de Access para que lo podamos ejecutar cuando queramos o automáticamente cuando abramos la base de datos:

 

 

 

Option Compare Database
Option Explicit

Public Function UpdateLinks() As Boolean
    
    Dim cmdSQL As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Database As String
    Dim DirDatabase As String
    Dim RefName As String
    Dim sName As String
    Dim sLinkBegin As String
    Dim sLinkEnd As String
    Dim ID As Long
    Dim updateRef As Boolean
    
    Set db = CurrentDb()
    Database = db.Name
    DirDatabase = GetPath(CurrentDb().Name)
    
    cmdSQL = “SELECT * FROM MSysObjects WHERE Type = 6″
    Set rs = db.OpenRecordset(cmdSQL, dbOpenSnapshot)
    
    While Not rs.EOF
        ID = rs(“ID”)
        sLinkBegin = rs(“Database”)
        sName = rs(“Name”)
        RefName = Filename(sLinkBegin)
        sLinkEnd = DirDatabase & RefName
        
        updateRefFalse
        If (Not FileExists(sLinkBegin)) And FileExists(sLinkEnd) Then
            updateRefTrue
        End If
        If sLinkBegin <> sLinkEnd And FileExists(sLinkBegin) And FileExists(sLinkEnd) Then
            If VbMsgBoxResult.vbOK = MsgBox(“Actualizar referencia ” & sLinkBegin & ” por la referencia ” & sLinkEnd & “?”, vbOKCancel, “Actualizar referencias“) Then
                updateRefTrue
            End If
        End If
            
        If updateRef Then
            Herramientas> Referencias
            Añadir: Microsoft ADO Ext 2.5 (o posterior) for DDL and Security.
            objCat.Tables(sName).Type = “LINK”
            Dim objCat As New ADOX.Catalog ‘Define the ADOX Catalog Object
            objCat.ActiveConnection = CurrentProject.Connection
            objCat.Tables(sName).Properties(“Jet OLEDB:Link Datasource“) = sLinkEnd
        End If
        rs.MoveNext
    Wend
    
    rs.Close
    db.Close
End Function

Private Function GetPath(path_and_filename As StringAs String
    Dim path As String
    Dim posicionPath As Integer
    
    posicionPath = InStrRev(path_and_filename, “\”)
    path = Left(path_and_filename, posicionPath)
    GetPath = path
End Function

Private Function FileExists(Filename As StringAs Boolean
    FileExists = (Dir(Filename) > “”)
End Function

Private Function Filename(ByVal strPath As StringAs String
    If Right$(strPath, 1) <> “\” And Len(strPath) > 0 Then
        Filename = Filename(Left$(strPath, Len(strPath) – 1)) + Right$(strPath, 1)
    End If
End Function