|
This could make sense in a multithreaded situation, but somehow I've a feeling that's not what you're dealing with...
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
While this code was in fact multithreaded, that had nothing to do with the sloppy way the logic was coded. I've had very few cases where comparing a bool variable to a constant made more sense algorithmically than just using the variable as-is. The second part comparing the variable to the Windows DWORD constant TRUE is just plain stupid. It works, but that's no credit.
Software Zen: delete this;
|
|
|
|
|
Count me in the Spoiled Rotten Club: I just discovered that you can define all the string resources you want, and your XAML editor won't see them until you run them through the resource compiler.
I say that I am spoiled because I am accustomed to having new strings immediately visible in the C# code editor.
I'm in VS 2017, as opposed to Blend for VS.
BTW, the blog that was the most help is at The Weird and The Wonderful.
Go figure.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
modified 7-May-19 15:23pm.
|
|
|
|
|
You are spoiled indeed!
Fortunately F6 to the rescue! F6! F6! F6! F6!
|
|
|
|
|
Indeed, but why must I?
BTW, for me, it's F7, because I use the old Visual Studio 6 key bindings.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
SHR LSB(D)→ DF; 0→ MSB(D) F6 So, how exactly is this Shift Right instruction going to help?
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Which processor instruction set is that?
Software Zen: delete this;
|
|
|
|
|
One I know in and out since over 40 years now: Chip Hall of Fame: RCA CDP 1802 - IEEE Spectrum[^]
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Ah. I thought it was an 8-bit opcode. I used to have most of the 8085 instruction set memorized.
Software Zen: delete this;
|
|
|
|
|
Oh, it's 8 bit all right. Looks like both processors are from 1976. Despite that, they are both very different. There actually seems to be one thing about the 8085 that seems even weirder than the unconventional 1802:
The 1802 multiplexed its address bus to save eight pins. The 8085 has 16 address lines, but multiplexes the lower half with the data bus. In both cases the obligatory bus drivers and/or latches on every board could handle (and hide) this very well, but multiplexing addresses and data seems weird.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
The first microprocessor I ever played with was an 1802. My stepdad bought a COSMAC ELF-II board, which included a hex keypad and two 7-segment displays. He bought a KSR-33 teletype and got it working with the ELF-II, and even machined an alternate gear for it that sped it up. We fat-fingered a Tiny BASIC interpreter (a whopping 1.5K) into the ELF-II's RAM with the hex keypad and used that for programming. We kept the machine's RAM alive using a car battery.
As they say, good times.
Software Zen: delete this;
|
|
|
|
|
The good times never ended for me. My first computer was an Elf II and I still have it. The old keys on the hex keyboard are worn out and that's why I don't use the hex keypad to enter programs anymore. I have a neat setup on the PC with a cross assembler, a C compiler and an emulator with VS as code editor for that now. Do you still remember the interrupt routines for the CDP1861 graphics chip?
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
'Fraid not. The only programming I did on the ELF-II was using Tiny BASIC (I was in high school at the time). I did a lot of embedded programming on the 8085 for little data acquisition and process control apps in my first programming job while I was in college.
Software Zen: delete this;
|
|
|
|
|
I dug up a picture I have posted here last year: Dusty old Elf[^]
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Hmm. I define my 'resource' strings in my XAML:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib">
<s:String x:Key="Name" x:Uid="Name">Thing name</s:String>
... My localization gizmo assumes everything translatable lives there.
Software Zen: delete this;
|
|
|
|
|
Is it safe to assume that you rolled your own localization tool, rather than use the ones that come with the framework?
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
I know it sounds like a bad case of not-invented-here, but we're stuck on VS2008. Back then, the only 'tool' available was a sample program called LocBaml. It used .NET facilities to traverse compiled XAML (aka BAML) and produce translated resource DLL's. Unfortunately LocBaml wasn't very capable and didn't handle a lot of cases. Fortunately the source code for LocBaml was provided.
I wrote my own tool to handle LocBaml's missing cases and to provide a better persistence format for translators. It also handles the typical use-case of updating an existing translation to new code, which LocBaml did not.
Software Zen: delete this;
|
|
|
|
|
No, it sounds more like the work of a resourceful engineer. Good on you!
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
The core features of the WizardWrx .NET API are now available as a set of NuGet packages. Thanks to the dependency chain, you can get all of them in one go by installing the WizardWrx.Core library, found at https://www.nuget.org/packages/WizardWrx.Core/. Otherwise, search for "WizardWrx" to see the list. Since they rely on the existing library documentation at WizardWrx .NET API, the documentation included with the packages is scant. However, each package includes a ReadMe file that points to the real documentation, which is MSDN-style documentation generated by DocFX. The ReadMe opens in Visual Studio when the installation completes, and the package includes a Markdown copy in addition to the text file that displays in Visual Studio.
The WizardWrx .NET API is a set of libraries that expose a rich set of general-purpose helper classes for use in projects that target the Microsoft .NET Framework. Among other things, they offer the following.
1) Syntactic sugar, such as the routines that identify the first, last, and next-to-last iteration of a FOR loop, convert subscripts to and from ordinals (zero-based versus one-based subscripts), compute a modulus (remainder), and perform decimal shifts
2) Prse dynamically generated format control strings (used with string.format and such),
3) Reduce computing message digests to a single method call
4) Transparently convert Registry values of all types into native types (strings, integers of various sizes, and byte arrays)
5) Parse command line arguments for any program (command line or graphical),
6) Add numerous extension methods to system.string and system.IO.FileOnfo
7) Simplify working with the match groups returned by the Regular Expression engine
8) Dynamically generate format strings to compactly represent data in tabular format
9) Implement the Singleton design pattern in a way that fully leverages certain guarantees about the behavior of static constructors
10) Format and log exception reports, optionally recording them in a Windows Event Log and efficiently reporting them on the two standard console output streams, taking into account when either or both has been redirected to a file
11) Accurately identify the type of processor on which the code is executing and the Windows subsystem (character mode, graphical, etc.) in which it is executing
12) Walk the dependency tree of any executing assembly
13) Sort collections of FileInfo objects, so that the files they represent can be processed in any order
14) Provide scores of handy symbolic constants to disambiguate and properly document your code
The3re is much more; these are the highlights, most of which I use daily.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
modified 4-May-19 2:57am.
|
|
|
|
|
|
No idea, but the documentation sure looks fine
|
|
|
|
|
WizardWrx is a business name under which I operated as an independent software engineer for a number of years. My wife suggested it as a way to convey that she sees me as a wizard, in the magician sense, of software engineering. At the time, we also happened to be living in a village called Wizard Wells.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
|
Quote: All Right Then, Keep Your Secrets - Frodo Baggins - YouTube[^]
Pardon?
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
What we really want to know is what the purpose of your library is !
|
|
|
|