Content Developer II at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
132099 stories
·
29 followers

Linux: How to Run VirtualBox VMs from the Command Line

1 Share

If you’ve finally started working with VirtualBox virtual machines, you’ve probably found the software incredibly easy to use. With Oracle’s VirtualBox, you can create and deploy virtual machines of your favorite Linux distribution for testing or daily usage, Windows and even macOS.

Here’s the thing: if you create a virtual machine instance of a server OS, you probably don’t want to keep the VirtualBox GUIs running so a headless server can be reached. GUIs not only take up system resources, but they could also make it easy for some unwitting person to step up to your desktop and stop a running server.

Should you run into such a case, you’ll want to know how to run those virtual machines from the command line.

Not only does this mean you’ll save precious CPU cycles and RAM, but you can also manage those VMs remotely. SSH into the host and start, pause, stop and even delete your virtual machines.

Let me show you how this is done.

What You’ll Need

To make this work, you’ll need a running instance of VirtualBox installed on a Linux host. You’ll also need a user with sudo privileges. That’s it — let’s get to work.

Installing the VirtualBox Extension Pack

The first thing you must do is install the VirtualBox Extension Pack. With the extension pack, any virtual machine that is started from the command line will not have access to the network. Without an available network, those virtual machines are pretty useless.

To install the VirtualBox extension pack, do the following:

 

Screenshot

Figure 1: If the extension pack has already been installed, it’ll be listed here.

Now that the extension pack is installed (it should be listed in the Manager), you’re ready to start working with your virtual machines from the command line.

List Your Virtual Machines

To manage your virtual machines, you have to know their full names, which can be found with the command:

VBoxManage list vms


The output should look something like this:

"KDE NEON" {02a76c48-cacf-4cfb-8ec2-97a84454d97f}
"Ubuntu Golang" {3384369f-82a5-467a-aaf8-b1f5d806f404}
"Ubuntu Server" {a647b5be-7736-453a-bae5-b30c40a15250}
"Ubuntu 22.04" {bac0764b-ee2d-4476-b5f9-8f315e27f55c}
"AlmaLinux 9.4 beta" {68294206-cdd5-4c2e-b807-f33c11f45751}
"Debian Server" {a20b1fe6-1b9c-4788-b8c2-076662b0869d}
"Ubuntu 24.04" {8e2b3b4d-8544-4c34-920a-4901d2b2362f}
"COSMIC2" {a4e0c8e8-139f-4f73-b0e6-7d82a039083c}
"Gentoo" {221e41f3-1923-4652-be7f-f939d757a54f}
"AlmaLinux Home Auto" {443a6a7f-28ce-4ece-b80b-00140523492a}
"Fedora 41" {90593cbc-58b5-460c-895b-b826bf705472}
"Zorin 17.2" {bdf99643-807f-41e0-9470-1e2f681c758e}
"Manjaro" {076bd311-9f69-4558-8834-38b7d80d7f75}
"Debian" {2ffe5b00-31c3-42f6-8f5f-f4e069af6f67}
"TrueNAS" {f7b591fa-3925-415a-94d1-859abd64e260}
"Ubuntu Desktop" {5c7cf691-7436-400b-b76c-6787643be324}
"Fedora KDE" {6978832e-d7c5-4a7f-8523-812f107a288c}
"CachyOS" {413ede52-a002-48e3-b100-c10ac0c8f65e}


Those are all the current virtual machines I have added to VirtualBox.

Say you want to start the virtual machine “Ubuntu Server.” For that, the command would be:

VBoxManage startvm "Ubuntu Server" --type headless


The output should look like this:

Waiting for VM "Ubuntu Server" to power on...
VM "Ubuntu Server" has been successfully started.


You can verify that it’s running by issuing the following command:

VBoxManage list runningvms


The output should look like this:

"Ubuntu Server" {a647b5be-7736-453a-bae5-b30c40a15250}


You can then access the virtual machine as you normally would (as long as you remember the IP address of the server).

Here are some more commands you can use to manage those virtual machines (I’ll stick with the Ubuntu Server VM as an example):

  • Pause a virtual machine: VBoxManage controlvm “Ubuntu Server” pause --type headless
  • Restart a paused virtual machine: VBoxManage controlvm “Ubuntu Server” resume --type headless
  • Shutdown a running virtual machine: VBoxManage controlvm “Ubuntu Server” poweroff --type headless
  • Delete a virtual machine: VBoxManage unregistervpm "Ubuntu Server" --delete-all

Creating a New Virtual Machine

You can also create virtual machines from the command line. The process is a bit more complicated than managing previously existing VMs, and you still have to use a GUI (such as an RDP client) to complete the OS installation. Make sure you’ve download the ISO for the OS you want to install before starting with this process. If you’re feeling brave, here are the steps (make sure to modify them as needed for your situation):

Create the VM

First, create the virtual machine with the command:

VBoxManage createvm --name Ubuntu_Server --ostype --register --basefolder `pwd` Ubuntu24_LTS_64

Configure the RAM and the Network Card

Next, you’ll need to configure the RAM and network card with the following three commands:

VBoxManage modifyvm Ubuntu_Server --ioapic on
VBoxManage modifyvm Ubuntu_server --memory 1024 --vram 128
VBoxManage modifyvm Ubuntu_Server --nic1 bridged

Create the Disk and Connect the ISO Image

We’ll now create an 80GB SATA HD and a CDROM with an attached Ubuntu ISO with the commands (modify as needed):

VBoxManage createhd --filename `pwd`/Ubuntu_Server/Ubuntu_Server_DISK.vdi --size 80000 --format VDI
VBoxManage storagectl Ubuntu_Server --name "SATA Controller" --add sata --controller IntelAhci
VBoxManage storageattach Ubuntu_Server --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium  `pwd`/Ubuntu_Server/Ubuntu_Server_DISK.vdi                
VBoxManage storagectl Ubuntu_Server --name "IDE Controller" --add ide --controller PIIX4       
VBoxManage storageattach Ubuntu_Server --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium `pwd`/ISO       
VBoxManage modifyvm Ubuntu_Server --boot1 dvd --boot2 disk --boot3 none --boot4 none

Configure RDP Access

Next, configure RDP access so it can be accessed from the network with the commands:

VBoxManage modifyvm Ubuntu_Server --vrde on                  
VBoxManage modifyvm Ubuntu_Server --vrdemulticon on --vrdeport 10001
VBoxHeadless --startvm Ubuntu_Server


You should then be able to start the new virtual machine with the command:

VBoxManage startvm Ubuntu_Server --type headless


This will launch the VM and you can then access it via RDP on port 10001, where you can finish installing the guest OS.

And that’s all there is to managing your VirtualBox VMs from the command line. If I’m being 100% honest with you, I much prefer creating the virtual machines from the GUI and then managing them from the command line.

The post Linux: How to Run VirtualBox VMs from the Command Line appeared first on The New Stack.

Read the whole story
alvinashcraft
1 hour ago
reply
West Grove, PA
Share this story
Delete

Language Wars 2024: Python Leads, Java Maintains, Rust Rises

1 Share
year wrapup illustratiojn

2024 was a very good year for programming languages. Python usage rose for AI/machine learning apps, Java continued its dominance in enterprise app development and Rust emerged as a go-to language for memory-safe development.

Here are some of 2024’s highlights.

Python Flying High

Among programming languages, Python is flying high right now. It will likely be the language of the year for 2024 in the TIOBE Index of programming languages. This feat is accomplished by the language that gains the highest increase in ratings in a given year. Python had a ratings gain of 10% in one year. The two closest behind it were Java and JavaScript, which increased 1.73% and 1.72%, respectively.

Paul Jansen, founder and CEO of TIOBE Software, noted that those languages had a “positive” increase. “But it seems marginal if compared to the gigantic leap of Python in 2024,” he said. “Python is unstoppable thanks to its support for AI and data mining, its large set of libraries and its ease of learning.”

Dominance in AI and Generative Technologies

Python remained the leading language for AI and machine learning development, particularly with the rapid growth of generative AI technologies, Arnal Dayaratna, an analyst at IDC, told The New Stack.

“Frameworks such as TensorFlow and PyTorch, along with libraries like Hugging Face’s Transformers, continued to dominate the generative AI developer ecosystem, enabling developers to expediently build and deploy advanced solutions in areas like natural language processing, computer vision, and generative model training,” Dayaratna said. “Python’s simplicity and integration with diverse data science tools allowed for rapid prototyping and deployment, ensuring its position as the preferred language for organizations building next-generation AI applications.”

A Stable Ecosystem

Meanwhile, Peter Wang, co-founder and chief AI and innovation officer at Anaconda, which offers enterprise-grade package curation as an alternative to PyPI, said he witnessed the Python ecosystem stabilizing in 2024.

“Python continues to be a really powerful and wonderful language for doing data analysis … It’s clearly the language of AI, and we’re really excited to see what next year brings for us,” Wang said.

Michael Kennedy, the founder of Talk Python and a Python Software Foundation (PSF) Fellow, wrote a broadly informative post, published Dec. 10 on JetBrains’ PyCharm blog, about the state of Python in 2024.

“A couple of years ago, Python became the most popular language on Stack Overflow,” Kennedy wrote. “Then, Python jumped to the number one language on the TIOBE index. Presently, Python is twice as popular as the second most popular language on the index (C++)! Most significantly, in November 2024, Github announced that Python is now the most used language on GitHub.”

Recent Moves

Among the most recent Python community moves, Wang said he finds the merged multithreaded Python support — removal of the global interpreter lock (GIL) — as key. Although the removal is not enabled by default. Also, he said, the addition of WebAssembly backend support for the core Python interpreter, is important.

Moreover, “the Python packaging ecosystem continues to be interesting,” Wang told The New Stack. “It can be a whole basket of angry cats or whatever you want to call it.”

Yet, he noted that in the Python package world, uv — a fast Python package and project manager, written in Rust — “has really been gaining a lot of mind share and traction.

But there are other projects, like PDM and Hatch and Poetry that continue to advance and have their adherents as well.”

Also, this year in particular, large companies such as Nvidia have leaned in to try to figure out how to make the Python packaging story better — partially because they have such huge packages to support AI and ML use cases. “When you put the GPU support code in these packages they get really, really big,” Wang said.

Popularity Comes at a Price

Python has begun to see more malicious actors trying to attack apps built in the language.

“We are seeing continuing growth of an increase in supply chain attacks,” Wang said. “Now that Python is the No. 1 language … Popularity has its drawbacks and so many more people are starting to attack.”

Tension is emerging, Wang said, between Python’s volunteer-run infrastructure and its growing role as critical global infrastructure, particularly around security and package management. However, he added, two-factor authentication is an option for securing control over your packages.

Rapid Adoption

“A whopping 41% of Python developers have been using Python for less than two years,” Kennedy wrote in his blog post.

GitHub’s insight into Python’s growth shows that “[Python’s] continued growth over the past few years — alongside that of Jupyter Notebooks — may suggest that [Python developers’] activity on GitHub is going beyond traditional software development,” he wrote.

And regarding Python frameworks, he wrote, “63% of web developers use Django compared to 42% using Flask. On the other hand, data scientists prefer Flask and FastAPI each over Django.”

Java: the King Stays the King

After nearly 30 years, Java continues to be the lifeblood of many enterprise systems, and the workhorse programming language shows no signs of slowing down.

Java will turn 30 in May of 2025 and still ranks among the top three most popular languages in many reports including the TIOBE Index.

How Java Stays Relevant

“Strong typing, good abstractions, core libraries, memory safety performance, observability and security along with extensive third-party library, tool and SDK support continue to make Java a strong choice for enterprises, and 2024 saw no end of Java’s growth for those reasons,” Georges Saab, senior vice president of the Oracle Java Platform and chair of the OpenJDK governing board, told The New Stack.

Moreover, two more on-time predictable releases of the Java platform were delivered in 2024, with JDK 22 and JDK 23. These releases continued improving performance and productivity for enterprise developers, as well as providing features that benefit those using Java with AI integration.

“A great example is the release of the Foreign Function Memory API in JDK 22, which made it easier, faster and safer to interact with foreign functions, and the later launch of Project Babylon, which looks to extend the reach of Java into foreign programming models such as on those running on GPUs,” Saab said.

Java for AI and Machine Learning

Java continues to prove its resilience and relevance as a leading programming language by consistently evolving to meet the demands of modern software development, Simon Ritter, deputy CTO at Java platform provider Azul, told The New Stack.

“In 2024, Java introduced significant advancements that further cemented its position in critical areas like AI, machine learning and cloud computing,” Ritter said. “Features such as virtual threads and structured concurrency in Java 21 have revolutionized performance and scalability, enabling developers to build high-performance, concurrent applications more efficiently. Enhanced tooling, like improved Visual Studio Code integration, has streamlined workflows, boosting developer productivity and paving the way for more sophisticated AI implementations.”

Meanwhile, Java’s robust ecosystem also saw key developments that make it a standout platform for AI and machine learning.

“Libraries such as the Deep Java Library (DJL) and langchain4J offer powerful tools for building AI solutions, while seamless integration with cloud native platforms like AWS and Google Cloud supports distributed AI applications at scale,” Ritter said.

Additionally, advancements like quantum-safe encryption address future security challenges, and ensure that Java remains a reliable choice for safeguarding sensitive AI data.

“With these innovations,” Ritter said, “Java continues to lead in enterprise applications, digital transformation and cutting-edge AI/ML solutions, proving its adaptability and strength as a platform for the next generation of technology.”

Java for Enterprise and Mission-Critical Systems

Speaking about Java’s continued modernization and enterprise focus, IDC’s Dayaratna said Java reinforced its position as a cornerstone for enterprise and mission-critical applications with the release of JDK 23 in September.

“This latest feature release introduced several enhancements, including refinements to virtual threads, improvements in garbage collection, and expanded pattern matching capabilities,” Dayaratna told The New Stack. “Virtual threads, first introduced in earlier iterations through Project Loom, have become instrumental in simplifying high-concurrency application development, significantly improving developer productivity.

“These advancements make Java more relevant for modern cloud native architectures while maintaining the backward compatibility and reliability critical for legacy systems. Java’s consistent evolution through innovations like JDK 23 underscores its enduring importance in delivering scalable and secure solutions for enterprises.”

The Eclipse Foundation, which supports enterprise Java developers with projects like Jakarta EE, and also leads the Temurin and Adoptium projects, has seen significant progress this year, said Mike Milinkovich, executive director of the foundation.

“At the Eclipse Foundation, in 2024 we celebrated a major milestone when we hit 500 million total downloads of the Eclipse Temurin OpenJDK distribution. Since its inception three years ago, Adoptium has had a major impact on the Java ecosystem by delivering free, fully compatible, community-supported, enterprise-grade Java runtimes.”

Eclipse Temurin is an open source Java SE build based upon OpenJDK. Jakarta EE is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, which can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

Java Community and Ecosystem Evolution

Meanwhile, regarding developments across the Java community and industry, throughout 2024 we saw many different organizations work together with Oracle, the stewards of Java, in the OpenJDK community to continue driving Java development on a global scale.

“For example, 25 new Java User Groups (JUGs) were added this year, for a total of 347 recognized JUGs across the globe,” Saab said. “This broad industry support has helped increase Java’s development speed, grow the developer base, and contribute to the predictability of releases as Java approaches its 30th anniversary in May 2025.”

Need Memory Safety?: Count On Rust

Meanwhile, Rust has emerged as a systems programming leader. Rust ranks at number 14 on the TIOBE Index.

Rust continued to gain prominence in 2024, becoming the go-to language for performance-critical and safety-focused applications, IDC’s Dayaratna told The New Stack.

“Its ownership model and borrow checker guarantee memory safety without the need for garbage collection, making it ideal for building reliable software in domains such as embedded systems, cloud native infrastructure, and automotive applications,” he said.

Moreover, “Rust’s ability to prevent common programming errors like data races and memory leaks has made it a favorite in industries requiring high reliability,” Dayaratna noted. “Additionally, its modern tooling ecosystem, including the Cargo package manager, has streamlined development workflows, further increasing adoption across a wide range of use cases.”

According to a recent JetBrains developer survey, Rust continues to incrementally gain users. In 2024, 11% of respondents reported using Rust in the last 12 months, up from 10% in 2023 and 9% in 2022. Yet, C++ adoption has not declined. This may partially be due to the fact that the migration from C++ to Rust isn’t happening all at once, according to Lawrence E. Hecht, The New Stack’s research director.

Moreover, among C++ users, 21% already use Rust to some degree and another 14% plan to adopt it. And 11% of Rust developers use C++ alongside Rust in the same projects, but only 5% developers who primarily use C++ actually use Rust alongside C++ in the same projects.

Among the primary C++ developers who do use Rust in the same project, 58% plan to migrate additional pieces of code to Rust in the next 12 months. However, fewer developers are using another language in projects where Rust is used. In 2024, 41% of Rust developers use no other language in their Rust projects, down from 49% in 2023. 41%.

Will Rust replace C++?

“The only language to set a new usage record among this year’s most popular ones is Rust,” the JetBrains study said. “Aspiring to replace C++ with its strict safety and memory ownership mechanisms, Rust has seen its user base steadily grow over the last five years. According to our data, one in six Go users is considering adopting Rust.

The study found that Rust and Go are the most adopted languages. “The languages most respondents plan to adopt are clearly Go and Rust,” the study said. “Both languages are built with performance and concurrency in mind and have compiler safety guarantees in place to help reduce bugs. However, while we see Rust’s popularity growing, the share of Go developers remains stable.”

Change in Attitude

“For me the big change has been a change in attitude,” Tim McNamara, founder of the Accelerant.dev tech consultancy from Wellington, New Zealand, and author of “Rust in Action,” told The New Stack.

“It’s nice seeing that many parts of the Rust community have a sense of accomplishment and success. Rust had a few bumpy years of what I might call growing pains. It seems that the community is in an extremely healthy place, thanks to the invisible work of many people and small interactions incrementally working to create a healthier ecosystem.” (For more of McNamara’s views about the state of the language, check out “Big Moments in Rust 2024.”)

Rust Foundation Stewardship

“2024 has been a landmark year for Rust, reaffirming its place as a top programming language for safety, security, and performance, while maintaining its status as the most-admired language, Rebecca Rumbul, executive director and CEO of the Rust Foundation, told The New Stack. “This past year, we’ve witnessed significant strides in scaling Rust to deliver benefits to more developers and organizations alike.”

Meanwhile, global enthusiasm for Rust soared in 2024, with new meetup groups and conferences emerging worldwide —from Kenya to Turkey, across the rest of Europe and the U.K.—reflecting the open source community’s hunger to learn about and connect over Rust, Rumbul noted. The Rust Foundation also supported some of these organizers, as well as project maintainers through its Community Grants Program.

“Institutional investment in Rust also reached new heights this year, Rumbul said. “The White House Office of the National Cyber Director advocated for memory-safe languages like Rust to bolster security in February. Industry leaders made bold commitments: AWS invested in Rust ecosystem security through its donation to our Security Initiative, Google’s support for our Interop Initiative will help advance Rust-C++ interoperability, and Microsoft advocated for key Rust Project priorities via a generous unrestricted donation. These are just a few examples of enterprise investment in Rust in 2024.”

Rumbul added that there are too many contributions and packages of work on part of Rust maintainers to name, but the deep reflection on Rust Project goals ahead of the forthcoming Rust Edition comes to mind as a clear sign of maturity, growth, and foresight.

“The entire Rust ecosystem — from Rust Project contributors to Rust community organizers, to the Rust Foundation—has made strides in 2024 that will help Rust meet a growing need and demand in 2025.”

The post Language Wars 2024: Python Leads, Java Maintains, Rust Rises appeared first on The New Stack.

Read the whole story
alvinashcraft
2 hours ago
reply
West Grove, PA
Share this story
Delete

Big Moments in Rust 2024

1 Share
year wrapup illustratiojn

The Rust project’s headline goal for the year has been the development of a new edition of Rust. Editions create points in the project’s life cycle that allow new keywords to be added to the language, additions to the standard library and other changes to be made. This is “the largest edition since Rust 2015,” according to a post on The Rust Blog.

Most of the changes are subtle, yet significant improvements in the language. Programmers will find the language easier to use. One big change is that creating a direct reference to shared global variables that are open for write access  — Rust calls these “mutable statics” —  is now impossible. Until now, permitting references has been a hidden source of undefined behavior in the language.

One of the features that I’m most excited about is generators. So far, there’s just been a gen keyword into the language. The work to pull generators into stable Rust can now begin in earnest. (Generators already exist in the so-called “nightly” compiler, which does not provide stability guarantees.)

Many More People Are Using the Language

One metric that’s useful to track is the number of installs of the official Rust extension for Visual Studio Code extension, rust-analyzer, has. The number currently stands at 4.15 million. That’s up from 2.66 million at the start of the year.

Screenshot of the Visual Studio Marketplace page for rust-analyzer, showing 4,148,456 installs of the extension.

People Shipped Excellent Products

To start, Tiny Glade was released. This diorama builder game has proven to be remarkably successful, and the big news from the Rust community was that the game was written entirely in the language.

Screencap from the gameplay trailer from Future Games Show at Gamescom 2023.

On the more serious side, Rust’s advantages are beginning to show themselves with writing software libraries. A Rust implementation of the PNG image file format now outperforms its traditional C-written counterparts. This is due to the fact that the Rust language provides cross-platform support for SIMD instructions. People writing C libraries need to manually provide implementations for every target architecture.

Image processing is not one-off. Rustls, a Rust-based implementation of TLS security that underpins HTTPS, is now faster than BoringSSL and OpenSSL. The nonprofit that is funding that work, the Internet Safety Research Group (ISRG) started with Let’s Encrypt and is now making strides in improving all aspects of Internet infrastructure. This has included fundamentals like timekeep between computers and now an implementation of a memory-safe, high-performance reverse proxy called River. This seeks to challenge NGINX’s dominance in that space.

One thing to look out for in the future is the newly launched Trifecta Tech Foundation. They have a fork of the Rust compiler that can generate an executable that performs compression and decompression that’s 14% faster than what the standard compiler produces. Expect these performance improvements to diffuse into the mainline over time. Rust’s blazingly fast and is going to get hotter.

Confidence In the Language Is Growing

Last March at the Rust Nation UK conference, Lars Bergstrom revealed that “Rust teams at Google are as productive as ones using Go, and more than twice as productive as teams using C++

The Compiler Is Getting Smarter in Every Release

For me, the 1.79 release was one of the most impactful. Many of my teaching examples, that explained why the borrow checker is needed, stopped working because the borrow checker got smarter. That is, the example code refused to compile — the borrow checker was being overly strict.

People Are Getting Ambitious

The US Government’s defense research agency DARPA announced the TRACTOR program to create tools to translate unsafe C to safe Rust. The intent is to rapidly speed up large-scale rewriting systems written in memory unsafe languages, then port them to Rust.

The Safety-Critical Rust Consortium was announced in June, aimed at bringing Rust to critical industries. This a major step towards seeing Rust within cars, trains and planes.

In February, Google announced a $1M grant to the Rust Foundation to support initiatives to improve inter-operability of Rust and C++. This grant spawned the wider Interop Initiative, which has seen the emergence C++/Rust Interoperability Problem Statement. Bridging C++ and Rust will mean that it will be much easier for Rust projects to extend existing code bases.

Amazon Web Services and the Rust Foundation have decided to embark on a project to formally verify the standard library. They’ve created an awards scheme for verifying parts of the standard library, with a hope that this will enable new tools and techniques to emerge and eventually the entire standard library’s correctness will be formally verified. The standard library today contains thousands of uses of the unsafe keyword. While the community is confident that those uses are correct, that correctness is not guaranteed. Formal verification will change that.

The Community Is Getting Stronger

2024 was pleasantly devoid of the “Rust drama” that’s plagued previous years. Indeed, new communications channels emerged.

The Rust Foundation hosted the marquee event for the community, RustConf. While this may seem like a fairly insignificant achievement, the conference has been a flashpoint of disagreement and hostility over recent years.

Many conferences and events focused on the language have appeared. Major events are now regularly occurring all over Europe. It’s particularly encouraging to see financial support for areas of disadvantage, such as Rustaceans Kenya.

The year 2024 also saw a revitalization of the podcast scene. There is now a rich collection of podcasts offering differing perspectives, interviews and formats.


For more on the biggest news in programming languages from 2024, check out Darryl K. Taft’s report, “Language Wars 2024: Python Leads, Java Maintains, Rust Rises.

The post Big Moments in Rust 2024 appeared first on The New Stack.

Read the whole story
alvinashcraft
2 hours ago
reply
West Grove, PA
Share this story
Delete

Best way of implementing Domain-driven design, Clean Architecture and CQRS

1 Share
This tutorial will help you to understand how to implement Domain-driven design, Clean Architecture and CQRS in C# applications
Read the whole story
alvinashcraft
2 hours ago
reply
West Grove, PA
Share this story
Delete

F# Weekly #52, 2024 – Happy Holidays

1 Share

Welcome to F# Weekly,

A roundup of F# content from this past week:

News

A Merry Christmas and Happy Holidays to all F# and Fable users across the world! F# welcomes everyone interested in succinct, correct and performant coding, based on data, functions and types. The eternal sweetspot of programming!#fsharp #fablecompiler

F# Online (@fsharponline.bsky.social) 2024-12-25T21:50:57.000Z

Videos

FsAdvent

Blogs

F# vNext

I have updated MongoDB.FSharp (it was old and abandoned) to .net 9/nullable and latest MongoDB.Driver. Support for #fsharp List, Map, Set, DU, Option, ValueOption. As it's be revamped, it is now named 𝗙𝗦𝗵𝗮𝗿𝗽.𝗠𝗼𝗻𝗴𝗼𝗗𝗕.𝗗𝗿𝗶𝘃𝗲𝗿 and is available on NuGet.github.com/pchalamet/FS…

Pierre Chalamet (@pchalamet.bsky.social) 2024-12-25T17:40:36.187Z

Highlighted projects

New Releases

Release navidad! #FsUnit v7 fresh out of the oven. #fsharp 🦔Upgrade to #xunit v3 and more … Happy holidays! 🎅🏻🎄See more: https://github.com/fsprojects/FsUnit/releases/tag/7.0.0

Constantin Tews (@captncodr.bsky.social) 2024-12-23T12:48:03.833451Z

That’s all for now. Have a great week.

If you want to help keep F# Weekly going, click here to jazz me with Coffee!

Buy Me A Coffee

 





Read the whole story
alvinashcraft
2 hours ago
reply
West Grove, PA
Share this story
Delete

Apple pulls remaining Lightning-based devices from European stores

1 Share
Apple’s Lightning connector
Lightning’s days have come to an end in the EU. | Photo by Amelia Holowaty Krales / The Verge

Apple is no longer selling its iPhone SE and iPhone 14 series in Europe — the last phone models with Apple’s proprietary Lightning charging port — as the EU shifts to a common charging solution built around USB-C. EU Directive 2022/2380 goes into force today in an effort to reduce e-waste and solve market fragmentation.

A spot check by The Verge shows the iPhone SE, iPhone 14 and 14 Plus, and the Lightning-based Magic Keyboard have been pulled from stores in The Netherlands, France, and Germany. Those same devices are still for sale in the US and other countries outside the EU’s 27 member states. A new iPhone SE with USB-C and other upgrades like an OLED display is rumored for 2025.

In addition to requiring a USB-C port on a wide range of devices sold in the EU from December 28th, 2024, the Directive also requires devices that support fast charging to support the USB PD standard, allows for the unbundling of charging bricks from retail devices, and helps consumers to better understand the power requirements of the devices they’re buying through improved labeling.

Read the whole story
alvinashcraft
5 hours ago
reply
West Grove, PA
Share this story
Delete
Next Page of Stories