Stream for Windows built with Swift

Brain in a jarSince we can use Swift to write code for Windows I’m excited to give it a try.

I’m hoping I can bring over all of Stream’s model, network, utility, and view model code over without changes, or perhaps few changes?

The other thing I’m thinking is, I should be able to port my C++ framework for building Windows apps to Swift. That would be something really special and would allow me to do a full version of Stream for Windows. Heck, if my shared code comes right over and I can rebuild my Framework in Swift, I should be able to do a Windows release pretty quickly.

Of course I really need to focus on the Mac version first.

Hey, Microsoft, can you make Visual Studio support Swift as a first class citizen so we can build and debug using it? Please? 🙏🏼

Microsoft on CrowdStrike Failure

The Official Windows Blog

On July 18, CrowdStrike, an independent cybersecurity company, released a software update that began impacting IT systems globally. Although this was not a Microsoft incident, given it impacts our ecosystem, we want to provide an update on the steps we’ve taken with CrowdStrike and others to remediate and support our customers.

What Microsoft is actually saying:

WHAT THE F*CK DID YOU DO!?

Microsoft Cash Cow.I still love Microsoft Windows as an operating system and development platform so this event is a real bummer for everyone involved.

Lotsa love to all those IT folks out there busting their butts to fix up their broken PC’s. ❤️

Old Programming Book

I shared these photos this morning in our Staff and Senior Engineers Slack channel.

I owe my career to Windows and the Windows API. I spent years writing Windows apps and loved every minute of it. Sometimes I wish I was still doing it. C, C++, Win32, and even COM feel like an old friend compared to my comfort level with iOS dev. Even after 14 years of iOS Dev. I don’t know why that is, but there you go.

I built my personal Windows Class Libraries — ACLLib — based on these API’s and they still work to this day. That is an amazing testament to how good Microsoft’s backward compatibility promise has been for Windows Developers.

These are pictures of Charles Petzold’s Programming Windows, 1988.

Saturday Morning Coffee

Cold EspressoGood morning y’all. It’s raining this morning, a repeat performance of last weekend. I did manage to get the steps completed in the garden now we let the rain test my work.

This week I had to get a tooth and removed and a bone graft due to a 20 plus year old root canal failing. I don’t recommend it. 🦷

Time to go lay down in a field and have Kim throw some dirt on me. 😂

CNN

On Monday, it was Nashville’s turn to join the roster of cities made notorious by a mass shooting epidemic much of the country seems prepared to tacitly accept as the price of the right to own high-powered firearms. 

No words. 😔

Microsoft Design

Today marks the debut of the new Microsoft Teams app, released in public preview for Windows customers.

This redesign of Teams looks extremely thoughtful, well planned, and well executed. I’d like to get my hands on it and run it through dumpbin and other tools to see just how it’s put together.

It’s my understanding it’s a native app — no more Electron — with an HTML/CSS/JavaScript filling using the new, Chromium based, WebView2 control

It also means no Mac or Linux client until they can get those items ported to Mac and Linux. You can write C#/.Net code on Linux and Mac today, but as far as I know WebView2 hasn’t been ported. Heck, who knows, the shell around the app could be written in C++? I’m not really clear on that bit, it’s why I want to get my hands on it. 😁

Wired

The US Republican Party has become increasingly authoritarian and extreme in recent years, and it doesn’t seem likely to moderate that in the foreseeable future.

Red States are becoming more and more radical. The entire anti-LGBQT, anti-woman, anti-education, movement is in full swing.

Next thing you know women will have to walk 10 paces behind their husbands in their modest to the ground dress with their eyes on the ground. Disgusting.🤬

Offred: The Future is a Nightmare

Dave Winer

In September 2004, the activity we called audioblogging was starting to gain traction.

Neat little story about how podcasting got its name. 👍🏼

The Guardian

A dispute between the Florida governor, Ron DeSantis, and Disney over control of the company’s Florida theme park district hinges on a clause referencing King Charles III and his descendants.

The authoritarian was outwitted in this story. If you haven’t heard about this yet go read it. 🤭

John Nunley

This year is supposed to be the year of the Rust GUI. So why is it still so unsafe?

This discussion focused around handles in Windows is quite interesting.

Having written a lot of Windows code that uses handles everywhere — HWND, HINSTANCE, HANDLE, anyone(?) — because that’s the way the Windows API works I don’t see it as an issue.

A HANDLE is a persisted thing that allows Windows to shuffle the underlying object around if needed. It’s a remnant of 16-bit Windows days, because 640k of memory was a precious commodity. It’s a safe thing to the developer as I see it but I do not fault anyone wanting to make things even safer for developers. 👍🏼

John Scalzi

Trump is and has always been the sort of person who believes that laws are for the little people, and has acted accordingly.

I love John Scalzi’s books and prior to Twitter becoming a worthless piece of poo I really enjoyed reading his tweets. In case you don’t know he’s had a blog for many years and it doesn’t disappoint.

TFG

Judo Blog

We believe that designer-developer handoff is broken and to solve this problem well requires software that is familiar to designers and developers alike—software that makes building an app’s user interface a collaborative process instead of handing off files back and forth.

I’d really like to take a look at Judo to see how it could improve my own coding efforts. Stream for Mac could use some help. It’s been a slog for me and I keep switching between AppKit and SwiftUI. I really need to focus on SwiftUI going forward.

Los Angeles Times

Only two centuries ago, a shallow inland sea dominated California’s Central Valley.

Tulare Lake is fascinating. California Highway 41 runs right through the lake between Lemoore and Kettleman City. I’ve heard tale in the olden days one had to catch a barge or take a boat from Lemoore to Kettle City.

We drove that route all the time when we lived there. It’s one way to get from the San Joaquin Valley to the Central Coast and all the lovely towns and beaches we fell in love with. Places like San Luis Obispo, Avila Beach, Cambria, Morro Bay, and Pismo Beach.

As it is today you’d have to go out to I-5 and loop back to get to Kettleman City.

Tiny Apple Core

Saturday Morning Coffee

Good morning. I’ve just finished my first cup of joe time to do a little writing while the second cools a bit. ☕️

The back is still misbehaving and I’m over it. Don’t you wish it was that easy to heal something? You just say “I’m over it” and it’s magically fixed? Yeah, me too. Physical therapy, I’m coming to see you. Be kind to me.

Frap

Grist

Scientists at the Lawrence Livermore National Laboratory have allegedly achieved the first-ever net energy gain in a nuclear fusion reaction, according to the Financial Times, which cited three unnamed sources with knowledge of the recent experiment.

I know this is just the beginning and it may take another 20 to 50 years to get where we need it to be. Hopefully we can keep the planet alive that long.

The Iconfactory

More than any other year in recent memory, 2022 brought big changes—some good, some bad, and some sad. During our 25 years in business we’ve learned to roll with all manner of punches and continue forging ahead. This year was no different.

I’m a huge fan of The Iconfactory. I use more than a few of their products, including Tot, which I’m using now to write this post.

I also use Twitterrific, xScope, and Wallaroo. Really great software, excellent people.

Comic Sands

Social media users cheered as Democratic President Joe Biden masterfully trolled former Republican President Donald Trump’s big “announcement” with a few announcements of his own.

President Biden announced a bunch of really nice accomplishments.

TFG’s big announcement was a bunch of NFT trading cards with his face superimposed over the top of various fit men. Laughable, but true.

The great grift continues. You too can own these gems for $99.00US. I wonder how many of his poor cult members fell for it? Poor saps. 🤣

Fortune

Cavill, who has played Superman since 2013’s “Man of Steel,” took to Instagram on Wednesday to share the “sad news” that he would not be returning to the iconic role.

I loved Mr. Cavill as Superman and will miss him as The Man of Steel.

And to really rub salt in the wound he had to turn down his role as Geralt of Rivia in The Witcher, which kind of ruins that too. 🤬

Six Colors

Lawsuits, new laws, and proposed regulations have been swirling around Apple and some of its core business practices for years now. But on Tuesday came the first report—from Bloomberg’s Mark Gurman, perhaps the most reliable breaker of secret Apple news—that Apple’s planning on changing its App Store policies in major ways.

Apple allowing Third Party App Stores? What? Has hell frozen over?

Look, if we do get Third Party App Stores I Apple will require each of them to pass a percentage of each sale directly to Apple.

Tim Apple: “Welcome to the Apple Platform, Third Party App Store.”

Third Party: “Thank you, Tim. It’s good to be here.”

Tim Apple: “I’ll take 27% of every sale, due at the first of the month.”

Third Party: “😳”

Apple always wants their piece of the pie, so to speak. 🥧

The Washington Post

HOUSTON — Employees at the Texas Department of Public Safety in June received a sweeping request from Republican Attorney General Ken Paxton’s office: Compile a list of individuals who had changed their gender on their Texas driver’s license and other department records during the past two years.

What is wrong with these people? Trans rights are human rights! Get lost Paxton. Texas, what a terrible state. Embarrassing and dangerous.

Our country lacks empathy for fellow human beings. It’s sickening.

Fulton News & Record

The men standing before the cameras in Moore County were sober-faced and serious as they addressed the intentional and targeted attacks on two electric substations the night before. Forty-five thousand residents lost power, schools and businesses closed, the county was forced to declare a state of emergency and curfew, and local communities were put both at risk and on edge.

So, yeah, this is what its come to. Militant groups destroying our infrastructure. Osama bin Laden didn’t need to strike at our country, we’re destroying ourselves.

Swift.org

The Foundation framework is used in nearly all Swift projects. It provides both a base layer of functionality for fundamentals like strings, collections, and dates, as well as setting conventions for writing great Swift code.

If you’ve written an app for iOS or Mac or any other Apple Platform you’ve used Foundation. I checked out the repository and there’s an awful lot of C code in there, which isn’t bad, but makes me wonder if the plan is to slowly replace all that C code with 100% Swift?

Kenny Kerr

The windows crate provides bindings for the Windows API, including C-style APIs as well as COM and WinRT APIs. This crate provides the most comprehensive API coverage for the Windows operating system. Where possible, the windows crate also attempts to provide a more idiomatic and safe programming model for Rust developers.

While Apple is all in on Swift, Microsoft is embracing Rust as their language of choice for low level orogramming. This new set of Windows “crates” as the Rust community calls them sounds like an excellent way to write Windows applications.

I find it really interesring it includes Win32 API’s, COM, and WinRT all rolled into one cohesive package. Hopefully the interface is consistent and hides all the ugly details. I have a feeling it does.

Vox

It’s not about doxxing. It’s about Elon.

Bingo. This entire time a man we all thought was some kind of genius was just another grifter. Don’t get me wrong, the man is smart, but I don’t think he’s a genius. He’s a narcissists and needs to be in the news. See, even I’m talking about him. That’s his super power.

Tiny Apple Core

Saturday Morning Coffee

The week has come to an end. Grandma, the final of the grandparents, was laid to rest Wednesday, December 7. She had a very full 96 years. We miss you already, Grandma.

Now we head home. Bug — our daughter Taylor — and I are at Fresno-Yosemite International waiting for our plane to San Francisco. Sipping my quad-grande-vanilla-mocha and typing away on my iPhone. Coffee is good. ☕️

Cold Espresso

Swift.org

When Swift began life as an open source project, we wanted to open not just the language itself, but the ecosystem around it. Foundation has been instrumental in the success of decades of software and has been an integral part of the Swift developer experience from the beginning, and we knew it had to be included in the open source offering.

This is really nice to see. Apple does have a history of open source projects.

Swift is an amazing language and I’d love to see it spread to all operating systems. To write shared code for Mac, iOS, Windows, and Android, and have it be a first class citizen would be incredible.

C and C++ are still great choices for that of course and we now have Rust, which becomes more tempting with each article I read about it.

Vox

In late November, Amazon began making what are expected to be the largest corporate staff cuts in its 28-year history, axing as many as 10,000 corporate employees, or about 3 percent of the company’s office staff.

It’s sad to see a company have to lay off so many people, especially around the holidays.

Good vibes to all those affected.

Dart Engineering Blog

Over the last four years, we’ve evolved Dart into a fast, portable, and modern language. Our next release, Dart 3, completes the journey to a fully sound null safe language.

Another interesting language getting safer by the day. This could be a really interesting cross platform choice for model, network, and data persistence code if it doesn’t rely on an interpreter. Even if it does it makes me go hmmmm. 🤔

Also, Dart Engineering folks, use Blogger instead of Medium. It is a Google property after all.

Rolling Stone

Recipients of the Congressional Gold Medal didn’t shake hands with Senate Minority Leader Mitch McConnell and Republican House Leader Kevin McCarthy, at a ceremony on Tuesday.

Good. Those assholes don’t deserve to be recognized by any of us. Support an insurrection and the man who instigated it and you don’t deserve any respect.

The Sacramento Bee

When a man got lost deep in the dark Alaskan wilderness, it was his iPhone’s satellite that saved him.

I’ll be darned. It worked! 🥳

ReadySet Blog

Predictably, many Rust advocates (of which I am one) pointed out that this is exactly the kind of vulnerability that can be statically prevented by Rust, and is a clear example of where “Rewrite it in Rust” can have real benefits.

Speaking of Rust. We’re seeing a movement to Rust as a low level language. Even Microsoft is going to move to it for low level stuff. It would be really great to see it treated as a first class language by Apple and Microsoft in their respective IDE’s.

The Times

The Pentagon has given a tacit endorsement of Ukraine’s long-range attacks on targets inside Russia after President Putin’s multiple missile strikes against Kyiv’s critical infrastructure.

I like the idea of tactical strikes into Russian territory. After almost a year of defending themselves it’s nice to see Ukraine go on the offensive.

Putin has succeeded in making sure Ukraine becomes part of the United Nations. Nice job dude. 🤪

Seth Abramson

I have never had my social media account at any social media platform suspended. But it just happened at Mastodon, a place I have posted so few times that I can literally count them on a single hand.

I’d love to hear the other side of this story. Since Mastodon instances are not beholden to any one corporation they can make their own rules. It could’ve been as simple as the instance admin not liking Mr. Abramson’s work.

He could’ve found a different instance to participate in. It’s really easy to move and I know of at least two instances dedicated to journalism.

It would be nice to see Post federate with other services, Mastodon being the primary one. Post could still maintain their own unique identity and allow others to at least see headlines to paid articles. Just spitballing.

Ed Bott

Nice work, Jack. Your buddy Elon has turned Twitter into 8Chan.

Elon is ruining Twitter.

Also, I’d love to see Mastodon support embedding cards in websites. Maybe it does and I don’t know how. That would be amazing.

Tiny Apple Core

Saturday Morning Coffee

What a week! That dude that took over Twitter is driving it in the ground with a gigantor hammer all while we watch from the cheap seats sipping our soda and eating popcorn. What a spectacle.

This week was a busy week at work, promotion time. Lots of meetings. I’m all Zoom’ed out.

Enjoy that morning elixir of life. I certainly am. ☕️

Spicy Mexican Coffee

Wired

Eugen Rochko looks exhausted. The 29-year-old German programmer is the founder of Mastodon, a distributed alternative to Twitter that has exploded in popularity in recent weeks as Elon Musk’s ownership of the platform has rained chaos on its users.

I’ve heard some folks doubt the survivability of Mastodon and doubt hate can be squashed there. In my experience on the platform it’s quite the opposite. If you’re running a server full of racist white nationalists, Nazis, or other hate groups it’s extremely easy for the admin of your server to block federation of that entire server.

I’ve found Mastodon to be so much better for conversation with folks outside my little friend bubble on Twitter.

Brent Simmons

For writers, artists, podcasters, journalists, and people who make things in public, Twitter was the one social networking site we all had to use.

Brent is a long time blogger, Mac programmer, creator and leader of the NetNewsWire team, and all around great guy. If you’re a consumer of RSS point your feed reader to his site. It’s a great read.

Platformer

Musk went on to say that “Twitter will be much more engineering-driven,” and that while design and product “will still be very important,” engineers “will have the greatest sway.” And then Musk presented employees with an ultimatum: click “yes” on a Google form affirming your desire to “be part of the new Twitter,” or leave in exchange for three months’ pay.

I’ve heard from a friend that most of the US Engineering staff left. That’s just wild.

I don’t have a NY Times subscription but I’ll bet this piece by Mr. Roth is quite good.

Daring Fireball

If you had told me three weeks ago that Twitter, as a company, would today be embroiled in turmoil — perhaps outright existential crisis — over a company-wide email from Elon Musk centered around the phrase “extremely hardcore”, v-1 is not the scenario I’d have imagined.

In my career I’ve worked for some hardcore companies, like the old Microsoft, it’s not fun. Don’t do it.

I don’t understand why he continues to ask for snippets of code from his employees. It’s just some random metric he’s using to what what end? What about the devs who made Twitter better by removing code?

CNN

Amazon confirmed on Wednesday that layoffs had begun at the company, two days after multiple outlets the e-commerce giant planned to cut around 10,000 employees this week.

It’s been a rough couple weeks in the tech sector. I’m sorry to see so many folks having to deal with this. Here’s hoping they land on their feet quickly.

Fresnoland

While Central Valley agricultural leaders warn of jobs loss during California’s ongoing drought, some local leaders say it’s time for less water-dependent economic opportunities.

California is in deep trouble so the United States food supply is in deep trouble. You’ll see it at the grocery store.

Becky Hansmeyer

When I tweeted my way into the iOS community so many years ago, I felt the same energy and excitement, if not necessarily the same level of closeness. You all gave me the confidence I needed to keep going with programming when I felt like giving up. We’ve person. Like her I lament the loss of the Twitter we knew but all good things come to an end, right?

America, America

I’m not anywhere close to assuming redemption for Rupert Murdoch or his publication for their role in empowering the dangerous desecration of the last six years, particularly since Fox News showed reluctance in quitting the man by airing nearly all of his sour announcement. (For me, the announcement at Mar-a-Lago had more of the air of a man running from the law than running for the presidency.)

How TFG avoids jail time at this point is beyond me.

The Register

Microsoft Azure CTO Mark Russinovich has had it with C and C++, time-tested programming languages commonly used for native applications that require high performance.

Russinovich is a legendary software engineer. It’s gonna be interesting to see how many new products come out of Microsoft and other companies written in 100% Rust.

The Brookings Institution

In this second edition of our October 2021 report, we review the investigation and its basis. We assess the publicly known facts and relevant law and analyze the extent to which the former president may be held criminally responsible for his conduct in Georgia. We conclude that Trump is at substantial risk of criminal prosecution in Fulton County.

At substantial risk? How is he not already in handcuffs? If any of us “regular” people had done this we’d be thrown in a dungeon.

Jalopnik

Haas’ Kevin Magnussen just scored his first-ever pole position in Formula 1 during the Brazilian Grand Prix. Yes, I intended to write that sentence. It’s not April Fool’s Day. Kevin Magnussen is polesitter for Saturday’s sprint race.

I support Haas. It’s an American F1 team and I’m happy for Kevin Magnussen and Haas. Now, get some podiums! 😂

PZ Meyers

Between the Church Militant and Nick Fuentes, it’s pretty clear what the theocratic Right wants to do: they want to kill you or force you to be as mad as they are.

Nick Fuentes is a piece of work but at least he’s not hiding his White Christian Nationalism behind dog whistles, no sir, he’s just saying it out loud.

Go check out that tweet thread. It’s full of Twitter Employees saying goodbye after the hardcore time limit expired.

It’s a sad day for the social network. How long will it stay up?

Tiny Apple Core

My dreams always include one of the places I love; Seattle, Exeter, or Lindsay.

Lately, instead of dreaming of my time at Visio in Seattle I’ve been dreaming about returning to Microsoft. Did that last night.

Brains are weird. 🧠

More React Native

Microsoft Cash Cow.

Microsoft: “React Native isn’t just for mobile! Check out how the Windows 11 Settings app is leveraging React Native for Windows to deliver new features and capabilities to users faster and with the same great visual fidelity as Windows 11.”

I find it so strange Microsoft would choose to use React Native for features in the OS. They have C#/.NET which is a wonderful choice and highly optimized for Windows development. It also works with Windows UI 3.0.

The only reasons I can come up with are: 1) they’d like to demonstrate it can be done. 2) they don’t have developers working on this “feature” with the skill set required to do it in C++ or C#?

Brain in a jarThat second one is a real stretch but I just can’t resolve in my own brain why you’d choose this over your own tools?

Red Shift: “So let’s cause some drama and ruffle some feathers, and talk about why Flutter is better than React Native… in all the ways that don’t matter.”

One glaring downside to Flutter is it doesn’t do native UI. It’s all rendered by them. That is a pretty crummy thing to do.

I could see giving this a go for RxCalc if it used native controls. It has decent support for using C++ libraries and RxCalc’s calculations are C++.

Ward Abbas: ”After 3.5 years of working at Wix, mobile R&D, infrastructure team and as an ex-owner of react-native-navigation, i can shed the light on many issues directly related to the RN architecture (new and old) and indirect stuff that the framework can easily cause bad stuff more than good.”

More negative feedback about React Native.

Part of my consternation regarding React Native is the ecosystem seems “loosey-goosey.”

Lots of node dependencies dragged along for the ride and node has its own issues.

However, to make things better you have to get involved.

Dear Recruiters

A wonderful bouquet of flowers.If you’re a recruiter from Apple, Microsoft, Amazon, Google, or Facebook please save yourself some time and don’t pursue me as a candidate.

I’ve been around for a long time as a developer but I’m not someone you’d want to hire.

I’m not that smart. More than likely I won’t be able to get through your interview process. I do ok as a developer but I’m not an algorithm guy. I try my best to write easy to read, maintainable, and stable code.

I’m not a ninja, rock star, or 10x developer. I’m kind of slow paced, iterative, and discerning. Definitely not a code factory.

If you’ve ever seen the movie Bull Durham I’d compare myself to Crash Davis – played by Kevin Costner. My best days are behind me. I had my time in The Show as part of Visio – which became part of Microsoft – but that was over 20-years ago. I’m in that stage of my career where I’m trying to help younger developers learn the business so they can get to The Show.

I still like to write code but I’m not a good fit for Big COs. I don’t have the energy or desire to work 80-hours a week for months on end. Living for the company.

I’m beginning my twilight season and I’m certain you’ll find your perfect candidate.

Take care, and remember, we only get one shot at this beautiful life. Make the most of it.

P.S. - If you’re a Facebook recruiter, this is the page I want you to see. You should really question why you work for a company like Facebook. If the answer is “because money” you’re doing it wrong. Facebook is a vile company.