In order to get the full ID of a file in Win32 the GetFileInformationByHandle returning a BY_HANDLE_FILE_INFORMATION which contains 64 bits of file ID (and the volume id where the file resides) is a start.
The GetFileInformationByHandleEx with FILE_INFO_BY_HANDLE_CLASS of returns FILE_ID_INFO which provides the full (potentially) 128 bit file id as required for ReFS.
I’ll likely provide support for both of these shortly, likely using C++/CLI to simplify the interface.
Given these two pieces of information it should be much safer to clear out duplicate files as various sorts of links and mount points will still show the ultimate file identity properly and avoid deleting apparent duplicates that are really just aliased paths to the same file.
Writing in C# I’m pushing the pieces together to build a cryptographic hash based duplicate file locator. I’m expecting to back-end this into MongoDB to avoid having to re-scan every time it is run and to persist information about offline file systems.
Continue reading Continuing slowly towards some file management tooling
I’ve picked up some representative AVR based boards to supplement the ARM based RPi board I have around the house. Between the two, I expect that a pretty capable solution can be put together. The ARM running Linux and providing high level business logic and user interface while the AVR boards provide hardware level control and real-time ‘fast twitch’ capability.
The ATMega2560 is a high-end device with generous resources in pretty much all relevant areas. It is quite a bit more expensive than the lower tier parts and I’m inclined to look at a finer grained approach initially.
The ATmega328 is the ‘common’ controller in this line. This is the part that powers most of the Arduino line of boards. It has relatively limited resources but with multiple timer/counters and an I2C link should suffice for most of the sorts of tasks I’m looking at. This is a fully featured board, but I have a package of five free-standing boards on the way. These boards run less than $5.00 a piece but have no integrated USB capability and thus need either an ISP programmer or a separate USB to RS232 converter to load with code.
The last three small boards I picked up for sandbox purposes are ATmega23U4 boards. These use the AVR controller that has built-in USB capability. I’m very interested in what can be done with this support as it should allow coding of various sorts of USB devices using the native hardware on the parts.
I’ve had these pololu stepper controller break-out boards sitting around for some time now. They’re destined for a RepRap machine (assuming I ever find the time and budget to finish buying components). They’re H bridge, step and direction style stepper controllers with an Allegro A4988 device. I’m expecting to push these together with a stepper motor and at least see it responding to commands in the near future.
Once I’ve got a stepper running at least a bit, the next step needs to involve more mechanical parts…probably makes sense to get the real RepRap implementation rolling at that point.
I am a bit curious about ARM based possibilities…something like a cortex M0 with a free/open source RTOS running on it. This would certainly allow for more to be done with fewer independent controllers…though the relevant pieces remain to be worked out. I’m suspicious that the RPi SOC is too poorly documented to work here…would need a lower end, more dedicated part with a board support package for something free and capable…more to come.
I’ve had several small boards with physical pin access sitting around at home for some time. I’m now looking more closely at what I’ve got and where I can go to start some hardware based work. Continue reading Looking at controller options for hardware sandbox projects
I’ve found the various Effective C++ books (and the broader ‘effective’ series in general) to be a useful resource for brushing up on the finer points of best practices. They cover the details that a professional developer needs to understand and skip the language learning bits.
Continue reading Re-reading effective modern c++
I’m building the latest release of g++ to play with. It probably isn’t necessary as the 7.3.0 version that is currently in stock cygwin (and something close in Ubuntu) covers most of the interesting c++ 2011 and 2014 ground. I expect g++ 8.x.x. to add in more c++ 2017 features.
I’ve been a bit focused on C# and Java of late and I’m planning on knocking the rust off of my c++ over the next few months. Not sure exactly what I’m going to sandbox, but there are plenty of options…
Decluttering and pulling some unneeded pieces of furniture as part of an overall clean-up. We’ve lived here since our daughter was young and the time has come to simplify a bit. Taking a table and display rack out and rearranging what is left.
Continue reading Almost done with my home office simplification…
Well…last week was pretty unpleasant all around. I’m expecting the coming week to shape up better. The craziness is settling down and I’m getting things squared away to get some more sandbox coding done on the home front.
Just got my RPis updated, located g++ 8.x for the RPi. Linux NUC is good to go. Still lots of work to get the basement squared away, but that has needed work for some time and projects will be easier to push forward with the downstairs work-bench easily accessible.
Malcolm has offered plastics to complete the RepRap 3D Printer that I’ve had some of the parts for sitting around for years. The HTC Vive is still waiting for some OpenGL code to do interesting things. Plenty to get to…
Getting my Linux systems updated to current versions and pulling a C++ 2014/2017 capable g++ in.
May wind up re-imaging some of the RPi boards. Need to dig up the arduino/AVR boards. Moving forwards to get some more interesting embedded sandbox things going.
That looks better…the red RPi wasn’t associating with the non-guest WiFi…apt update going now. Convenient having the no-password guest WiFi SSID…I’d recommend UniFi enterprise APs to anyone with an area too big for a single AP footprint…decent price, good features and relatively easy setup.
The landing page theme I’m currently using displays nothing but a large image, the blog name and a (rather skimpy) arrow down to content.
I’m afraid that this is likely less functional than I’d prefer…it would be pretty easy to drop in here and miss the actual contents of the page and thus all of the links to ‘real’ content.
I’m going to take a look at available free themes and see if I can find something that meets my needs better. I’d be willing to pay a one-time fee for a theme that did a great job, but I’m not convinced that I’ll find one readily.
I am likely to start digging into PHP and WordPress theme creation sometime soon to see is I can modify one of the stock themes to get the job done. I’m not certain that I’ll be willing to spend the required level of effort at this time, but it is worth some initial investigation.