teleren/devto huggingface dataset:
Unlocking the Virtual World: A Guide to Becoming a VR Engineer
Tags: webdev, programming, beginners, javascript
Published: 2024-01-17 19:06:28


Virtual Reality (VR) is an exciting and rapidly growing field that offers endless possibilities for innovation and creativity. As a VR engineer, you will have the opportunity to design and develop immersive experiences that transport users to new worlds and dimensions. But how do you become a VR engineer? In this post, we will explore the steps you can take to pursue a career in this exciting field.

Build a strong foundation in computer science and programming
-------------------------------------------------------------

VR engineering requires a deep understanding of computer science concepts and programming languages such as C++, Java, and Python. You should have a strong grasp of algorithms, data structures, and software design patterns.

Learn about VR hardware and software
------------------------------------

To become a VR engineer, you need to understand the hardware and software components that make up a VR system. This includes knowledge of VR headsets, controllers, sensors, and other peripherals, as well as familiarity with VR development platforms such as Unity and Unreal Engine.

Gain experience with 3D modeling and animation
----------------------------------------------

VR experiences often involve creating 3D models and animations, so it's important to have a good understanding of 3D modeling tools such as Blender or Maya. You should also be familiar with animation principles and techniques.

Develop your skills in game development
---------------------------------------

Many VR experiences are built using game engines, so having experience in game development can be very helpful. You should be familiar with game development frameworks such as Unity and Unreal Engine, and have experience building games from scratch.

Join online communities and forums
----------------------------------

There are many online communities and forums dedicated to VR development, where you can connect with other developers, share knowledge, and learn about the latest trends and technologies.

Participate in hackathons and game jams
---------------------------------------

Hackathons and game jams are great opportunities to showcase your skills and build your portfolio. You can work on VR projects and collaborate with other developers to create innovative and engaging experiences.

Consider pursuing a degree in computer science or a related field
-----------------------------------------------------------------

While a degree is not strictly necessary to become a VR engineer, it can provide a solid foundation in computer science and programming, as well as access to resources and networking opportunities.

In conclusion, becoming a VR engineer requires a combination of technical skills, creativity, and passion for the field. By following these steps, you can start your journey towards a rewarding and exciting career in VR engineering.
Edge: Create screenshots of a page without addons
Tags: microsoft, edge, browser, screenshot
Published: 2024-01-17 19:02:56

![](https://blog.disane.dev/content/images/2024/01/edge_create-screenshots-of-a-page-without-addons_banner.jpeg)Create complete screenshots of websites in Microsoft Edge. I'll show you how to do it without addons 📸

---

I often create screenshots of systems or pages for this blog. So far, I have always used addons for this. Especially when the whole page (including the entire scrollable area) should be visible in the screenshot.

The big disadvantage of addons, however, is that they usually want at least read access. Whether they do anything with the data, I don't know. But theoretically, these add-ons would have the option of collecting usage data and selling it to data brokers, and I don't really want that.

![](https://blog.disane.dev/content/images/2023/12/TheOfficeSteveCarellGIF--2-.gif)

Luckily, Microsoft Edge offers the "web capture" feature for this, which you can call up with the key combination `CTRL`\+ `SHIFT` \+ `S`. The interface is very similar to that of the "Snipping Tool". Entire pages can be screenshotted with "Capture entire page" and individual areas with "Capture area".

Another window then opens where you can mark or delete things. Sharing, copying and saving is of course mandatory:

![](https://blog.disane.dev/content/images/2023/12/image-36.png)

Et voila. So now you can take screenshots of entire pages without add-ons and no longer have to worry about providers creating usage profiles of your surfing behavior.

![](https://blog.disane.dev/content/images/2023/12/MaennergrippeErkaeltungGIF.gif)

---

If you like my posts, it would be nice if you follow my [Blog](https://blog.disane.dev) for more tech stuff.
Hello, World
Tags: beginners, watercooler
Published: 2024-01-17 19:01:38

Hey there. This is my first post on here so I have to do the obligatory “Hello, World”. I promise you it is not my last post. 

My name is Dave Smith. I am a software developer. I am also a runner. You’ll see content for both activities here, heavy on the developer topics, with other topics that interest me. I did my first programming in 1996 on a TI-86 calculator, modifying games and programming trig equations to help me do homework faster. You could say I program more interesting problems now, but not everyday. Why include running and fitness here? As tech workers it’s easy to live a sedentary life. Running is my attempt to combat that. I have been running consistently since 2011. I particularly enjoy running long ultramarathons. People ask if it is boring. Yes, it can be boring, and boring is what I need some days. 

I can’t believe I’m writing something that isn’t for work. My high school English teachers would be more surprised. I did the bare minimum when it came to writing in school. I *hated* it. That was part of the reason for going into software development. I only have to write code, right? Why am I doing this? I have a lot of thoughts banging around the old wetware. I have tried to get them into a coherent medium for quite some time. My personal goal for 2023 was to write blog posts. We’re in 2024, how did that work out for me? I was approaching my goal the wrong way. My goal now is to just write down thoughts as they come to me with a date. This post is the result of writing down a few thoughts and turning them into sentences.  

Help keep me accountable with this. If you see something you like or don’t like, leave a comment, ask a question. I‘m always trying to get better at anything I spend time doing, including writing. There will be more, hopefully soon and it will be better over time.
css breakfast #2
Tags: css, webdev
Published: 2024-01-17 18:57:06

a meandering list of responsive tips

## height + width... do not do it
just don't. it is better to not use `height` or `width` to set the size for a responsive element!! instead it is better to set a `min-height` or `max-width`!

setting a specific `height` or `width` can cause wonky overflow issues. barf horizontal scrolling. ew.

using a max or min allows the elements to shrink or grown properly.

it is a little hard to remember but for heights you want `min` and for widths you want `max`.

here it is in action:
```
.container {
    max-width: 960px;
    min-height: 500px;
    margin-inline: auto;
}
```
_note_: that these general rules do not follow for elements with small specific sizes, maybe like a user's avatar or icons. 

## sometimes css is not as it seems!
try this example out:

```
body {
  width: 100vw;
  height: 100vh;
  border: red solid 4px;
}
```
notice the horizontal scrolling!?!? what the heck, right? turns out that the scrollbar is actually taking up some of that screen real estate!! 

![mind blown](https://media.giphy.com/media/WtOdb75cMcjIK2jmTq/giphy.gif)

less is more in this case. no need to declare that `100vh` when the element is already a block. taking up all the room it needs. 

better to use something like `width: auto;`. as a general rule, it is best to work with the browser than against it. 

counterintuitively viewport units are not more responsive... in fact, they do not quite work the way you think they are going to! using them in clamp might be a use case [see my previous article](https://dev.to/kachel/css-breakfast-1-38oo). but really just better avoid them for now. 

## overflowing images?? clean it up
i love this one cause it is just one little line of css that does the trick!! bam. no mo' overflo'.
```
img {
  display: block;
  max-width: 100%;
}
```

## let the browser do its thang
using flex + wrap can do away with the need for specific media queries!! in the example below, instead of declaring widths for the containing unordered list element, best to let the browser figure out those wrap points for you!! 

```
ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
}
```

that concludes this little css breakfast!! thanks for reading. and if you take anything away from this post, let it be "work with the browser. it is your bestie."


![bestie browser](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a6m0vfb6v7p1ef0jcvym.png)


source:
- "A practical guide to responsive web design", Kevin Powell, https://youtu.be/x4u1yp3Msao?si=nPD0eUGxF1kcttVq

---
if anything is wrong lemme know! i aint perfect.
Sowing Seeds of Prosperity: Exploring the Potential of Agricultural Investments
Tags: investment, greeninvesting, sustainablefarming, farmeconomics
Published: 2024-01-17 18:35:25

[Agricultural investments](https://mahesar09.blogspot.com/2024/01/sowing-seeds-of-prosperity-exploring.html) have gained prominence for several compelling reasons. The inherent [stability](https://mahesar09.blogspot.com/2024/01/sowing-seeds-of-prosperity-exploring.html) of the agriculture sector, the essential nature of [food production](https://mahesar09.blogspot.com/2024/01/sowing-seeds-of-prosperity-exploring.html), and the potential for long-term growth make it an attractive choice for [investors seeking](https://mahesar09.blogspot.com/2024/01/sowing-seeds-of-prosperity-exploring.html) a resilient and [impactful portfolio.](https://mahesar09.blogspot.com/2024/01/sowing-seeds-of-prosperity-exploring.html)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v1jihkml795jm9lbb49o.jpg)
iPhone Pro Max Giveaway
Tags: hi
Published: 2024-01-17 18:16:40



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j8hoq416ve6tk5zn2lqi.jpg)
[Win iPhone 15 ProMax
](https://sites.google.com/view/win-iphone-15pro-

[click here
](https://sites.google.com/view/win-iphone-15pro-max2024/home[](url))🎉 GIVEAWAY ALERT! 🎉
We are excited to announce our iPhone Pro Max giveaway! One lucky winner will have the chance to win the latest iPhone Pro Max.
How to Enter:
Follow [@YourSocialMediaHandles] on [Instagram/Twitter/Facebook].
Like this post.
Tag 3 friends in the comments who would love to win!
Bonus Entry:
Share this post on your story/feed and tag us for an extra entry!
Terms & Conditions:
Open to [Your Country/Region].
Must be following [@YourSocialMediaHandles].
Giveaway ends on [28/01/2024].
The winner will be randomly chosen and announced on [29/01/2024].
This giveaway is not affiliated with Apple Inc.
[Your Brand/Organization] reserves the right to modify or cancel the giveaway at any time.
Good luck to everyone! 🍀
#iPhoneGiveaway #Giveaway [#WiniPhone 15ProMax](https://sites.google.com/view/win-iphone-15pro-max2024/home)
Azure Budgets and Cost Management: Insights from Day 2 of the #100DaysOfCloudChallenge
Tags: 100daysofcloud, azure, adcstreak, cloud
Published: 2024-01-17 18:14:56

Azure Cost Management Service gives us a real-time view of our Azure activity, including resource usage, costs, and trends. We can drill down into specific services, accounts, and even individual VMs to pinpoint exactly where our money is going.

Azure Cost Management Service integrates seamlessly with Azure Advisor, a virtual financial advisor who analyzes the cloud environment and suggests tailored recommendations for cost savings, performance improvements, and security enhancements.

We can customize our dashboards and reports to fit our specific needs, and even integrate the data with Power BI for even deeper analysis. The Cost Analysis Tool lets us group and filter costs in any way imaginable, giving us the granularity we need to identify waste and optimize our spending.


Azure Cost Management Service also includes:

Azure Budgets: Set spending limits and receive alerts when we're close to exceeding them. No more surprises at the end of the month!

Azure Price Calculator: Estimate the cost of different Azure configurations before we deploy them. Plan ahead and avoid sticker shock.

Storage Pricing, Blob Storage Pricing, SQL Pricing: We can get detailed insights into the cost of specific Azure storage and database services.


Here are some additional tips I have learned for keeping cloud costs under control:

Right-size your resources: Don't overprovision your VMs or other resources. Choose the right size for your workload to avoid paying for unused capacity.

Turn off unused resources: When you're finished with a VM or other resource, be sure to turn it off to avoid incurring unnecessary charges.

Use reserved instances: If you have predictable workloads, you can save money by purchasing reserved instances of Azure resources.

Take advantage of Azure free tiers: Azure offers a number of free tiers for popular services, which can be a great way to get started without spending any money.

Cost optimization: Learn about features like Cloud Volumes ONTAP that can help you squeeze the most value out of your Azure investment.

Thanks, @beingwizard  and @azdevindia  for the enlightening session.
3 Syntax Ways to Define a BelongsTo Relationship Foreign Key in Laravel Migrations.
Published: 2024-01-17 18:10:29

In this **article** we will discover **3 syntax ways to define a belongto relationship foreign key in laravel migrations**. 

We have two tables **Users** and **Posts**, we gonna make a relation between them. **User** can create many **Posts** and **Post** can be create by on **User**. 

**1 - First syntax**

```php 
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users');
            $table->timestamps();
        });
    }
};
```
**2 - Second Syntax** 

```php
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id')->constrained();
            $table->timestamps();
        });
    }

};
```
**3 - Third syntax**

```php
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->foreignIdFor(\App\Models\User::class)->constrained();
            $table->timestamps();
        });
    }

};
```

This 3 syntaxe do the same work. The second syntaxe is the most widely used by laravel developers, but the frist syntaxe can offer more flexibility for example if you want to change the name of the foreign key . The third syntaxe for his case is less verbose. 

Is the end of this **article**. If you have any **suggestions** for **improving** this **article**, please let us know in the **comments**.
🎉 **iPhone 15 Pro Max Giveaway! 📱
Published: 2024-01-17 18:01:45

[🎉 **iPhone 15 Pro Max Giveaway! 📱**](url)



We're thrilled to announce our exclusive iPhone 15 Pro Max giveaway! 🌟

[To Enter......](url)

1. Follow us ( [https://sites.google.com/view/easyearn1997/home(https://easyearn1997.blogspot.com) /) 🧡
2. Like this post ❤️
3. Tag 2 friends who'd love a new iPhone! 🤳

Bonus entry: Share this post on your story and tag us!

Winner will be announced on @ 02-02-2024

 Good luck! 🍀 [#iPhone15ProMaxGiveaway](url)
Connect 4 Terminal Game
Tags: python, beginners, programming
Published: 2024-01-17 17:41:15

I decided to create this terminal game to test the knowledge I have learned so far of python. It is a very basic game with all the necessary functions to play a game of Connect Four.

I decided to tackle this project by first making a class called `connectFour`. This class was going to handle mostly all the parts needed to play the game. In the init method, the board, players, game tokens and other information like the rows and columns of the board were created. I also made several functions to handle the placement of tokens and winning conditions. 

Once that was done I decided to make another python file to handle what the user sees. Things like "Welcome to connect four" and "Where would you like to place your token?" were all in this file. The turns of the players were managed by a while loop. If none of the winning conditions are met or the game is not tied, it will keep going.

Here is the link to my code on Github:
https://github.com/GravityCodes/Connect-Four

Overall this took me about 7 hours to make. There is probably a lot more I can add to this game to make the playing experience better. Don't be afraid to let me know what you all think about this!
NeoVim LSP and DAP for Python (and Django)
Tags: neovim, django, python
Published: 2024-01-19 10:13:38

---
title: NeoVim LSP and DAP for Python (and Django)
published: true
date: 2024-01-17 17:56:11 UTC
tags: neovim,django,Python
canonical_url: https://daniele.tech/2024/01/neovim-lsp-and-dap-for-python-and-django/
---

It's time for a step by step tutorial on NeoVim and Python!

The post [NeoVim LSP and DAP for Python (and Django)](https://daniele.tech/2024/01/neovim-lsp-and-dap-for-python-and-django/) appeared first on [Daniele Mte90 Scasciafratte](https://daniele.tech/eng).
Blinkist
Tags: webdev, javascript, beginners, programming
Published: 2024-01-17 17:42:43

Blinkist là gì?
[Blinkist](https://www.wsovn.net/blinkist-premium-yearly) là một dịch vụ tóm tắt sách phi hư cấu. Có hàng nghìn bản tóm tắt sách, hoặc bản tóm tắt, trong thư viện Blinkist và các đầu sách mới luôn được thêm vào.
Các tính năng chính của ứng dụng Blinkist là gì?
Thực sự chỉ có hai trường hợp sử dụng cho ứng dụng Blinkist: đọc tóm tắt và nghe chúng. Nhưng điều đó trông và cảm thấy như thế nào?
1. Đọc tóm tắt sách
Khi nhấn vào một cuốn sách bên trong thư viện của mình, bạn sẽ thấy tổng quan ngắn gọn cùng với tùy chọn đọc hoặc nghe cuốn sách đó. Nếu bạn nhấn vào “Đọc”, bạn sẽ được đưa đến ‘nhấp nháy’ đầu tiên, đây là cách mà Blinkist gọi các trang tóm tắt của họ. Nó mô tả những gì bạn có thể nhận được khi đọc phần tóm tắt.
Mua ngay tại: [https://www.wsovn.net/blinkist-premium-yearly](https://www.wsovn.net/blinkist-premium-yearly)
2 of 90 days : Jack of all trades, Master of none
Tags: webdev, beginners, devops
Published: 2024-01-17 17:40:39

As a DevOps engineer you won't be programming the application but having a good understanding of the concepts of how a developer works and the systems, tools and processes they are using is key to success.

Being a Jack of all trades is something that fits very well with who i am personally. I love learning about new things and try to incorpate them into my projects. I always become really good with linking and making things works between them. I mostly understands each new things i do on a good basis, but i will not be the one making new stuff. I will most likely not take over the management of these servers or the application daily.

Over the next few days, we are going to dive a little deeper into some more areas of DevOps and then we will get into the sections that dive deeper into the tooling and processes and the benefits of these.

https://www.youtube.com/watch?v=0yWAtQ6wYNM

Take care :)!
Odoo error : the "attrs" and "states" attributes are no longer used.
Published: 2024-01-17 17:39:32

If you get the error 

```
Since 17.0, the "attrs" and "states" attributes are no longer used.
```
which means you might running Odoo version 17 and there is a change in using attributes in Odoo xml view.

for Odoo 16 or below 

```
<field name="other_address_info" readonly="1" 
                                   attrs="{'invisible': [('type', '!=', 'other')]}" />
```

```

but in Odoo 17 it as a below 
  <field name="other_address_info" readonly="1"
                                    invisible = "type == 'other'" />
```
Challenge Your AI Skills in the Global AI Math Contest - $100K Prizes & More!
Tags: ai, machinelearning, discuss, news
Published: 2024-01-17 17:38:13

Hello AI Enthusiasts, Researchers, and Innovators!
🌐 Introducing the Global Artificial Intelligence Championships (GAIC) - where AI meets real-world challenges!
Join us in this biannual contest designed to push the boundaries of AI in solving complex scientific problems. It’s your chance to be part of an international community driving innovation in AI!

What’s the GAIC About?
🧠 Focused on applying AI in scientific problem-solving.
🌟 Showcasing AI solutions on a global stage.
🤝 Promoting innovation and collaboration in the AI world.

March 2024 Contest: AI in Mathematics
Registration: Open until March 1, 2024.
Contest Date: March 16, 2024.
Theme: Mathematics – test your AI in solving intricate math problems!

Why You Should Compete:
🥇 $100,000 in Prizes: $75K for 1st, $20K for 2nd, and $5K for 3rd place.
🚀 Present your work at the Global AI Conference in June 2024 (with covered travel expenses!).
🌍 Compete against international talents.
🎓 Participate as an individual, team (up to 6 members), or organization.

Key Details:
🕒 24-hour contest, starting at 12 AM Eastern Standard Time.
📚 Support in English with a variety of mathematical problems.
💻 Submissions via an API with detailed guidelines provided.

No Registration Fee!
✔️ Free to enter, but ensure to agree to our competition rules and guidelines.

Ensuring Fairness and Integrity:
👥 Anonymized judging to ensure impartiality.
📜 Rigorous measures to maintain the competition's integrity.

Your Work, Your Rights:
✅ Participants retain ownership of their AI models.

Stay Updated:
📩 Official communications via the GAIC portal or official email.
🛡️ Strict privacy and data security standards.

Interested?
Jump on board and register now at AGI Odyssey Registration. Let’s set new benchmarks in AI together!
🔎 Questions or need more info? Reach out at hello@agiodyssey.org. We’re here to help!