@anon79053375 made me think of this from a recent discussion elsewhere.
While Microsoft may work in ways that some people find undesirable, they have a lot of interesting and good projects.
I figured we could share some of them here and wanted to know who’s used what and what they think.
I’m a big fan of powershell, they have released it under the MIT license. I’ve not made full use of it but its become more and more my day to day tool on some platforms I use.
I use Windows and Linux on a daily basis, and whenever I’m doing some programming, I’ve been doing it all in Visual Studio Code as of late.
It works the exact same way on both platforms, so I don’t have to think about using two editors or anything like that. It has a built-in terminal which comes in handy from time to time, and I’ve come to really like its extension system.
I’ve used Visual Studio Code a bit and it is pretty good, its probably comparable to Atom (in that it uses modern UI etc.), or emacs for extensability etc. Though emacs is far more powerful for many things. If you were looking at atom, this is better. It has been for me, more stable, faster, and seems to work a bit better in general.
It seems to be build on node.js from what I have seen. im not sure if this is the same as an electron app? both are javascript, i think there different libraries though.
I never used Atom but does Visual Studio Code compile code like regular Visual Studio, cause that’s somewhere I give Microsoft credit, is how good Visual Studio is, sure, I like Code Blocks, I like using Eclipse now for C/C++ on Linux and I like using QT Creator for anything GUI related but Visual Studio makes debugging easy. Wish we had a real answer to Atmel Studio.
It wasn’t open initially (same as .net for example), but it was opened up fairly recently, 2016 I think. the intersting thing is its not just windows only, its multi platform. though a lot of its power is using it for windows stuff i think.
It doesn’t come with a compiler, but it does have extensions for a few build tools, so you can use cmake, or make with it for example.
I was reading into it, seems like it can even support AVR Assembly Programming but a lack of debugger is kind of a problem, the only program that contains such a debugger is Atmel Studio and that only works on Windows.
A lot of them are projects that build ontop of their propritary software, there are some good kits for labs and templates for PowerBI etc.
Stand alone applications/SDK’s/projects are fewer but;
.Net Core (this will eventually replace the Windows only .Net)
PowerShell Core (All new PoSH development is now here, Windows PowerShell will remain supported but no new versions)
VS Code (as described above - there are also loads of Open Source Extensions for this)
TypeScript (a superset of JavaScript)
SQL Operations Studio (great if you need to adminster SQL Server but use Linux or OSX instead of Windows)
If you work in Azure or just with a lot of MS products it’s definately worth a look through their Git-HUb repo.
As far as I know SysInternals is not Open Source, it is free for you to download and use but you have to accept an EULA when you install or run it and you have no access to the source code.
This thread is for Microsoft projects that are free ‘as in speech’ not ‘free as in beer’.
…it would be good if I am wrong about SysInternals though, great tools
I don’t think you need to worry, the great thing about FOSS is anyone can fork a project and start anew if they don’t like the politics or motivations of the old projects.
One area where you might be on to something is the general drift away from strong copyleft licences like the GPL and towards permissive licences which some people might think is a bad thing. But that’s a subject for a whole other thread
They’re in open source areas because that’s what their customers want and it opens them up to new business areas as well.
So the good is they are building and supporting open source projects. the bad is they likely care less so about Free Software and user freedoms. @BGL pointed that out a little, the shift a little more for companies to go with licenses like MIT isn’t necessarily because they are better licenses (for the end user they are not), its for control and business. They can sell it better.
Microsoft actually had a few presentations on this from PengiunCon last year. Still in early stages, but the use of a certain amount of calls is free (or at least it was) and so far, this tech is fairly impressive for what it is. The Demo went into a variety of use cases and applications, the software was already able to recognize objects, people (including gender, estimated age, and face) and other things.
They have a lot of cool projects on there, many small, but some big.
Heres a little quality of life tool
Usage:
colortool.exe [options] <schemename>
ColorTool is a utility for helping to set the color palette of the Windows Console.
Also, new builds of Windows 10 come with curl and tar
PS C:\> tar --help
tar.exe(bsdtar): manipulate archive files
First option must be a mode specifier:
-c Create -r Add/Replace -t List -u Update -x Extract
Common Options:
-b # Use # 512-byte records per I/O block
-f <filename> Location of archive (default \\.\tape0)
-v Verbose
-w Interactive
Create: tar.exe -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
<file>, <dir> add these items to archive
-z, -j, -J, --lzma Compress archive with gzip/bzip2/xz/lzma
--format {ustar|pax|cpio|shar} Select archive format
--exclude <pattern> Skip files that match pattern
-C <dir> Change to <dir> before processing remaining files
@<archive> Add entries from <archive> to output
List: tar.exe -t [options] [<patterns>]
<patterns> If specified, list only entries that match
Extract: tar.exe -x [options] [<patterns>]
<patterns> If specified, extract only entries that match
-k Keep (don't overwrite) existing files
-m Don't restore modification times
-O Write entries to stdout, don't restore to disk
-p Restore permissions (including ACLs, owner, file flags)
bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp
curl though I think is a overlay to Invoke-WebRequest unless you run in in cmd
PS C:\> curl --help
curl : The remote name could not be resolved: '--help'
At line:1 char:1
+ curl --help
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
eption
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
(note, curl works fine in powershell, it just isnt “curl” it invokes Invoke-WebRequest as i mentioend, so some/all of the options arent there. I wonder if there is a way to change this outside of just changing an alias?)
This is solved in PowerShell Core 6. PoSH Core can be installed onto Windows alongside PoSH for Windows. Curl and Tar work now work properly. I’m not on the insiders builds so both commands error for me under cmd.
Yeah. In my scenario it’s just that powershell seems to alias curl. Both are available on the insider build. I assume it’s just because they think invoke-webrequest will do everything they think you’ll want from curl.