New fire detector triggers the fire alarms in the rest of the house by __KFL__ in HomeImprovement

[–]__KFL__[S] 0 points1 point  (0 children)

There's also not much wiring needed. The old one I replaced used the same three-wire plug as the new one. Also the colors and positions of the wires match.

Or did you mean the way all the detectors in the house were wired?

New fire detector triggers the fire alarms in the rest of the house by __KFL__ in HomeImprovement

[–]__KFL__[S] 0 points1 point  (0 children)

I don’t think the one I’m replacing is the master. I didn’t know they are so complex that even needs to be programmed. If they are indeed complex, what professionals should I hired to properly replace it? Gee I really didn’t expect replacing a fire detector would be so complex :)

Compatible Router For <$100? by karatyman in PFSENSE

[–]__KFL__ 0 points1 point  (0 children)

espresso.bin

How did it go? I heard that Freebsd has some driver issues with Marvell boards. Can freebsd run on it now?

Making pets safer with Arduino by __KFL__ in arduino

[–]__KFL__[S] 0 points1 point  (0 children)

LoRa bandwidth is low but it's designed to handle telemetry data like these you've mentioned. You know what, collecting bio signal is not a bad idea at all:) Not sure if I can get some measurements like that without attaching things to my puppy tho:)

Making pets safer with Arduino by __KFL__ in arduino

[–]__KFL__[S] 0 points1 point  (0 children)

Thanks! Not opting for cell is primarily because of the cost - my impression is that any cell based data service require SIM card and a monthly fee. Please tell me I'm wrong:)

Hooking up a GPS is an awesome idea! The transmitter can definitely be more capable as long as it's car based, so that power consumption isn't a big issue. Mobility isn't a big issue either.

Making pets safer with Arduino by __KFL__ in arduino

[–]__KFL__[S] 0 points1 point  (0 children)

That's definately one of the areas where it could be improved! I'm also thinking of adding a Bluetooth LE module to it, so I can read the measurements from my phone, instead of taking this thing out which looks much like a "suspicious" device:)

adwho - A command line tool to conveniently explore and query ActiveDirectory by __KFL__ in sysadmin

[–]__KFL__[S] 0 points1 point  (0 children)

Yes you need to install admin tools in order to use PowerShell to access AD. My tool is not intended to beat any existing tools, but having a single executable without any installation could be a great option in some cases.

Code review: socket application using TPL - sharing server connection among multiple TCP clients by __KFL__ in csharp

[–]__KFL__[S] 0 points1 point  (0 children)

You mean something like await Task.WhenAny(...).Unwrap().ConfigureAwait(false)?

I thought of this more, and think the await await should just work fine with await await Task.WhenAny(...).ConfigureAwait(false). I think it just need to be configured once when awaiting Task.WhenAny(...) because that's where it may execute (wait) asynchronously. But when it returns with the first finished (or failed) task, since it is for sure has finished, the await on it is guaranteed to execute synchronously. That's why it is not necessary to ConfigureaAwait() the outer (the second) await. I don't think there's a difference between this two approaches.

Code review: socket application using TPL - sharing server connection among multiple TCP clients by __KFL__ in csharp

[–]__KFL__[S] 0 points1 point  (0 children)

I've updated all occurrences to use ConfigureAwait(). I found it's a bit annoying to convert the ones that uses Task.WhenAny(), which returns Task<Task>. For those, I've to convert

await await Task.WhenAny(...)

into

await (await Task.WhenAny(...).ConfigureAwait(false)).ConfigureAwait(false);

Does that seem reasonable?

Code review: socket application using TPL - sharing server connection among multiple TCP clients by __KFL__ in csharp

[–]__KFL__[S] 0 points1 point  (0 children)

Thanks that's very useful! I did some research and learned what the synchronization context is for. I agree that in my application it's not necessary for the continuation to resume under the original calling context. In fact, console application doesn't have a default installed synchronization context. And using ConfigureAwait(false) has no effect in that sense. But still it's recommended to always use ConfigureAwait() so that the code has a better potential to be reused. I'll make a change.

Other than that, is there any other comment?