I’ve been lax the last six months on my blog, working instead on Campy (a C#/GPU programming language extension). Now that that is slightly under control, time to get back to the blog. And, by the way, the whole reason for Campy is to implement popular algorithms to run on a GPU, I thought I’d take some time to review what information is available on … Continue reading Useful websites for algorithm designers and programmers
What the hell is Mono Mini? Mono Mini is the LLVM JIT for Mono. It translates CIL into LLVM IR. Why is it important? Mono is a full implementation of C# that is platform independent, i.e., where programs can run on Windows, or Linux. The compiler for C# translates C# into CIL code, and Mono Mini translates CIL into machine code that can be … Continue reading Mono Mini in a Nutshell
I’m going to tell a story that probably many of you can relate to. Last week, I experienced a slow motion catastrophic failure in Windows. It surprise me because ever since Windows 7, I’ve had pretty good luck in rolling forward with the updates and upgrades of the OS. But, that changed when I moved to the Windows 10 Creator Update. As Microsoft posted in … Continue reading Windows recover tools for an idiot
Today, I’m writing this note about backup procedures for Windows. Up to now, I’ve been backing up my Windows machines (operating currently five) in an ad hoc manner. Cringe you may, but I’d only made a backup once a month or so. Well, for the many decades I’ve been working with computers, I’ve never lost that much, through disk failures, unexpected file deletions, and upgrades. … Continue reading Windows backups for an idiot
What is this Net Core everyone is talking about? Net Core is a cross-platform application framework for C#. With Visual Studio or the Net Core tool set, it’s not too hard to build server applications on any platform that can be deployed to any platform. This is remarkable considering the source code for C#/NET was proprietary code until Nov. 2014 when Net Core and parts of Net … Continue reading Hello World from NET Core and NET Standard
Virtually every website nowadays follows a God-awful trend in UI that generally replaces hyperlinked text with illustration-heavy art work arranged in a grid layout, making it not easier but HARDER for people to find a specific page. You cannot search for text on the page as it’s all now pictures; and, each page shows less links as a picture takes up more real estate than simple text. … Continue reading Where are my MSDN downloads, Microsoft????
As I work to enhance Campy, a C# library for GPU programming I wrote, I’m trying to capitalize on some new code from the NET Foundation Projects. These include LLILC, a MS IL compiler based on LLVM. I want to be able to use some of the APIs in LLVM to perform SSA analysis rather than roll my own. But, that turns out to be easier said than done. This note describes some of the issues in building LLILC, LLVM, and SWIG.
If you’ve been working with Cygwin or MinGW, you may want to step over to Windows Subsystem for Linux (WSL) to take advantage of building and running tools in that environment. While the goal of Cygwin and MinGW has been to provide a Linux command-line tool set to Windows, it’s too easy to run the wrong tool (e.g., forgetting to install a tool in one environment, and picking up the identically named tool in another). In fact, many tools install their own private copy of MinGW (Git for Windows, SourceTree, Vagrant, …), so you find yourself constantly manipulating the search path.
Years ago, I bought a MacIntosh–the original 128K 68000 Motorola CPU box. Like the Apple 2 before that, I upgraded it as best I could, and tried to develop programs for it. But, it was all not easy. And, it was exceedingly expensive–from the computer, to the upgrades, to the software, to the books detailing how to program the system. The decision by Apple to … Continue reading Hackintosh for Development