The Official Status Thread
-
-
I wouldn't be surprised if it was RS232.
Now that you mention it...I would not be surprised either. Given the amount of medical equipment that still transfers information that way to this day, you are probably correct.
-
Do you have a test that you can run to get consistent data out on subsequent runs? Some kind of calibration, or very pure samples you could use? Because I imagine the biggest PITA in the whole process would be being unable to get consistent data on multiple runs. Makes making buttumptions a living hell.
No idea. I'm no bench scientist; I can't handle solvents at all (with the honourable exceptions of water and ethanol). We're OK with having the funky software for the calibration side of things — we don't need to save that stuff — but when we're actually running samples we want a way to get the data off without having to manually reenter it. It breaks the data curation chain and provides room for stupid errors.
At least we don't need to do it for the Mass Spectrometers. Those things produce a lot more data (as in, that's why we've run a 10Gb network link into the building), but their output format has already been standardised for long enough that the manufacturers just give us what we want.
-
-
Did we ever establish if paws have fingers or toes?
fingers for front, toes for back. :-P
-
I wouldn't be surprised if it was RS232.
Probably not now; finding equipment that supports it is getting really tricky.
Custom USB though…
-
as in, that's why we've run a 10Gb network link into the building
That's a hell of a pipe...
-
It does have it's advantages if the transfer speed is enough for your needs. The damned things are extremely resistant to electromagnetic interference, and, IIRC, it's rated to up to 100m of cable length. Not that that bit is relevant here, but that's why many industrial machines still use it.
-
That's a hell of a pipe...
We've got an option to upgrade if we need it. Hope not though; blowing more fibre through our ducting between campuses would start to really eat into the hardware budget…
-
-
Probably not now; finding equipment that supports it is getting really tricky.
And USB-RS232 dongle are all pretty shitty. Even the pricey ones suck.
-
You know, this shit reminds me of a GSM gateway I once dealt with. It had some homebrew API for sending and receiving SMS over network. All the documentation was, naturally, in glorous Engrish. It was a purely binary protocol with fixed bit lenghts. 8 bits of this, 16 bits of that, you know the deal.
The fun part? Sending a single wrong bit when attempting to send an SMS would cause it to kick me out and then get stuck in a loop where it kept asking for authentication details. No, sending valid authentication data didn't do a damned thing. The only solution was to restart the whole device (which took a full minute) and try again.
Needless to say, we gave up on supporting that device.
-
You're doing everything the right way, except that Windows disagrees and corrupts your executables. See, Windows doesn't work if you use hardware or third-party software with it.
-
Did we ever establish if paws have fingers or toes?
I think so, but I CBA to discosearch. I do remember looking it up on Wikipedia (only toes, front and back), and I think I posted, but I'm not sure.
-
Did we ever establish if paws have fingers or toes?
The bones in the front paws of pawed animals are named analogous to the bones in the human hand. Similarly, the bones in the hind paws are named analogous to the bones in the human foot. It would then stand to reason that forepaws have fingers and hind paws have toes. Or, you could just keep it simple and say that paws have digits.
So, which paws are we talking about?
-
-
It is qitue azamnig how the hamun bairn wroks. Msot poelpe will slitl udneranstd tehse wrods even touhgh the mldide leetrts are srblmaced baucese the frist and lsat lteetrs are the smae.
-
It's amazing how life seems brighter when there's a local deficit of fucks to be given.
-
It is qitue azamnig how the hamun bairn wroks. Msot poelpe will slitl udneranstd tehse wrods even touhgh the mldide leetrts are srblmaced baucese the frist and lsat lteetrs are the smae.
It took me a couple of tries to get srblmaced, but overall, yeah, I agree completely.
-
It's amazing how life seems brighter when there's a local deficit of fucks to be given.
I don't know. My life seemed a lot brighter when I was married and the local supply of fucks was plentiful.
-
I don't know. My life seemed a lot brighter when I was married and the local supply of fucks was plentiful.
My definition of local was more local that that.
-
And your definition of "fucks" was less ... literal.
-
It took me a couple of tries to get srblmaced, but overall, yeah, I agree completely.
I think it works better when the first and last letters of each syllable are in the right place e.g srcambeld.
-
Sure it may work better, but you still got it as is, so my work here is done ;)
-
Do you have a test that you can run to get consistent data out on subsequent runs? Some kind of calibration, or very pure samples you could use?
I'd be surprised if calibration cycles weren't available
You're assuming sane protocols / transfer methods. I wouldn't be surprised if it was RS232.
Last GC's I worked with used modbus via TCP/IP (ones before then were serial modbus.)
Representative example. (3059 indicates whether a run was a calibration or an analysis, for example.) Paging @dkf, if you care.
-
I just want to point out I hate you both. While I'm stuck trying to flash a different firmware on a freaking Cisco phone you guys get to play with GC.
My inner nerd is crying right now.
-
you guys get to play with GC.
Not any more I don't - that was my previous job in the petrochemical industry.
I get to play with mobile networks and WiFi these days.
-
Status: Just used my pocketknife to open a food package, and then remembered earlier today I used said knife to punch through the seal on a bottle of Diesel Kleen. I guess my injectors will be getting cleaned tonight!
-
-
-
Status: Decided I should be less lazy now so I can be more lazy in the future. Every morning, after my laptop connects to the network:
$ history | grep sshfs $ !<id>
I should really make a script at this point, shouldn't I?
-
I should really make a script at this point, shouldn't I?
Stick the first line in .bashrc?
-
But having stuff which was
private
by default suddenly becomepublic
won't cause a compile error. (That's not true going the other way though...)The bold part is why I objected to your statement that "You can pretty much grab any C++ codebase and replace class with struct, and it will continue function as it did before.".
Replacing
class
withstruct
won't give you compilation errors. The other way around might very well do.
-
Stick the first line in .bashrc?
On a laptop that I carry around with me? Pass. I don't really want it to prod port 22 on every random network I connect to
This will do though.
-
Status: Trying to construct the call chain of one function used by our program to send a message to a DSP.
It goes like this:
- Our program calls
func1
infile1.c
in our abstraction layer, which calls func2
infile2.c
in the vendor library, which callsfunc3
infile3.c
in the vendor library, which callsioctl
which (after some functions calls in the C library I guess) results in a call tofunc4
infile4.c
in the vendor driver, which callsfunc5
infile5.c
in the vendor driver, which callsfunc6
infile6.c
in the vendor driver, which callsfunc7
infile7.c
in the vendor driver, which calls through a function pointerfunc8
infile8.c
in the vendor driver, which callsfunc9
infile8.c
(same file) in the vendor driver, which callsfunc10
infile9.c
which finally adds the message to the pending messages list.
And there is a latency problem somewhere in this call chain...
I also have briefly looked at the implementation of message reception. It looks like it uses a kernel task, a semaphore, and two arrays of function pointers for callback registration. There are probably twice more indirection levels.
I’m amazed that this thing actually mostly works.
- Our program calls
-
An 11-deep call stack? That's nothing; in the managed world, when you take into account the unmanaged code underneath it, it's not uncommon to see call stacks 30, 40, even 50 calls deep!
All I can say is, thank Chaos for Visual Studio's Call Stack window
-
Status:
$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=1122 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=894 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=795 ms 64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=1045 ms 64 bytes from 8.8.8.8: icmp_seq=6 ttl=48 time=1179 ms 64 bytes from 8.8.8.8: icmp_seq=7 ttl=48 time=557 ms 64 bytes from 8.8.8.8: icmp_seq=8 ttl=48 time=708 ms 64 bytes from 8.8.8.8: icmp_seq=9 ttl=48 time=1296 ms 64 bytes from 8.8.8.8: icmp_seq=11 ttl=48 time=2297 ms 64 bytes from 8.8.8.8: icmp_seq=12 ttl=48 time=1863 ms 64 bytes from 8.8.8.8: icmp_seq=14 ttl=48 time=1161 ms 64 bytes from 8.8.8.8: icmp_seq=15 ttl=48 time=1172 ms 64 bytes from 8.8.8.8: icmp_seq=16 ttl=48 time=750 ms
-
Isn't
8.8.8.8
Google's DNS?Your connection sucks…
-
Your connection sucks…
Something is fucking with the entire network.
Of course, the whole thing is not properly marked, consists of a jumble of different devices, some old, some new, some missing (we literally have no fucking idea where they are, physically)...
Investigations undergoing. Meanwhile, I'm trying to get some work done, but even the connection to the test server is iffy at best...
-
Status: drugged. >,> Guess I should have taken my pain pill earlier in the evening last night.
-
An 11-deep call stack? That's nothing; in the managed world, when you take into account the unmanaged code underneath it, it's not uncommon to see call stacks 30, 40, even 50 calls deep!
That’s not the full call stack, that’s just the part in the vendor library and driver. And that’s for a quite simple operation (take a lock, put message on queue, release the lock). I don’t even want to imagine what it does for more advanced operations.
I have also found that the driver assigns a
int some_func(some_type* ptr, Uint32 timeout)
function to aint ()(void*, Uint32)
function pointer by first casting the function pointer to aUint32
and then casting it to the correct type. AFAIK, the conversion would have worked without any casts.
-
DSP
Arent those things pretty time sensitive? I'm surprised this doesn't blow up regularly.
-
I should really make a script at this point, shouldn't I?
How about installing an OS that doesn't spew chunks?
-
Where's the fun in that?
-
well given that he appears to have installed some flavour of linux i'd say he's well on the way there, unless he installed Ubuntu in which case
-
An 11-deep call stack? That's nothing; in the managed world, when you take into account the unmanaged code underneath it, it's not uncommon to see call stacks 30, 40, even 50 calls deep!
Only in Java-land.
All I can say is, thank Chaos for Visual Studio's Call Stack window
If you have a callstack that deep in C#, you're the WTF.
Also "thank Chaos" is the dumbest thing you've typed since... uh, well, I guess everything you type is dumb so nevermind.
-
Ubuntu
I find your lack of faith... disturbing.
Well, ok, it's a Ubuntu derivative because, as I already pointed out, I'm a lazy bastard and enjoy having PPA support. But if they got that working in plain Debian I'd switch in a heartbeat.
-
Also "thank Chaos" is the dumbest thing you've typed since...
true. it really should have been "Thank Eris"
i mean call the goddess by her proper name!
-
ubuntu derivatives can be okay... which one did you go with?
(please say Mint, please say Mint, please say Mint, please say Mint, please say Mint)
-
Status: oh right, THAT'S why I don't order from NewEgg.
All the shit I ordered from Amazon will be here tonight. The shit I ordered from NewEgg, they haven't even put in a goddamned truck yet. Slowest retailer ever. Every time.
And yet I always forget how slow they are and buy there like a moron. Oh yay I got free 2-day shipping. Except my shit stays in the mysterious "packaging" status for like 4 days before they even bother to THINK about shipping it. Fuckers.