¿Cuál es el software más poderoso que has visto?

Hay algunas piezas de software asombroso en las que he trabajado ya sea con:

  • En Microsoft, creamos un sistema de mapeo de datos extraordinario, que ahora actúa como el núcleo de Entity Framework en el marco .NET. Es capaz de tomar dos modelos de datos diferentes y demostrar que los datos se pueden transformar de una manera bidireccional entre ellos sin pérdida de datos. Además de esto, creamos un sistema ORM muy poderoso que es el núcleo de LINQ to Entities.
  • Apache Cassandra : una de las tecnologías centrales de la web moderna a gran escala. Un almacén de datos distribuidos linealmente escalable capaz de almacenar y consultar petabytes de datos a una velocidad cegadora. Si bien a primera vista parece tener pocas funciones como base de datos, un poco de inteligencia le permite usarlo para todo, desde sistemas de chat hasta análisis en tiempo real.
  • ElasticSearch : Mientras que Cassandra limita agresivamente su capacidad de consultar datos, ElasticSearch es una base de datos distribuida que vive y respira índices de alta velocidad. También se puede usar para análisis en tiempo real, pero puede ejecutar agregados dentro del motor. También, por supuesto, puede usarse para construir motores de búsqueda de texto masivos.
  • Apache Kafka : Sorprendentemente simple en diseño, aunque complejo en sus detalles, le permite almacenar flujos de eventos de escala casi ilimitados, procesarlos en paralelo, reproducir fallas, avanzar y retroceder en el tiempo, dividir flujos de datos en múltiples destinos, etc. Un registro distribuido muy, muy poderoso.
  • Apache Spark : Por supuesto, ninguna lista de software “potente” estaría completa sin este motor, que le permite escribir código que, en su mayor parte, parece ejecutarse como una transformación funcional local estándar, pero que Spark distribuirá a través de un racimo. Capaz de aplicar el mismo modelo de procesamiento a lotes y micro lotes para transmisión, y lo suficientemente rápido como para entrenar y ejecutar modelos de aprendizaje automático. Spark patea a **.
  • Apache Drill : un motor SQL distribuido rápido y conectable. Usamos esto para habilitar consultas analíticas complejas sobre Cassandra. Pero, en realidad, se puede utilizar para realizar consultas relacionales en almacenes de datos heterogéneos. Tener su propio motor SQL distribuido casi gratis … ¿qué es más poderoso que eso?
  • No puedo dejar pasar esto sin hablar del bus de servicios empresariales de código abierto de mi propia empresa: Mule . Presentamos Mule 4 y Anypoint Studio 7 Beta. Cientos de personas han trabajado durante años en este último lanzamiento, que presenta un motor de núcleo reactivo sin bloqueo de última generación. Este es un contenedor de aplicaciones que puede integrar cualquier sistema en cualquier red. Hemos utilizado la plataforma Anypoint para modernizar una parte importante de las empresas del mundo. Lo más probable es que hayas sido parte de varias transacciones de Mule hoy.
  • Ok, una cosa súper genial más: MELD .
    Meld es una tecnología de base de datos MuleSoft que le permite empujar cargas JSON arbitrarias a una API REST y luego consultarlas con ANSI SQL. La tecnología subyacente utiliza algunos trabajos patentados de almacenamiento en columna junto con Drill y Cassandra. Es realmente mágico Puede ver a nuestro arquitecto principal de esta plataforma explicar todos los detalles aquí:

Esta pregunta probablemente debería estar fuera en el contexto del tiempo. A lo largo de los años ha habido algunas piezas de software que cambiaron la industria de la tecnología y la forma en que trabajaron muchas empresas.

Lotus 1–2–3. La primera hoja de cálculo ampliamente utilizada.

dBase II, el software de base de datos de Ashton Tate. Todavía hay clientes que usan aplicaciones creadas en esta plataforma

Autocad (Autodesk). El software de diseño asistido por computadora 2D más popular. Microstation (Bentley) también

Solidedge y Solidworks. Las primeras 2 herramientas de diseño 3D.

Novell Netware. Una de las primeras tecnologías de red de uso común.

Todas estas aplicaciones eran increíbles en el momento en que se lanzaron.

Es un software que diseñé yo mismo. Permite al usuario grabar video, cambiar entre cuatro cámaras web y micrófonos, y grabar en una transmisión de video, al igual que un estudio de televisión real. No pude lanzarlo debido a conflictos con el controlador de la cámara web (no se pueden tener ciertas marcas juntas al mismo tiempo), pero hace lo que quiero: me permite salir del género de ‘cabeza parlante’ de instrucción videos Una cámara es un visor de documentos, por lo que puedo mostrar imágenes sin grabarlas por separado.

La combinación de múltiples fuentes de video en una sola grabadora de video fue un verdadero desafío, y empuja a todas las computadoras menos las más potentes a sus límites.

Junto con un editor de video simple (uso el editor / convertidor de video freemake), me permite crear un solo video de YouTube de 15 minutos con un par de docenas de ‘cortes’, y luego combinarlos con Windows Movie Maker.

Un profesional de video se quedaría sin aliento con el vocabulario crudo que el programador y yo usamos mientras trabajaba en él, pero ninguno de nosotros sabía nada sobre la producción de video cuando comenzamos a trabajar en él, por lo que no sabíamos qué no se podía hacer, y esto Se decía que era un proyecto imposible. De hecho, cuatro programadores fallaron (pero aún así se les pagó; sus fallas fueron parte del proyecto y eso tuvo valor).

No es perfecto Tiene que hacer una pausa por un segundo cada vez que cambia de cámara, y la calidad de la imagen proviene de las cámaras web, por lo que las cámaras web baratas ofrecen una calidad de imagen de segunda categoría, pero para mí, los videos de la cámara web ahora son tomas de cuatro cámaras.

Solo tiene una configuración para el tamaño del video, y puede tener el tamaño que desee siempre que sea 640 × 480 o 1280 × 720. Puede tener cualquier formato, siempre que sea AVI. Puede tener cualquier velocidad de fotogramas, siempre que sea de 30 fps. Puede usar las cámaras web que desee, siempre que sean Logitech. Fue diseñado para ser simple, tener el número mínimo de funciones y cambiar con solo presionar un botón (F1 para la cámara uno, F2 para la cámara dos, etc.)

Hay softwares que manejan múltiples cámaras web, pero estos son para transmisión, no para grabación, y son servicios caros que debe pagar por mes.

Es la herramienta perfecta, pero todavía no soy el presentador perfecto.

Adobe solía tener un software que hacía esto, pero lo descontinuaron y todo el soporte para él. Tontos.