jueves, abril 23, 2009

Para los que usan mucho la Laptop

Excelente producto! Para la gente que anda continuamente con su laptop.

Es un producto Argentino. Se vende por mercadolibre.

URL: http://dormilaptop.wordpress.com/

lunes, marzo 02, 2009

Asp.net mvc comprimiendo y cache

Dejo un link muy bueno, de como de manera simple, podemos comprimir y usar el cache en asp.net mvc. Tips muy buenos para mejorar la velocidad de nuestro sitio. También dejo como segundo link como usar los ActionFiltersAttributes en los controllers, son como aspectos de los controllers, muy buenos!

Link:
http://weblogs.asp.net/rashid/archive/2008/03/28/asp-net-mvc-action-filter-caching-and-compression.aspx

ActionFilterAttribute in ASP.NET MVC Framework




viernes, febrero 20, 2009

Pros y Contras de Linq

Dejo el link a una muy interesante nota sobre Link. Donde el flaco habla de varios pros y contras de Link. La nota tiene links para muchos tips para Linq, y también para muchas contras de Linq. Finalmente la nota termina recomendando la generación de tus objetos (ORM) con PLINQO (Professional LINQ to Objects). Que es un template para CodeSmith.

Nota: Does LINQ StinQ? Not with PLINQO!

Kanban en Software

Unas notas muy interesantes de como usar Kanban en software. Kanban es una metodología que se usa para la manufactura, y para lograr un modelo Just-in-Time. Estas notas aparentemente cuentan como usar la metodología Kanban de producción industrial, en producción de software.

Links:

jueves, febrero 05, 2009

Microsoft Semblio SDK


Microsoft Semblio SDK es sdk justamente, para facilitar la creación de contenido educativo. Todavía no ententiendo bien como funciona. Pero parace fácil, según leo usa .Net y WPF.

Links:
Guia de programacion
Download
Blog

jueves, septiembre 18, 2008

Escribiendo la Sys Layer en Ax 2009

Hoy desarrollando en el trabajo, descubrimos un BUG en Ax 2009. Si, pude escribir en la Sys layer con simples drag and drops.

A continuación pueden ver el video de como reproducirlo.

Si desean bajarlo lo pueden bajar aqui: download Video

martes, septiembre 16, 2008

.Net Model-Driven Development

Encontré dos programas muy interesantes de Model-Driven Development (ambos en beta):

nAML (.NET Application Modeling Language Specification and Tools). Este contiene lógicamente las tools que funcionan con Visio 2003 y también una buena doucumentacion, especificando el modelo, con buenos ejemplos.

URL: http://code.msdn.microsoft.com/naml

Sculpture tiene como interesante que trabaja con varias tecnologias como: DAAB, NHibernate, LINQ, WCF, ASMX, SQL Server, MYSQL..

URL: http://www.codeplex.com/Sculpture

viernes, agosto 15, 2008

12 Tips para escribir Unit Test

Una nota muy piola para conocer rápidamente los principales principios a la hora de escribir test unitarios. Nota: 12 Unit Testing Tips for Software Engineers

Tips:
1. Unit Test to Manage Your Risk
2. Write a Test Case Per Major Component
3. Create Abstract Test Case and Test Utilities
4. Write Smart Tests
5. Set up Clean Environment for Each Test
6. Use Mock Objects To Test Effectively
7. Refactor Tests When You Refactor the Code
8. Write Tests Before Fixing a Bug
9. Use Unit Tests to Ensure Performance
10. Create Tests for Concurrent Code
11. Run Tests Continuously
12. Have Fun Testing!

jueves, julio 31, 2008

Trucos y tutoriales con CSS

Hoy encontré una excelente nota con 50 trucos y tutoriales con CSS. Trucos como por ejemplo, rincones redondeados, menus circulares, Formularios, Footers, PopUp's en CSS, galería de imagenes. Y muchos más el link es: http://www.noupe.com/css/using-css-to-do-anything-50-creative-examples-and-tutorials.html

Y otro truquito para dejar fijos los divs, aunque se mueva el scroll bar.
http://www.dailycoding.com/Posts/creating_always_visible_div_using_css.aspx

lunes, julio 21, 2008

Aprendiendo X++

Hace una semana comencé a trabajar en Microsoft Dynamics AX. La realidad es que es un mundo gigante. Para los desarrolladores que quieren aprender más de negocio es ideal, ese fue mi caso. Igual por el momento, me tengo que capacitar en lo que son herramientas de desarrollo y X++ (el lenguaje de Dynamics AX). Bueno a lo largo de la capitación esta semana me tope con varios blogs y webcast.
A continuación una lista de links para aprender a desarrollar en X++:

Links:
Axapta Source
The Microsoft Dynamics AX Enterprise Portal Blog
Microsoft Dynamics AX - Arijit Basu's Blog
Aprende Dynamics
Steen Andreasen Links
mfp's two cents...on Dynamics AX Development!
Microsoft Dynamics AX UK Blog
Axaptapedia
Trucos AX
Dynamics User Group
Dynamics Mobile

Videos o Webcast:
Arvid Nielsen The Microsoft Dynamics AX Developing Environment
Arvid Nielsen How to Integrate Dynamics AX
Microsoft Dynamics Webcast: Using Development Tools to Personalize Your Microsoft Dynamics AX Solution (Level 100)

Libros encontrados en Google:

CURSO DE PROGRAMACIÓN EN DAMGAARD AXAPTA II
An introduction to Axapta X++

viernes, junio 20, 2008

Navegando el FileSystem desde Desktop a traves de RAPI

A continuación dejo un codigo para poder tomar los directorios y archivos de un dispositivo con WINCE desde una aplicación desktop, por medio de la RAPI.


[Flags]
enum FAF:int
{
FAF_ATTRIBUTES = 0x01,
FAF_CREATION_TIME = 0x02,
FAF_LASTACCESS_TIME = 0x04,
FAF_LASTWRITE_TIME = 0x08,
FAF_SIZE_HIGH = 0x10,
FAF_SIZE_LOW = 0x20,
FAF_OID = 0x40,
FAF_NAME = 0x80,
//FAF_ATTRIB_CHILDREN = 0x80,
//FAF_ATTRIB_NO_HIDDEN = &H2000,
//FAF_FOLDERS_ONLY = &H4000,
//FAF_NO_HIDDEN_SYS_ROMMODULES = &H8000,
//FAF_GETTARGET = &H10000
}

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
class CE_FIND_DATA
{
int dwFileAttributes;
int ftCreationTimeLo, ftCreationTimeHi, ftLastAccessTimeLo, ftLastAccessTimeHi;
int ftLastWriteTimeLo, ftLastWriteTimeHi, nFileSizeLo, nFileSizeHi;
int dwOID;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
string cFileName;
public override string ToString()
{
return cFileName;
}
}

public bool FindAllFiles(string szPath)
{
IntPtr pData;
int cData;
bool bresult;
Create a NEW ceFindData Structure
CeFindData[] myCeFindDataS = new CeFindData[1];
bresult = CeFindAllFiles(szPath, (int)FAF.FAF_ATTRIBUTES | (int)FAF.FAF_NAME, out cData, out pData);
if (bresult)
{
IntPtr p = pData;
for (int i=0; i< cData ;i++)
{
CE_FIND_DATA fd;
fd = (CE_FIND_DATA) Marshal.PtrToStructure(p, typeof(CE_FIND_DATA));
p = new IntPtr(p.ToInt32() + Marshal.SizeOf(typeof(CE_FIND_DATA)));
}
}
return bresult;
}

lunes, junio 09, 2008

30 días de .Net Compact Framework

Chris Craft en su blog, todos los días durante un mes, ira agregando una aplicacion escrita en .Net Compact Framework. Para demostrar que es facil escribir aplicaciones en NetCF. Hasta el momento ya creo las siguientes aplicaciones:

image image image image
Minutes to Midnight Countdown Bluetooth Manager GPS Compass Mileage Tracker
image image image image
Mobile Capture Pocket PasswordGen Mobile FX What will be next?

miércoles, junio 04, 2008

Generando una dll para Compact Framework con CodeDom

Un integrante de mi equipo de desarrollo ( Javier ), ayer logro descubrir que parametros había que ponerle a CompilerParameters, para que después el CSharpCodeProvider genere una dll de .Net Compact Framework.
A continuación dejo el código:

using System;
using System.Text;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using Microsoft.Win32;
using System.IO;
using System.CodeDom;

public partial class CompactAssembly
{

public static void CreateTestDll()
{
StringBuilder sb = new StringBuilder("");

sb.Append("namespace CSCodeEvaler{ \n");
sb.Append("public class CSCodeEvaler{ \n");
sb.Append("public object EvalCode(){\n");
sb.Append("return 1; \n");
sb.Append("} \n");
sb.Append("} \n");
sb.Append("}\n");
CompactAssembly.CompileCompactAssembly(sb.ToString(), "CodeDomGenerated.dll");
}

public static bool CompileCompactAssembly(string codeToCompile, string outAssemblyName)
{
CodeDomProvider csp = new Microsoft.CSharp.CSharpCodeProvider();
CompilerParameters cp = new CompilerParameters();
cp.OutputAssembly = outAssemblyName;
cp.GenerateExecutable = false;
cp.GenerateInMemory = false;
cp.CompilerOptions = @"/noconfig /nostdlib";
cp.ReferencedAssemblies.Add(Path.Combine(@"C:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE", "mscorlib.dll"));
CompilerResults cr = csp.CompileAssemblyFromSource(cp, codeToCompile);
return cr.Errors.Count == 0;
}
}