Language Selection

English French German Italian Portuguese Spanish

Nebra AnyBeam: A Raspberry Pi powered home cinema projector you can fit in your pocket [Review]

Filed under
Linux
Reviews

Before large screen televisions and 4K content became a thing, I used to enjoy watching films projected onto a white wall at home. I had a Canon projector hooked up to my PC with surround sound, and it was like having a personal cinema.

Technology has moved on quite some way since then, and you can now buy reasonable quality projectors for a fraction of the price. Case in point is Nebra AnyBeam, a Raspberry Pi powered pocket sized projector.

Read more

More in Tux Machines

Programming: Python, GCC and More

  • Stack Abuse: Python for NLP: Word Embeddings for Deep Learning in Keras

    This is the 16th article in my series of articles on Python for NLP. In my previous article I explained how N-Grams technique can be used to develop a simple automatic text filler in Python. N-Gram model is basically a way to convert text data into numeric form so that it can be used by statisitcal algorithms. Before N-Grams, I explained the bag of words and TF-IDF approaches, which can also be used to generate numeric feature vectors from text data. Till now we have been using machine learning appraoches to perform different NLP tasks such as text classification, topic modeling, sentimental analysis, text summarization, etc. In this article we will start our discussion about deep learning techniques for NLP. Deep learning approaches consist of different types of densely connected neural networks. These approaches have been proven efficient to solve several complex tasks such as self-driving cars, image generation, image segmentation, etc. Deep learning approaches have also been proven quite efficient for NLP tasks. In this article, we will study word embeddings for NLP tasks that involve deep learning. We will see how word embeddings can be used to perform simple classification task using deep neural network in Python's Keras Library.

  • Python with JSON Files

    With the growth and evolution of challenges in computer science, Python continues to rise as the primarily sought-after programming skill to solve data science problems.

  • Logging in Python

    Logging is a very useful tool in a programmer’s toolbox. It can help you develop a better understanding of the flow of a program and discover scenarios that you might not even have thought of while developing. Logs provide developers with an extra set of eyes that are constantly looking at the flow that an application is going through. They can store information, like which user or IP accessed the application. If an error occurs, then they can provide more insights than a stack trace by telling you what the state of the program was before it arrived at the line of code where the error occurred.

  • Let’s Build A Simple Interpreter. Part 16: Recognizing Procedure Calls

    Today we’re going to extend our interpreter to recognize procedure calls. I hope by now you’ve flexed your coding muscles and are ready to tackle this step. This is a necessary step for us before we can learn how to execute procedure calls, which will be a topic that we will cover in great detail in future articles. The goal for today is to make sure that when our interpreter reads a program with a procedure call, the parser constructs an Abstract Syntax Tree (AST) with a new tree node for the procedure call, and the semantic analyzer and the interpreter don’t throw any errors when walking the AST.

  • Playing Tic Tac Toe using Reinforcement Learning

    I have always been fascinated by the amazing work done by OpenAI. The one that stood out to me was a AI bot that could play the massively popular game - Dota 2. Dota 2 used to be the escape from the real world for me and my friends while I was in high school. This inspired me to learn more about the field of RL. I wanted to start small so I started with Tic Tac Toe.

  • Python zip function tutorial (Simple Examples)

    The zip() function in Python programming is a built-in standard function that takes multiple iterables or containers as parameters. An iterable in Python is an object that can be iterated or stepped through like a collection. The zip() function is used to map the same indexes of more than one iterable. Mapping these indexes will generate a zip object.

  • GCC 10 Compiler Picks Up New Scheduler Model & Cost Tables For AMD Zen 2 Processors

    While AMD developers published their "Znver2" compiler patches for Zen 2 originally back in November, months ahead of the recent Ryzen 3000 series launch, this compiler support was incomplete as it re-used the existing scheduler model and costs table of Znver1. Now though one of SUSE's compiler experts who often works in cooperation with AMD has published the new Znver2 scheduler model and costs table for Zen 2. The updated costs table better reflects the "costs" of moving and loading various registers and different instructions compared to Znver1 so the compiler can make wiser decisions for the most efficient usage. With these updated costs to reflect faster multiplication and 256 vector paths, there is better GNU C Library performance in particular and SUSE developer Jan Hubicka noted that the memory copy performance "wins" even for small blocks.

  • PyCoder’s Weekly: Issue #378 (July 23, 2019)

Graphics: Mesa 19.1.3, RADV and Radeon

  • Mesa 19.1.3
    Mesa 19.1.3 is now available.
    
    In this release we have:
    
    Mostly in fixes for ANV and RADV drivers, as well as NIR backend fixes.
    
    Several of those patches fixe actually crashes with the drivers,
    and a couple of them fix memory leaks.
    
    
    Bas Nieuwenhuizen (3):
          radv: Handle cmask being disallowed by addrlib.
          anv: Add android dependencies on android.
          radv: Only save the descriptor set if we have one.
    
    Caio Marcelo de Oliveira Filho (2):
          anv: Fix pool allocator when first alloc needs to grow
          spirv: Fix stride calculation when lowering Workgroup to offsets
    
    Chia-I Wu (2):
          anv: fix VkExternalBufferProperties for unsupported handles
          anv: fix VkExternalBufferProperties for host allocation
    
    Connor Abbott (1):
          nir: Add a helper to determine if an intrinsic can be reordered
    
    Dave Airlie (1):
          radv: fix crash in shader tracing.
    
    Eric Anholt (1):
          freedreno: Fix assertion failures in context setup in shader-db mode.
    
    Gert Wollny (1):
          softpipe: Remove unused static function
    
    Ian Romanick (4):
          intel/vec4: Reswizzle VF immediates too
          nir: Add unit tests for nir_opt_comparison_pre
          nir: Use nir_src_bit_size instead of alu1->dest.dest.ssa.bit_size
          mesa: Set minimum possible GLSL version
    
    Jason Ekstrand (13):
          nir/instr_set: Expose nir_instrs_equal()
          nir/loop_analyze: Fix phi-of-identical-alu detection
          nir: Add more helpers for working with const values
          nir/loop_analyze: Handle bit sizes correctly in calculate_iterations
          nir/loop_analyze: Bail if we encounter swizzles
          anv: Set Stateless Data Port Access MOCS
          nir/opt_if: Clean up single-src phis in opt_if_loop_terminator
          nir,intel: Add support for lowering 64-bit nir_opt_extract_*
          anv: Account for dynamic stencil write disables in the PMA fix
          nir/regs_to_ssa: Handle regs in phi sources properly
          nir/loop_analyze: Refactor detection of limit vars
          nir: Add some helpers for chasing SSA values properly
          nir/loop_analyze: Properly handle swizzles in loop conditions
    
    Juan A. Suarez Romero (3):
          docs: add sha256 checksums for 19.1.2
          Update version to 19.1.3
          docs: add release notes for 19.1.3
    
    Lepton Wu (1):
          virgl: Set meta data for textures from handle.
    
    Lionel Landwerlin (6):
          vulkan/overlay: fix command buffer stats
          vulkan/overlay: fix crash on freeing NULL command buffer
          anv: fix crash in vkCmdClearAttachments with unused attachment
          vulkan/wsi: update swapchain status on vkQueuePresent
          anv: report timestampComputeAndGraphics true
          anv: fix format mapping for depth/stencil formats
    
    Marek Olšák (1):
          radeonsi: don't set READ_ONLY for const_uploader to fix bindless texture hangs
    
    Samuel Iglesias Gonsálvez (1):
          anv: fix alphaToCoverage when there is no color attachment
    
    Samuel Pitoiset (1):
          radv: fix VGT_GS_MODE if VS uses the primitive ID
    
    Sergii Romantsov (1):
          meta: memory leak of CopyPixels usage
    
    Timothy Arceri (1):
          mesa: save/restore SSO flag when using ARB_get_program_binary
    
    Vinson Lee (1):
          meson: Add dep_thread dependency.
    
    Yevhenii Kolesnikov (1):
          meta: leaking of BO with DrawPixels
    
    git tag: mesa-19.1.3
    
  • Mesa 19.1.3 Led By Fixes For Intel & Radeon Vulkan Drivers

    If you are sticking to stable versions of Mesa, the Mesa 19.1.3 point release is out today as the latest and greatest version of this collection of open-source graphics drivers. Changes for Mesa 19.1.3 are led by the Intel "ANV" and Radeon "RADV" Vulkan drivers. Among those Vulkan driver fixes are taking care of Android dependencies for ANV, external buffer properties fixes for Intel, a crash in shader tracing for RADV, and various other fixes.

  • RADV Lands Binning Support For GFX10/Navi For Faster Vulkan Performance

    The latest change for Mesa 19.2 to better the new Radeon RX 5000 "Navi" series support is binning in the RADV driver. Following all the prep work, Bas Nieuwenhuizen flipped on the binning functionality within the RADV Vulkan API driver for GFX10 (Navi). With testing Talos Principle as a test scenario for primitive binning, Bas found the frame-rates to improve by about 6%. That's not too surprising and most Vulkan games should see frame-rates improve by about a couple of percent if the Vega primitive binning numbers are any indicator from when that support landed in RADV.

  • Radeon Cauldron 1.0 Released As AMD's New SDK Framework

    Radeon Cauldron 1.0 is AMD's new graphics SDK framework for developing Vulkan and Direct3D 12 demos/prototypes/samples. The GPUOpen developers describe this new framework as "like having a simplified game engine that you can learn and modify in little time." Radeon Cauldron makes it easy to load up glTF 2.0 models and to display in either Vulkan or D3D12, flexibility to encompass more graphics features over time, is written using vanilla C++, and has already been used by different teams within AMD.

Top 20 Best Instant Messaging Programs For Linux in 2019

Instant messaging programs allow users to make real-time communication between more than one person at a time. Like other popular platforms, Linux also has a lot of high-quality instant messaging clients for its users. There are different kinds of tools that support single or multiple protocols based on their characteristics. But each of the software is quite similar in a way to communicate with your friends, colleagues, and clients. Read more Also: This Open Source App Lets You Share Files Between PC & Smartphones Easily

today's howtos