Michal Strehovský Profile Banner
Michal Strehovský Profile
Michal Strehovský

@MStrehovsky

Followers
6,851
Following
185
Media
179
Statuses
1,253

I help building the .NET runtime at Microsoft. My tweets are my own opinions and/or shitposts, not the official party line.

Joined November 2018
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@MStrehovsky
Michal Strehovský
5 years
1/7 Did you ever need to run a piece of C# code on Windows 3.11? Me neither, but I did it anyway. A thread.
Tweet media one
52
919
3K
@MStrehovsky
Michal Strehovský
1 year
Stop doing dependency injection
Tweet media one
147
256
2K
@MStrehovsky
Michal Strehovský
9 months
For my next trick I'm going to build a 64 MB self-contained game in C# and then shrink it to 1936 bytes in 10 steps. Read all about it in my latest article:
22
161
768
@MStrehovsky
Michal Strehovský
5 years
For my next trick, I'm going to build a 65 MB self-contained game in C# and shrink it to 8 kB (still 100% self-contained):
30
241
714
@MStrehovsky
Michal Strehovský
5 years
1/n It has always bugged me that I can't run my 64-bit C# games on MS-DOS. Today I fixed that. A thread.
9
212
599
@MStrehovsky
Michal Strehovský
2 years
New version of bflat, my take on C# with Go-like tooling is out. New in the 7.0.1 release: build C# apps that run on bare metal hardware without an OS.
25
108
574
@MStrehovsky
Michal Strehovský
5 years
7/7 Turns out the object files produced by the CoreRT ahead of time compiler from 2020 can still be linked with the linker that shipped with Visual C++ 2.0 in 1994. So it's C# compiler -> CoreRT Compiler -> Linker -> Success.
Tweet media one
15
51
550
@MStrehovsky
Michal Strehovský
2 years
@web3isgreat No no no, if you make a NFT and the server hosting the jpeg burns down you still own the NFT. The token still exists and is in limited supply just as before! Nothing has changed! What NFT is doing to the concept of asset, few understand!
Tweet media one
28
27
422
@MStrehovsky
Michal Strehovský
6 years
Everything you wanted to know about making C# apps that run on bare metal, but were afraid to ask: . A complete EFI boot application in a single .cs file.
4
132
395
@MStrehovsky
Michal Strehovský
5 years
Activator.CreateInstance is now almost as fast as a simple "new" keyword in CoreRT and compiles down to 25 assembly instructions on x64:
Tweet media one
Tweet media two
9
99
398
@MStrehovsky
Michal Strehovský
1 year
Investigated a bug report that involved calling into C# from Go so I got to try cgo for the first time.
Tweet media one
5
26
396
@MStrehovsky
Michal Strehovský
3 years
I took a chapter from Go and applied it to the tools we use to build C#. The result is a C# crosscompiler producing small/selfcontained/native executables for Linux and Windows. Try it out now:
11
84
383
@MStrehovsky
Michal Strehovský
1 year
The size of a fully self-contained AOT-compiled Hello World in C# (including the GC and everything) is getting close to 1 MB.
Tweet media one
@MStrehovsky
Michal Strehovský
2 years
How it started How it's going
Tweet media one
7
28
213
5
44
331
@MStrehovsky
Michal Strehovský
10 months
Made a bare metal bootable maze "game" in C# as a demo of what's possible with bflat's zerolib. Anyone interested in reading a write-up of how I did it? Source here:
14
48
313
@MStrehovsky
Michal Strehovský
2 years
1/N I made a new tool! Ever wondered what contributes to the binary size of your .NET Native AOT executables? I now have a tool for you! 🧵
Tweet media one
6
61
308
@MStrehovsky
Michal Strehovský
5 years
Got @stevensanderson 's WebWindow Blazor sample running with CoreRT. 4x smaller self-contained deployment than CoreCLR. 37% less RAM. WebWindow already beats Electron in size and memory with CoreCLR, but CoreRT wipes the floor with Electron
Tweet media one
Tweet media two
Tweet media three
7
85
291
@MStrehovsky
Michal Strehovský
4 years
After reading @fabynou 's article about the DOOM fire effect, I decided to implement the effect in C# and get it running on Windows NT 3.51. Read all about it here:
5
69
283
@MStrehovsky
Michal Strehovský
5 years
CoreRT now makes it possible to build self-contained C# apps that are smaller than 1 MB (without much hacking). It's a journey and we're not at the end of it. This pull request has some details (and instructions, if you dare to try!):
Tweet media one
6
91
285
@MStrehovsky
Michal Strehovský
4 years
Needed a UTF-8 string literal in C# today (again...). I was about to write another unintelligible `new byte[] { }`. Then I realized source generators could be used for that... and a search for "UTF-8 C# source generator" didn't disappoint. Cool project!
Tweet media one
8
28
280
@MStrehovsky
Michal Strehovský
5 years
Wrote an article on AOT compilation in .NET:
Tweet media one
5
91
281
@MStrehovsky
Michal Strehovský
5 years
1/N I thought it might be interesting to look at how generics are compiled to native code in .NET. A thread.
Tweet media one
2
78
272
@MStrehovsky
Michal Strehovský
10 months
Wrote an article on how I built a bare-metal bootable "game" in C#:
5
58
259
@MStrehovsky
Michal Strehovský
2 years
Someone built an operating system in C# with the upcoming .NET 7 Native AOT technology!!!
5
58
247
@MStrehovsky
Michal Strehovský
4 years
Today marks my 10 years at Microsoft. 2 years in Windows and 8 years in .NET. I actually got rejected the first time I applied for an internship in 2007 but I didn't take no as the answer.
4
6
241
@MStrehovsky
Michal Strehovský
2 years
1/N One of my favorite optimizations in the upcoming .NET 7 Native AOT is static data preinitialization. This program prints a circle to the screen. Would you believe me if I said there is no code to compute the circle bytes in the NativeAOT'd executable file of this program?👇🧵
Tweet media one
Tweet media two
7
67
254
@MStrehovsky
Michal Strehovský
2 years
Size of fully self-contained natively-compiled Hello World over the course of .NET 7 previews. This is release build with everything left on default settings, producing a standalone EXE you can just copy to a machine and run. Hello World now under 3 MB by default with PublishAot.
Tweet media one
13
23
241
@MStrehovsky
Michal Strehovský
5 years
.NET Core 3 introduced IL Linker tool to help remove unused code and build smaller apps. Linker operated conservatively because with reflection, it's hard to say what's used. In .NET 5 we'll enable more aggressive removal while keeping apps working.
Tweet media one
7
61
231
@MStrehovsky
Michal Strehovský
3 years
bflat, my take on C# with Go-like tooling, is now open source. New builds coming as soon as I write the Github actions to create them. You can build it from source in the meantime:
10
54
229
@MStrehovsky
Michal Strehovský
5 years
6/7 Glad you asked. In 1992 Microsoft shipped an addition to Windows 3.11 called Win32s. This let people run *some* 32-bit apps on the otherwise 16-bit system. Not all Win32 APIs were available, but surprisingly many apps still worked with it. Like Office 95.
4
5
223
@MStrehovsky
Michal Strehovský
5 years
2/7 The key ingredient it setting your expectations low. This is the program I got running:
Tweet media one
4
6
219
@MStrehovsky
Michal Strehovský
5 years
C# is attacking the #1 spot in the TechEmpower Plaintext benchmark. C++ is confirming its "fast, but hard to get right" status (judging by the "Errors" column).
Tweet media one
7
91
221
@MStrehovsky
Michal Strehovský
4 years
Last week, CoreRT received a big contribution towards running on all 3 major game consoles. We can't host the full solution due to NDAs, but a skilled dev with the NDA console SDK shouldn't have a too difficult time now.
Tweet media one
5
50
210
@MStrehovsky
Michal Strehovský
2 years
How it started How it's going
Tweet media one
@MStrehovsky
Michal Strehovský
2 years
Size of fully self-contained natively-compiled Hello World over the course of .NET 7 previews. This is release build with everything left on default settings, producing a standalone EXE you can just copy to a machine and run. Hello World now under 3 MB by default with PublishAot.
Tweet media one
13
23
241
7
28
213
@MStrehovsky
Michal Strehovský
1 year
Came back to this out of sheer curiosity. The reason why the Windows NT 3.1 Minesweeper shows up in B&W on Windows 11 is GetDeviceCaps(NUMCOLORS) returning -1 because the number of colors don't fit in 32 bits. Left: original. Right: restored to full glory with a memory patch.
Tweet media one
@MStrehovsky
Michal Strehovský
2 years
@davidwengier @beeradmoore Wondered if anyone else would notice! I played with the Compatibility tab of the EXE properties to see if any of the quirks would fix it but none of them did. Winmine.exe is 45 kB - shouldn't take too long to debug, but got other things to do. Color on old things fades!
1
0
17
5
35
207
@MStrehovsky
Michal Strehovský
4 years
Thank you for the 1000 GitHub stars - I hope to bring systems programming in C# forward this year! We already have a great language (C#: now with function pointers!) and AOT compiler (ILC: now with "constexpr"!). We now need a great runtime library.
Tweet media one
6
35
209
@MStrehovsky
Michal Strehovský
10 months
I've released v8.0 of bflat - my take on C# with a native-first compilation model. If you're on Windows you can grab it with `winget install bflat`. Linux version in the repo releases tab.
8
51
200
@MStrehovsky
Michal Strehovský
4 years
Work in progress to add support for covariant return types to the .NET runtime. Soon we'll be able to override a virtual method returning `object` with a method returning `string`. Because of how array variance works, weird things might be possible in IL.
Tweet media one
7
36
197
@MStrehovsky
Michal Strehovský
5 years
ProTip: use Bing Translate to translate C# to Amstrad CPC Z80 assembler.
Tweet media one
3
21
181
@MStrehovsky
Michal Strehovský
5 years
CoreRT is now the fastest .NET runtime in the TechEmpower plaintext and JSON benchmarks
Tweet media one
Tweet media two
7
64
177
@MStrehovsky
Michal Strehovský
3 years
I've pushed out a new version of the bflat C# compiler/runtime. The latest addition is the Sokol libraries that make it possible to build 100% standalone GFX/audio apps in C# with app sizes starting at around 720 kB, uncompressed. Get it from
Tweet media one
3
35
173
@MStrehovsky
Michal Strehovský
2 years
A new version of bflat, my C# compiler that builds native and self-contained binaries, is out. I bumped the version to 7.0 so that one doesn't have to think which .NET version it's based on and dropped the "pre-release" tag. Consider bflat "done".
3
35
167
@MStrehovsky
Michal Strehovský
2 years
Build fully self-contained .NET 7 command line apps starting at ~800 kB with PublishAot and PublishAotCompressed! The new version of PublishAotCompressed bumps the UPX compressor to version 4.0.1 that shipped a couple days ago. Grab it from NuGet:
7
28
159
@MStrehovsky
Michal Strehovský
5 years
3/7 I started where my "8 kB selfcontained game in C#" exercise finished: with a way to build fully native C# executable with no dependencies:
@MStrehovsky
Michal Strehovský
5 years
For my next trick, I'm going to build a 65 MB self-contained game in C# and shrink it to 8 kB (still 100% self-contained):
30
241
714
1
5
153
@MStrehovsky
Michal Strehovský
4 years
Upgraded my bare-metal C# boot application to C# 9.0. Bye-bye hacks relying on AOT compiler implementation details. Hello function pointers.
Tweet media one
Tweet media two
1
22
155
@MStrehovsky
Michal Strehovský
5 years
1/5 How about a 2,121 byte version of the C# game? Still 100% self-contained. Here's what I did:
@MStrehovsky
Michal Strehovský
5 years
For my next trick, I'm going to build a 65 MB self-contained game in C# and shrink it to 8 kB (still 100% self-contained):
30
241
714
1
45
152
@MStrehovsky
Michal Strehovský
2 years
For the followers of mine who still use 💾, I have good news: we're on track to fit a fully self-contained, AOT-compiled Hello World in C# built with default settings on a single floppy.
7
24
151
@MStrehovsky
Michal Strehovský
4 years
If you are doing file I/O in .NET and your access patterns involve a lot of seeking and reading from random spots, try switching from FileStream to MemoryMappedViewStream 🚀
Tweet media one
1
31
150
@MStrehovsky
Michal Strehovský
3 years
I've upgraded my "Systems programming with C#" samples to .NET 6. Build scripts are now replaced with csproj. One can also build for Linux (and maybe Mac, but I didn't test). Feels good closing pretty much all open issues in the repo.
2
24
151
@MStrehovsky
Michal Strehovský
2 years
Life hack: uninstalling the Notepad app in Windows 11 (with Add/Remove programs) makes things fall back to the old Notepad that launches instantly and consumes 20x less memory.
6
21
147
@MStrehovsky
Michal Strehovský
2 years
Talking about Hello World binary size always wakes up nostalgics ("Hello world on Amiga is 128 bytes") and people with misconceptions ("it's a couple kilobytes with C"). Made a repo to put sizes of Hello Worlds under scrutiny and bring facts to the table
12
34
146
@MStrehovsky
Michal Strehovský
5 years
Is this C#?
Tweet media one
5
23
139
@MStrehovsky
Michal Strehovský
5 years
4/7 Once you get a piece of C# compiled to native code with so few dependencies, it becomes easy to do weird stuff with it.
1
3
134
@MStrehovsky
Michal Strehovský
1 year
I wrote a lot about how native apps in C# get built but how about reverse engineering them? Finished an article on that today.
6
34
135
@MStrehovsky
Michal Strehovský
5 years
1/5 A little know C#/.NET fact is that one can end up in a situation where `this is null` evaluates to true. One just needs a bit of reflection.
Tweet media one
3
27
136
@MStrehovsky
Michal Strehovský
2 years
The best part of this? `PublishTrimmed` now actually means "publish the whole app trimmed". Here's size numbers for a sample app that uses ImageSharp to save a PNG file before and after Preview 7. The NativeAOT numbers are especially nice.
Tweet media one
@dotnet
.NET
2 years
Announcing .NET 7 Preview 7 ‼️ It includes improvements to: ✅ System.LINQ ✅ Unix file permissions ✅ low-level structs ✅ p/Invoke source generation ✅ code generation ✅ websockets See what else is new, give it a try, and tell us what you think:
Tweet media one
1
110
255
6
30
133
@MStrehovsky
Michal Strehovský
5 years
Reflection.Emitted property accessor is about 35 times faster than PropertyInfo.GetValue, but in the time spent Emitting and JITting a single fast accessor you can call PropertyInfo.Invoke more than a thousand times. Optimize for what matters the most to you. #NowYouKnow
Tweet media one
8
22
132
@MStrehovsky
Michal Strehovský
11 months
I've released a new version of my bflat compiler. This is a release candidate catching up to .NET 8. Apparently GitHub is having some issue with the daylight savings time and this release comes from the future. Grab it while it's still hot:
Tweet media one
5
20
133
@MStrehovsky
Michal Strehovský
2 years
1/N If you're using PublishAot and want the shrink your app size by extra 60-70%, add a reference to this package and `dotnet publish` with `PublishAot=true` as usual:
5
25
130
@MStrehovsky
Michal Strehovský
5 years
5/7 Okay, so we can compile C# to small 32-bit or 64-bit native binaries. How does that help on 16-bit Windows?
1
3
124
@MStrehovsky
Michal Strehovský
2 years
Paintbrush, Solitaire, Minesweeper, Calculator and Clock. Left: in their natural habitat from 1993. Right: the same EXEs running on Windows 11.
Tweet media one
@nixcraft
nixCraft 🐧
2 years
The truth about Linux, macOS and Windows.
Tweet media one
183
2K
16K
9
18
123
@MStrehovsky
Michal Strehovský
1 year
pdfmerge is a tool in C# to merge PDF files I wrote in a couple minutes with the help of GPT-4. 2 MB in size and will run on a clean OS install. Repo also shows automating releases with GitHub actions. Very little effort to build useful CLI tools with C#!
3
16
125
@MStrehovsky
Michal Strehovský
2 years
Just realized that as a principal software engineer at Microsoft I get the *same* salary that I was getting 11 years ago as a Software Engineer 1 (at Microsoft). My trick? Moved from Redmond to Europe. With the EUR/USD exchange rate now, my annual base pay in USD reached 5 digits
29
9
121
@MStrehovsky
Michal Strehovský
5 years
Remember my 8 kB C# snake game? Andrey now made the C# game run without an OS, on bare metal hardware!
@Kurdiumov
Andrey
5 years
Wanna write Snake in C#, to play while booting your computer? Read here:
2
40
155
1
25
115
@MStrehovsky
Michal Strehovský
5 years
1/15 When compiling .NET ahead of time, the hardest question to answer is what code to compile.
4
39
115
@MStrehovsky
Michal Strehovský
3 years
David always comes up with the appropriate memes. The NativeAOT experiment will be moving from the dotnet/runtimelab repo into the dotnet/runtime repo!
@davidfowl
David Fowler
3 years
15
38
254
12
11
114
@MStrehovsky
Michal Strehovský
5 years
5/5 Voila - 2,121 bytes! It's so small that this 100% selfcontained C# game binary now fits in a QR code (base64 encoded). You need a good QR code reader though because this is an insane QR code. But still...
Tweet media one
Tweet media two
0
8
113
@MStrehovsky
Michal Strehovský
11 months
New version of Sizoscope, my tool to inspect size of .NET native AOT binaries is out. If you're on .NET 9, the tool will now show you "frozen objects", a frozen part of the GC heap that the compiler generated ahead of time. They're the result of executing your code ahead of time.
Tweet media one
Tweet media two
6
14
111
@MStrehovsky
Michal Strehovský
4 years
DOOM fire effect from @fabynou 's article, this time implemented in handwritten .NET CIL. Because who doesn't love writing IL assembly by hand.
5
14
110
@MStrehovsky
Michal Strehovský
5 years
1/5 "Ugly side of default interface methods" time. Interface with two methods, one with a default implementation. What will the following program print?
Tweet media one
6
49
107
@MStrehovsky
Michal Strehovský
2 years
New version of bflat, my take on a selfcontained C# to native code compiler is out. This release adds an extra base class library that is an extreme subset of .NET. One can't build much with it, but one _can_ build a C# snake game into ~10 kB of selfcontained native code with it
8
22
105
@MStrehovsky
Michal Strehovský
2 years
bflat C# compiler 0.0.5 is out. It's now tracking the .NET 7.0 stabilization branch. Natively crosscompile your C# code from Linux to Windows and vice versa. Just a 70 MB download, no other SDKs or dotnet needed.
6
21
96
@MStrehovsky
Michal Strehovský
4 years
Very excited for what's going to be possible with source generators in .NET 5!
Tweet media one
Tweet media two
@csharpgen
Daniel Hughes
4 years
JsonSrcGen + CoreRT gets you 5ms startup time and a 2.1 MB binary.
3
15
85
4
24
101
@MStrehovsky
Michal Strehovský
5 years
Linux devs: Windows has a ridiculous number of APIs - it takes forever to master that. Also Linux devs: why would you build a strongly typed API for stuff that people can parse out of text files in /proc/self?
2
19
99
@MStrehovsky
Michal Strehovský
4 years
Compile C# to a single WASM/WASI file and run it! This is going to work great with
@yowl00
Scott Waye
4 years
C# first steps to #WebAssembly with no Javascript required. Using and WASI, C# can run server side in wasmer and wasmtime.
4
23
77
3
18
96
@MStrehovsky
Michal Strehovský
4 years
GitHub should have a "Merge with fireworks" option so that I can get a closure after spending a day in a debugger and only have a trivial one-liner fix to show for it.
Tweet media one
2
7
93
@MStrehovsky
Michal Strehovský
2 years
- Scotty, how quickly can we serve the first GRPC request with .NET? - It takes about 125 ms. - I need you to do it in 12 ms. - I'll do it in 5.
@JamesNK
James Newton-King ♔
2 years
First world problem: A .NET Native AOT gRPC app benchmark shows a significant improvement, and no one can figure out why. Time to first response dropped from about 12ms to 5ms 🚀 For comparison, the time to first response without AOT is about 125ms 🐌
Tweet media one
13
10
174
1
2
93
@MStrehovsky
Michal Strehovský
1 year
With .NET 8 Preview 5 out today, this finally fully works including root cause analysis. (No need to download .NET 8 daily builds to take full advantage of this tool.)
@MStrehovsky
Michal Strehovský
2 years
1/N I made a new tool! Ever wondered what contributes to the binary size of your .NET Native AOT executables? I now have a tool for you! 🧵
Tweet media one
6
61
308
5
15
91
@MStrehovsky
Michal Strehovský
2 years
Tweet media one
6
3
91
@MStrehovsky
Michal Strehovský
3 years
2/2 The most important question is - will it run DOOM as a .NET app? Yes it will. Source in this repo:
2
13
89
@MStrehovsky
Michal Strehovský
1 year
PublishAotCross: NuGet package to help you cross-compile .NET Native AOT apps to different OSes/architectures. Works on .NET 8 Preview 6+
2
16
89
@MStrehovsky
Michal Strehovský
5 years
This weekend we made ahead of time compilation with CoreRT about 33% faster.
Tweet media one
0
16
87
@MStrehovsky
Michal Strehovský
10 months
1/ I've seen conversations following the article on building native AOT compatible libraries and have some comments I want to centralize in a thread
1
24
85
@MStrehovsky
Michal Strehovský
3 years
1/2 Found out the VC++ compiler can compile C into .NET IL with the `/clr` switch if you pass an extra undocumented switch to allow C. Contrary to popular belief, C _is not_ a subset of C++ and most C code would not compile as C++ (or Managed C++ or C++/CLI).
3
12
86
@MStrehovsky
Michal Strehovský
2 years
1/2 When you publish your app as Native AOT in .NET 7, you give up the ability to load new assemblies at runtime. Some say it's a limitation - I say it's an opportunity.
Tweet media one
6
9
82
@MStrehovsky
Michal Strehovský
5 years
Since in 2020 the only kind of software that still cares about the size of the EXE is malware, this is the sad reality of building tiny < 10 kB programs. IT'S A 5 KB SNAKE GAME I WROTE IN C#. IT'S NOT GOING TO ATTACK THE POWER GRID IN YOUR COUNTRY.
Tweet media one
4
7
83
@MStrehovsky
Michal Strehovský
4 years
The database engine at the core of many Windows components is now open source under MIT license! I got to work with it many years ago when I was working on the Windows component that aggregates app battery usage history. The component uses this engine to store the data.
@_h0x0d_
WalkingCat
4 years
Extensible Storage Engine (ESE, or JET Blue) 🧐
8
83
267
2
18
81
@MStrehovsky
Michal Strehovský
1 year
@gwestr Do you think the DI Experts test with DI? How do you DI the DI? Think about that!
Tweet media one
4
3
77
@MStrehovsky
Michal Strehovský
1 year
New version of my PublishAotCompressed package is out. It updates UPX to latest version and adds property to enable LZMA compression. A fully self-contained natively compiled C# Hello World, including GC and everything can be as small as ~440 kB.
Tweet media one
3
12
77
@MStrehovsky
Michal Strehovský
3 years
A C compiler, written in C#, targeting .NET. It's like Christmas!
@fvnever
Dr. Friedrich von Never
3 years
Not so long ago Cesium, a C17 compiler targeting .NET platform I develop, was able to compile a fully standard "Hello, world" program for the first time. Today, I've prepared some contributor documentation and laid out the further plans. Go, check it out!
8
33
146
1
18
75
@MStrehovsky
Michal Strehovský
1 year
1/2 Thought about UWP development today and boy am I glad "developer license" did not catch on. Having to acquire a license to develop on general-purpose computers is a crazy idea that Apple pioneered and is still trying to push on today. It must not be normalized.
Tweet media one
4
11
68
@MStrehovsky
Michal Strehovský
2 years
I've released a new version of bflat, my C#-to-native compiler driver based on .NET 7. This release extends platform support (ARM64, including Android) and adds more options to make the produced selfcontained programs smaller. Try now:
1
13
70
@MStrehovsky
Michal Strehovský
1 year
Couldn't resist one more view of this data with Java AOT depicted as Burj Khalifa
Tweet media one
@MStrehovsky
Michal Strehovský
1 year
This is a subset of the data that might be surprising.
Tweet media one
4
17
62
3
14
66
@MStrehovsky
Michal Strehovský
5 years
Part of the CoreRT AOT compiler moved to the CoreCLR repo to lay the foundation of the "next crossgen". It won't be full AOT, but some of the advancements we made in the CoreRT repo are becoming part of a shipping product again to build better ReadyToRun:
2
21
65
@MStrehovsky
Michal Strehovský
2 years
Tweet media one
1
5
65
@MStrehovsky
Michal Strehovský
1 year
This is a subset of the data that might be surprising.
Tweet media one
@MStrehovsky
Michal Strehovský
1 year
Round #2 of Sizegame is out - now expanded to 15 languages. Did Assembly language get to keep the number 1 spot? Find out below:
5
14
45
4
17
62
@MStrehovsky
Michal Strehovský
2 years
Got the HelloWorld and DynamicLibrary bflat samples running on my Android phone. New version of the bflat compiler coming soon! Publishing C# libs & command line apps is going to be as easy as 'bflat build --os linux --libc bionic --arch arm64', no dotnet or Android SDKs needed.
Tweet media one
2
10
61
@MStrehovsky
Michal Strehovský
5 years
I personally hope this also means we are going to stop relying on the JIT eating electricity and creating heat to recompile 𝘁𝗵𝗲 𝗲𝘅𝗮𝗰𝘁 𝘀𝗮𝗺𝗲 𝗰𝗼𝗱𝗲 billions and billions of times in hundreds of thousands of data centers and billions of end user devices every day.
Tweet media one
@BradSmi
Brad Smith
5 years
Today Microsoft announced an ambitious goal and a detailed plan to become carbon negative by 2030, remove our historical carbon emissions by 2050, and launch a $1B climate innovation fund.
104
1K
5K
6
7
58