6 puntos por GN⁺ 2024-03-05 | 1 comentarios | Compartir por WhatsApp
  • Puter es una computadora de internet open source lanzada tras alcanzar 1 millón de usuarios; puede alojarse por cuenta propia y está diseñada para ser rica en funciones, rápida y escalable
  • Los usuarios pueden usar apps como Notepad, Voice Recorder, Spreadsheet y Camera en un solo lugar, con el objetivo de ofrecer un entorno digital todo en uno para trabajar, crear y jugar
  • Los desarrolladores pueden crear apps web y juegos usando AI, Cloud Storage, Database y Serverless Workers, publicarlos en la App Store para llegar a usuarios y monetizarlos
  • Las formas de ejecución se dividen en desarrollo local, self-hosting para Linux/macOS y Windows, y uso del servicio alojado puter.com
  • Todo el repositorio y sus subproyectos, módulos y componentes siguen la licencia AGPL-3.0, salvo que se indique lo contrario; las bibliotecas de terceros incluidas pueden estar sujetas a sus propias licencias

Qué ofrece Puter

  • Puter es una computadora de internet open source avanzada, diseñada para poder alojarse por cuenta propia
  • Su objetivo es ofrecer un entorno rico en funciones, rápido y con alta escalabilidad
  • La demo en vivo está disponible en Puter.com

Entorno para usuarios

  • Puter busca ofrecer, bajo un mismo techo, las apps y funciones necesarias para trabajar, crear y jugar
  • Algunas apps de ejemplo son:
  • Desde la perspectiva del usuario, apunta a ser una solución todo en uno para la vida digital

Plataforma para desarrolladores

  • Puter ofrece las funciones necesarias para crear y desplegar apps web y juegos
  • Las áreas que ofrece son:
  • Después de crear una app, se puede publicar en la App Store para llegar a usuarios y monetizarla

Formas de ejecución y despliegue

Canales de soporte y licencia

  • Los reportes de bugs y las solicitudes de funcionalidades se reciben mediante issues de GitHub
  • Los canales de comunidad y contacto incluyen Discord, X, Reddit, Mastodon y correo electrónico
  • Los problemas de seguridad o reportes de abuso pueden enviarse a security@puter.com
  • El repositorio y sus subproyectos, módulos y componentes siguen la licencia AGPL-3.0, salvo que se indique lo contrario
  • Las bibliotecas de terceros incluidas en el repositorio pueden estar sujetas a las licencias propias de cada biblioteca

Documentos traducidos

  • El README ofrece traducciones a varios idiomas
  • La lista de traducciones incluye Arabic, Chinese, English, French, German, Hindi, Japanese, Korean, Portuguese, Spanish, Vietnamese, entre otros
  • El documento traducido al coreano está disponible como Korean / coreano

1 comentarios

 
GN⁺ 2024-03-05
Comentarios de Hacker News
  • Alguien subió Half-Life/Xash3D como app de Puter: https://puter.com/app/half-life-c3j01ag3pyd
    Parece que usa el build de abajo alojado en GitHub.io: https://github.com/Pixelsuft/hl

    • Me pregunto cuál es el impacto en seguridad. Abrí una URL cualquiera y se ejecutó una aplicación cualquiera dentro del escritorio del Internet OS
      Por ejemplo, no sé qué pasaría si alguien te da un enlace a un roba-contraseñas malicioso, y estaría bien que hubiera un sistema de permisos
    • Sinceramente, estoy muy sorprendido. Hasta los gráficos y el audio simplemente funcionan bien
      He visto muchos demos de escritorios dentro del navegador a lo largo de los años, pero esto es la primera vez, y me impresiona en varios sentidos
    • No logro pasar del menú, me pregunto si solo me pasa a mí
  • Por fin se cerró el círculo. Ahora obviamente quiero usar un navegador dentro de Puter: navegador dentro de navegador dentro de OS dentro de OS dentro de máquina virtual
    Me deja aturdido que, por evitar que el usuario instale software, se haya llevado el concepto de documento de marcado hasta este extremo para llegar a este resultado

    • The Birth & Death of JavaScript: https://www.destroyallsoftware.com/talks/the-birth-and-death...
    • Murieron millones para que otras personas no tuvieran que usar ropa rasposa
      La conveniencia es la fuerza más poderosa de la humanidad
    • Si piensas en la esencia de la web, da mucha pena que una página no actúe más a menudo como un navegador que recorre varios sitios
      Que las páginas en su mayoría solo se conecten a su propio servidor es muchísimo menos de lo que la arquitectura web podría haber sido, y no es más que volver a aceptar el pasado
      Intentos como Solid de Tim Berners-Lee parecen un excelente primer paso. Los distintos clientes de Mastodon que pueden ejecutarse como PWA son a la vez ejemplo y contraejemplo: la página puede conectarse a cualquier parte, pero al final un servidor del Fediverso es quien la intermedia y la conecta con el mundo
      Con los lectores de RSS pasa lo mismo: se conectan a su casa para conectarse con el mundo. En cambio, parecería posible que el cliente saliera directamente hacia afuera, y entonces actividades como leer, explorar y rastrear marcadores podrían volver a enviarse a casa o almacenarse de otra manera
    • Pero entonces, ¿el navegador sobre Puter puede ejecutar Puter?
  • Personalmente, la plataforma Puter tiene muchísimo potencial y como desarrollador ya me está dando un gran valor
    Con puter.js pude agregar almacenamiento en la nube completo al editor de diseño https://studio.polotno.com/ sin tocar autenticación, backend ni base de datos

    • De acuerdo. Esto realmente abre posibilidades muy interesantes
      Según lo que entendí a partir de la documentación de puter.js [1], la idea funciona así: si estás haciendo una app de frontend a la que le vendría bien tener almacenamiento en la nube, puedes invocar puter.js como si fuera el “backend”
      No tienes que preocuparte por la autenticación de usuarios, porque puter.js automáticamente pide crear una cuenta o iniciar sesión, y también gestiona la administración y el costo del almacenamiento en la nube por usuario. Si se supera el límite gratuito, también le pide al usuario que pague
      Todavía no he usado puter.js en la práctica, pero si lo entendí bien, es un modelo potente. Para un desarrollador de apps de nicho cuyo objetivo no es monetizar, parece una forma bastante razonable de pasar el costo del almacenamiento en la nube al usuario final mientras también reduce el esfuerzo de desarrollo
      [1] https://docs.puter.com/
    • ¿Podrías explicar con un poco más de detalle cómo te ayudó Puter?
    • Me gusta esta idea
      Si alguien combinara aquí Supabase + Postgrest o Hasura con un panel de administración visual sencillo, podría convertirse en una plataforma integral fácil de acceder y desplegar
  • Ridículamente genial. Incluso en pantalla móvil se ve bastante fluido
    ¿jQuery? No puedo imaginar lo difícil que debe ser mantener esto sin que se rompa con cambios mínimos. Mis respetos por haber gestionado esto con JavaScript puro y jQuery
    Personalmente, lo mejor de React es que no tienes que preocuparte de que una línea de jQuery escondida en algún rincón haga algo raro difícil de rastrear y termine rompiendo el DOM o los event handlers

    • Con jQuery o manipulando el DOM directamente es fácil meterse el pie, pero tampoco es tan difícil no hacerlo. Como en la mayoría de las cosas, solo hace falta un poco de disciplina
      React tampoco es una herramienta que impida errores, y en la mayoría de los casos no me parece que valga la pena asumir la complejidad extra
    • Vaya, no sé si cuando salió antes miré el DOM. Di por hecho que algo así estaría hecho dibujando píxeles en Canvas
      Si de verdad está hecho con elementos HTML, es impresionante
  • Me piqué un buen rato jugando con esto. Me confundí cuando, al instalar una extensión en VSCode, el enlace del repositorio no se abrió como una pequeña browser inception, pero para ese momento ya esperaba totalmente que pasara
    Está muy bien hecho

    • Pronto vamos a abrir el código de la integración con VSCode
      Hacer la integración con VSCode requiere bastante trabajo, así que ojalá le sirva a la comunidad
  • Me gusta
    Estaría bien que ~ se mapeara al directorio home. Por ejemplo: cd ~/Desktop
    Es difícil cambiar el tamaño de las ventanas. En la práctica solo hay 1 píxel para agarrar el borde derecho
    Estaría bien que al imprimir con cat en la terminal hubiera una nueva línea al final del texto. El prompt aparece en la misma línea que la salida de cat
    También hace falta copiar y pegar desde el portapapeles a la instancia de Puter
    ¿Cómo se instala Python aquí?

    • Hay un repositorio aparte donde se pueden reportar problemas relacionados con el shell: https://github.com/HeyPuter/phoenix/issues
      Si no hay una nueva línea al final del archivo, cat empieza a escribir el prompt justo después de la última línea, que es el comportamiento esperado en sh o bash
      Más adelante se podría mejorar poniendo una indicación de “sin nueva línea” en la línea del prompt
  • Todo es divertido hasta que intentas cerrar una ventana virtual, presionas por reflejo ctrl-w y terminas cerrando la pestaña del navegador donde estaba corriendo esa ventana

    • Definitivamente falta algo como window.onbeforeunload = () => "Are you sure you want to close this browser tab", o habría que interceptar por completo la entrada del teclado para que no intente cerrar la pestaña
      El mismo problema existe con todos los atajos del navegador que se usan dentro del OS
  • De niño soñaba con ir de un kiosco a otro llevando una memoria USB, que todavía ni siquiera se había inventado, y que gracias a mi llave personalizada un OS estándar cargara mi instancia específica
    Esto se ve bastante cerca de esa idea, y es realmente genial que incluya una demo lo suficientemente completa como para disfrutarla. También está muy bueno que lo hayan construido y publicado dedicándole tanto tiempo y pasión, y que sea open source, porque podría inspirar a alguien a hacer un kiosco que cargue este sitio por defecto

    • Hace casi 20 años, cuando trabajaba en IT, usé algo parecido con una herramienta llamada BartPE. Permitía crear un entorno WinPE personalizado booteable desde una unidad USB
      Como alguien que después terminó haciendo uno de estos “escritorios web”, puede que cosas como BartPE hayan sido una fuente de inspiración hasta cierto punto
    • Lo que de verdad quiero es una imagen de arranque por red y almacenamiento remoto que pueda montar al instante en cualquier computadora
      Lo único que hace falta es un identificador de seguridad como una YubiKey para unir todas las piezas y suficiente internet
      Se puede lograr en cierta medida con herramientas VDI como Parsec, pero sería mejor si se pudiera aprovechar el hardware local
    • Por alguna razón pensé que la Mac Mini original iba a evolucionar hacia algo de este tipo, pero claramente me equivoqué. Busqué “PC Stick” y salen varias opciones interesantes
      De verdad quisiera encontrarle un caso de uso decente a esto[0]. Con USB-HDMI podría funcionar casi de la misma forma
      0: https://store.planetcom.co.uk/collections/gemini-pda/product...
    • Samsung DeX
    • ¿Has probado Tails? https://tails.net/
  • En la documentación dice que esto puede usarse para acceso remoto a servidores y estaciones de trabajo
    ¿Cómo manejan cosas como la elevación de privilegios y el sandboxing?
    Asumo que no se refieren a administración de servidores sino a acceso remoto para cuentas de usuario, como un servidor de terminales. ¿Es así?

  • La ejecución es hermosa. Pero me decepcionó que no hubiera una app de navegador para Inception que permitiera ver Puter dentro de Puter

    • En daedalOS se puede hacer: https://dustinbrett.com/
      Y claro, también puedes jugar Doom
    • Solo abre la app de Puter: https://puter.com/app/puter
      O abre la app PuterPuter, que se incluye a sí misma: https://puter.com/app/puterputer
    • Técnicamente se podría simular con un iframe si Puter se sirviera con la política CSP frame-src correcta
      Pero para ofrecer una experiencia de navegador completa harían falta un backend y un navegador remoto