Google Web

Mostrando entradas con la etiqueta web. Mostrar todas las entradas
Mostrando entradas con la etiqueta web. Mostrar todas las entradas

20 may 2015

EmbedIO Extras

Estos últimos días he estado trabajando en un proyecto adicional a EmbedIO para extender la funcionalidad del mismo por medio de módulos, unos interesantes y otros solo por el #LOL. Los que si valen la pena revisar, y que ya estan en Nugets son:

EmbedIO Bearer Token Module - Que permite utilizar autentificación por medio de Bearer Tokens directamente en EmbedIO con una plataforma muy similar a la que cuenta en ASP.NET. El Nuget esta disponible como EmbedIO.BearerToken.

EmbedIO Owin integration - Este paquete incluye dos maneras de trabajar la integración con OWIN:


  • Usar EmbedIO directamente como un server de OWIN y por lo tanto recibir todo el pipeline en los Modulos de EmbedIO.
  • Si no quieres cargar con todo OWIN, puedes usar modulos Middleware de OWIN directamente en EmbedIO, registrando el modulo de EmbedIO especializado.


En el sitio web de EmbedIO Extra hay ejemplos, me falta documentarlo un poco mas. El Nuget se llama EmbedIO.OWIN

14 may 2015

EmbedIO v1.0.5

EmbedIO ha estado en proceso de actualización y se han agregado mejoras (aunque hay muchas todavía en lista de espera), pero por si están interesados en detalles:


  • Se agrego soporte a async Tasks en los métodos de los WebAPI's Controllers. Que no le veo tantísima utilidad pero un fan lo pidio.
  • Se implementaron métodos de extensión para permitir trabajar el WebServer con metodos encadenados (Fluent Interface) para tu sabes:

var server = WebServer
                .CreateWithConsole(url)
                .WithLocalSession()
                .WithStaticFolderAt("c:/web");


Ya pueden encontrar el Nuget actualizado. 

25 abr 2015

Tubular 0.9.6 con generadores de código

La nueva versión de Tubular ya esta aquí con algunos cambios y mejoras sobre todo en los formularios. Pero lo mejor esta en los nuevos generadores de código tanto para Grids como Forms, que permiten generar a partir de un JSON (arreglo u objeto) o un servicio OData.

El generador interpretara el modelo para presentar un fácil diseñador de columnas o campos con opciones para extender el código AngularJS final. Y lo mejor de todo es que con un simple click se puede mandar al servicio de Plunker todos los archivos necesarios para generar un proyecto.

El generador de código para Grids se encuentra en http://unosquare.github.io/tubular/#/Generator y para Forms en http://unosquare.github.io/tubular/#/FormGenerator. De hecho también actualice la documentación y mejore un poco el diseño del sitio web.

La nueva versión ya esta en Nuget y quizás en unas horas en JsDelivr.

21 abr 2015

Novedades DEV

Ya termine una herramienta que empece en la raspberry pi, despues de morir al intentar instalar nodejs. Que dificil es tener herramientas de desarrollo actualizadas hoy en día. En fin la herramienta hace un simple backup de las imagenes publicadas en un blog de Ghost. Dado que la supuesta funcionalidad de backup que tiene no te deja bajarlas. El código se encuentra en https://github.com/geoperez/ghost_tools y es la primer herramienta que hago en NodeJS y no estoy orgulloso.

Lo que si esta quedando realmente guapo es el Tubular Web Generator que permite generar todo el markup para un grid de Tubular desde un modelo JSON, hasta te permite exportar todo tu diseño a Plunker para mandarlo a Git o que se yo.

10 abr 2015

Muriendo con CDNJS

Entonces me di cuenta que puedes meter tus propias librerias en CDNJS, y dije, porque no? Ya bajo como 600 megas del GitHub... Intentare subir tambien otras librerias que uso de dependencia y pensar como manejar las dependencias directas del CDN si que sea tan complicado.

9 abr 2015

Tubular NuGets

Tenemos nugets, y los quieres... En la cuenta de Unosquare de NuGet, estan disponibles dos.


  • Tubular - Este NuGet contiene solo el bundle de CSS y Javascript.
  • Tubular Server side - Server side incluye un assembly que permite generar los modelos de Request y Response usando System.Linq.Dynamic. Lo cual es como la mitad del trabajo.
Comentarios son siempre bienvenidos.

6 abr 2015

Tubular Nodejs

Estaba pensando en separar quizás un poco el proyecto de Tubular del codigo C# e incluir un proyecto nodejs en la solución de Visuek Studio. No he usado nodejs, pero supongo que quedaría bien y sin esfuerzo usando el servicio de OData.

Quizás pueda incluir algo en npm o así. Por cierto hay actualización en el código y en la documentación. Me acosan las dependencias. Pero usar RequireJs fue un fracaso con AngularJS.

1 abr 2015

EmbedIO + Tubular

He estado algo ocupado en GitHub, los demos de Tubular ya tienen forma y estan trabajando con OData. Como había comentado agregue un demo de EmbedIO y Tubular el cual es fácil de usar para comenzar algun pequeño sitio web con UI rápida y sencilla. Quizás haga falta un scaffolder, o similar, aunque no me gustan mucho.

Por cierto ya tengo los Nugets de Tubular, pendientes de publicar. Uno con el client-side, solamente el bundle de Javascript y CSS y otro con el server-side que incluye los helpers de Dynamic LINQ para generar los payloads. Este último trae como dependencia al client-side. En el siguiente post publico los links.

25 mar 2015

EmbedIO - Bitacora del Capitan - Fork

Para hacer los cambios que comentaba previamente de EmbedIO, decidi hace un nuevo fork en https://github.com/geoperez/embedio. Por el momento removi la dependencia a log4net, gracias, y estoy revisando que más cambios se pueden realizar.

Tuve algunos problemas con WebSockets, necesito darle un poco de tiempo para ver que es lo que esta pasando ahi. Eso y quizás pensar en algun Bearer Tokens, eso estaría muy bien.

24 mar 2015

FutureWiz

Tenía tiempo pensando en una app que no he visto antes. Cuyo concepto me queda claro en la cabeza, pero aún no he logrado descrifrar como realizar. La idea es algo sencilla:


  1. Se tiene una lista de "destinos" que se pueden definir como metas al futuro que tienen dependencias de otras metas y tienen un valor particular de necesidad de cierto recurso (dinero o tiempo)
  2. Definir los valores iniciales, reglas, del "ejercicio" que podría ser, más no limitarse, a número de dinero disponible o tiempo que podría invertirse en intervalos de tiempo.
  3. Verificar en base a las reglas cuales destinos son realizables y los que no, definir porque regla quedan fuera. Por ejemplo, cantidad de dinero acumulable no es suficiente.
  4. Representar toda la información del escenario "más probable" en base a las reglas actuales.
  5. Permitir modificar las reglas en base a recomendaciones generadas por el sistema.
Quizás no suena del todo entendible, pero la idea base es poder proyectar como invertir recursos de una forma visual. Algo entendible para cualquier simio con un browser.

Por el momento el código, que intento mantener en lo mejor hablando de visualización, esta disponible en GitHub en https://github.com/geoperez/futurewiz. Espero pronto hablar un poco más.

Sobre los detalles técnicos el sistema esta en AngularJS nada mas, pienso utilizar Google Spreadsheet como datastore, para mantenerlo todo rápido de correr en cualquier browser sin necesidad de un server. Para el almacenaje, quizás tomar en cuenta este post.

30 dic 2011

2011 - Recapitulación en código

A menos de 48 horas de terminar el 2011, me pongo a pensar en la cantidad de código inútil que tuve que arrojar para ganarme el alcohol de cada día. También código que no genero dinero, pero aún así sirve para perder el tiempo (o si lo pusiera en Linkedin para ganar "skills"). A manera de raro resumén algunos puntos:


  • Python - Creo que el "skill" que más alimente (y con profit) fue mis inicios en el desarrollo web con Python, en particular con Google App Engine. No dire que fue de mi agrado inmediato, tarde en reconocer el valor del lenguaje y la plataforma, pero se le toma cariño. Hubiera esperado más proyecto de este tipo (por el dinero también, ¿por que no?). Aunque no considero mi nivel de Python, como competitivo, me gustaría continuar el desarrollo.
  • Facebook API - De la mano con Python, estuve adentrandome en las APIs de Facebook y sus virtudes. Igual, al principio es algo extraño, sobretodo estan en medio de la migración de las API's a Graph, que la verdad es una maravilla contra FQL y el demás de API's absurdas que tenía FB antes.
  • MSOLAP - Si, fue un año rudo en cuestión de OLAP, aprendí mucho Analysis Services, y aún así me sigo sintiendo bastante novato. Estuve viendo optimizaciones, particionamiento, analisis de dimensiones, y demás brujerías que no podría explicar del todo bien, pero entiendo que hacen. Aquí si pondría un STOP, así grandote y rojo, porque no creo que quiera continuar haciendo Cubos OLAP.
  • .NET - Aquí tenemos desolación, se que hay cosas nuevas y fascinantes, pero la verdad que poco acercamiento tuve. La única excepción a considerar sería utilizar ASP.NET MVC3, pero no tanto como podría haber esperado, esta lindo el asunto pero como que no es lo mio.
  • Java - Hace poco menos de un mes, lo intente, juro que lo intente. Instale mi Android SDK, mi Eclipse, e intente leer un poco de como hacer basura en Android, pero algo paso, que lo olvide (yo digo que me bloquee a mi mismo a olvidar el tema). Quizás el siguiente año lo vea de nuevo, junto con el olvidado Objective-C (que según eso debería estar trabajandolo pero no me han dado el proyecto aún).
  • Javascript - Lo pase de noche, aprendi un poco más de JQuery, pero olvide otro tanto. No es cierto, vi un poco de Javascript de ese loco y raro en Node.js, pero no me gusto, así que lo di por cerrado el caso.
  • Ruby - Igual que arriba, lo instale, lo vi, y dije "OK nos vemos señor lenguaje japones, hasta nunca". Pido a los dioses no me toque usarlo jamás.
  • PHP - Algo paso, pero no se que, creo que deje de programar PHP por alguna mistica razón. Ya lo que hago solo es refrito de WebCore, el cual por cierto esta bastante flojo en commits.

Creo que así puedo resumir lo que vivi en código este año. Este siguiente año no creo llegar a profundizar ninguna tecnología nueva, pero bueno, tampoco esperaba tocar Python este año (sin albur).

8 oct 2010

Una palabra: l33trina

Ya estamos (Iunk y yo) más cerca de liberar nuestro PythonApp del futuro, para todos los monkeys del mundo. Preview del futuro, actualizalo seguido:

http://geek.versionβ.ws
http://news.versionβ.ws

Fin del comunicado

15 jul 2009

Firefox 3.5

Firefox en su nueva y "nada flamante" versión 3.5 se merece un destierro a los confines del abismo del olvido. ES HORRIBLE!!! Mientras escribo esto, estoy bajando Firefox anterior, dado que no puedo más, no puedo. He sido paciente, pero recibir

onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass

en medio de cada llamado AJAX, una y otra

onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass

vez comienza a convertirse en una fuerte pesadilla... Y no solo eso, claro que no, ya no tenemos soporte para Google Gear

onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass

algunos diran que eso es culpa de Google, quizás si, quizás no, pero como rompes tanto tu API de un punto zero a un punto cinco, es una verdadera falta de

onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass

respeto, como este FAIL!

Regreso despues de instalar Firefox 3.0.

PD. El nuevo Firebug si es hermoso, lo único...

onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass
onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass
onreadystatechange FAILS Error: Permission denied for to create wrapper for object of class UnnamedClass