-
Posts
4,914 -
Joined
-
Days Won
301
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by ShaunR
-
Reading a Binary File containing Cluster Data
ShaunR replied to Rahul Karthik's topic in Database and File IO
Nope. Don't know you or what your real name is (a hoover is a vacuum cleaner over here and in everyday usage). It was, and always will be a typo (apologies). My handle, however, IS my real name. (I don't care how you spell it and even I get it wrong sometimes whilst typing. Luckily I rarely refer to myself in the third person ) -
Reading a Binary File containing Cluster Data
ShaunR replied to Rahul Karthik's topic in Database and File IO
Yup. What hooovahh said. -
Regex Challenge: How to exclude variable-width parts of a match?
ShaunR replied to JackDunaway's topic in LabVIEW General
Yup. I checked my snippet after Hoover said (on another thread) and it was fine. I've now uploaded the same snippet to http://postimage.org/image/5p8stekp7/ and it works fine when downloaded. Definitely something going on with lavag.org. Maybe it's now being optimised/compressed? -
Regex Challenge: How to exclude variable-width parts of a match?
ShaunR replied to JackDunaway's topic in LabVIEW General
You are expecting that "Whole Match" really means Whole Match except those bits I don't want? LV Help To match individual components you have to create capture groups. The ?: syntax means that you exclude that component from the list of capture groups (this isn't a LV peculiarity, it's how all regex parsers work). So whilst (The quick brown fox jumped over thes*)([a-zA-Z0-9]*)(s*dog) will give you three terminal outputs with 1. The quick brown fox jumped over the 2. lazy 3. dog (The quick brown fox jumped over thes*)(?:[a-zA-Z0-9]*)(s*dog) will give you only two terminals with 1. The quick brown fox jumped over the 2. dog Similarly. The quick brown fox jumped over thes*([a-zA-Z0-9]*)s*dog will give you only one terminal with 1. lazy In all cases the Whole Match will give you the whole string if all capture groups match and bugger all if it doesn't. -
The way I resolved a similar issue was to use the "Path to Command Line String.vi" (which isn't on the palettes) rather than path to string then hacking the string. It seems to work on all platforms. You can then just use all the path primitives (e.g. strip and build) to traverse the path without worrying about the underlying format.
-
Determine day of week using Zeller's congruence
ShaunR replied to Oakromulo's topic in LabVIEW General
Sure. Sometimes.Although unless you have programed in C you might think y -= m < 3 is rather obtuse. I'd defy anyone to say that string formatting in C is "more readable" though. -
Determine day of week using Zeller's congruence
ShaunR replied to Oakromulo's topic in LabVIEW General
...... and here's the Sakamoto method. -
Nice to LV being thought about in new technologies.(Bitcoin)
ShaunR replied to ShaunR's topic in LabVIEW General
Well. The Bitcoin system has had its first very public robustness test in terms of the protocol/system. Good community response (developers and traders) to the issue which was resolved quickly. -
oops. Deleted 'cos stupid
-
Adjust XY Scales Individually - Array of Clusters
ShaunR replied to Dan07's topic in Application Design & Architecture
Something like this? -
Network Discovery via UDP
ShaunR replied to mje's topic in Remote Control, Monitoring and the Internet
You might want to take a look at the Transport.lib as well. It has an example of UDP Multicast and some nice features such as encryption, compression, timestamps and payload size (you can use more than 1500 byte payloads on windows and linux). -
Adjust XY Scales Individually - Array of Clusters
ShaunR replied to Dan07's topic in Application Design & Architecture
Do you have an example (picture) of what you are trying to achieve? -
Programmatically generating documentation for an .lvlib
ShaunR replied to cgiustini's topic in LabVIEW General
Yes. You can export a complete hierarchy to a couple of formats (including HTML) from within the IDE Look in the help under "Print Dialog Box" -
Error Handling in messaging systems
ShaunR replied to John Lokanis's topic in Application Design & Architecture
Why not just have a "Shut-down" actor which knows what order to shut things down? -
Help define canonical LabVIEW.gitignore template for GitHub
ShaunR replied to JackDunaway's topic in Source Code Control
Perhaps it is because I also maintain the binaries (generally). These are usually under a separate repository and pulled in when needed (not as easy in Git as SVN) so that up issuing them doesn't require up issuing of the labview source (separate tree). Probably more my workflow so perhaps not a good idea as a generic. -
Error Handling in messaging systems
ShaunR replied to John Lokanis's topic in Application Design & Architecture
If you have a sequence engine. Then it becomes fairly straight forward to dictate what should happen when. This is one of the reasons why I use messaging with a queue for commands and events for response. Most of my apps are present in the real world where you need to do things like set a slide to the home position before then turning the power off. It's an extension of your error handling problem and is one of sequencing. The standard architecture that I have adopted is that only the sequence engine is allowed to issue commands and all other modules can only be listeners to other modules but not interact or act on them. An example of this would be a UI which can listen to the slide controller and show the position, but when the move button is pressed, the command must be sent to the Sequence Engine which will then tell the slide to move (and probably a load of other things too). This topology does not have inherent broadcast capabilities since each message must be placed on the appropriate modules queue and has to be considered and programmed by the designer. This is, however, trivial and the pro's far outweigh the cons since you dictate the order of commands and precisely target the processes. It is very rare that a broadcast control message can be acted upon without consideration to other processes. -
Actor-Queue Relationship in the Actor Framework
ShaunR replied to mje's topic in Object-Oriented Programming
This is my fundamental objection to the Actor Framework. It blurs the line between messages and processes. It sort of funnels your application architecture to be the Actor Framework itself. -
[Ask LAVA] Must Override exists; could Must Implement?
ShaunR replied to JackDunaway's topic in Object-Oriented Programming
Not necessarily. MJE just posted a classic example of exactly what I am trying to get accross. -
Actor-Queue Relationship in the Actor Framework
ShaunR replied to mje's topic in Object-Oriented Programming
I don''t use the Actor Framework (or probably ever will) but are you talking abut your Message Pump library? -
Help define canonical LabVIEW.gitignore template for GitHub
ShaunR replied to JackDunaway's topic in Source Code Control
*/build/* .DS_Store Thumbs.db .dll .so .out -
[Ask LAVA] Must Override exists; could Must Implement?
ShaunR replied to JackDunaway's topic in Object-Oriented Programming
Deprecation as opposed to deletion. If you just delete it you will break any existing code anyway. It's nice to give developers a heads up before just crashing their software What have binaries got to do with anything? That's just saying use it or use something else.