Chris Miller

Introducing Rust.NET

In recent years, Rust has gained popularity among developers for its performance, safety, and concurrency. Microsoft has announced the release of Rust for the .NET platform, a move that is expected to be well-received by the Rust community. With this release, developers will have access to all the features of Rust while leveraging the .NET ecosystem.

To make Rust more approachable for developers familiar with .NET languages, Microsoft plans to incorporate features of Visual Basic into Rust. The syntax will be simplified and more familiar, enabling developers to write code more easily.

Here are some code snippets demonstrating the integration of Visual Basic and Rust features:

// Declaring a variable using Rust and Visual Basic syntax
Dim mut count as i32 = 0;

// If-else statement with simplified syntax
If count < 10 {
   Debug.println!("Count is less than 10");
} else {
   Debug.println!("Count is greater than or equal to 10");
}

// For loop with Visual Basic-style syntax
for i in 0..10 {
    Debug.print!("{}", i);
}

// Try-catch block using simplified syntax
Declare match some_function() as String {
    Ok(value) => {
        // Do something with the value
    },
    Err(error) => {
        Debug.println!("An error occurred: {}", error);
    },
}

These code snippets demonstrate how incorporating Visual Basic features into Rust simplifies the syntax, making it easier to read and write. The use of simplified syntax can benefit developers who are already familiar with .NET languages and want to learn Rust.

In conclusion, Microsoft’s release of Rust for the .NET platform is expected to be well-received by the Rust community. The incorporation of Visual Basic features into Rust simplifies the syntax, making it more approachable for developers who are familiar with .NET languages. We are excited to see how this development will shape the future of systems programming on the .NET platform.

Shallow Knowledge of Deep Tools

I have a lot of digital tools. It is a source of great sadness to me that I don’t use any of them to their full potential.

I tend to live in this in-between state with all of what I use, where I know enough to make them work and do the basic thing I need them to do, but I never go deeper to see what, with a little more time and effort, I could do with them.

Areas for improvement:

  • Neovim: I’ve been using vim in some form since 1995, and I still only graze the surface of what this tool is capable of. I watch friends do amazing wizardry with it, then I go back to plunking away like a chimp, doing everything in INSERT mode and shifting to a gui when I need to cut and paste anything from one app to another. It’s shameful.
  • Linux itself: I adore the Linux operating system. I use Pop OS right now, but the underlying programs are always a wonder to me. And yet, I’ve never spent the time to get to know how to use the command line beyond some of the basics, I know what sed and awk are, but have never used them. I feel like I am leaving a ton of productivity on the table not digging deeply into all that Linux can do for me.
  • Nextcloud: In my drive to get off of Google, I threw together a Nextcloud instance for my family to use, and it has been rock solid. I’ve used some of the plugins available to extend the system, but I’ve not integrated them well into my daily life. In a quest to develop better processes for myself, I want to make more effective use of this fully armed and operational…system.
  • Drafts: Drafts is an application on iOS that is a text processor. Basically, you write whatever you want with it in text, and then use macros to transform, send, save…all manner of things. I use it as a notepad most of the time, but there is a lot more that it is capable of that I’d like to learn.

There are SO VERY MANY ways to do things. I feel like I’m drowning in apps. One of my goals for this new year is to build simpler, more effective processes for myself so that I can get good at using the tools I’ve chosen. And with that comes the opportunity to improve my knowledge of the things I use shallowly ever day.

1337?

Good morning, friends.

I hit a new milestone in my cybersecurity studies yesterday. I’ve strung together 90 days of hacking exercises to further my education. I cannot recommend Try Hack Me enough if you’d like to learn about csec. I am still a novice, but learning the things that I’ve learned in the last three months have changed the way I understand IT, the internet, and my job as a coder. Also…it’s fun to pretend to be a 1337 hax0r. (Ahem.)

FOSS And Me

When Kev Quirk asked me to put together short bio for the Fosstodon staff page, The final sentence I wrote was, “I’m especially interested in FOSS for creative pursuits.”

Those eight words cover an awful lot of ground. I realize that in my many years of writing that I have never explored what, exactly, FOSS is to me, and how it fits into my existence. Come along, then, dear reader, on this journey of discovery.

FOSS is really about Ketchup

Many years ago, I found a recipe from 1850 for tomato ketchup, or catsup as they called it. It was fascinating, because while I knew that Heinz didn’t create ketchup, I never really thought about making my own. By that time, I have been brewing my own beer and roasting my own coffee, so trying something like this was right up my alley. I took a Saturday, followed the instructions, and the next day I had a rich and complex condiment that eminantly superior to anything I could buy in a store. I shared it with people, and they loved it. It was an eye-opening experience for everyone involved.

It turns out that when Heinz needed to make ketchup shelf-stable, they had to add a lot of vinegar to keep it from going off. But that made it too sour, so they had to add sugar to balance it. What came out was sort-of like the original, enough to ship, but lacked the richness of the original. Lower quality for mass production. I think you can see where I am heading here.

A Brief and Myopic History

I learned to code in the late 1990’s, when a lot of the Web was new. It was an amazing time. We took our jobs and made it a craft, often as a reaction to large corporations trying to turn coders into assembly line workers. Many of us manifested a deep passion for the quality of our work, and that passion was often at odds with the need to ship product.

Layer into this the GNU/Free Software movement, which was an amazing-but-fraught effort to try to keep the power of computer in the hands of the user. So many slogans (“Information wants to be free,” etc) trumpeted the tune to which we marched. You had the software licenses rise in order to legally keep the code free. Creative Commons was born to do the same in the face of overly restrictive copyright law and simple-but-shady maneuvering from the larger corporation to try to own public domain works.

For me, the evolution went from code to creative works to the realization that the DIY ethic was far more empowering and interesting to me than consumption of whatever the Corporations were willing to put into my hands. The podcasting community what hugely influential in my life. The energy of rolling your own podcatcher to the evolution of community directories to tools to mix audio and share files easily: it was amazing. It was energizing. I was so lucky to be a part of it.

DIY became a major part of my life. This is when I began to brew beer, because it was better than the mass-produced stuff, and I could share it. All of these things…it was all about making things with your own hands (or working with a small group) and sharing them with the world, often for donations. No one was getting rich, but for most of us, that was never the point in the first place.

Eventually the carpetbagger and colonizing corporations got into the game and the game changed. It was no longer as fun, no longer as interesting. There was a level of competition that hadn’t existed before that was off-putting to me. I didn’t want another job, I wanted to make cool stuff and share it.

And that’s why I like FOSS.

Making Cool (and Useful) Stuff and Sharing It

The FOSS movement, for all it’s evolutions, conflicts, and messiness over the years, has always been a source of inspiration for me. There is an alchemy of idealism and pure hacker bloodymindedness, a sort of punk ethos, that I think still resonates at the core of the movement. Sure, we’ver all grown up, we can speak business now, but underneath we thumb our noses (or flip the bird) and any corporation that tries to tell us what to do. Because the power isn’t theirs…it’s ours.

And it’s not just about writing code, either. Maybe that’s where it began, but now it’s so much more. And that’s really cool. That’s where the artists find an onramp into the our world. That’s when the creatives that do not flip bits as a life choice infuse and build up what has come before, taking the tools and making them far more than the sum of their parts. Software without a person to use it is dead. To come to life, it needs that soul to make something grand of it.

That the world I want to live in. My wife and I actually have a motto for our relationship: “Live together and make cool stuff.” FOSS is a just a part, but a very important part, of that. I’m grateful for all the people working on their passion projects, working to keep a community alive in the face of corporate titans who would seek to limit it, even if those very corporations could not function without the software the movement creates. FOSS has gone from an ideal to the bedrock of the internet, and while many of us feel the jagged edges of our shattered idealism most keenly these days when billionaire CEOs do terrible things, underneath there is still a flame that whispers, “Screw you. I’ll do it my way.”

I’m here for that fire.

Two Conferences, One Couch: Narrascope and PyOhio 2022

For once I’m grateful for virtual conferences. Understand, I get the utility of them in the age of Covid, but like many others I miss seeing people in person. This weekend the virtual thing worked out well for me because two that I wanted to attend happened on the same weekend. In the Before Times, I would have had to choose. Not so in this brave new world.

And so, coffee in hand, I attended Narrascope on my iPad, and PyOhio on my TV.

Narrascope is the annual conference put on by the Interactive Fiction Technology Foundation Now in its third year, it is a conference for both gamers and professional how love varying styles of interactive fiction, ranging from early Adventure/Zork-style text games to modern visual novels and rich media experiences. This was my first year attending.

PyOhio is a free conference for Python amateurs and professional who gather, usually at the Ohio Stare Unviversity, to hear talks , network, and generally converse with other enthusiasts. This was my fourth time attending.

A screenshot of the virtual lecture hall for Narrascope.
A screenshot of the virtual lecture hall for Narrascope.

Notes on Narrascope

  • Aaron Reed’s keynote on what he learned while working on his 50 Years of Text Games project was fascinating. He was an engaging speaker, and had some great takeaways for all of us.
  • The pre-conference working sessions were exactly what I was looking for. Since I am not a professional game designer, I was mainly looking for a survey of different tools and how people use them. The three talks I was able to attend covered Twine, Articy:Draft 3, and Inform. I hope to catch the talk on Ink when they release the videos. The main takeaway for me was that Twine looks to be the best for me to get in and start playing, while Inform would be good for more highly customized, deep detail text games.
  • Graham Nelson’s update on Inform was an unexpected pleasure. Not only did he cover how open-sourcing the platform was evolving it, but also introduced a feature process that reminded me a lot of Python’s PEPs. It turned into familiar ground for me, which was most welcome.

Notes on PyOhio

  • Instead of a full weekend, the program was one day of many short (10-15min) talks with several built-in breaks.
  • The diversity of presenters was refreshing. We were off to the races when the first speaker, a high school student of Indian ethnicity, led with creating an AI to play Flappy Bird. Man, I wish I were that bright hand focused in high school. The trend continued throughout the day. I was really appreciative of seeing all genders and racial background represented.
  • While I might not use much that I learned (retired, yo), I loved seeing what people were up to, what excited them, and how the community and Python language are growing. I always walk away inspired.

Both conferences have given me a lot to think about and more than a few things to tinker with. Maybe I’ll write about some of them here. :)

📝🎮

Socials: Fosstodon (Tech) | Dice.camp (RPGs)