I’m excited to announce spark.js 0.1, now with WebGL support!
spark.js has been evolving since I released it last summer. Since then, the WebGPU ecosystem has matured considerably. WebGPU is now more stable and widely supported across browsers and platforms. However, users kept telling me the same thing: even though targeting WebGPU is practical today, most teams have codebases that still rely on WebGL, and that made adoption difficult. For that reason I committed to adding WebGL support.
This felt like the right moment to bump the version number to 0.1 and signal that spark.js is production ready, not just experimental. That said, I expect the API to continue evolving based on the features developers need and the friction points they encounter.
WebGL Support
Support for WebGL is the main feature of this update. For a long time I believed WebGL could not update the contents of a block compressed texture from the GPU. I thought it lacked support for Pixel Buffer Objects and didn’t support EXT_copy_image either, making it impossible to implement Spark without a CPU read-back. Turns out I was wrong, PBO support is there!
I’m not entirely sure where that misconception came from. I was possibly confused because PBO support in WebGL is somewhat limited compared to OpenGL. That may have been reinforced by Unity’s documentation, which reports that WebGL does not have texture copy support, making me think that these limitations imposed a more severe constraint. However, in practice, WebGL provides everything needed to implement copies from UINT textures to block-compressed textures.
That said, these copies are more expensive compared to WebGPU and native APIs like Vulkan and D3D12. In WebGPU the shader can output to a buffer and then copy its contents to the compressed texture, and in some native APIs the shader can write to the compressed texture directly. The process in WebGL is far more convoluted. Compute shaders with buffer stores and raw image copies aren’t supported, so the codec has to run as a fragment program and output compressed blocks to a render target, then copy the render target to a pixel buffer object, and the PBO to the final compressed texture. Even with this overhead, real-time compression remains practical and fast enough for most applications.
Cached Temporary Resources
Another issue I wanted to address is the driver overhead when compressing many textures. In my initial implementation I created temporary resources for each texture and destroyed them afterward. To reduce this overhead I added support for caching of the temporary resources. This is particularly critical in WebGL where you need to have both, temporary buffers and render targets.
In order to use the feature you have to opt-in when creating the spark object, and you can free the resources explicitly when done:
// Create spark object with temp resource caching enabled.
const spark = await Spark.create(device, { cacheTempResources: true })
// Load and transcode a bunch of textures at once.
const textures = await Promise.all(
imageUrls.map(url => spark.encodeTexture(url))
)
// Free cached resources.
spark.freeTempResources()
Other Features
Another way to reduce overhead is to allocate the output texture once and reuse it across updates. This is useful for textures whose contents change frequently, and can be achieved by passing the output texture as an option:
In the future I’d like to extend this option to support other use cases, for example, encoding regions of a larger texture, which would be helpful to support virtual texturing applications.
The mipmapping improvements I discussed in my previous post have now been merged. One unexpected issue I encountered is that alpha-weighting and the magic kernel did not play well together. The negative lobes of the kernel would sometimes produce zero or near zero alpha values. These would then cause fireflies when un-pre-multiplying. For now I’m using the alpha-weighted box kernel for textures with alpha. In the future, the right solution is probably to apply the sharpening filter after undoing the alpha pre-multiplication. If you’ve tackled this problem before, I’d love to hear how you approached it.
Finally, I’ve also started publishing the examples automatically with a github workflow, so you can explore them without having to checkout the repository or install the required development tools:
With WebGL support in place, I’ve updated the gltf-demo to support it. WebGL is used automatically when WebGPU is not supported, but you can also choose it explicitly using the ?renderer=webgl URL argument:
To really showcase this release, I wanted to take an existing WebGL application and add real-time texture compression, and I thought there was no better stress test than the 3D Tiles Renderer.
Integrating spark.js turned out to be extremely straightforward. The TilesRenderer uses three.js’s GLTFLoader, and spark already provides a plugin that handles image transcoding automatically, so the initial integration required just a couple of lines of code.
There was one gotcha: TilesRenderer tracks memory used by loaded tiles to decide when to stream in new tiles or unload existing ones, and it does this by assuming textures have an associated image bitmap. That assumption breaks when transcoding textures with Spark, since the resulting textures are ExternalTexture objects. To handle this, the Spark GLTF Plugin now stores the byte length in the texture’s userData field:
The results speak for themselves. Texture compression doesn’t just reduce bandwidth and power consumption, it frees up memory for higher-resolution textures with mipmaps (improving aliasing) and increased geometric detail. As they say, a picture is worth a thousand words:
Finally, if you would like to see spark.js in person or chat about texture compression, I’ll be at GDC next week and I will be presenting at the 3D on the Web Khronos event:
La mayoría de las casas pasan por alto un punto crítico de pérdida de calor y aire frío: el cajón de la persiana. Un hueco habitualmente vacío que puede convertir una habitación en un horno en verano o en un frigorífico en invierno sin que nos demos ni cuenta.
Un técnico en ventanas, conocido como Larry en TikTok e Instagram, ha popularizado un método sencillo y asequible para sellar esa cavidad. Con materiales por menos de diez euros y apenas una hora de trabajo, promete una mejora inmediata en la eficiencia energética y el confort en casa.
Este truco, sencillo pero eficaz, no requiere reformas ni herramientas sofisticadas. Basta con medir, cortar e instalar un aislante adecuado para solucionar filtraciones de aire, calor o ruido de forma práctica y accesible.
El primer paso consiste en abrir el cajón de la persiana, retirando la tapa frontal con cuidado. Este hueco, normalmente vacío o con poco aislamiento, es una vía directa para que entre o salga calor, especialmente en viviendas orientadas al sur.
A continuación, se miden las dimensiones internas del cajón. Estas medidas permiten cortar con precisión el aislante, ya sea espuma de polietileno, panel termoreflectante o Neopor flexible, todos a la venta en tiendas de bricolaje, para que encaje a la perfección sin impedir el enrollado de la persiana.
Este material es fácil de cortar con cúter y resistente a cambios térmicos. Su grosor ideal está entre los 6 y los 10 mm para no interferir con el mecanismo de enrollado de la persiana.
Una vez cortado el aislante, se introduce ajustadamente en las paredes interiores del cajón, cubriendo especialmente la parte superior (donde se enrolla la persiana) y las laterales. Se puede fijar con adhesivo o con cinta de doble cara para evitar que se desplace con las vibraciones.
Menos transferencia térmica
Este gesto, que puede parecer menor, reduce la transferencia térmica gracias al aislamiento, y cuenta con otra ventaja: además, actúa como barrera acústica, especialmente útil en zonas con tráfico o ruido constante.
Otra ventaja es que evita la condensación interna del cajón, responsable de la aparición de moho o de olores en habitaciones mal ventiladas. Un buen aislamiento mejora también el rendimiento del aire acondicionado o la calefacción.
Como precaución, es importante no utilizar materiales inflamables ni aislamientos demasiado gruesos que obstruyan el mecanismo. También se debe revisar cada cierto tiempo que el sistema de enrollado funcione correctamente y no haya desprendimientos.
Solución reversible
Otra ventaja, que nos da seguridad sobre la intervención, es que este tipo de solución es reversible: si en el futuro se desea renovar o cambiar el aislamiento, basta con retirar los paneles y limpiar el interior del cajón con agua y jabón neutro. No requiere obra ni instalaciones profesionales, lo que lo convierte en una opción ideal para viviendas de alquiler.
Asimismo, sellar correctamente la tapa del cajón al finalizar evitará que vuelva a entrar polvo o calor. El resultado final no solo mejora el confort térmico, sino también la estética y el rendimiento general de la vivienda. Una pequeña inversión que transforma el día a día.
Si te quedaste sin palabras tras el final de la segunda temporada de Separación, bienvenido al club. Esta serie ha sido un fenómeno que ha marcado un antes y un después en la televisión. ¿Qué hacemos ahora que ha terminado más allá de esperar a su tercera temporada? Aquí tienes una recomendación que te va a encantar y se llama Devs.
Separación ha vuelto a rompernos la cabeza
Desde su estreno en 2022, Separación se ha convertido en una de esas series que han hecho historia en la televisión. La trama es tan sencilla como perturbadora: los empleados de Lumon Industries se someten a un procedimiento quirúrgico para separar sus recuerdos laborales de los personales. ¿El resultado? Un thriller psicológico que juega con nuestra percepción del mundo y nuestra propia identidad.
La segunda temporada no solo mantuvo el nivel, sino que lo llevó al siguiente escalón. Con récords de audiencia en Apple TV+ y liderando los rankings globales, Separación se convirtió en la producción más vista de la plataforma, superando incluso a la icónica Ted Lasso. Y el final… bueno, digamos que fue un auténtico bombazo. Sin entrar en spoilers, las cosas se han puesto más intensas que nunca en Lumon Industries.
¿No sabes qué ver después de Separación? Esta serie es perfecta para ti
Aquí es donde entra Devs. Si disfrutaste cada minuto desentrañando los misterios de Lumon, Mark S, Helly R... esta miniserie es justo lo que necesitas para llenar el vacío. La historia sigue a Lily, una ingeniera informática cuya vida da un giro inesperado cuando su novio desaparece tras ser ascendido al misterioso departamento "Devs" en Amaya.
Ordenador cuántico, elemento principal de la trama de Devs
Amaya es una empresa tecnológica con un ordenador cuántico capaz de hacer cosas que desafían las leyes del universo. Estamos hablando de que han conseguido predecir el futuro y reconstruir el pasado. Pero lo interesante aquí no es solo la tecnología, sino cómo esta plantea preguntas filosóficas sobre la libertad y las implicaciones éticas de conocer absolutamente todo.
Es muy difícil explicar más sin entrar en spoilers, ya que, al ser una miniserie de ocho capítulos, todo avanza realmente rápido. Pero si te gustó Separación, te prometo que Devs te va a encantar.
Las oficinas de Devs son igual de escalofriantes que las de Lumon
Ambas series tienen ese aire perturbador de empresa tecnológica que te atrapa desde el primer episodio. En Separación, Lumon Industries juega con los límites de la identidad personal. En Devs, la trama se lleva al terreno del destino y la capacidad humana para tomar decisiones libres. Además, las dos comparten una estética increíblemente minimalista y cuidada. Pasillos interminables, iluminación fría, un diseño visual impecable… Son historias diferentes, pero con una esencia muy similar.
Devs es una miniserie de ocho capítulos disponible en Disney +
¿Dónde ver Devs y cuándo empezar tu maratón?
Devs es una serie estrenada en 2020 y que está disponible en Disney+. Con solo ocho episodios, es perfecta para un maratón intenso durante el fin de semana o para verla cada noche y, en una semana, tenerla terminada.
Eso sí, tendrás que estar atento, como en Separación, porque en los capítulos se tratan temas muy trascendentales. Te quedarás pensando mucho después de haberla terminado. Así que ya sabes: si echas de menos los pasillos interminables y los secretos oscuros de Lumon, Devs está aquí para ofrecerte algo igual de perturbador… y quizá incluso más profundo. ¿Te atreves?
When I joined NVIDIA in 2005, one of my main goals was to work on texture and mesh processing tools. The NVIDIA Texture Tools were widely used, and Cem Cebenoyan, Sim Dietrich and Clint Brewer had been doing interesting work on mesh processing and optimization (nvtristrip, nvmeshmender). That was exactly the kind of work I wanted to be involved in.
However, the priorities of the tools team were different, and I ended up working on FX Composer instead. I wasn’t particularly excited about that, so in 2006, I switched to the Developer Technology group.
At the time, NVIDIA and ATI were competing for dominance in the GPU market. While we had a solid market share, our real goal was to grow the overall market. Expanding the “pie” rather than just our slice of it. If you imagine a gamer with a fixed budget, we wanted him to allocate more of that budget to the GPU rather than the CPU. One way to achieve this was by encouraging developers to shift workloads from the CPU to the GPU.
This push was part of the broader GPGPU movement. CUDA had just been released, but it had no integration with graphics APIs, and compute shaders didn’t exist yet. One of the workloads that caught our attention was GPU texture compression. Under the pretext of harnessing the GPU, I found my way back to working on texture compression.
Another idea gaining traction at the time was runtime texture compression.
In April 2004, Farbrausch released .kkrieger, a first-person shooter that packed all its content into just 96 KB by using procedural generation for levels, models, and textures, but it wasn’t until late into the development of fr-041: debris in 2007 that they started using runtime DXT compression to reduce GPU memory usage and improve performance.
Around the same time, Allegorithmic was developing ProFX, the predecessor to Substance Designer, a middleware for real-time procedural texturing. ProFX also included a fast DXT encoder, allowing procedural textures to be converted into GPU-friendly formats at load time.
Simon Brown was working on PlayStation Home, Sony’s 3D social virtual world where players could create and customize their avatars. To support this, he wrote a fast DXT encoder optimized for the PS3’s SPUs, demonstrating the potential of offloading texture compression to parallel processors.
John Carmack had been talking about the megatexture technology for a while, but in 2006, when Jan Paul van Waveren published the details of their Real-Time DXT Compression implementation on the Intel Software Network, we at NVIDIA saw a potential problem: if Rage ended up CPU-limited, it could push gamers toward CPU upgrades rather than GPUs. That made real-time texture compression in the GPU a strategic priority for us.
The first problem we encountered was that in Direct3D 10, updating a DXT texture without transferring data back to the CPU wasn’t possible. Fortunately, OpenGL had recently introduced pixel buffer objects (PBOs). While not designed for this purpose, PBOs provided a workaround: we could render each block to an integer render target, copy the contents to a PBO, and then transfer the compressed data from the PBO to a DXT-compressed texture.
This is the technique that I employed in the examples that accompanied the papers that Jan Paul and I co-authored and that can still be found online:
These examples allowed us to demonstrate that GPU texture compression was possible and show its potential.
Direct3D 10
I then pushed for changes in graphics APIs to better support this use case. The first API to enable direct copies from uncompressed to compressed textures was Direct3D 10.1, which relaxed the restrictions in the CopyResource and CopySubresourceRegion APIs to allow copies between prestructured-typed textures and block-compressed textures of the same bit width.
This functionality was also available on consoles at the time through low-level APIs provided by hardware vendors. In this GDC talk, Jason Tranchida from Volition discusses their experience implementing real-time DXT compression using these APIs and Direct3D 10.1.
OpenGL
A year later, this feature arrived in OpenGL with NV_copy_image. However, it wasn’t until 2012, six years after its introduction in Direct3D, that it became more widely available via ARB_copy_image and OpenGL 4.3.
In OpenGL, the equivalent of D3D’s CopySubresourceRegion is glCopyImageSubData. Like its Direct3D 10 counterpart, it enables copying data from an uncompressed texture to a block-compressed texture, provided the formats are compatible, which generally means that the texel size matches the block size.
This feature could have facilitated the use of GPU texture compression in id Tech 5, enabling Rage to offload more work from the CPU to the GPU. However, Rage did not employ GPU texture compression at launch. Instead, it continued relying on the CPU-based approach described in Jan Paul’s paper.
At that point I was already working on The Witness, so it was Evan Hart from NVIDIA’s Developer Technology team who revisited this problem and implemented GPU texture compression for id Tech 5, building on the foundations I had put in place, and addressing all the practical challenges that arise when integrating real-time GPU compression into a production engine.
OpenGL ES
I didn’t pay much attention to these features again until I started developing Spark. Since my focus was on mobile, I was particularly interested in OpenGL ES, which appeared to support the same functionality through the GL_EXT_copy_image extension and had become a core feature in OpenGL ES 3.2.
While testing this feature, I encountered an unexpected limitation: OpenGL ES does not support the rg32ui output image layout. Instead, to output 64-bit blocks, you have to use rgba16ui:
That said, in a world where compute shaders are ubiquitous, there’s now a much simpler way to accomplish the same task. By using a compute shader to write compressed data into a temporary buffer, we can bind that buffer to the GL_PIXEL_UNPACK_BUFFER target and source data directly from it using glCompressedTexSubImage2D:
This turned out to work well on all devices and run with similar performance.
Vulkan
Like OpenGL, Vulkan supports copying data from uncompressed to block-compressed textures. This functionality has been available since Vulkan 1.0 through the vkCmdCopyImage API.
So imagine my surprise when I tested it and found that most devices didn’t implement it correctly. The following screenshots show the results on Adreno, PowerVR, and Mali devices. Only Mali produced the correct output!
At first, I thought my efforts to bring real-time texture compression to Vulkan on Android were doomed. But there was still some hope. I discovered that the KHR_maintenance2 extension allowed the creation of uncompressed image views of compressed images, eliminating the need for a copy altogether. This feature was later promoted to core in Vulkan 1.1, which happened to be our minimum requirement, so it seemed like a promising solution.
Getting this to work, however, was far from straightforward. The documentation was sparse, and initial attempts led to validation errors, but after some effort, I managed to get it running correctly on PC. My optimism was short-lived, though. When I tested on mobile, the results were disastrous. The image below shows the output from two Adreno devices (left) and a PowerVR device (right):
By this point, I had been working on Spark for almost 6 months, and it felt like all that work might have been for nothing. And this wasn’t the only problem. Under Vulkan most of my codecs produced incorrect output, failed to compile, or outright crashed the device. Only the simplest kernels worked correctly, and even they ran at much lower performance than their OpenGL ES equivalents.
Thankfully, I was stubborn and persevered. I spent the next few months narrowing down every issue, sending repro cases to IHVs, and trying every possible workaround. That effort paid off. A few months later, all Spark codecs were running correctly and performing as well as, or better than, their GLES counterparts.
The root cause of many of these issues was my initial reliance on fragment shaders. At the time, the version of the Hype engine that I was using lacked support for compute shaders, so my first integration experiments ran the codecs using fragment shaders. This meant I couldn’t output compressed blocks to a buffer like in OpenGL, but instead, I had to render to a texture, requiring vkCmdCopyImage.
However, Vulkan also allows updating block-compressed textures using vkCmdCopyBufferToImage. In fact, this is the same command that you would use to upload block-compressed textures, which means this code path was heavily tested across vendors, and unsurprisingly, it worked flawlessly.
It also turned out that the texture corruption issues when using block-texel views were associated to the use of fragment shaders, in particular, to the use of VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT. Replacing that flag with VK_IMAGE_USAGE_STORAGE_BIT resolved the problems entirely.
Getting this to work correctly was challenging, and this was enhanced by the fact that I never knew whether I was doing something wrong and the validation layer was not catching my errors, or whether the hardware or the software was at fault. So, I’m gonna explain this procedure in a bit more detail:
To create block-texel views you first have to create an image with the following flags:
EXTENDED_USAGE: This allows creating a block-compressed image with the VK_IMAGE_USAGE_STORAGE_BIT flag, even if that usage isn’t normally supported for compressed formats, as long as it is removed from the block-compressed views.
MUTABLE_FORMAT: This allows us to create image views with different, but compatible formats.
BLOCK_TEXEL_VIEW_COMPATIBLE: This extends the list of compatible formats to include uncompressed formats where the texel matches the block size.
Here’s an example:
VkFormat compressed_format = VK_FORMAT_ASTC_4x4_UNORM_BLOCK;
VkFormat uncompressed_format = VK_FORMAT_R32G32B32A32_UINT;
VkImageCreateInfo image_info = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO };
image_info.imageType = VK_IMAGE_TYPE_2D;
image_info.format = compressed_format;
image_info.extent = { w, h, 1 };
image_info.mipLevels = 1;
image_info.arrayLayers = 1;
image_info.samples = VK_SAMPLE_COUNT_1_BIT;
image_info.tiling = VK_IMAGE_TILING_OPTIMAL;
image_info.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
// Note, we create the compressed image with the *STORAGE* usage flag. This is only allowed thanks to EXTENDED_USAGE image flag.
image_info.usage =
VK_IMAGE_USAGE_SAMPLED_BIT |
VK_IMAGE_USAGE_TRANSFER_DST_BIT |
VK_IMAGE_USAGE_STORAGE_BIT;
// Provide the required flags:
image_info.flags =
VK_IMAGE_CREATE_EXTENDED_USAGE_BIT |
VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT |
VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT;
After this you would allocate, create the image, and upload the data as you would do normally.
In order to create a view for sampling the texture in the shader, you use the compressed format, but for that to succeed you have to explicitly remove the VK_IMAGE_USAGE_STORAGE_BIT:
And to create a view to use the texture as storage in the compute shader, you use the uncompressed format. For maximum compatibility you should also remove the VK_IMAGE_USAGE_SAMPLED_BIT:
Vulkan also provides the KHR_image_format_list extension, which is promoted to Vulkan 1.2. This allows you to provide a list of compatible formats at creation time. Using this extension is not strictly required, but is recommended as it can be an optimization on some devices.
You can use this same procedure to create render target textures with the VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT flag and then remove it from the corresponding compressed views for sampling. However, as noted earlier, this is known to be broken on many devices. For simplicity, I strongly recommend running the codecs in a compute shader instead.
Direct3D 12
The Direct3D 10.1 CopyResource APIs are available in both Direct3D 11 and Direct3D 12, but like Vulkan 1.1, Direct3D 12.1 also offers the possibility of creating a compressed Unordered Access View (UAV) of a block-compressed texture. To use this functionality you first need to check that the device supports the RelaxedFormatCastingSupported feature:
Compared to Vulkan this is refreshingly easy. The only additional requirement is to use the CreateCommittedResource3 method in ID3D12Device10 and provide the list of compatible formats up front:
After that you simply create the shader resource views and unordered access view using the formats specified on the list and it just works!
Metal
Unlike Vulkan and Direct3D 12, Metal does not support copying data directly from uncompressed to compressed textures. The only available method is to use a compute shader to write the compressed data to a buffer and then use a blit encoder to transfer the buffer contents to the texture:
If, for any reason, the encoder outputs compressed data to an uncompressed texture, two additional copies are required: one from the texture to a buffer and another from the buffer to the compressed texture. The recommended approach is to have the encoder write compressed blocks directly to a buffer, so that only a single copy is required.
It’s a bit disappointing that Metal lacks the resource casting capabilities available in Vulkan and Direct3D 12. However, iOS devices generally perform exceptionally well compared to Android, so in practice, they don’t fall behind despite this limitation. The main challenge is maintaining an efficient cross-API abstraction that achieves optimal performance across platforms, because that requires slightly different code paths and shader variations.
Conclusions
Getting this to work everywhere was a rollercoaster. If I had been doing this as part of a regular job, it would have been a fun ride, but since I was investing my own resources, it was nerve-wracking. For a long time, it wasn’t even clear whether I’d be able to make Spark work reliably on a sizeable subset of the devices I was targeting.
Initially, I chose to keep these details private, sharing them only with clients to assist their integration efforts. However, I’ve come to realize that many developers don’t fully grasp the immense amount of work that has gone into ensuring Spark runs well across platforms, or the risks I’ve taken to get there.
Hopefully, this not only helps others facing similar challenges but also provides a better appreciation for the effort behind Spark.
Millones de personas utilizan a diario el Explorador de Archivos de Windows para organizar sus ficheros, pero lo que muchos no saben es que esta sencilla aplicación contiene aún contiene funciones tan poco difundidas que casi podríamos calificarlas de 'ocultas'... pero que pueden mejorar notablemente la experiencia del usuario.
Una de estas características, implementada desde tiempos de Windows Vista pero descubierta por muchos usuarios a raíz de su reciente difusión en Reddit, es la ordenación multicolumna, una función que permite organizar los archivos dentro de una carpeta con base en múltiples criterios de orden.
¿En qué consiste la ordenación multicolumna?
Esta característica poco conocida del Explorador de Archivos permite a los usuarios organizar los archivos de una carpeta utilizando hasta cuatro criterios diferentes al mismo tiempo. Esto significa que, en lugar de ordenar una carpeta sólo por un criterio, como el tamaño o el tipo de archivo, puedes agregar otros niveles de ordenación para afinar aún más la organización.
Por ejemplo: Si tienes una carpeta llena de imágenes en distintos formatos (PNG y JPG) y deseas ordenarlas por tipo de archivo y, de manera secundaria, por tamaño del mismo, puedes hacerlo utilizando esta función. Al hacerlo, obtendrás una lista donde los archivos PNG se agruparán, por un lado, ordenados de mayor a menos peso, y lo mismo ocurrirá con los archivos JPG.
vía Reddit
¿Y eso no es posible por otros medios? Por supuesto, eso también es posible hacerlo combinando el uso de 'Ordenar archivos' y de 'Agrupar archivos'... pero siguen siendo únicamente dos criterios los que usaríamos, mientras que en el ejemplo anterior, también podrías forzar a que, entre archivos del mismo tamaño, se mostrasen en primer lugar los de más reciente modificación.
Ventajas de la ordenación multicolumna
Mayor organización: Al utilizar varios niveles de criterios de orden, puedes tener una visión más clara de tus archivos.
Más rapidez: Te permite encontrar archivos rápidamente, ya que no solo estarán organizados por un criterio sino por varios, lo que ayuda en carpetas con una gran cantidad de documentos o tipos de archivos diferentes.
Mejor gestión de archivos: Facilita la clasificación de archivos según distintos atributos, como el tipo, la fecha de creación, el tamaño o incluso el nombre.
Cómo utilizar la ordenación multicolumna paso a paso
A continuación, te explicamos cómo activar y utilizar esta función en tu Explorador de Archivos. Sigue estos pasos detalladamente:
Paso 1: Abre el Explorador de Archivos
El primer paso es abrir el Explorador de Archivos de Windows. Puedes hacerlo haciendo clic en el icono de carpeta en la barra de tareas o presionando la combinación de teclas Windows + E.
Paso 2: Accede a la carpeta que deseas ordenar
Navega a la carpeta que contiene los archivos que quieres organizar. Esto puede ser una carpeta de imágenes, documentos o cualquier otro tipo de archivo.
Para poder recurrir a este truco, debes tener visible la vista detallada de los archivos. Si no tienes activada esta opción, puedes habilitarla de la siguiente manera:
En la parte superior del Explorador de Archivos, haz clic en la pestaña Vista.
En el grupo "Diseño", selecciona la opción Detalles. Esto mostrará los archivos con columnas como nombre, tipo, tamaño y fecha de modificación.
Paso 4: Ordena el primer criterio
Ahora que ya tienes la vista de detalles, selecciona el primer criterio de la ordenación. Por ejemplo, si quieres ordenar los archivos por tipo, haz clic en la columna Tipo. Esto organizará los archivos según su tipo (como imágenes, documentos, etc.).
Paso 5: Añade el segundo criterio de orden
Aquí es donde comienza la magia de la ordenación multicolumna. Para agregar un segundo nivel de orden, mantén presionada la tecla Mayúsc (↑) en tu teclado y, sin soltarla, haz clic en la columna que quieres usar como segundo criterio de orden.
Por ejemplo, si ya ordenaste por tipo, ahora podrías hacer clic en la columna Fecha de modificación para que dentro de cada tipo de archivo (por ejemplo, PNG y JPG), los archivos se ordenen por la fecha de modificación, de más reciente a más antiguo.
Paso 6: Añade más niveles de orden (opcional)
Si quieres afinar aún más la organización, puedes agregar hasta un total de cuatro niveles de ordenamiento. Para ello, continúa presionando Mayúsc y seleccionando otras columnas, como el Tamaño o el Nombre. Esto te permitirá tener un orden altamente personalizado según tus necesidades.
Puedes reordenar los niveles en cualquier momento simplemente volviendo a hacer clic en las columnas, pero recuerda siempre mantener presionada la tecla Mayúsc para agregar niveles adicionales.
Vivimos en un mundo rodeado de entretenimiento de pago. Y es que el modelo de suscripción está ahí siempre que queremos ver o hacer algo. ¿Música? Apple Music o Spotify. ¿Películas? Netflix, Prime, HBO, Apple TV+. ¿Almacenamiento? iCloud, Google Drive... Así, necesidad tras necesidad.
De lo poco que queda gratis es ver la televisión a través de la TDT o de las webs de las propias cadenas. Sin embargo, yo ya ni siquiera tengo la antena enchufada en mi televisor, y buena parte del contenido lo veo con el Apple TV 4K o desde mi iPhone si, por ejemplo, estoy de viaje.
Pluto TV tiene más de 120 canales y van en aumento
Quizás ya hayas escuchado hablar de Pluto TV e incluso hayas visto algo de publicidad en tu ciudad. Y es que se trata de un servicio y app de televisión completamente gratuita. Un modelo totalmente contrario a lo que estamos acostumbrados y que es todo un gusto tener.
Ya sea para tener algo de fondo mientras haces tareas en casa, o para ponerle canales infantiles a nuestros hijos. De hecho, yo lo utilizo mucho también para poner música en la tele cuando hay visitas en casa, ya que tiene todo el catálogo de MTV. Así, siempre tienes un buen ambiente con algo de fondo y entretenido de ver.
Lo mejor de Pluto TV es que no pide nada a cambio: no tienes que dar tu correo, no hay suscripciones escondidas y todo es gratis. Solo necesitas una conexión a Internet y ya tienes acceso a más de 120 canales con contenido de todo tipo. Para quienes estamos cansados de pagar por cada servicio, esta aplicación es todo un alivio.
Canales de TV en directo y contenido en streaming gratis
Dentro de Pluto TV tienes dos secciones claramente diferenciadas: contenido en directo y contenido a la carta. La televisión en directo funciona como la TDT normal. Seleccionas el canal temático y entrarás a ver una serie, película, programa... según el horario de emisión. Dispones de una guía para saber qué están emitiendo y lo que viene después.
Además, Pluto TV también tiene un catálogo de series y películas "on demand" o a la carta. El funcionamiento es como Netflix y hay una gran cantidad de títulos nacionales e internacionales. Ten en cuenta que Pluto TV es completamente gratis y su fuente de ingresos es la poca publicidad que hay entre las emisiones. De hecho, tiene muy pocos anuncios comparado incluso con YouTube.
Es por ello que no encontrarás los últimos estrenos de Hollywood ni producciones recientes de gran presupuesto. En su lugar, el catálogo incluye clásicos, películas más antiguas y programas de televisión populares que siguen siendo entretenidos. Aun así, la variedad de canales temáticos y contenido para todos los gustos hace que la plataforma sea una excelente opción para ver televisión sin gastar un céntimo ni tener que lidiar con suscripciones.
Estas son algunas de las series, programas y películas que hay en Pluto TV
Dentro del catálogo de Pluto TV verás que hay muchos canales disponibles. Están categorizados por temáticas, es decir, verás que hay un canal de la serie Embrujadas, Alerta Cobra, Los vigilantes de la playa... Luego hay otros canales que alternan diferente contenido bajo un mismo tema. Ya sea series de comedia, cine de acción, zombis, terror, telenovelas... Algunos de los títulos que puedes encontrar en Pluto TV son:
Empeños a lo bestia
South Park
Star Trek
El encantador de perros
Atrápame si puedes
Vaya semanita
Ana y los 7
Al salir de clase
Top Gear
Real Madrid TV
MTV
Bob Esponja
Dora la exploradora
Alaska y Mario
Doctor Who
Pluto TV
Con Pluto TV nunca te aburres, porque Pluto TV es Televisión y Streaming ¡SIN COSTO! Mira cientos de canales de TV en vivo y miles de películas y series, todos en streaming y sin siquiera tener que crear una cuenta. Abre
Lo mejor de Pluto TV es que está disponible prácticamente en cualquier dispositivo, por lo que puedes disfrutar de todo su catálogo gratis descargando la app en tu iPhone, iPad, Apple TV y en el Mac a través de su web. Si no tienes Apple TV, pero sí Smart TV, también tendrás disponible la aplicación de Pluto TV con mucha probabilidad. Está disponible en TV LG y Samsung, Amazon FireStick, Android TV, Chromecast, Hisense, Xbox, PlayStation...
Pluto TV se ha convertido en una de esas apps del Apple TV que siempre tengo en la pantalla de inicio. Cuando hay visitas y tengo a primos pequeños en casa, siempre viene bien tener una alternativa a la TV tradicional, gratis y prácticamente sin anuncios.
Muchos son los trucos que se pueden encontrar para mantener el lavavajillaslimpio y reluciente: vinagres que abrillantan, hacks para dejarlo como nuevo y rutinas para que siempre conserven sus mejores prestaciones.
En este abanico de opciones destaca un producto de la cadena de supermercados Mercadona que algunos han dejado por las nubes por su eficacia a la hora de mantener el lavavajillas impoluto.
Por ejemplo, la tiktoker@Eltallerdefiti ha compartido con sus seguidores este producto, que usa una vez al mes y, según afirma, “queda súper niquelado”.
Se trata del Limpia máquinas líquido de la marca blanca Bosque Verde, bajo la cual la empresa valenciana distribuye los productos de droguería y limpieza.
Según relata, primero desmonta y limpia los filtros con agua y jabón para quitar los restos de comida. También limpia los bordes de la puerta y las gomas.
Después revisa los niveles de abrillantador y sal, y después lo coloca todo y pone el limpiamáquinas retirando su tapón y coloca la botella en la rendija inferior, con el lavavajillas vacío.
Con este dentro, programa un ciclo de lavado superior a 65 grados centígrados. Esto lo hace una vez al mes y el lavavajillas queda “súper limpio y con un olor buenísimo”.
Este producto con tensioactivos (moléculas con efecto limpiador) cuesta 1,65 euros por cada envase de 250 mililitros. En sus instrucciones recomienda simplemente quitar el tapón y colocar boca abajo en la cubeta de platos, así como programa un ciclo sin usar otros detergentes.
Aunque me gusta leer en papel (una excepción dentro de una vida bastante digital y conectada), hace un par de años me regalaron un Kindle por aquello de la comodidad de llevar cientos de libros en un dispositivo, su ligereza, que tenga iluminación en la pantalla y el ecosistema de Amazon. He probado Kindle Unlimited con alguna que otra promoción, pero para mí no me merece la pena: tengo algo para leer gratis que me parece mucho mejor.
Que sí, que hay muchas webs para descargar libros gratis pero es difícil encontrar títulos actuales y del tipo de literatura que me gusta. Además en muchos casos me toca pasarlos de ePub o PDF al formato del Kindle. Resumiendo: paradójicamente, leo mucho en digital pero apenas uso el Kindle ni tengo Kindle Unlimited.
Ya no uso el Kindle, me he pasado a la tablet y eBiblio
Si hay un pequeño placer que conservo desde mi infancia, ese es ir a la Biblioteca y si tienes un carnet de la biblioteca, tienes acceso a un catálogo inmenso de libros. De libros en papel y también de libros en digital, gracias al proyecto eBiblio. Solo hay que ir a tu biblioteca (o a cualquiera dentro de tu comunidad, ya que esto funciona de forma autonómica), pedirles tu clave y acudir a su web, en mi caso a eBiblio Navarra (nota: ojo que la Comunidad Autónoma Vasca y Catalunya tienen su propio proyecto independiente) y entrar. Y ya estás dentro de la biblioteca, con idéntico funcionamiento a la biblioteca física.
En pocas palabras: puedes buscar los libros que quieras (por título, autoría, ISBN, etc.) y si está disponible, cogerlo prestado. Como en las bibliotecas, solo puedes tener en préstamo tres unidades. ¿Que el libro está ya prestado? Pues lo tienes en reserva o si todavía no quieres leerlo, lo añades a tu lista. Finalmente, hasta tienes una vista previa. Además, obviamente la versión digital es la oficial y de gran calidad. Y no me olvido de algo importante: aunque las reservas y préstamos han de hacerse online, puedes leer offline sin necesidad de gastar datos.
Hasta ahora he hablado de la web porque a mí me resulta particularmente cómodo usarlo vía ordenador, pero lo que me parece más interesante todavía es que hay una app: eBiblio, disponible gratis para iOS en App Store y para Android en Google Play Store. Así, he convertido mi iPad Pro en mi libro electrónico. ¿Por qué el iPad y no el Kindle? Porque no es compatible: solo vale para dispositivos que puedan leer PDF y EPUB.
Tiene tres desventajas a tener en cuenta: la limitación a tres libros y que tienes un plazo de tiempo (aunque se puede renovar), pero no es un gran problema ya que bueno, normalmente leo como mucho dos libros a la vez. Finalmente, si quieres un libro y lo quieres ahora, pero el libro está reservado, pues toca esperar unos días. Aunque con un poco de previsión y de paciencia, apañado. Además aunque tampoco es tan común que haya libros tan solicitados (un ejemplo claro: el día que sale el premio Planeta no es buena idea querer leerlo gratis). ¿Que no lo encuentro en absolutamente en ningún lado y lo quiero ya? Pues lo compro para Kindle.
Para mí eBiblio es una iniciativa súper útil que me ha hecho volver a usar la biblioteca municipal (o mejor dicho, las bibliotecas) sin salir de casa y exprimir más mi tablet, leyendo libros de todo tipo, desde grandes clásicos a bestsellers actuales sin gastarme ni un euro.
Desde su estreno a principios del milenio, El Señor de los Anillos se ha convertido en una de las sagas más importantes de la industria del cine. El legado que dejó Peter Jackson es imborrable y dio inicio a una franquicia que aún perdura en la memoria colectiva. Warner quiere regresar por todo lo alto a los cines y, además de la producción animada de este año, ya está preparando otra película muy especial.
Según ha confirmado Variety, la compañía ha dado luz verde al desarrollo de una película protagonizada por Gollum, el horripilante hobbit que acabó corrompido por el poder del Anillo Único y que "ayudó" a Sam y Frodo en su viaje al Monte del Destino.
La cinta llevará por título The Hunt for Gollum y estará protagonizada y dirigida por Andy Serkis, el actor que dio vida a Smeagol en la trilogía original. Además, se ha confirmado la participación de Peter Jackson como uno de los principales productores de la cinta.
En cuanto al estreno, Warner ha confirmado que la película llegará en 2026, aunque aún no se ha anunciado una fecha exacta. Así, El Señor de los Anillos expandirá su universo cinematográfico, basado en la Tierra Media creada por J.R.R. Tolkien hace más de 80 años.
El desarrollo de páginas web es algo que cada vez va siendo más accesible gracias a las herramientas que tenemos en nuestra mano. Incluso aquellos que no tengan conocimientos de programación disponen de mil y una herramientas para construir una página web personalizada. Además, cada vez van surgiendo más herramientas No-code para dar mayor accesibilidad a las personas que no dispongan de conocimientos técnicos.
La inteligencia artificial ha supuesto un gran paso evolutivo en este sentido. Y es que gracias a herramientas como ChatGPT, Bard, Copilot u otras que utilicen sus APIs para objetivos concretos, podemos comenzar infinidad de proyectos sin necesidad de apenas entender de programación. Uno de los claros ejemplos es la herramienta Screenshot to Code, la cual nos permite clonar el código de una página web con tan solo sacar una captura de pantalla.
Clona el código de cualquier página web con una captura de pantalla
Dicha herramienta, a la cual podemos acceder a través de su página oficial, convierte nuestras capturas de pantalla en código HTML y Tailwind CSS. Screenshot to Code hace uso de GPT-4 Vision y de DALL-E 3 para generar imágenes similares y hacer que la inteligencia artificial procese la información para obtener el código.
Si así lo deseamos, la herramienta también nos permite introducir la URL de cualquier página web y Screenshot to Code se encargará de facilitarnos el código para que nosotros podamos integrarlo en un sitio web aplicando nuestros propios cambios. De hecho, una idea sería utilizar GPT-4 Vision para darle nuestro toque y modificar algunos aspectos del código para adaptarlo a lo que queremos hacer.
Como requisito principal, debemos tener acceso a GPT-4 Vision y DALL-E 3 para utilizar la herramienta a través de la API de OpenAI. Tener ChatGPT Plus no nos servirá de nada, pues el uso de la API se cobra por separado. Para tener acceso a Screenshot to Code tan solo tendremos que copiar nuestra OpenAI API Key y ya tendremos acceso a la herramienta. La key se queda guardada en nuestro propio navegador y no en ningún servidor, por lo que podemos estar tranquilos.
Para acceder a la API key de tu cuenta de OpenAI tan solo debes entrar en este enlace, copiar el código que ves y pegarlo en la herramienta Screenshot to Code. Deberás añadir al menos un dólar en tu cuenta de OpenAI para tener acceso a GPT-4 Vision y DALL-E 3. Esto se hace desde el apartado de Billing en tu cuenta de OpenAI.
La herramienta también cuenta con un plan Business a un precio de 395 dólares al mes. Este plan no requiere la key de OpenAI y tiene soporte de React y Vue.
Aunque Screenshot to Code puede ser una forma magnífica de generar nuestras propias páginas web basándonos en otras, también hay que considerar sus riesgos, ya que de esta manera será mucho más fácil clonar una página web para fines fraudulentos.
Si la inteligencia artificial te llama la atención y buscas aumentar tus habilidades profesionales, hay unas cuantas maneras de empezar a formarte sin gastar ni un euro. Así, una empresa tan importante en el segmento como Google cuenta con una buena selección de cursos de IA gratis, pero no es el único: también la prestigiosa universidad Harvard ha lanzado este año cinco cursos de inteligencia artificial para principiantes (pero con formación técnica) gratis.
Nota: todos los cursos están en inglés, son online y aunque cursarlos sea gratis, en algunos casos para solicitar un certificado hay que abonar una tarifa.
Introducción a la inteligencia artificial con Python
Si ya te manejas en Python y quieres aprovechar la IA para vitaminar tus programas, este es un curso introductorio de lo más interesante. Según el programa tiene siete semanas de duración y estima que necesitarás de 10 a 30 horas semanales para completarlo. Ojo, porque aunque fue lanzado en mayo, estará disponible hasta fin de año.
En el temario se incluyen algoritmos de búsqueda de gráficos, aprendizaje reforzado, los principios de la IA, machine learning, cómo diseñar sistemas inteligentes y cómo utilizar la IA en tus programas en Python.
Probablemente las metodologías más famosas del análisis de datos vengan del machine learning, capaz de crear algoritmos de predicción en base a los datos. Pues bien, este curso promete enseñarte la ciencia que hay detrás y además entre sus reclamos propone crear un recomendador de películas.
Este curso de ocho semanas de duración estima que será necesario destinar entre dos y cuatro horas a la semana (aunque es una orientación, pero puedes ir a tu ritmo) para aprender los principios del machine learning, cómo realizar validaciones cruzadas, algunos algoritmos más usados de machine learning, cómo construir el sistema de recomendación, entre otras. Atención si te interesa porque el curso se cerrará pronto.
El Tiny Machine Learning (TinyML) es una de las áreas de la IA que más crece y una de las razones es su accesibilidad, en tanto en cuanto combina el machine learning con aplicaciones, algoritmos, hardware y software de aprendizaje automático.
Este curso de cinco semanas de duración y un esfuerzo estimado de dos a cuatro horas semanales te enseñará los fundamentos de machine learning, deep learning y TinyML, cómo recopilar datos para el ML, cómo entrenar e implementar modelos, a comprender el ML integrado y a crear diseños responsables.
Si eres una persona analítica y te gusta comparar datos (o trabajas en ello), este curso de ciencia de datos podría interesarte ya que se enfoca en diferentes técnicas ampliamente usadas para trabajar con altas dimensiones de datos.
Este curso de cuatro semanas de duración y una dedicación estimada de dos a cuatro horas semanales tiene como meta enseñarte cosas como la distancia matemática, reducción de dimensiones, descomposición de valores singulares y análisis de componentes, gráficos de escala multidimensional, análisis factorial y trabajar con lotes y sus efectos. El curso se cierra a finales de noviembre de este año.
Para especializarte en la ciencia de datos necesitas muchas horas de práctica a tus espaldas. Si ya te has puesto las pilas y necesitas proyectos y pruebas estimulantes para crecer, esto es lo que promete este curso eminentemente práctico y con poca orientación donde tendrás un proyecto del mundo real para el que necesitarás dar lo mejor de ti y tus conocimientos adquiridos a lo largo de esta serie.
En este proyecto final se evaluarán tus habilidades en visualización de datos, probabilidad, inferencia y modelado, manipulación de datos, regresión y machine learning. Todo ello en dos semanas con una dedicación de unas 20 horas en cada una de ellas.
SIGGRAPH 2023 just had a paper “3D Gaussian Splatting for Real-Time Radiance Field Rendering” by Kerbl, Kopanas, Leimkühler, Drettakis, and it looks pretty cool! Check out their website, source code repository, data sets and so on (I should note that it is really, really good to see full source and full data sets being released. Way to go!).
I’ve decided to try to implement the realtime visualization part (i.e. the one that takes already-produced gaussian splat “model” file) in Unity.
Modular es una empresa de inteligencia artificial que hace unas semanas ha presentado un lenguaje de programación llamado Mojo, del que se ha comenzado a hablar mucho porque tiene dos características muy llamativas: combina la facilidad de uso de Python con la velocidad de C.
Hay numerosos proyectos en marcha para hacer Python más rápido, como Jax y, más recientemente, un compilador de Python llamado Codon. Y eso por no hablar de lenguajes alternativos orientados a la ciencia de datos como Julia.
35.000 veces más rápido que Python
Mojo consigue distinguirse de otros esfuerzos de mejora de Python porque según sus creadores es "35.000 veces más rápido que Python" al ejecutar algoritmos numéricos como Mandelbrot gracias a la aceleración por hardware.
Según palabras de sus creadores, "Mojo combina las partes de Python que tanto gustan a los investigadores con las funciones de programación de sistemas que requieren el uso de C, C++ y CUDA".
Mojo permite la utilización de CPUs, GPUs, TPUs y ASICs personalizados, atendiendo a los puntos fuertes de cada tipo de hardware, según sus creadores. "La sintaxis y la semántica de alto nivel de Mojo son comparables a las de Python, lo que facilita su aprendizaje y uso a los desarrolladores expertos en Python".
Para ser más ágil, Mojo se compila estáticamente, lo que se traduce en tiempos de ejecución más rápidos y una mejor optimización, ya que el código se compila antes de la ejecución.
El científico de datos Jeremy Howard, cofundador de Fast.ai, ha llegado a decir que "Mojo puede ser el mayor avance en lenguaje de programación en décadas".
Según él, este lenguaje intenta abordar la realidad bifurcada de la IA: mientras que los modelos de IA se desarrollan en Python debido a la riqueza del ecosistema, los programadores de Python suelen acabar conectando su código a módulos en lenguajes de mayor rendimiento, como C/C++ y Rust. Y este enfoque de "dos lenguajes" hace más difícil perfilar, depurar, aprender y desplegar aplicaciones de aprendizaje automático.
Quién está tras Mojo
Chris Lattner es uno de sus precursores. Antiguamente trabajó en empresas como Apple, Google y Tesla y codesarrolló la cadena de herramientas del compilador LLVM, cofundó la infraestructura del compilador MLIR y encabezó el desarrollo del lenguaje de programación Swift.
Otro de sus precursores es Tim Davis, cofundador de Modular y antiguo responsable de Google ML, donde supervisó las API de aprendizaje automático, los compiladores y la infraestructura de ejecución del gigante de Internet.
El verano ya se está acercando y con las vacaciones muy presentes. El principal problema de las vacaciones es tener que organizarlas para poder disfrutarlas sin ningún tipo de contratiempo. En la red son muchas las herramientas que existen para realizar esta tarea, pero Google Maps es una realmente versátil y sobre todo gratuita que te permitirá organizarte perfectamente.
Y es que Google Maps te permite añadir diferentes puntos de parada a lo largo de una ruta, buscar los hoteles cerca de donde estás y acceder a sus valoraciones y también poder compartirlo a todos los participantes. En este artículo te vamos a explicar cómo organizarlo con un claro ejemplo.
Hay que destacar que Google Maps es realmente accesible, al estar disponible en versión web pero también móvil. En nuestro caso hemos preferido hacerlo a través del ordenador porque es mucho más cómodo hacerlo con una pantalla grande, aunque este planning se va a tener en todos los dispositivos vinculados con la cuenta de Google.
Crea un nuevo mapa para tu viaje
Lo primero de todo para organizar el viaje es generar un nuevo mapa vacío para poder insertar las rutas y las paradas a realizar con el objetivo de ir compartiéndolo. Para ello vas a tener que acceder a Google Maps en su página principal y pulsar en el botón de menú que tienes arriba a la izquierda. En ella vas a tener que acceder a la web de My Maps para crearlo.
Aquí vas a tener todas tus creaciones, y para generar uno nuevo se deberá pulsar en Crear un nuevo mapa en la parte superior para tener un mapa totalmente limpio. Pero en primer lugar tendrás que pulsar en Mapa sin nombre.
Aquí es donde se va a tener la opción de poner un título y una descripción al mapa. Pero en este caso no hay que ser muy preciso, ya que únicamente va a tener el fin de diferenciar entre el resto de mapas que vas a poder crear. Algo común también es agregar las fechas para que el resto de personas participantes también puedan tener la información.
A partir de aquí el mapa va a estar generado y nombrado y podrás comenzar a utilizarlo. A la izquierda van a quedar las opciones para tener las capas y personalizar el contenido que se ha visto. También se dispone de la barra de búsqueda para generar puntos o medir distancias.
Planificar la ruta en coche
Ya es hora de comenzar a planificar la ruta que se va a seguir con Google Maps. La primera opción que se puede encontrar es la de planificarla en autobús o en avión introduciendo en el campo de búsqueda el destino final. Pero en este caso Google Maps mostrará la distancia y los horarios que hay disponibles pero delegará en las páginas de las aerolíneas la compra de los billetes recomendando en este caso el uso de Google Flights para realizar la organización.
Pero para sacarle el máximo provecho al mapa de Google Maps nos vamos a centrar en la organización del viaje con el coche. Se deberá empezar pulsando en el icono Añadir indicaciones que está bajo la barra de búsqueda y representado con el dibujo de dos flechas.
Automáticamente se va a abrir una columna en la parte izquierda para configurar la ruta con diferentes paradas. Esta se hace introduciendo varios puntos (A de partida y B de destino) y elegir el medio de transporte que se va a utilizar en todo el viaje.
Cuando ya tengas el inicio y el final se va a pulsar en Añadir destino para agregar nuevos puntos que se van a ser paradas. Esto es algo recomendable si va a durar varios como por ejemplo una ruta de Granada a París haciendo una parada en Jaén que sería el punto C. Todas estas ubicaciones los vas a poder personalizar moviéndolos en la lista. Y la propia ruta se podrá personalizar arrastrando el punto blanco que aparece en la misma para llevarlo a otra zona que te interese más para pasar.
Con el objetivo de visualizar mejor la ruta que tienes por delante, tienes la posibilidad de crear diferentes capas para diferentes rutas. De esta manera tendrás muy fácil visualizar en el mapa las diferentes etapas del viaje.
Busca los hoteles en Google Maps
Cuando ya se tiene la ruta a seguir, es importante saber dónde te vas a alojar en tu destino. Lo más común es hospedarse en hoteles u hostales, y Google Maps te permite buscarlos en tu ruta en su página principal. Para ello, simplemente se va a tener que usar el buscador para introducir el destino donde vas a alojarte y en la columna de la izquierda encontrarás toda la información de la ciudad.
En la ficha de información si bajas vas a encontrar la sección Hoteles en la que te aparecerán varias sugerencias. Pero podrás pulsar en Más hoteles para desplegar un listado con todas las opciones que hay disponibles.
En el mapa aparecerán automáticamente todas las opciones que hay disponibles y los precios. A la izquierda se podrán elegir las fechas de entrada y salida con el objetivo de tener los precios más cercanos posibles. Aunque como ocurre en la reserva de vuelos o trenes Google delega la función de reserva en terceras páginas.
Entre los filtros que hay disponibles se podrá elegir las estrellas que quieres que tenga o los servicios que precisas. De esta manera en el mapa generado únicamente aparecerán las opciones que mejor se adecúen a tus gustos, teniendo que pulsar ahora sobre cada uno de los precios para ver la información del mismo con fotos y también la valoración que recibe dentro de Google.
Google no se limita a ofrecer el precio de una página, teniendo disponible un listado de webs de reservas como Booking y el precio del mismo. Al pulsar en estos se abrirá una nueva ventana para realizar la correspondiente reserva.
Busca los puntos de interés de la ciudad que visitarás
Cuando se visita una nueva ciudad otro punto importante es el turismo que se puede hacer en la misma para poder conocer los puntos de interés que no te debes perder. Google Maps te va a poder ayudar a buscar esos sitios introduciendo la localidad o ciudad en el buscador y en su ficha pulsando en Cercano.
Automáticamente aparecerá un punto azul que vas a poder desplazar a la ubicación preferida de la ciudad, por ejemplo más en el centro. Automáticamente aparecerá en la izquierda un listado con las ubicaciones más interesantes y que están ceca de la ubicación que has introducido.
Todas estas estarán reflejadas en el propio mapa, y teniendo un buscador en la parte superior para introducir por ejemplo Puntos de interés para tener las ubicaciones que no te vas a tener que perder como turista. En todas ellas aparecerá la ficha de cada ubicación con la dirección y también las opiniones de otras personas en Google Maps.
En el caso de que hayas seleccionado alguna atracción turística, Google Maps, al igual que ocurre con los hoteles o los medios de transporte te va a permitir hacer la compra de las entradas al redireccionarte a una página web externa.
Agrega tus puntos al mapa creado
Una vez que has elegido el hotel donde vas a hospedarte y los puntos de interés es hora de introducirlos en tu mapa. Para ello se tiene que acceder a la web de mapa creados y pulsar sobre el que creamos al principio. Una vez dentro se deberá pulsar en Añadir capa en la columna izquierda.
Ahora simplemente vas a tener que usar el buscador para ir añadiendo todos los sitios de interés que has visto previamente. También los vas a poder sacar de diferentes guías de viaje o de otras páginas web.
Una vez has encontrado el sitio de interés aparecerá en un color verde ene el mapa y simplemente se tendrá que hacer clic en Añadir al mapa para que se añada a la capa que has creado y personalizado a tu gusto. Es importante destacar que vas a poder generar diferentes capas con tus lugares de interés para ir seleccionándolas dependiendo de las condiciones que se den o simplemente se podrá clasificar por días.
Ahora te va a tocar ir buscando y agregando todos los sitios de interés y hoteles que vas a querer visitar. Estos son editables en lo que se refiere al estilo que aparece en el mapa, con el bote de pintura que aparece en la parte derecha al seleccionar el punto que hay en el mapa. Google Maps permite cambiar el color y también la forma de la chincheta.
Otro punto a destacar de Maps para planificar tus vacaciones recae en la opción de ir agregando líneas sobre el mapa que conecten diferentes puntos. Esto es ideal para poder tener un orden de la visita que vas a realizar, pudiendo incluir también los restaurantes que se van a visitar entre visitas. Todo esto gracias a la opción Dibujar línea que se encuentra en el lateral.
Esta línea no hace falta que se dibuje de manera manual, sino que puedes pulsar en el punto de partida y en el destino para crear la línea por el trayecto más corto a seguir siempre teniendo en cuenta el sistema de transporte que se va a escoger. Y estas se van a ir combinando como quieras al crear una capa nueva.
En definitiva, aquí es donde va a entrar en juego tu imaginación para poder conseguir el mejor planning de tus vacaciones con Google Maps con el objetivo de tener todo lo más organizado posible. Este m
apa lo vas a poder consultar en todos tus equipos y hacer cambios en cualquier momento para ajustarse siempre a los posibles contratiempos que aparecen en un viaje.
En septiembre de este año, conocimos Mi Carpeta Ciudadana. Se trataba de una nueva aplicación de la Administración Pública cuya meta nos pareció en su momento demasiado ambiciosa: toda la burocracia en tu teléfono móvil o web sonaba muy bien, pero viendo el bagaje de estos servicios en España, las esperanzas eran escasas. Y más tras ver cómo había salido el "experimento" de Radar COVID: mal.
Pero, por una vez, y tras probar bien Carpeta Ciudadana casi de casualidad, nos sorprendió enormemente por su rendimiento y por sus funciones. La buena noticia para sus responsables es que, a nivel de acogida, y pese a no ser estrictamente imprescindible para ningún trámite, la aplicación está triunfando.
100.000 descargas en Google Play y primeros puestos entre las más descargadas en iOS y Android
Pese a que la aplicación 'Mi Carpeta Ciudadana' se lanzó en septiembre, es ahora cuando ha superado las 100.000 descargas en Google Play Store. Se trata de un éxito relativo teniendo en cuenta que España cuenta con 47 millones de habitantes aproximadamente, pero hay que recordar que es reciente y que no se está promocionando en exceso, ya que funciona más como agregador que como servicio obligatorio para hacer trámites, como sí sería Cl@ve PIN o la app de la Agencia Tributaria para hacer la declaración de la renta.
Además de haber superado ese umbral, en los últimos días Mi Carpeta Ciudadana se ha colocado como la aplicación gratuita más popular en Google Play Store, y como la segunda más popular en la App Store de iOS, siendo la primera en la categoría de productividad. Al tratarse de tiendas tan masivas, usadas prácticamente por todo aquel con smartphone, esta métrica refleja a la perfección la popularidad que está ganando el servicio.
Desde el equipo de Genbeta llevamos meses recomendando a nuestros familiares que la instalen, pues la app es de las formas más sencillas que existen de consultar puntos de la DGT, o el valor catrastral de una vivienda en propiedad, por ejemplo, así como títulos escolares y universitarios.
En un click he podido descargar mi certificado de empadronamiento, y encontrado información sobre mi casa o mi matrícula universitaria de 2014, algo que podría hacer con otros servicios, pero introduciendo muchos más datos. También puedes consultar directamente si tienes (y vigencia) de DNI, Pasaporte y Certificado Electrónico.
La ventaja de Mi Carpeta Ciudadana es que la información viene a ti, no tienes tú que ir a por ella sabiendo detalles como referencia catastral o dando datos personales. La Administración lo tiene todo sobre nosotros, y ya era hora de poder ver mucho simplemente identificándonos en una web.
Para consultar aspectos como la Vida Laboral sí que hay que salir de la web, pero en todo momento nos redirige exactamente a la web de destino de forma sencilla y sin rodeos. Como mejora para el futuro, se podrían centrar en incluir más datos fiscales, o referentes a la renta, porque es una web/aplicación mucho mejor estructurada que la de la Agencia Tributaria.
Probablemente no hayas caído en ello, pero quiero contarte cómo puedes hacer pimientos asados en tu freidora de aire, la receta más sencilla y cómoda, que te permitirá no encender el horno convencional de casa, que siempre gasta más energía y tiene una limpieza más laboriosa que la de estos modernos electrodomésticos.
Como ya hemos comentado anteriormente, además de ser excelentes para reducir la cantidad de aceite en las frituras de patatas y otros alimentos, las freidoras sin aceite o airfryers son en realidad hornos en miniatura que nos permiten asar alimentos sin necesidad de utilizar el horno tradicional.
Hoy, aprovechando el final de la temporada, cuando los pimientos gordos de asar están en su mejor momento, hemos decidido preparar una buena cantidad de pimientos asados, para preparar aperitivos originales, nuestras clásicas ensaladas de pimientos, asadillo manchego y otras recetas que tanto disfrutamos en casa.
Una de las ventajas de asar pimientos en las freidoras de aire, -además de que se hacen en solo 20 minutos- es que al terminar, podemos dejarlos sudando diez minutos dentro, y al ser un espacio más pequeño que la bóveda de un horno convencional, se desprende bastante la piel de la carne, facilitando la tarea de pelarlos.
Además, los jugos de la cocción, que también son útiles para hacer la salsa de las ensaladas o asadillos de pimientos, se van a quedar en el fondo de la cesta o bandeja, facilitando su recogida al terminar de asar los pimientos.
Ingredientes
Para 4 personas
Pimientos de color grandes, para asar
4
Aceite de oliva virgen extra
Sal al gusto
Cómo hacer pimientos asados en tu freidora de aire
Dificultad: Media
Tiempo total
20 m
Cocción
20 m
Reposo
10 m
Preparamos los pimientos, lavándolos bien, secándolos y untándolos ligeramente con aceite de oliva virgen extra. No los salamos, ya lo haremos después a mitad del proceso. Los colocamos en la bandeja de nuestra freidora de aire o en la caja de la misma, dependiendo del modelo, procurando que no queden muy apelotonados.
Para hacer esta receta, puedes usar una freidora de aire como la Smart Oven AirFryer de Sage Appliances que tiene forma de horno convencional y permite asar hasta cuatro pimientos de una vez. (Tres por hornada en esta ocasión porque eran grandes).
Si la tuya es una airfryer de tamaño más pequeño y forma convencional como la Cosori Dual Blade Chef Edition, podrás hacer dos pimientos grandes en cada hornada, sin ningún problema.
Los tiempos de cocción son similares en todas las freidoras sin aceite, unos 20 minutos a 200ºC de temperatura, en función asar/roast. A mitad de la cocción, abrimos y damos la vuelta a los pimientos. Aprovechamos para salarlos ligeramente. En los últimos diez minutos, damos dos veces la vuelta a los pimientos para que se terminen de hacer uniformemente, y se doren bien por todas sus caras.
Freidora sin aceite Cosori Dual Blaze Chef Edition color Gris
Con qué acompañar los pimientos asados en tu freidora de aire y en qué recetas utilizarlos
Con los pimientos asados en freidora de aire puedes preparar muchas recetas, desde aperitivos o canapés, a ensaladas variadas, sin olvidar que en sí mismos pueden ser guarnición ideal para platos principales, de carne y de pescado.
Se encuentra disponible para todo tipo de plataformas, y se trata de todo un referente para el mundo multimedia. Kodi es una de esas aplicaciones que siempre recomendamos instalar si quieres montar un servidor de contenido multimedia local. Además, cuenta con infinidad de add-ons que amplían su experiencia, haciendo que la aplicación cuente con todo tipo de posibilidades.
Entre todo lo que podemos hacer en Kodi, también es posible ver la TDT a través de las listas IPTV. Aunque lo mejor de esto es que también podemos grabar los programas para poder verlos cuando queramos. En este artículo te ensañamos cómo hacerlo.
Cómo grabar la TDT desde Kodi
Kodi ofrece de serie maneras de ver la televisión en directo a través de sistemas PVR. Aunque si lo que queremos es ver la TDT de forma gratuita desde la propia aplicación, podemos aprovechar las listas IPTV que circulan por la red. Existen varias de ellas, como la de TDTChannels, que nos permite ver algunos de los canales de la TDT que las propias cadenas ofrecen de forma gratuita en Internet.
Para poder ver los canales desde las listas IPTV, lo primero que tenemos que hacer en Kodi es instalar un add-on que nos permita gestionar las propias listas IPTV. El más conocido y que se encuentra en el repositorio oficial de Kodi es PVR IPTV Simple Client. Para instalarlo, tenemos que abrir Kodi, seleccionar la opción de 'Add-ons' del menú lateral, y nos vamos a 'Download'.
En el repositorio de Kodi buscamos 'PVR IPTV Simple Client' desde la propia herramienta de búsqueda e instalamos esta extensión. Tras ello, ya podemos ejecutar este add-on y añadir las listas IPTV a través de la URL. Para hacer esto tenemos que ir a la opción de 'Configure' antes de ejecutarlo en la página del propio add-on, y en la pestaña de 'General' modificamos la opción de 'M3U playlist URL', añadiendo la URL de la lista IPTV que tengamos. Aquí podemos añadir mismamente la de TDTChannels si queremos ver los canales de la TDT, la cual es: 'https://www.tdtchannels.com/lists/tv.m3u8'.
Una vez hecho esto, seleccionamos la opción de 'Ok' en la parte derecha y ya tendremos nuestro gestor IPTV configurado y con los canales de la TDT añadidos.
La única pega es que dicho add-on no permite grabar los canales de televisión. Para ello hará falta descargar otro add-on, esta vez desde una fuente de terceros. Así que lo primero que tenemos que hacer en Kodi es irnos a Settins > System > Add-ons y habilitar la opción de 'Unknown sources'. Esto nos permitirá instalar add-ons desde repositorios de terceros.
Otra cosa que tenemos que hacer (fuera de Kodi), es instalar los códecs FFMPEG, ya que serán necesarios para la grabación de los canales de la TDT. Para ello visitamos este enlace, y descargamos la última build en formato .ZIP. Tras la descarga, extraemos el contenido a la ruta que nosotros queramos (luego tendremos que acordarnos de esta ruta más adelante).
Tras haber realizado los anteriores pasos, ahora nos queda instalar 'IPTV Recorder', un add-on que se combina con 'PVR IPTV Simple Client' y que nos permitirá grabar los canales de la TDT. Para ello, tenemos que añadir el repositorio en Kodi. Esto se hace yendo a Add-ons > Add-on browser y seleccionando la opción de 'Install from zip file'. Aquí seleccionamos el archivo comprimido descargado y Kodi instalará IPTV Recorder.
Cuando se instale el add-on, debemos configurarlo para agregarle la ruta del archivo ejecutable del códec FFMPEG. Así que seleccionamos el add-on de IPTV Recorder, y antes de abrirlo vamos a Configure > Jobs and Rules > ffmpeg exe y aquí añadimos la ruta del ejecutable del códec, que se encuentra en .\bin\ffmpeg.exe. Tras ello, confirmamos con el botón de 'Ok' a la derecha.
Una vez hecho todo esto, ya tendremos completamente configuradas las grabaciones para los canales de la TDT. Ahora solo falta ejecutar IPTV Recorder, y en 'Channel Groups' deberíamos de tener todos los canales añadidos al add-on de PVR IPTV Simple Client. Simplemente seleccionamos el que queremos ver o grabar con el botón derecho del ratón y escogemos la opción de 'Record and Play' si queremos grabar el programa, o 'Play Channel' si simplemente queremos verlo en directo.
El add-on nos preguntará las horas que queremos dejar el programa para que se grabe. Una vez finalizada la grabación, encontraremos el archivo en 'Recordings'. Además, mientras estamos viendo el canal, podemos ir hacia atrás o hacia delante, tal y como ocurre en los descodificadores actuales.
La extensión nos permite además crear rutinas de grabación para que siempre comience a grabar en la hora seleccionada. Esto lo podemos hacer a través de 'Add One Time Rule', 'Add Daily Time Rule' o 'Add Weekly Time Rule', dependiendo de la repetición de la rutina.
Open Access SIGGRAPH 2022 Conference Content
Open Source ASWF Open Source Days
Aurora
MoonRay
Art Papers Field of Leaves: An Interactive Installation Sprouting Leaves Out of Public Money
KineCAM: An Instant Camera for Animated Photographs
Three Stage Drawing Transfer
Woven Behavior and Ornamentation: … Self-Shaping Woven Textiles
Birds of a Feather Advanced PBR Material Parameters in glTF
Dancers of VRChat
Delivering Interactive Experiences with glTF
How Do We Solve the Challenges of glTF Asset Creation?
Nos acaban de golpear en el estómago, en la barbilla y no nos hemos repuesto del shock. La legendaria franquicia de Monkey Island está de vuelta de forma totalmente inesperada con un nuevo título llamado Return to Monkey Island, el cual llegará en algún momento de este 2022. Además, viene apadrinado de la mejor manera posible.
Nadie mejor para encargarse de una entrega más de las aventuras de Guybrush Threepwood que el creador Ron Gilbert, el cual está al frente del proyecto con el estudio Terrible Toybox, autores de Thimbleweed Park. Para redondear la jugada, tenemos colaborando a Devolver Digital y Lucasfilm Games. Casi nada.
Pero ojo, porque no estamos hablando de un reboot o un remake, sino que se trata de una secuela directa de Monkey Island 2: LeChuck's Revenge. Así es, por fin veremos lo que sucede tras su desconcertante final 31 años después, una eternidad. Lo cierto es que el propio Ron Gilbert ha asegurado que lleva más de dos años trabajando en secreto para este bombazo que nos ha explotado en la cara.
La franquicia de LucasArts se ha convertido en un referente absoluto de la comedia y las aventuras gráficas. Su apuesta por una versión desternillante del mundo de los piratas le granjeó una fama sin igual y el cariño de la comunidad durante décadas.
Hadi Partovi, CEO fundador de Code.org, ha presentado la llegada de esta iniciativa a nuestro país. Esta organización sin ánimo de lucro busca impulsar el desarrollo del pensamiento computacional entre los más jóvenes y conseguir que la programación sea una asignatura troncal en primera y en secundaria.
Con el anuncio de hoy España es desde ahora la sede de la entidad para el desarrollo del proyecto en Europa, Oriente Medio y África (EMEA por sus siglas en inglés) y estará liderada por un equipo español.
Gran respaldo político y económico
Lo curioso es que esta idea parece encontrarse con un gran respaldo político y económico puesto que en la presentación, además de contar con diversos líderes políticos actuales del PSOE y del PP, también tuvo a los cuatro expresidentes del gobierno que hay en España.
Code.org es una organización sin ánimo de lucro que tiene como objetivo promover la programación a nivel global como lenguaje fundamental para el empleo del futuro, según la misma organización se describe. Cuenta con el apoyo de personas como Barack Obama, Mark Zuckerberg y Bill Gates en Estados Unidos. En España diversos empresarios también han respaldado la iniciativa como José María Álvarez-Pallete, presidente de Telefónica.
De acuerdo con Partovi en Estados Unidos, lugar donde nació la organización, la mitad de las escuelas de educación básica ya enseñan programación y el objetivo es conseguir esto mismo en España, por lo menos. Code.org tiene contenidos gratuitos para aprender de programación en 60 idiomas, según información aportada por el Presidente del Gobierno Pedro Sánchez.
“Es fundamental que todos los estudiantes del mundo aprendan ciencias de la computación, que incluye habilidades cada vez más necesarias para todas las carreras y en todas las industrias”, señaló Hadi Partovi, CEO fundador de Code.org. “España tiene las condiciones adecuadas para avanzar en la incorporación de las ciencias de la computación en la educación básica".
En España, un 82% de los padres y un 76% de los alumnos desconoce qué son y qué materias comprenden las ciencias de la computación, según el informe ‘Educación en ciencias de la computación en España 2015’. En el ámbito de la docencia, un 82% de profesores nunca ha aprendido a utilizar la tecnología para enseñar.
Visual Studio Code es, sin duda, uno de los editores de código más utilizados por los programadores para desarrollar sus proyectos. Y lo es tanto en Windows como en Linux, pese a ser una herramienta desarrollada por Microsoft.
Pero ahora VS Code suma una nueva plataforma a su lista: la web. Porque, según ha anunciado hace unas horas la propia Microsoft, su editor de código se ha convertido en un servicio online que funciona en cualquier navegador moderno sin necesidad de instalar ningún cliente ni plugin.
Esta versión web está disponible en el dominio vscode.dev, que hasta hace unas horas redirigía a code.visualstudio.com, la web de la versión cliente del editor de código.
Herramienta online, proyectos locales
Sin embargo, si accedemos ahora al mismo, podremos acceder a una versión ligera de Visual Studio Code (denominada VS Code for the Web), que nos permitirá alojar localmente los archivos de nuestro proyecto incluso si estamos ante una herramienta online.
La clave que hace esto posible radica en que Edge y Chrome (y navegadores compatibles), al admitir la File System Access API, permite que las webs accedan a nuestro sistema de archivos local (siempre solicitándonos permiso antes). Si eres usuario de otra clase de navegador, puedes seguir accediendo a la herramienta, pero en este caso cargando y descargando archivos individuales, a la antigua usanza.
Esto, según destaca la propia Microsoft, abre la puerta al uso de VS Code para desarrollar software en dispositivos como el iPad o los Chromebooks, donde la instalación de la versión cliente no es posible o sencilla.
(Algunas) funcionalidades limitadas
Por supuesto, dado que VS Code for the Web se ejecuta por completo dentro del navegador, habrá ciertas funciones de la versión de escritorio que no estarán presentes o cuya funcionalidad estará limitada:
"Por ejemplo, el terminal y el depurador no están disponibles, lo que tiene sentido ya que no puede compilar, ejecutar y depurar una aplicación Rust o Go dentro del espacio aislado del navegador (aunque las tecnologías emergentes como Pyodide y los contenedores web puedan algún día cambiar esto)".
La experiencia para el usuario en aspectos como el coloreado de sintaxis, detección de errores de sintaxis, resaltado semántico, etcétera, es variable según el tipo de lenguaje con el que trabajemos, desde "buena" para C/C++, C#, Java, PHP, Rust o Go a "mejor" para Python, JavaScript y TypeScript a "la mejor" para los lenguajes más web como HTML, CSS, JSON, LESS o Markdown.
En lo que respecta a las extensiones, las que tienen que ver con la personalización de la interfaz de usuario seguirán funcionando en esta versión web, "e incluso puede habilitar la itinerancia entre el navegador, el escritorio y los espacios de código de GitHub"…
…pero aquellas que ejecutan código Node.js que usa módulos específicos del sistema operativo, o que recurren a ejecutables locales, se siguen mostrando en los resultados de búsqueda, pero están claramente marcadas como no disponibles.
"Dicho esto, hay un número creciente de extensiones que se han actualizado para funcionar en el navegador, de modo que su número aumenta día a día".
I’ve spent some time looking at various texture compression formats and libraries (the ones meant for GPUs, i.e. “ASTC, BC7” kind, not the “PNG, JPG” kind). Here’s a fully incomprehensible chart to set the stage (click for a semi-interactive page):
If your reaction is “whoa what is this mess?!”, that’s good. It is a mess! But we’ll get through that :)
Backstory on GPU compression formats Majority of textures on the GPU end up using “block compression” formats, to save sampling bandwidth, memory usage and for faster texture loads.
Como muchas grandes tecnologías que ahora damos por sentadas, la Realidad Aumentada está empezando como un juego. Es una forma natural de introducir novedades, pero no por ello deberíamos perder de vista su enorme potencial. Sí, podemos capturar una silla en tres dimensiones, pero las posibilidades que abre esta capacidad van mucho más allá de la curiosidad o el juego. En esta línea hablaremos hoy de Polycam, una app con la que sorprender a familiares y amigos o realizar labores profesionales de forma eficiente y fácil.
Paso uno: el proceso de captura
Estoy probando Polycam, una app que nos permite capturar nuestro entorno en 3D con un iPhone 12 Pro, un iPhone 12 Pro Max o un iPad Pro (2020).
Polycam como aplicación es de lo más sencilla. Nada más iniciarla vemos una interfaz similar a la de la app Fotos en la que se superpone una serie de mallas triangulares que representan las superficies que detecta. Esta detección es posible gracias al escáner LiDAR del que disponen los nuevos iPhone 12 Pro y iPhone 12 Pro Max, así como el iPad Pro (2020).
El proceso de captura es el más importante dentro de los tres pasos que veremos. En general basta con enfocar la cámara a la escena que queremos capturar, pero hay algunas consideraciones interesantes que tener en cuenta para mejorar la captura que la misma app nos recomienda con nuestro primer uso: mantener el dispositivo estable, iluminar bien la escena, no acercarnos en exceso a los objetos y, sobre todo, capturar bien en una primera pasada más que realizar varias consecutivas.
Una vez hemos terminado de capturar la escena, la app abre una previsualización de la misma y nos ofrece procesarla. Disponemos de dos opciones, el procesado en SD que es más rápido y el procesado en HD que, según mis pruebas, puede llegar a durar unos 20 o 25 segundos. Importante destacar que, si solo queremos comprobar que la captura se ha realizado correctamente podemos usar el modo SD y, posteriormente, reprocesarlo en HD cuando queramos.
Mediante el procesado la app junta la información que le han proporcionado las cámaras con la información de profundidad del LiDAR para ofrecernos una imagen 3D texturizada de la escena. Esta es la captura que vemos en la pantalla de nuestro iPhone o iPad. Una captura que podemos mover, consultar, recortar, etc.
Ya sea tras la misma captura o tocando el botón de librería de la app cuando se inicia, igual que el de las fotos recientes en las apps de fotografía, podemos acceder al entorno 3D que hemos capturado. Desde aquí la app nos ofrece varias opciones, entre ellas cambiar el nombre a la captura, calcular la dimensión general de la misma, recortar sus límites, reprocesarla o eliminarla. También podemos añadir información, medir o compartir, de lo que hablamos en la siguiente sección.
La cantidad de información que concentra un solo escenario 3D es bastante impresionante. Hay muchos mapas de profundidad, muchas texturas y mucho material con el que interactuar. En nuestro iPhone o iPad podemos realizar algunas acciones y consultas, aunque la parte más interesante está en la exportación que nos permitirá trabajar con otras aplicaciones y dispositivos.
Una de las herramientas más útiles que nos ofrece la app con nuestro entorno 3D es la posibilidad de medir la distancia entre dos puntos. Bastan dos toques consecutivos para consultar la medición. Además, gracias a las mejoras que introdujo Apple en el reconocimiento de escenas de Realidad Aumentada, podemos añadir información a una captura existente. Simplemente tocamos el botón "+", reconocemos la escena y empezamos a capturar la parte que queramos añadir.
Por último, pero no menos importante podemos exportar la información. La cantidad de opciones es muy completa. La misma app las divide en formatos mesh, como OBJ, BLB, DAE o STL, formatos de Floorplan y formatos de nube de puntos como DXF, PLY, XYZ y PTS, varios de ellos compatibles con herramientas como AutoCAD, por ejemplo.
En conjunto se trata de una app muy completa que puede facilitarnos enormemente varias tareas, por supuesto sorprender a amigos y familiares o jugar con esta tecnología, pero también realizar una medición rápida y de precisión suficiente para diseños arquitectónicos, de interiorismo, etc. Podemos obtener Polycam gratuitamente en el App Store.
This guy was really playing with fire when it came to how close he took his drone to that train. Literally flew it into a moving boxcar at one point. That could've ended up being a complete disaster.
Frente al éxito y ruido de Unreal Engine, especialmente durante estos últimos meses, en Unity no les ha quedado otra que ponerse en plan creativo con ideas como su plataforma de autopublicación, la compra de Bolt o, con el gran público en mente, su última alianza con LEGO.
De la mano de su última creación, llamada LEGO Microgame, usuarios sin conocimientos previos de la plataforma o el mundo de la programación pueden dar rienda suelta a su creatividad creando sus propios juegos de bloques y muñecos sin rodillas.
A base de mods y tutoriales podrás dar forma a tu juego para montar tus personajes y escenarios, crear e importar enemigos, setear menús o comprender cómo funcionan los distintos elementos que estás añadiendo a tu juego.
La idea del proyecto es acercar el mundo del desarrollo de una forma fácil y divertida a quienes quieran introducirse en el mundillo, y para ello han montado un ecosistema lo más accesible posible. Aseguran que cualquier novato puede crear su propio juego en menos de una hora. Tocará echarle un vistazo.
Cuando uno se inicia en el mundillo de la programación, que de buenas a primeras te sitúen frente a un árido IDE, puede echar para atrás a más de uno. Eso por no mencionar lo difícil que puede resultarnos comprender algunos conceptos, para lo que en algunos casos puede resultar interesante motivarnos recurriendo a la gamificación.
En Genbeta hemos querido realizar una breve recopilación de algunas aplicaciones completamente gratuitas (bueno, se nos ha colado una freemium) que nos pueden ayudar en nuestra formación como futuros programadores:
Scratch
Scratch es, posiblemente, el software más usado para iniciar a los niños en la programación. Se basa en un lenguaje de bloques, desarrollado por expertos del MIT, que se van combinando para formar programas.
Pese a lo que pudiera parecer por este enfoque, tan visual, y por su interfaz sencilla y colorista, Scratch es un lenguaje de programación potente que ha permitido desarrollar proyectos complejos.
Está disponible en formato plataforma web y como software de escritorio para Windows y Mac. No nos obliga a registrarnos, aunque este paso será útil si queremos ir guardando nuestros proyectos.
Snap!
En base al código de Scratch, investigadores de la Universidad de Berkley crearon Snap!, un 'fork' de ese lenguaje con el objetivo de que fuera de ayuda para iniciar en la programación a usuarios algo más mayores (de instituto y niveles universitarios).
Usando una interfaz y un lenguaje visual tremendamente similares a los de su antecesor, Snap implementa nuevas funcionalidades, como la opción de crear nuevos bloques de instrucciones o de usar listas avanzadas capaces de almacenar casi cualquier tipo de dato (incluyendo otras listas o instrucciones listas para ser ejecutadas).
PSeInt
PSeInt es un intérprete de pseudocódigo, un falso lenguaje que nos permite aprender conceptos básicos de programación aplicable a varios lenguajes y, además, recurriendo para ellos a la lengua materna del estudiante.
PSeInt es el recurso favorito (por falta de alternativas, también es verdad) para que los hispanohablantes podamos recurrir al pseudocódigo en nuestro idioma, y usando un programa que imita los IDE profesionales, con sus funciones de coloreado de sintáxis, detección de errores e, incluso, de ejecución del código.
Uno de sus mayores atractivos es que nos da la opción de convertir determinados algoritmos de pseucódigo al código equivalente en varios lenguajes de programación populares (C, C++, C#, Java, JavaScript, PHP, Python o Visual Basic entre ellos).
Robocode es un videojuego multiplataforma (Windows, Mac, Linux, BSD) que se lanzó al mercado hace ya 20 años, con un objetivo muy claro: crear un tanque que nos permita machacar a los de nuestros adversarios. Pero, ¿cómo nos ayuda esto a aprender programación o robótica?
Muy sencillo: nosotros no manejamos a nuestro tanque durante la partida, sino que debemos haber realizado el trabajo duro previamente, codificando el 'comportamiento' del mismo para que sepa cuándo moverse, cuándo disparar y cómo detectar y evitar al resto de tanques. Para ello podremos programar por separado el cuerpo del robot, su cañón y su radar.
Para esta labor de programación, deberemos recurrir a lenguajes como Java, C# y Scala, pudiendo empezar con códigos tremendamente simples y avanzar hasta dominar técnicas de inteligencia artificial. Robocode es en sí mismo un IDE completo, con editor de código, editor de robots u compilador.
CodeCombat
CodeCombat es, como Robocode, un videojuego al que se juega a base de programar códdigo usando lenguajes informáticos reales (como Python, JavaScript y HTML).
Se trata de una plataforma online freemium (cuyos primeros 110 niveles son gratuitos) y que se dirige a niños a partir de 9 años, sin necesidad de que cuenten con conocimientos de programación previos.
Bajo la forma de un juego de rol/estrategia de ambientación fantástica y estética cartoon, deberemos controlar a un mago cuyos hechizos se componen de código de programación.
Colobot: Gold Edition
'Colobot: Gold Edition' es un videojuego, disponible para Windows y Linux, lanzado después de que los desarrolladores originales de 'Colobot' (lanzado en 2001) liberasen su código.
En este juego 3D de estrategia en tiempo real encarnamos un astronauta que debe realizar misiones en diversos planetas auxiliado por robots. Dichos robots deberán ser programados por nosotros utilizando un lenguaje propio, CBOT, que es, sin embargo, muy similar a Java y C++.
Armar y diseñar un currículum que se vea bien y que tenga toda la información importante sobre tu perfil laboral puede ser una de las tareas más estresantes y tediosas del proceso de buscar trabajo. Es algo que tiene el potencial de ser crucial si es lo primero que un potencial empleador verá sobre ti, y hay gente que no sabe ni por donde empezar.
No es casualidad que existan muchas herramienta gratuitas que nos puedan ayudar con el proceso de crear un currículo online, y mejor aún es cuando estas son capaces de rellenarlos automáticamente con datos públicos que ya tenemos a mano en sitios como LinkedIn.
Linkedin to Resume
Con un nombre más que obvio en lo que hace, esta extensión para Chrome (también puedes usarla en otros navegadores como Edge, Opera, Brave o Vivaldi) se aprovecha de todo el perfil que ya te has creado en LinkedIn para crearte un currículum completa de forma automática.
Además de esto el currículo que crea está optimizado para software ATS, es decir, ciertos sistemas automatizados que algunas empresas utilizan para escanear los datos de los currículums que envían las personas y calificarlos.
Solo tienes que instalar la extensión, ir a LinkedIn y exportar tu perfil, subir ese perfil descargado a la plataforma de Rezi (los creadores de la extensión), crear una cuenta, y dejar que la herramienta haga su trabajo y te arme un currículo. Todo el proceso toma menos de un par de minutos.
Si estás interesado en la herramienta y quieres saber más sobre el tratamiento de tus datos que hace la empresa, puedes leer su política de privacidad. Aunque afirman no vender ninguno de los datos que proporciones, sí pueden llegar a compartirlos con terceros para proveer los servicios que te ofrecen. Bajo la LOPD puedes solicitar que esos datos se eliminen.
David Plummer, el ingeniero de Microsoft que creó el Administrador de tareas de Windows que apareció por primera vez en Windows NT 4.0, se pasó repentinamente por Reddit y escribió todo un hilo de trucos, consejos, y curiosidades sobre esta emblemática herramienta.
Plummer, que ya está retirado y dejó la empresa hace un buen tiempo, también escribió e hizo el port de Space Cadet Pinball, trabajó con las carpetas zip, en el menú inicio, en la shell, la calculadora, la activación de producto y varias cosas más. Hoy sigue escribiendo código, pero más que todo en su canal de YouTube como otro de sus pasatiempos. Es muy interesante seguirlo porque aporta muchas anécdotas y profundidad.
"No hay nada que el Administrador de tareas no pueda matar"
El programador cuenta que escribió TaskMgr en su casa alrededor de 1994, y a pesar de que era un novato en esa época, los desarrolladores senior lo dejaron incluir el proyecto en la rama principal de desarrollo, por lo que pudo pulirlo en el trabajo para que pasara a ser parte oficial de Windows.
El Administrador de tareas sigue siendo parte esencial de Windows hasta la fecha. Apunta que la mayoría de sus consejos son basados en XP ya que el dejó la empresa hace varios años, pero sigue siendo la misma app base por lo que la mayoría aplican incluso en las más recientes versiones de Windows:
Si el Administrador de tareas alguna vez se cuelga o deja de funcionar, puedes iniciar otro presionando CTRL + SHIFT + ESC. "Winlogon buscará una instancia existente y tratará de revivirlo por hasta 10 segundos. Si ese Taskmgr no empieza a tomar sentido respondiendo al código secreto en ese tiempo, otro será lanzado. De esa forma nunca estás sin un Taskmgr mientras hayan algunos recursos disponibles".
El Administrador de tareas cargará en modo reducido si hay pocos recursos: por ejemplo, cargará solo la pestaña de procesos si es lo que necesita para arrancar. "Es una de las pocas apps que no 'falla y desaparece' cuando las cosas salen mal".
Si el Administrador de tareas se corrompe de forma interna, mátalo o ciérralo: Reinícialo presionando y manteniendo CTRL + ALT + SHIFT y el Administrador de tareas reiniciará todos sus ajustes internos a los de fábrica si detecta esa combinación de teclas al inicio.
Si todas las barras de título desaparecen y solo ves un gráfico, haz doble click en el espacio muerto del cliente para cambiar a modo normal.
CTRL + SHIFT + ESC lanzará el Administrador de tareas sin ningún tipo de ayuda de la Shell. Así que sí la Shell o el Explorador están muertos, puedes usar esta combinación de teclas para iniciar Taskmgr y reiniciar la shell. Incluso si tu barra de tareas ha desaparecido, esta combinación debe funcionar.
Si la shell no puede iniciar algo o se cuelga, prueba con el Administrador de tareas: este tiene un modo en el que cargará sin ninguna referencia a shell32.dll y permitirá iniciar programas como CMD.EXE sin el menú inicio.
Puedes encontrar el binario para ejecutar cualquier proceso en la pestaña de procesos: solo tienes que hacer click derecho y seleccionar "Abrir la ubicación del archivo".
No debería haber nada que el Administrador de tareas no pueda matar: escalará privilegios (si los tienes) y habilitará privilegios de depuración para adjuntarse y matar aplicaciones si es necesario. "Si el Administrador de tareas no puede matarlo, tienes un problema de kernel". Aquí Plummer acota que después de Windows XP se añadieron algunos límites intencionales a lo que el Administrador de tareas puede matar para prevenir que el usuario matara componentes esenciales de Windows y se autoinfringiera una pantalla azul.
Conoces esta historia: acabas de instalar Windows 10, o tienes ordenador nuevo, o tuviste que formatear porque la vida pasa, y ahora te toca la tediosa tarea de instalar de nuevo todas tus aplicaciones favoritas una por una. Pues Microsoft tiene hace no mucho tiempo algo que nos puede hacer las cosas más fáciles en esos escenarios.
Su nombre es winget y es el nuevo gestor de paquetes para Windows 10 que nos permite instalar todo tipo de aplicaciones desde la terminal de forma rápida y sencilla escribiendo un simple comando, y lo mejor de todo (aunque también irónico) es que tiene software más destacable que la misma tienda de Microsoft.
Instalar apps para Windows nunca fue tan fácil, que no te intimide la terminal
En Windows 10 existen varios caminos cuando quieres instalar un puñado de programas populares a la vez y sin tener que ir de web en web. Hemos hablado de opciones como el gran Chocolatey, un genial gestor de paquetes alternativo que tiene de todo, y hasta versión con interfaz gráfica.
Otra buena opción muy popular es Ninite, una herramienta que instala en un click muchas de las aplicaciones más conocidas y populares para Windows. Aunque esa lista no se actualiza mucho desde hace algún tiempo.
La otra es usar la Microsoft Store, opción que en varios aspectos es no es la mejor, especialmente porque la cantidad de software ahí disponible es bastante lamentable. No busques ni Steam, ni VLC, ni WinRAR, ni Discord, es más lo que falta que lo que existe.
Mi opinión es que winget es mejor que casi cualquiera de esas opciones anteriores, y aunque está en versión preliminar todavía, sus repositorios han ido creciendo mucho en poco tiempo, y ya es quizás mejor alternativa para instalar software en Windows 10 que todas las demás conocidas.
Sí, tienes que echar mano de una terminal, pero es muy fácil de aprender a usar.
Cómo usar winget para instalar apps en Windows 10
Windows Package Manager o winget se encuentra en versión preliminar, es un proyecto de código abierto, y puedes encontrar todos los detalles en GitHub. Para usarlo necesitas tener instalado Windows 10 versión 1709 o posterior (cualquiera de la Fall Creators Update en adelante).
Deberás descargar el cliente desde la página de lanzamientos de GitHub, en este enlace. Elige el archivo con la extensión .appxbundle y ejecútalo en tu ordenador.
El mensaje que verás al instalar el cliente de winget en Windows 10
Esto te permitirá ahora usar el comando winget desde el Símbolo del sistema, la PowerShell o la nueva Terminal de Windows 10 para instalar todo tipo de programas. Solo tienes que escribir winget install VLC por ejemplo, si quieres instalar VLC.
Instala un programa con el comando "winget install" seguido del nombre de tu app favorita
La lista de software disponible en el repositorio actual, es enorme. Te vas a encontrar desde editores de texto como Atom, Brackets o Sublime Text, a aplicaciones de mensajería como Telegram, WhatsApp y Discord; pasando por apps populares de todo tipo como Spotify, Zoom, qBittorrent, Filezilla, WinRar, Opera, Open VPN, VS Code, Dropbox, 7zip, o el mismo Ubuntu 18.04, y un gran etc.
Escribe el comando "winget show" para mostrar la lista de paquetes disponible
Ahora, es importante que sepas que si usas este proceso de instalación no recibirás actualizaciones de winget de forma automática, para ello necesitas ser un Insider de Windows, en cuyo caso es posible que ya contaras con winget en tu build de Windows 10. O, en caso de que no sea así, puedes descargar el paquete desde la Microsoft Store para los Insiders.