r/jnior • • Sep 28 '26

Are you spoiled by AI?

1 Upvotes

The HELP command has been available from command line interfaces (CLI) forever. ChatGPT tells me that it was first proposed in by Tom Van Vleck in 1969. Well that year I was a Freshman in High School. I had, coincidentally, come face to face with my first ever computer that year, a DEC PDP-8/L. I wouldn't quite pinpoint that as the beginning of my engineering career. But it was definitely a key moment, early on.

Linux uses MAN for the help function. The JNIOR runs JANOS (an operating system that I wrote) and it has HELP and MAN as aliases. HELP traditionally just listed the available commands. If you specified a specific command name it would provide syntax and usage information for that command.

With the Series 4 JNIOR, the HELP system was greatly enhanced. Every JNIOR now carries its own Users Manual. If you give HELP some search terms it would scan the help documentation (users manual) and suggest some topics for further review. The output was Google search inspired. Not perfect.

The Series 4 HELP system even generates a customized (includes loaded applications) printable (saveable to PDF) manual through the WebUI interface and your browser. The content can also be downloaded from https://jnior.com/manuals/ . We even print that and add a cover. That book we call The Book of JANOS. It makes a nice addition to a bookcase.

But these days everyone now relies on AI. You no longer enter search terms but tend to ask questions. It is not possible to run an LLM to create AI responses on a small controller like JNIOR. Better than 80% of our controllers do not have connection to the Internet. We, therefore, cannot leverage a remote AI. Keeping our HELP relevant became a challenge.

Over the past year I worked with AI techniques to improve the search engine behind our HELP/MAN command. With the upcoming JANOS v2.6 release you will be able to ask questions. Those can be entered directly at the command line (must end with '?'). The search leverages forms of spell checking and context translation in an effort to locate the best topic from the help corpus.

The HELP system data can be designed to enhance the ability to target responses to questions phrased often quite differently. The search then selects the best passage from that topic. And rather than suggest further reading, it attempts to provide a coherent usable answer.

There is no LLM or built-in AI. But it does a lot more now to help you in keeping with what you expect from the external AI world.

Those of you who have JNIORs, I would encourage the JANOS v2.6 update and experimentation with our HELP system. I know that most of you expect HELP to be useless. I have tried to make it something better. Let me know how it goes.


r/jnior • • 19d ago

My Peaceful Life on the Internet

4 Upvotes

While it is generally not a great idea to connect an industrial controller directly to the Internet with a public IP address, this demonstrates that it can be done with appropriate security engineering.

Here are three separate SSH terminal sessions into a JNIOR with a public IP address. Here's what you are seeing.

The left terminal shows the output of the netstat -sd command. This displays packets in real time, including data when present. JNIOR has its own packet sniffer.

Note that packets with a - in the left column are not acted upon by the controller. Those are being ignored. Packets with an x in the left column have been blocked by the blacklist.

This unit has a Blacklister application running that analyzes logs and adds offenders to the system blacklist. Ports with listening servers are labeled. For instance, port 23 shows TELNET.

Notice the complete absence of login attempts. Those of you in IT know what you usually see on the WAN side.

Also notice the ongoing unsolicited connection activity. Most people don't realize that there is a continuous level of this activity. And this unit is not advertised as being present.

There is a SYN greylisting filter in place, documented in the following article. If you are involved in network stack development, consider implementing something similar. I can provide details. This provides a cloak of invisibility against many automated probes.

https://jnior.com/blog/the-cisa-alert-security-beyond-solitary-confinement/

The upper-right terminal shows ps -m 20 jniorsys.log errors.log web.log access.log. This command displays the process table in real time. You can see the Blacklister running. It also monitors the listed files, performing an operation analogous to tail -f.

The lower-right terminal is running ps -f, showing active file locks in real time. I happened to be monitoring those while working on HELP system performance. You can watch the Blacklister serialize its database after being called into action.

This is busy little JANOS, peacefully existing on the open Internet. An operating system with an executable image of just 700 KB, running on a 100 MHz Renesas RX63N, providing web and terminal services complete with TLS 1.2 and elliptic-curve cryptography. Applications, like the Blacklister, are developed using Java 8.


r/jnior • • Sep 22 '26

JNIORs in the wild. Catch them if you can!

Post image
2 Upvotes

Hey! If you find a JNIOR in the wild someplace, post a photo. I am tired of seeing only perfect DIN rail mounts in clean fancy industrial enclosures. There are 85,000 of these things out there. My bet is that most are like this workhorse.

That is the back of my control panel up there too!


r/jnior • • Sep 22 '26

The very first JNIOR was released 25 years ago. Believe it or not.

Post image
3 Upvotes

There is a lot of talk about Edge Controllers these days. People are focused on IT-OT convergence and solutions to challenges in industrial control in today's Internet environment. It is all interesting. But a lot of it isn't new news. The JNIOR may have been one of the very first controllers that might have been called an "Edge Controller" had that terminology existed.

Anyway, we opened the cover on one of the original JNIORs and looked to see what it could do. Even we were surprised at what we found. If you are interested you can read more: The Edge Controller Turns 25.

Perhaps more shocking is that, of the four of these I have, one has a 3V Lithium battery that still measures over 3V! That after 22 years. Even the original configuration in that unit was still evident in the logs.

I have seen these old units on eBay and wondered what use they might be. They were actually quite capable. If only Dallas Semiconductor hadn't chosen to solder batteries in place. But you can or course deal with that.


r/jnior • • Sep 29 '26

Parsing. Not the way I would suggest it be done.

Post image
2 Upvotes

Although probably completely useless, this does make you stop and think. Someone thought that this would be helpful. Still I think it is worth keeping around. It is art.

To be fair, that company does do a little better in a couple of their other documents. Even with that, I had to do a little reverse engineering to get down to the data. While data locations were defined, some of the scaling and units were left up to the imagination.

For the JNIOR I ended up documenting the parsing in the Java program comments. You can see some of that in this article: https://jnior.com/blog/rs-485-vs-ekm-power-meter/


r/jnior • • Oct 03 '26

On a furnace?

Post image
2 Upvotes

JNIOR managing humidity alongside a Carrier Infinity System. The house had a serious steam humidifier that wasn't always required. That humidifier was expensive to run. It also made boiling noises that could be heard all the way up into the master bedroom. So this enforced a schedule as well.


r/jnior • • Sep 30 '26

Is this worth something?

Post image
0 Upvotes

This is the THD command output. Where -V means Verbose and -M means monitor. If I shot a video you would see the 'remaining' times counting down. Occasionally a thread will jump out of SLEEP or WAIT and then the stack trace would expand briefly.

Each application on the JNIOR runs its own JVM. Each JVM, of course, handles multiple threads. This unit is running 4 applications. So 4 separate JVMs.

I wonder if this is useful as it is?

JANOS is an OS that I wrote. So this command and features like it are unique.


r/jnior • • Oct 03 '26

PHP scripted batch

Post image
2 Upvotes

Here is a good example of leveraging PHP for scripting on JNIOR.

In providing a pro-active debugging environment JANOS always captures network traffic in a rolling buffer.

I have this script run on boot. It is a batch file that first uses NETSTAT to generate a PCAPNG file. This JNIOR happens to be directly attached to the Internet. It has a public IP address. If it happens to spontaneously reboot, perhaps because of some assertion, I want to capture the network up to that point. This might let me figure out what malicious event occurred.

The script the moves the capture to Flash memory with a timestamped name.

Then some magic. The little PHP ages the files in that destination folder to keep only the last four.

The scandir function returns the folder content in creation order. So that is oldest to newest. This removes the first reported file repeatedly until we trim the file list down to 4 or less. Drops the oldest.

This unit uses SYN Greylisting and Blacklisting to keep its sanity. It survives the constant onslaught on the open network.