miércoles, diciembre 23, 2009
Links Azure
martes, diciembre 22, 2009
FreeMyPDF: Libera y elimina la clave de archivos PDF online
¿Cuántas veces nos encontramos con que todo ese material que necesitamos escribir se encuentra justo en un archivo PDF restringido con clave, que lamentablemente no nos permite copiar el texto para plasmarlo en un archivo de Word? Casualmente me ocurrió algo así hace un par de días y por eso decidí comenzar a buscar una solución.
FreeMyPDF es una aplicación online capaz de liberar y eliminar cualquier tipo de protección que pueda tener un archivo PDF, eliminando la clave pertinente y permitiendo su edición, copiado y otros menesteres. Esto probablemente nos ahorre muchísimo tiempo en teclear un texto, que al fin y al cabo podemos ver pero su única restricción es no poder copiarlo.
Lo único que tenemos que hacer para comenzar a distrutar del servicio, es examinar nuestro disco rígido en busca del archivo, hacer click en el botón “Do it!” y estaremos listos para poder disfrutar de nuestro archivo PDF sin clave alguna.
Si bien el proceso es totalmente gratuito, la única restricción es que los archivos no pesen más de 7MB pero es bastante extraño que sobrepasen este tamaño.
Enlace | FreeMyPDF
Fuente: DotPod
miércoles, diciembre 16, 2009
Accediendo a la cámara y al micrófono con Silverlight
martes, diciembre 15, 2009
lunes, diciembre 14, 2009
MonoTouch: .NET Development for the iPhone
Image via Wikipedia
Salio un version paga de Mono para iphone. Solo soporta C#. Pero parece muy buena.
lunes, noviembre 30, 2009
Kanban resumido
Acá hay un muy buen articulo que explica como usar Kanban en un proyecto Agile, es simple y tenes total control de la capacidad productiva a lo largo de todo el ciclo de desarrollo.
jueves, noviembre 05, 2009
12 ASP.NET MVC Best Practices
1 – Delete the AccountController
You will never use it and it’s a super-bad practice to keep demo code in your applications.
2 – Isolate Controllers from the outside World
Dependencies on the HttpContext, on data access classes, configuration, logging, clock, etc… make the application difficult (if not impossible) to test, to evolve and modify.
3 – Use an IoC Container
To make it easy to adhere to Best Practice #2, use an IoC Container to manage all that external dependencies. I use Ninject v2, but there are many around, and it’s easy to build your own if needed.
4 – Say NO to “magic strings”
Never use ViewData[“key”], but always create a ViewModel per each View, and use strongly-typed views ViewPage
. Magic strings are evil because they will never tell you whether your view is failing due to a misspelling error, while using a strongly-typed model you will get a compile-time error when there is a problem. And as bonus you get Intellisense.
5 – Build your own “personal conventions”
Use ASP.NET MVC as a base for your (or your company’s) reference architecture. Enforce your own conventions having controllers and maybe views inherit from your own base classes rather then the default ones.
6 – Pay attention to the Verbs
Even without going REST (just RESTful) use the best Http Verb for each action. Adopt the PRG Pattern (Post-Redirect-Get): show data with GET, modify data with POST.
Model’s Best Practices
7 – DomainModel != ViewModel
The DomainModel represents the domain, while the ViewModel is designed around the needs of the View, and these two worlds might be (and usually are) different. Furthermore the DomainModel is data plus behaviours, is hierarchical and is made of complex types, while the ViewModel is just a DTO, flat, and made of strings. To remove the tedious and error-prone object-mapping code, you can useAutoMapper. For a nice overview of the various options I recommend you read: ASP.NET MVC View Model Patterns.
8 – Use ActionFilters for “shared” data
This is my solution for the componentization story of ASP.NET MVC, and might need a future post of its own. You don’t want your controllers to retrieve data that is shared among different views. My approach is to use the Action Filters to retrieve the data that needs to be shared across many views, and use partial view to display them.
View’s Best Practices
9 – Do NEVER user code-behind
NEVER
10 – Write HTML each time you can
I have the option that web developers have to be comfortable writing HTML (and CSS and JavaScript). So they should never use the HtmlHelpers whose only reason of living is hiding the HTML away (likeHtml.Submit or Html.Button). Again, this is something that might become a future post.
11 - If there is an if, write an HtmlHelper
Views must be dumb (and Controllers skinny and Models fat). If you find yourself writing an “if”, then consider writing an HtmlHelper to hide the conditional statement.
12 – Choose your view engine carefully
The default view engine is the WebFormViewEngine, but IMHO it’s NOT the best one. I prefer to use theSpark ViewEngine, since it seems to me like it’s more suited for an MVC view. What I like about it is that the HTML “dominates the flow and that code should fit seamlessly” and the foreach loops and if statements are defined with “HTML attributes”.
Download the slides and demo
Both the slides and the demo code are available for download.
Source: CodeClimbber
lunes, septiembre 07, 2009
12 Tips To Speed-up Your Windows Forms Applications
- Reduce modules loaded by your application to increase start-up time. Remove all references from your project that are not used. Click here to read MSDN article on that on other techniques.
- Pre-compile your assemblies using NGEN when appropriate to decrease start-up time. Click here to read my short post with guidelines on when to consider doing this.
- Use native C++ Splash Screen that shows up immediately when your application is started. This will make your application appear to load faster. Click here to read and download C++ project with native splash screen. Native splash screens have such small memory footprint that they appear immediately.
- Don’t set BackColor=Transparent on your controls. Transparent color support in Windows Forms is terribly inefficient since it is not real transparency. Whenever you set BackColor=Transparent you incur additional Paint call on the parent control. As part of child control rendering, child control will first direct parent control to paint itself on it then child control will paint over that so it appears it is transparent. And this is repeated for every single control that has transparent background. Couple that with the next point and you have real slow-down.
- Reduce usage of gradients. Gradients whether linear or radial especially on large surfaces of screen are slow. I know they look good, but use solid colors whenever possible and you will see much better rendering performance. Especially on large panels.
- Reduce code in Form Load event. Use BackgroundWorker to offload work onto the different thread so your UI can load faster and feel snappier while you do other work.
- Delay Control Creation. Creating and populating controls takes lot of time, so if you can, delay it or do it on demand. For example, you can avoid creating controls on all pages of Tab Control right away and do so in either Appllication.Idle event or when that tab is selected from SelectedTabChanged event.
- Set DataSource last. When using data-binding set DataSource property last. If you set it before you set ValueMember or DisplayMemeber properties for bound controls, the data source will be re-queried to populate control each time these properties are set.
- Use SuspendLayout and ResumeLayout on parent controls and form to optimize layout changes. Bounds, Size, Location, Visible, and Text for AutoSize controls causes the layout changes. Note that you should call these methods when performing multiple layout changes and always on parent control of the controls that you are changing layout for.
- Use BeginUpdate and EndUpdate when adding multiple items to trees, grids and other controls that support this.
- Call Dispose() method on your forms once you are done with them. Most of the time developers forget to call Dispose() method on form they’ve shown using ShowDialog(). Make sure you always dispose your forms and controls to free up memory. Use handy using statement.
- Dispose() your graphic resources. If you are performing any custom drawing make sure you explicitly dispose your Pen, Brush, Image and other graphic resources once you are done with them. Using statement is good for this as well
viernes, julio 24, 2009
viernes, julio 17, 2009
Mejorando performance de las paginas web
Algunos Links de SEO
- una introducción a Seo de hace unos años: http://www.slideshare.net/vrottenstein/smx-expo-anlisis-seo
- Un CheatSeet: http://www.seomoz.org/user_files/SEO_Web_Developer_Cheat_Sheet.pdf
- Nuevos SEO feautures para ASP.Net 4 : http://weblogs.asp.net/gunnarpeipman/archive/2009/05/27/asp-net-4-0-seo-features-description-and-keywords.aspx
- Una herramienta (SEO Analyzer):http://abhinavsingh.com/blog/2009/06/seo-analyzer-v-12-adding-support-for-bing-along-with-google-and-yahoo/
- SEO con Flash: http://www.blog.mpcreation.pl/better-seo-for-flash/
- Practicas de SEO para principiantes: http://blog.code-purity.com/archives/2009/7/10/beginners_seo_practices/
martes, junio 23, 2009
Controles Touch para compact framework y MS Sync Framework
Demo:
mirabyte Touch Controls 1.0 for .NETCF - Exclusive Preview
- SyncComm es un proyecto de puntapié inicial, para aprender a usar Sync Services for ADO.NET 1.0 con WCF.
Pizarra de tareas virtual con el mando de la WII
El material necesario es:
- Un receptor bluetooth ($20)
- Un mando de WII ($35)
- Un rotulador infrarrojo ($18)
- El programa de Johnny Chung Lee (gratis)
En este vídeo Tommy Norman explica el montaje y el resultado.
jueves, abril 23, 2009
Para los que usan mucho la Laptop
Es un producto Argentino. Se vende por mercadolibre.
URL: http://dormilaptop.wordpress.com/
lunes, marzo 02, 2009
Asp.net mvc comprimiendo y cache
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
Nota: Does LINQ StinQ? Not with PLINQO!
Kanban en Software
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