Jump to content

ShaunR

Members
  • Posts

    4,871
  • Joined

  • Days Won

    296

Everything posted by ShaunR

  1. I used LabSQL when the DB toolkit was a paid addon. It was a lot faster.
  2. Just be careful they don't label you a contractor then there are zero benefits to being a company apart from liability.
  3. Yes. But what is the requirement that means it has to be under your company name? Is it that you fear if it is not then your argument to the tax office is diminished or is there a specific clause that states open source does not constitute a "product" that you own and therefore cannot be accepted? i.e. is this a speculative move or is there a definite clause that applies?
  4. What is the criteria for the Tax exemption that requires this move? What makes this toolkit a good choice over, say, you messaging library which has little or no collaborative contributions so far?
  5. I've no idea what you are talking about (R&D Tax credits?) so it's difficult to make a judgement but you appear to want to take sole ownership rather than be the caretaker of a community project. So I object on that basis. Am I able to claim these credits too? There is nothing in the BSD licence that says you cannot take the current software and create a derivative as long as the licence is followed.I would prefer you create a new product derived from the current.to mark a distinct change rather than an attempt a seamless absorption. In time, people will probably move to your new product in preference but I think a distinction should be made and the current project control handed over to LavaG admins. I'm not suggesting that you don;t deserve most of the credit for the library. only that a distinction is made that it is no longer the same community software in order for you to benefit..
  6. I don't have much experience with IDL (like, none ) but IIRC the MIDL compiler can create C/C++ header files. You could try running the compiler with the /h switch then use the resulting header files with the LabVIEW DLL import wizard (Tools>Import>Shared Library) It's a long shot but may get you some of the way.
  7. DOH! I forgot that an input to the conversion requires the codepage
  8. That's a fair point but generally API developers don't (and I think shouldn't) offer multiple ways to do the same thing and where they do exist, it is usually due to legacy support. Saying that, though. For network sockets there are blocking and non-blocking calls that get wrapped by developers On the surface, these blocking calls seem far easier to use when viewed as linear steps since there is no need for synchronization in your program. However. I have always been forced to go for asynchronous since they cannot be aborted by the IDE. In all cases with communications. Asynchronous is always the final solution and blocking calls always fail to deliver. I'm pretty sure what we have today wasn't always the case. I have recollections of aborting DLLs that had frozen (and there were lot ) I also have recollections of sharing a global from multiple built executables . I also remember ridiculing the C programmers with their pitiful 16bit when LabVIEW was 32 so it was probably quite a while ago . If I could still crowbar a DLL with the abort button. I expect I would go for blocking calls every time and let LabVIEW clean up the mess
  9. I think we are up to 4. There is also the btowc which I could do char by char and LabVIEW has a Text->UTF8 primitive (and the reciprocal, but I don't care). IIRC it is in Linux (not sure about Mac). Don't forget I don't care about the system encoding. Only from LabVIEW strings to UTF16 regardless of how the OS sees it. Oooh. That's a point. Free Pascal is cross platform an supports unicode. I can look to see what it maps the Windows conversions to.. I was actually referring to the "Third Party Licencing Toolkit" for applying my own licence. It only works on Windows so it is not possible to supply 30 day trials on other platforms.
  10. OK. Thanks. Once I've managed to get NTLM working in Apache on a Centos VPS, I'll have a play (2 days and counting.... ) There are obviously some trivial commands that do what I need and that's the important bit.
  11. Can you expand on the LabVIEW "run queues" and task scheduler WRT .NET and DLLs?
  12. You don't need to threshold/ An inflection point is a change in sign of the d2y/d2t from positive to negative or negative to positive. Since you only need two points to draw a line, Just find the two points either side of the inflection (where they change sign) and draw your line through them.If you need a better estimate because your datapoints are a bit sparse then you can do a linear fit on a few points on either side of it. Lets see who can come up with a "cool" way of detecting sign changes and extracting the points to fit
  13. The LabVIEw strings are ASCII byte arrays so that would mean converting them to mbstr first, yes? I was under the impression that btowc was byte to widechar which seems just what I'm after. Are you saying that I would use btowc to get the multi byte string then use mbstrtowc to get that into unicode UTF 16?
  14. @rolfk Indeed. I've managed to avoid most of the shenanigans and dealing with various possibilities since most of NTLMv2 is taking what the server gives you and signing it. In that respect I only need to convert from LabVIEW strings that the user enters via the FP (computer name, user name and password) rather than having to deal with what the OS gives me via calls. I haven't tried yet, but it looks like the btowc will do what I need unless you can see a bear trap in there somewhere. With Mac support. Well. No-one has bought a Mac licence so I only care for completeness and will drop it is it looks like to much hassle. The toolkit used to support Mac but I quietly removed it because of the lack of being able to apply the NI licence. So it still works, but I don't offer it With Linux, however it looks straightforward and is a must for embedded platforms. I think I might just need to update my ASCIIToUTF16 conversion primitive with a conditional disable to use the btowc. Can you confirm that is a good way forward?
  15. You are looking for the tangent to an inflection point.(second order derivative d2x/d2t=0)
  16. The only rules in software are those imposed by the compiler Everything else is just anti foot-shooting aphorisms and masochism. .
  17. There is nothing to stop you sending the DVR reference as a message. DVRs are storage and messages are pseudo-events. There are no rules (except self imposed ones) that say the data has to be an integral part of a message. Sending a DVR reference (or queue name etc) is like the postman leaving a note telling you to pick the parcel up at the depot because it won't fit through the letterbox.
  18. Even so. isn't that what iconv does? I'm just trying to get a feel for the equivalencies and trying to avoid bear traps because Linux isn't my native habitat.
  19. Is there a good reason to use a third party library like that rather than btowc which is in glibc?
  20. I'm adding support for NTLMv2 authentication and Hashes to the Encryption Compendium for LabVIEW. I have implemented the NTLM SSP protocol in native LabVIEW (apart from one thing) and it's all working great under Windows, Now I am looking to make sure it works on the other platforms still. The "one thing" is the Ascii to UTF16 conversion since the protocol uses unicode. With the older protocols (NTLMv1 etc) that is not an issue since the negotiation can tell the server to use ASCII strings instead of Unicode. However. NTLMv2 requires unicode strings to create the hash in the specifications so there is no negotiating it away. (Note: There is no need to display anything so the bytes just need converting for calculation from a LabVIEW string to a u8 byte array representing the unicode equivalent. No changes to LabVIEW indicators or ini-files is required) Under windows, the conversion from ASCII to Unicode is via calls to the OS (kernel32.dll). So am I looking at iconv, mbsrtowcs or something else to achieve the same on Linux and Mac? .
  21. Such a drama queen I think most have weighed in and, as per usual, the applied programmers do still use them and the pure programmers don't. If you can wrap it in a polymorphic VI. You'll not only simplify the connector, you'll also get the adapt to type for the different usages.You don't have to split out each method into a new vi of the polymorph but you may have to split the typedef into a couple that make sense for the connectors. For example. If you have a Hash AE that has SHA and HMAC. Then two VIs for the polymorph, one with a typedef of SHA1, SHA256 and SHA512 then another with MD4, MD5, SHA etc
  22. Oh.I thought you had already obtained the text since you stated it looks like a series of question marks (so just needed to convert it) LabVIEW is shipped with some automation examples. The one below (from the examples) interacts with Excel but the principle is the same. I couldn't find any examples of Ms Word without the Report Toolkit because most interaction with MS products is generally the other way - writing reports. I don't have M$ products installed to knock up a quick example, unfortunately.
  23. They are not "lost". There is just no mapping in the current code page to render them While LabVIEW doesn't officially support unicode there are things unofficially that you can do to display and manipulate unicode strings.
  24. Well. there is no "Total bytes downloaded" emitted by the downloaders (or total size, for that matter) but if there was then throttling or congestion would make you think the download had finished so no. That won't do. A queue isn't as straight forward as it appears on the surface either, Since the MB/s is usually driven by incoming data (receive n bytes in delta N ms and extrapolate bytes/s) rather than seeing how many bytes arrive in 1 second and then emiiting an event. (That's why we need a rolling average) Faster downloads will skew your average since they will be putting more entries in your queue. I'm not sure why Dispatcher is thrown in here. That isn't a messaging framework or a memory accessor or really anything close to what we are discussing. Dispatcher is some turbocharged TCPIP primitives for a specific purpose (pub/sub). It has more in common with network streams than a messaging framework. It is meant to be a component in your system not the system itself. I suppose when an actor is just code that does something and messaging is just information flow then even a simple API becomes a "Messaging Framework". I don't subscribe to the philosophy of tortured vocabulary, though. If you are looking for my "Messaging Framework" then you need to look at the VIM Demo where it is one VI @ ~700KB. The merits of each messaging approach is irrelevant in his discussion though. We should instead concentrate on the OPs question.
  25. That won't give you the snapshot. Take an extreme example. You are launching download "actors". Each downloader has a MB/s that is emits via your notifiers and once the download is completed the downloader closes itself. You want to know the rolling 10 second average of throughput on your network card. So you launch 1000 downloads. Now you have the global / concurrent snapshot problem. At any one time you need to know how many are still open so you can for loop through them and obtain the average. As you for loop through them, on each iteration, they will be updating their notifiers before you get to include them in your calculation and some will probably close leaving their last value in there before you've finished looping - therefore including them when they shouldn't be. This is solvable with some sort of protected global storage (a DB, an AE, a DVR, a Go Pro) but not by pure messaging alone. But it is not learning "messaging". It is learning someone's particular flavour of framework Your's, AQs, Michaels, Daklus. Everyone and his dog has had a go I was rather amused when watching the NI Systems Groups video about their DCAF thing. Where was the Actor Framework?. If I could ban one word from the dictionary it would be "Framework". Every single framework I have seen in LabVIEW so far has been like this And you are still expected to build the bike
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.