• [Better] Factory Design Pattern in Unity
    gamedev.net
    Original post is in here https://www.gamedev.net/blogs/entry/2277680-factory-design-pattern-in-unity/First I decided to write comment to talk about some mistakes but there is a lot so I decided write my own.Lets start from the claimed AdvantagesIf you need to update the game with more enemies you can do it just by creating an extra enemy class. Henc
    0 Comentários ·0 Compartilhamentos ·51 Visualizações
  • Five core mindsets of a strategic designer
    uxdesign.cc
    Will AI-driven tools replace our roles?Continue reading on UX Collective
    0 Comentários ·0 Compartilhamentos ·44 Visualizações
  • Microsoft Defenders VPN feature will be killed off at the end of February
    www.engadget.com
    Microsoft is getting rid of the VPN offered through Microsoft Defender. As spotted by Windows Latest, the company updated its support pages for privacy protection, its built-in VPN, to notify users that the service will end on February 28. The VPN was bundled with Microsoft Defender, which is available to anyone with a personal or family Microsoft 365 subscription, and it offered private browsing by routing your internet traffic through Microsoft servers, up to the monthly data limit of 50GB.In a statement about the decision posted on the support page, Microsoft said, Our goal is to ensure you, and your family remain safer online. We routinely evaluate the usage and effectiveness of our features. As such, we are removing the privacy protection feature and will invest in new areas that will better align to customer needs. Android users might still see the Microsoft Defender VPN profile in their settings after the expiration date, which theyll need to remove manually if they want it gone. Action is not required by Windows, iOS, and macOS users, Microsoft notes.The company also says this is the only feature getting killed off for now. According to Microsoft, device protection and identity theft and credit monitoring (US) features will continue.This article originally appeared on Engadget at https://www.engadget.com/cybersecurity/microsoft-defenders-vpn-feature-will-be-killed-off-at-the-end-of-february-212313322.html?src=rss
    0 Comentários ·0 Compartilhamentos ·53 Visualizações
  • Sundance premiere Luz explores how VR can help us find connection in the real world
    www.engadget.com
    We're so used to seeing virtual reality depicted nefariously in films like The Matrix, Virtuousity (a forgotten '90s classic) and The Lawnmower Man, it's genuinely surprising to see something that treats VR in a potentially positive way. In Flora Lau's Luz, which premiered at the Sundance Film Festival this week, theres no major downside to VR, its just another way for humans to connect. And in the case of the film's two lonely leads, art gallery worker Ren (Sandrine Pinna) and pseudo-gangster Wei (Xiaodong Guo), VR serves as a life raft of human connection, something that could help them find peace in a world where they both feel adrift.Set in modern-day Chongqing (a city so neon-filled and futuristic it seems more sci-fi than real) and Paris, the characters in Luz live alongside technology familiar to us. Smartphones and OnlyFans-esque livestreams featuring young girls are commonplace. But the virtual reality hardware in the film including ski mask-like goggles, pointed finger sensors that resemble a witch's nails is both a step ahead, and slightly behind, where we are today. Luz, both the name of the film and the VR world people visit, is a fascinating artifact of the immersive reality space from several years ago. That was before we knew finger tracking could be the main input mode in a VR/AR headset like Apple's Vision Pro.Ren and Wei experience the VR world of Luz as an escape from their real-world troubles, though that ultimately proves futile. Ren tries to connect with her stepmother Sabine (the legendary Isabelle Huppert), an emotionally distant Paris gallery owner who is avoiding any help for a potentially fatal illness. Wei, meanwhile, is trying to reconnect with his estranged daughter Fa, who he can only see anonymously via that aforementioned livestream.The lead's storylines intersect during an in-game hunting expedition for a mysterious neon deer, which appears to be the closest thing to "winning" Luz. Wei and Ren reluctantly bond, and eventually they start to find ways to heal their emotional wounds. It's an intriguing concept, though we don't spend enough time with both characters hanging out in VR to truly sell their relationship.Sundance InstituteLuz doesn't attempt to deliver a fully CG VR world like Ready Player One (thank god), instead we see a hyper-stylized version of the real world with an abundance of neon lights, floating particles and characters dressed as if they're about to head to Comic-Con. Obviously, it's an easier way to convey VR, but the film is also portraying a version of the technology that's practically identical to the real world. If VR were truly so immersive, why even bother with real life connections? (Stylistically, it reminds me of Ghost in the Shell director Mamoru Oshiis forgotten Polish sci-fi film, Avalon, which also explored how people can redefine themselves in a VR simulation.)While Lau goes to great lengths to craft gorgeous VR imagery, what the film really needs is more time for its two leads to sit down and talk to each other, instead of having us infer emotion as they stare off into the distance. At just an hour and forty two minutes, theres plenty of room for more character exploration. But at least we get some intriguing conversations between Ren and Sabine, with Huppert being her typically charming self. (Perhaps the most unbelievable aspect of the film is that Sabine, a hip presence in the visual arts scene, hadnt tried VR until Ren convinced her. Weve been seeing artists adopt VR for installations since 2016, so its far from a new concept.)Luz is close to being a great film, with its strong performances and confidently composed cinematography. But through either restraint or weak screenwriting, we dont always have a sense of how the leads relate to the world, or even what they think of each other. The overall approach feels too cold and distant for a film that's ultimately about rediscovering human connection.This article originally appeared on Engadget at https://www.engadget.com/entertainment/tv-movies/sundance-premiere-luz-explores-how-vr-can-help-us-find-connection-in-the-real-world-140005020.html?src=rss
    0 Comentários ·0 Compartilhamentos ·44 Visualizações
  • Global police operation takes down major cybercrime and hacking forums
    www.techradar.com
    Two forums with 10 million users were shut down, and two people were arrested.
    0 Comentários ·0 Compartilhamentos ·48 Visualizações
  • Leaseweb boosts AI-focused services with the inclusion of Nvidia GPU solutions
    www.techradar.com
    High-end Nvidia GPUs come to Leaseweb for a range of complex computing solutions.
    0 Comentários ·0 Compartilhamentos ·50 Visualizações
  • Alessis Toru kettle brings a different minimalist twist to the appliance
    www.yankodesign.com
    When it comes to kitchen appliances, Im not very particular with the design of these items, as long as they are functioning as they should. I am also not that great of a cook and kitchen user so they dont need to be pretty or even matching since Im just using them when I need them. But there are a lot of well-designed and well-matched appliances that you can add to your well-stocked kitchen and cooking area. Electric kettles are one of those things that I have but I dont really think about how Im using it, as long as it turns my water hot enough.Designer: Nendo for Alessi Toru is Alessis new collection of kitchen appliances designed by Japanese brand Nendo. The name means through in Japanese and the collection features black tube-like elements running through the different items. The kettle is the first item in the collection and it matches Alessis metalworking techniques. It looks like a typical stainless-steel pitcher but how its designed is what makes it a bit different than your typical water kettle. Normally, a kettle is gripped from the side but this time, this household object is turned into a symbol of art.The Toru kettle has a top-suspended shape so you can lift it more easily from the base. You can hold the upper part of the handle and tilt the kettle to pour the water into your cup or bowl and it should pour out smoothly as you tilt it lightly. When youre boiling the water, the base has an integrated appearance with its soft form. When you detach the kettle and ready for pouring, it takes on a straight and simple silhouette. The handle becomes a spout, softening the metallic material as water courses through it. The Toru collection also has other kitchen appliances, including a juicer, toaster, warmer grill, toaster racks. Of course all of them have the stainless steel look that matches Alessis and Nendos aesthetics. The minimalist look can match a lot of kitchen designs, especially those that want to go for that kind of refined look that only silver appliances can give. The post Alessis Toru kettle brings a different minimalist twist to the appliance first appeared on Yanko Design.
    0 Comentários ·0 Compartilhamentos ·49 Visualizações
  • 0 Comentários ·0 Compartilhamentos ·25 Visualizações
  • Clever architecture over raw compute: DeepSeek shatters the bigger is better approach to AI development
    venturebeat.com
    Chains of smaller, specialized AI agents aren't just more efficient they will help solve problems in ways we never imagined.Read More
    0 Comentários ·0 Compartilhamentos ·16 Visualizações
  • Creating an AI-Powered Tutor Using Vector Database and Groq for Retrieval-Augmented Generation (RAG): Step by Step Guide
    www.marktechpost.com
    Currently, three trending topics in the implementation of AI are LLMs, RAG, and Databases. These enable us to create systems that are suitable and specific to our use. This AI-powered system, combining a vector database and AI-generated responses, has applications across various industries. In customer support, AI chatbots retrieve knowledge base answers dynamically. The legal and financial sectors benefit from AI-driven document summarization and case research. Healthcare AI assistants help doctors with medical research and drug interactions. E-learning platforms provide personalized corporate training. Journalism uses AI for news summarization and fact-checking. Software development leverages AI for coding assistance and debugging. Scientific research benefits from AI-driven literature reviews. This approach enhances knowledge retrieval, automates content creation, and personalizes user interactions across multiple domains.In this tutorial, we will create an AI-powered English tutor using RAG. The system integrates a vector database (ChromaDB) to store and retrieve relevant English language learning materials and AI-powered text generation (Groq API) to create structured and engaging lessons. The workflow includes extracting text from PDFs, storing knowledge in a vector database, retrieving relevant content, and generating detailed AI-powered lessons. The goal is to build an interactive English tutor that dynamically generates topic-based lessons while leveraging previously stored knowledge for improved accuracy and contextual relevance.Step 1: Installing the necessary libraries!pip install PyPDF2!pip install groq!pip install chromadb!pip install sentence-transformers!pip install nltk!pip install fpdf!pip install torchPyPDF2 extracts text from PDF files, making it useful for handling document-based information. groq is a library that provides access to Groqs AI API, enabling advanced text generation capabilities. ChromaDB is a vector database designed to retrieve text efficiently. Sentence-transformers generate text embeddings, which helps in storing and retrieving information meaningfully. nltk (Natural Language Toolkit) is a well-known NLP library for text preprocessing, tokenization, and analysis. fpdf is a lightweight library for creating and manipulating PDF documents, allowing generated lessons to be saved in a structured format. torch is a deep learning framework commonly used for machine learning tasks, including AI-based text generation.Step 2: Downloading NLP Tokenization Dataimport nltknltk.download('punkt_tab')The punkt_tab dataset is downloaded using the above code. nltk.download(punkt_tab) fetches a dataset required for sentence tokenization. Tokenization is splitting text into sentences or words, which is crucial for breaking down large text bodies into manageable segments for processing and retrieval.Step 3: Setting Up NLTK Data Directoryworking_directory = os.getcwd()nltk_data_dir = os.path.join(working_directory, 'nltk_data')nltk.data.path.append(nltk_data_dir)nltk.download('punkt_tab', download_dir=nltk_data_dir)We will set up a dedicated directory for nltk data. The os.getcwd() function retrieves the current working directory, and a new directory nltk_data is created within it to store NLP-related resources. The nltk.data.path.append(nltk_data_dir) command ensures that this directory stores downloaded nltk datasets. The punkt_tab dataset, required for sentence tokenization, is downloaded and stored in the specified directory.Step 4: Importing Required Librariesimport osimport torchfrom sentence_transformers import SentenceTransformerimport chromadbfrom chromadb.utils import embedding_functionsimport numpy as npimport PyPDF2from fpdf import FPDFfrom functools import lru_cachefrom groq import Groqimport nltkfrom nltk.tokenize import sent_tokenizeimport uuidfrom dotenv import load_dotenvHere, we import all necessary libraries used throughout the notebook. os is used for file system operations. torch is imported to handle deep learning-related tasks. sentence-transformers provides an easy way to generate embeddings from text. chromadb and its embedding_functions module help in storing and retrieving relevant text. numpy is a mathematical library used for handling arrays and numerical computations. PyPDF2 is used for extracting text from PDFs. fpdf allows the generation of PDF documents. lru_cache is used to cache function outputs for optimization. groq is an AI service that generates human-like responses. nltk provides NLP functionalities, and sent_tokenize is specifically imported to split text into sentences. uuid generates unique IDs, and load_dotenv loads environment variables from a .env file.Step 5: Loading Environment Variables and API Keyload_dotenv()api_key = os.getenv('api_key')os.environ["GROQ_API_KEY"] = api_key#or manually retrieve key from https://console.groq.com/ and add it hereThrough above code, we will load, environment variables from a .env file. The load_dotenv() function reads environment variables from the .env file and makes them available within the Python environment. The api_key is retrieved using os.getenv(api_key), ensuring secure API key management without hardcoding it in the script. The key is then stored in os.environ[GROQ_API_KEY], making it accessible for later API calls.Step 6: Defining the Vector Database Classclass VectorDatabase: def __init__(self, collection_name="english_teacher_collection"): self.client = chromadb.PersistentClient(path="./chroma_db") self.encoder = SentenceTransformer('all-MiniLM-L6-v2') self.embedding_function = embedding_functions.SentenceTransformerEmbeddingFunction(model_name='all-MiniLM-L6-v2') self.collection = self.client.get_or_create_collection(name=collection_name, embedding_function=self.embedding_function) def add_text(self, text, chunk_size): sentences = sent_tokenize(text, language="english") chunks = self._create_chunks(sentences, chunk_size) ids = [str(uuid.uuid4()) for _ in chunks] self.collection.add(documents=chunks, ids=ids) def _create_chunks(self, sentences, chunk_size): chunks = [] for i in range(0, len(sentences), chunk_size): chunk = ' '.join(sentences[i:i+chunk_size]) chunks.append(chunk) return chunks def retrieve(self, query, k=3): results = self.collection.query(query_texts=[query], n_results=k) return results['documents'][0]This class defines a VectorDatabase that interacts with chromadb to store and retrieve text-based knowledge. The __init__() function initializes the database, creating a persistent chroma_db directory for long-term storage. The SentenceTransformer model (all-MiniLM-L6-v2) generates text embeddings, which convert textual information into numerical representations that can be efficiently stored and searched. The add_text() function breaks the input text into sentences and divides them into smaller chunks before storing them in the vector database. The _create_chunks() function ensures that text is properly segmented, making retrieval more effective. The retrieve() function takes a query and returns the most relevant stored documents based on similarity.Step 7: Implementing AI Lesson Generation with Groqclass GroqGenerator: def __init__(self, model_name='mixtral-8x7b-32768'): self.model_name = model_name self.client = Groq() def generate_lesson(self, topic, retrieved_content): prompt = f"Create an engaging English lesson about {topic}. Use the following information:n" prompt += "nn".join(retrieved_content) prompt += "nnLesson:" chat_completion = self.client.chat.completions.create( model=self.model_name, messages=[ {"role": "system", "content": "You are an AI English teacher designed to create an elaborative and engaging lesson."}, {"role": "user", "content": prompt} ], max_tokens=1000, temperature=0.7 ) return chat_completion.choices[0].message.contentThis class, GroqGenerator, is responsible for generating AI-powered English lessons. It interacts with the Groq AI model via an API call. The __init__() function initializes the generator using the mixtral-8x7b-32768 model, designed for conversational AI. The generate_lesson() function takes a topic and retrieved knowledge as input, formats a prompt, and sends it to the Groq API for lesson generation. The AI system returns a structured lesson with explanations and examples, which can then be stored or displayed.Step 8: Combining Vector Retrieval and AI Generationclass RAGEnglishTeacher: def __init__(self, vector_db, generator): self.vector_db = vector_db self.generator = generator @lru_cache(maxsize=32) def teach(self, topic): relevant_content = self.vector_db.retrieve(topic) lesson = self.generator.generate_lesson(topic, relevant_content) return lessonThe above class, RAGEnglishTeacher, integrates the VectorDatabase and GroqGenerator components to create a retrieval-augmented generation (RAG) system. The teach() function retrieves relevant content from the vector database and passes it to the GroqGenerator to produce a structured lesson. The lru_cache(maxsize=32) decorator caches up to 32 previously generated lessons to improve efficiency by avoiding repeated computations.In conclusion, we successfully built an AI-powered English tutor that combines a Vector Database (ChromaDB) and Groqs AI model to implement Retrieval-Augmented Generation (RAG). The system can extract text from PDFs, store relevant knowledge in a structured manner, retrieve contextual information, and generate detailed lessons dynamically. This tutor provides engaging, context-aware, and personalized lessons by utilizing sentence embeddings for efficient retrieval and AI-generated responses for structured learning. This approach ensures learners receive accurate, informative, and well-organized English lessons without requiring manual content creation. The system can be expanded further by integrating additional learning modules, improving database efficiency, or fine-tuning AI responses to make the tutoring process more interactive and intelligent.Use the Colab Notebook here. Also,dont forget to follow us onTwitter and join ourTelegram Channel andLinkedIn Group. Dont Forget to join our70k+ ML SubReddit.(Promoted) Sana HassanSana Hassan, a consulting intern at Marktechpost and dual-degree student at IIT Madras, is passionate about applying technology and AI to address real-world challenges. With a keen interest in solving practical problems, he brings a fresh perspective to the intersection of AI and real-life solutions.Sana Hassanhttps://www.marktechpost.com/author/sana-hassan/Mistral AI Releases the Mistral-Small-24B-Instruct-2501: A Latency-Optimized 24B-Parameter Model Released Under the Apache 2.0 LicenseSana Hassanhttps://www.marktechpost.com/author/sana-hassan/Agentic AI: The Foundations Based on Perception Layer, Knowledge Representation and Memory SystemsSana Hassanhttps://www.marktechpost.com/author/sana-hassan/Open Thoughts: An Open Source Initiative Advancing AI Reasoning with High-Quality Datasets and Models Like OpenThoughts-114k and OpenThinker-7BSana Hassanhttps://www.marktechpost.com/author/sana-hassan/YuE: An Open-Source Music Generation AI Model Family Capable of Creating Full-Length Songs with Coherent Vocals, Instrumental Harmony, and Multi-Genre Creativity [Recommended] Join Our Telegram Channel
    0 Comentários ·0 Compartilhamentos ·21 Visualizações