Google Analytics

Google Custom Search

"... an engineer who is not only competent at the analytics and technologies of engineering, but can bring value to clients, team well, design well, foster adoptions of new technologies, position for innovations, cope with accelerating change and mentor other engineers" -- CACM 2014/12

Syndicate This Blog

Tuesday, August 1. 2017

swaks primary design goal is to be a flexible, scriptable,
transaction-oriented SMTP test tool. It handles SMTP features and
extensions such as TLS, authentication, and pipelining; multiple version
of the SMTP protocol including SMTP, ESMTP, and LMTP; and multiple
transport methods including unix-domain sockets, internet-domain
sockets, and pipes to spawned processes. Options can be specified in
environment variables, configuration files, and the command line
allowing maximum configurability and ease of use for operators and
scripters.

LoRaWAN simply explained -- LoRaWAN stands for Long Range Wide Area Network. It’s a standard for wireless communication that allows IoT devices to communicate over large distance with minimal battery usage.

Saturday, April 15. 2017

For a while I was running KMail which is the default mail client with Debian KDE. It works quite nicely.

Many messages, at least the ones I see in my inbox, have an html component. By default, KMail tries to render all messages as text. At the bottom of the message window, it is possibly to show mail message body parts: typically there is a text component, possibly with one or more html parts. The html part can be clicked on to show the html rendering. If that becomes too unwieldly, it is possible to change a setting to use html view when ever possible. Remote content can be retrieved on an on-demand basis, but I don't think is 'remembered' on a by-sender basis.

KMail does have an offline/online mode where the content of all messages are saved locally. But it seems as though it retrieves a significant amount of content on each resync/refresh, and takes up considerable bandwidth when doing so. I didn't do any research into that.

Instead, I installed Thunderbird to see what it was like. I had two crashes while getting it started (during the initial sync processes), but now things seem to have stabilized. Once the initial syncs are complete, I'll see how much it takes to resync.

By default, Thunderbird will render html content as html content. And by default, it will not download remote content. When remote content is desired, it has an impressive mechanism for selecting which content to download. Better than even Outlook. It is possible to see from where the content is sourced. I have been turning on remote loads from sites which use similar names to the source of the email. Generic CDN (Content Distribution Networks) I keep turned off. These settings seem to be maintained on a per-site basis.

The nifty bit is that when replying to Outlook generated HTML messages, it knows how to 'break-in' to and perform inline text on the reply parts. Something Outlook can't or refuses to do.

There have been various rumblings that Thunderbird may become deprecated. Be that as it may, it still seems superior to some other mail readers, and is my new current email reader.

Any suggestions for other email readers?

Hacker News recently had an item on a Thunderbird Rewrite, but I don't think much consensus was reached. I was hoping to find suitable links to related solutions, but didn't find much of that either.

MediaTomb forked over to gerbera.oi. MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices. The concept is referenced at 96boards as a DLNA Media Server.

ReadyMedia: (formerly known as MiniDLNA) is a simple media server software, with the aim of being fully compliant with DLNA/UPnP-AV clients. It is developed by a NETGEAR employee for the ReadyNAS product line. Better documentation for when it was known as minidlna at debian and archlinux.

Sunday, April 2. 2017

http://mainsleaze.spambouncer.org/: "
documents the experiences of several long-time anti-spam professionals and activists with bulk email sent by legitimate companies to us, to our spamtraps, or to email addresses on mail servers that we manage."

If people want to try something *different* to SpamAssassin, then someone suggested the following:
Rspamd. From the mailing list:

It's written
in C, uses events internally and you can write plugins and rules for it
in Lua or you can use regexps for more basic stuff. It also supports
Intel Hyperscan to compile all of the regexp rules, which is extremely
fast and less IO intensive, it's Bayes implementation is considerably
better than SpamAssassin's and it has a SpamAssassin compatibility
plugin to allow you to load all of your SA rules into it if you want (I
prefer to rewrite mine however).

I've found rspamd considerably more easier to do complex stuff that
would require considerably more complicated Perl plugins to do in SA,
but is simple to write using a bit of Lua code. It's not perfect, the
docs could be better and there's currently no corpus testing or
automatic score generation (this is coming from GSoC this year though
hopefully).

Another tool: > A new project was released by the guys at SpamExperts -
OrangeAssassin. "In essence this seems to be a Python rewrite of Spamassassin".

Friday, March 24. 2017

A little announcement, like I think potentially people in the HDF5
community could be interested in that.

We developed at Blue Brain Project /
Human Brain Project a simple,
modern, header-only C++ interface to the libhdf5.
Mainly to overcome the current limitations of the actual HDF5 C++
interface ( no parallel HDF5, no thread safety, not modern C++ friendly )

It aims to be minimalsit and does not have any other dependencies than
libhdf5 itself

It does not support the integrality of the libhdf5 API for now, but If
you have any interest or comment about it, let us know.

Adrien Devresse -
Blue Brain Project / Human Brain Project

A question on the mailing list:

I'm interested in how you handle thread safety. I've only had a quick look, but looking at e.g. SliceTraits::read, I can't see any lock being taken before the call to H5Dread (nor around the surrounding C++ code). Do you assume the HDF5 library is compiled in thread safe mode? And is are the wrappers themselves thread safe? -- Elvis Stansvik

An answer to the question:

For now, you get the thread safety provided by the HDF5 library yes.
If libhdf5 has been compiled with thread safety, then HighFive is thread safe. If not, you need to do the locking yourself unfortunately.
All the wrappers around libhdf5 provided by HighFive are thread-safe.

When I first superficially looked at the Nvidia TX2 card i noticed two things: a) HDMI port, and b) video encoding SDK. First though: oh cool, I can encode inbound HDMI signals. On second inspection, nope. That is an outbound HDMI port.

Hmm.. how does one get video into the unit? Well, it does have the CSI2 ports. Then the next search is: anything having to do with HDMI to CSI2 signal conversion?

As a side bar to that forum discussion, one salient point is that many of the initial Pi devices have only two of four possible 1 gbps lanes:
"not going to work easily with a A, B, B+, or B2, particularly as they all only expose 2-lane CSI-2". Another form article about
HDMI to CSI-2 via TC358743 on kernel 4.1 using more recent Pi versions and a
auvidea B101 HDMI to CSI-2 bridge.

The Nvidia Jetson TX1/TX2 handle four lanes.

The
Toshiba TC358840 is a follow on part to the TC358743 and able to handle 4K Ultra HD.

There is much software out there which can be used for decoding video streams. But the question is,
how does one go about encoding a stream? Can it be done in software? Can it be done in hardware? How best to go about it?
What resources are required? I asked those questions, and this is what I've put together so far for information.

For offline encoding of video, software can be used. Some thing like the opensource
staxrip github based solution could be used. This is
billed as a "multiformat video encoding application" with x264, x265, and XVID capabilities and looks like it
incorporates some how the usage of the Nvidia encoding libraries, which might include the use of
the Nvidia TX1/TX2 Jetson's for real time use. But... used .NET 4.6.1, so looks to be a Windows solution. It does
reference other opensource tools like VapourSynth which is a
application/plugin/library for video manipulation. It is self-purported to be inspired by
AviSynth which is a video post-production tool.

Another multiplatform tool is HandBrake, which is an
opensource video transcoder. It also handles h.265, h.264 plus other formats.

From a hardware perspective, in my previous blog entry, I mentioned the Nvidia Jetson TX1/TX2. With the built in GPU
and libraries, I believe it can do real time encoding and network distribution.

From another hardware perspective, my primary intent is to be able to take HDMI and extend it over IP, hence the existence of 'HDMI over IP extenders'.
danman's blog talks
about reverse engineering the transmitter end of a HDMIoverIP extender. The comments in that post have much
useful info as well. With one stand out being
apantac extender with docs.
The gist of
the article indicates that the encoded video stream is multicast. Which means that software or hardware devices on the
network can pick up the stream and present it. VLC is used as one example. Digital Signage -- here we come! The
ip extender concept has info in a Hacker News thread. Here is Lenkeng's site where some of the extenders are referenced. A picture showing the multicast capabilities.

The article also refers to the HDbitT technology. The HDbitT site referred to InfoComm 2016 where AV-over-IP steals the show. Seems to be a show to visit to see what is current for XoverIP. Beyond that,
the only other useful info on HDbitT was an HDMI Version Comparison.

Talking about shows and media, I managed to land on AVNetwork which includes
AVTechnology, SCN (Systems Contractor News), and Digital Signage Magazine. Finally, sources for current information on stuff-over-ip, including boardroom mics over Dante!
And PoE speakers running Dante!

With digital audio/video streams available on the network, the next obvious step would be to mix and switch. One open source
project I found is voctomix, which is written in Python and uses
GStreamer, and is designed for interactive live mixing of incoming video streams. Github has
timvideos streaming system based upon the concept.

streamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing.

Thursday, March 23. 2017

The nvidia Jetson TX2 GPU card is coming out soon, or may already be available. I would like to use that for video
encoding to transport camera and hdmi information across a network. It is able to perform H.265 encode/decode
processing. A comparison of Jetson TX2 vs TX1.
There is a native Nvidia Video CODEC SDK.

It is possible to connect up to three camera heads to the board.
Leopard Imaging has a TX1/TX2 Camera kit to do so.

Chronic (http://www.chronix.io/ ) is a time-series database optimised to support anomaly detection. It supports a multi-dimensional generic time series data model and has built-in high level functions for time series operations. Chronix also a scheme called "Date-Delta-Compaction" (DDC) for timestamps as well as data compression.

Disclaimer: This site may include market analysis. All ideas, opinions, and/or
forecasts, expressed or implied herein, are for informational purposes only and should not
be construed as a recommendation to invest, trade, and/or speculate in the markets. Any
investments, trades, and/or speculations made in light of the ideas, opinions, and/or
forecasts, expressed or implied herein, are committed at your own risk, financial or
otherwise.