Wikipedia:Reference desk/Computing
|
Welcome to the computing reference desk.
|
Choose a topic:
See also:
|
March 12[edit]
Moodle Videoconferencing/Lecturing?[edit]
Due to current circumstances, we may be forced to move to online lectures for the next few weeks. Our Moodle has some proprietary video conferencing plug-in (I don't know who decides these things, or why), but, oh wonder, the number of licenses is insufficient to move some 30000030000 students to it in a hurry...
Does anybody know if there is a decent open-source plug-in for Moodle that supports video conferencing/lecturing? Thanks! --Stephan Schulz (talk) 08:33, 12 March 2020 (UTC)
- I'm surprised that proprietary plug-in is even allowed under Moodle's GPLv3+ licensing. I've never used Moodle but there appear to be a lot of plugins for it: have you checked for a list or directory? I know that Nextcloud and Jitsi have video chat, so maybe it is possible to use one of those, or transplant code from one of them into Moodle. 2601:648:8202:96B0:54D9:2ABB:1EDB:CEE3 (talk) 10:39, 12 March 2020 (UTC)
- Probably not, but that won't be the likely problem. Many organizations avoid security by using a VPN. So, to use Moodle, students likely have to VPN into campus. Does your VPN have the seats and bandwidth to handle an entire campus logging in remotely? Probably not. One university I was at for the last five days (I don't want to name names and shame them) decided to simply extend Spring break by a week because they don't have a VPN to handle the students load and they don't want to pay the money to increase it. So, students get one week less education (or more if they keep extending Spring break). 135.84.167.41 (talk) 12:08, 12 March 2020 (UTC)
- Maybe try Skype or Microsoft Teams? Have a look on the http://www.edugeek.net forum for ideas - it's run by school IT techies. --TrogWoolley (talk) 13:23, 12 March 2020 (UTC)
- Thanks. I would prefer an Open Source solution - if the university wants to use proprietary software, they can figure it out without my input ;-). --Stephan Schulz (talk) 21:24, 12 March 2020 (UTC)
- Maybe try Skype or Microsoft Teams? Have a look on the http://www.edugeek.net forum for ideas - it's run by school IT techies. --TrogWoolley (talk) 13:23, 12 March 2020 (UTC)
- Stephan, do I understand correctly that you seek to support 300,000 (three hundred thousand) users?
- If this is true, free access to the source-code is probably the smallest concern: you will almost surely need a commercial-scale service provider to provision storage-space, server bandwidth, video hosting, and so on. Even if you had the source code for everything, would you and your organization be able to scale up to such a volume?
- From this perspective, what would be the real use of free and unrestricted access to the implementation-details and source-code? Most of it is only usable by a commercial entity who is specifically in the business of selling the service of scalability. Free-licensing their technical efforts could help their direct commercial competitors, but it probably could not really help you and your students; you'd still have to shop for a service-provider.
- Nimur (talk) 14:50, 13 March 2020 (UTC)
- Sorry - my mistake. We have 30000 (30 thousand) students in total, and I'm really only concerned with about 600 of them who study computer science at our location. We do have the hardware (I hope) to support that. --Stephan Schulz (talk) 19:49, 13 March 2020 (UTC)
- Nimur, there are very good reasons to want Free and Open Source Software that go beyond being able to modify the source code. You should know this, as you're licensing everything you submit to Wikipedia under a Creative Commons license, and the Wikimedia Foundation supports and promotes open source and free licenses. Just because an application is open-source does not mean it is unsuitable for enterprise application: take Red Hat Enterprise Linux, for example.
- In a time when much code is abandonware, free and open-source software provides a way for other interested parties to pick up where the original developers left off, to fork a project when more work is needed, or to audit the code for security purposes. It is very important to support free and open source software for these and many other reasons. Elizium23 (talk) 16:53, 13 March 2020 (UTC)
- Yes. I'm only using FOSS software for my own courses on principle - I don't think it's the university's job to force students to buy proprietary software and/or to lock them into proprietary solutions. I minimise the use of proprietary software in general as much as plausibly (and conveniently) possible in this world - not primarily because of money, but because of longevity and reduced hassle. I can still run LaTeX on my 1992 project thesis, and gcc on the source code (if I disable a lot of warnings ;-). And I don't need to hunt down dead companies for new licenses, or count licenses and (theoretically) be subject to audits and what-not. --Stephan Schulz (talk) 20:00, 13 March 2020 (UTC)
- I think I am not communicating my point well: I am a huge fan of freely-licensed software with free and unrestricted access to source-code. I only meant to emphasize that unrestricted access to a free-software implementation is not, in itself, a solution to the difficult and expensive proposition of scalability - which is largely limited by a willingness to buy or rent capital equipment.
- Stephan, I think perhaps this is a great teaching-opportunity for your students: invite them to expend some intellectual effort thinking about the theory and practice of data-distribution; and how they might improve the rate of distribution using theoretical or practical methods. There are a lot of very fascinating questions that pertain to the theory of telecommunications network topologies; data compression; and video in specific; there are a lot of learning-opportunities to showcase the present state-of-the-art in free- and open-source implementations; and to compare those offerings to the commercial alternatives.
- I field questions about video-streaming a lot during my day-to-day - a lot of the questions take the form, "why is it so hard?"
- To this end, I often conduct a walkthrough of the inner bits of RFC8216 - the open specification for HTTP Live Streaming, which is (as of 2020) the most popular internet video-streaming technology in the world; and I also bring up one of its commercial implementations, on top of which the software-programmer may implement new code.
- I think it's also a great opportunity to talk about free software - what it can and what it cannot provide. As you surely know, there's an infamous old comparison about free software and free beer: these are not the same things.
- Nimur (talk) 18:15, 17 March 2020 (UTC)
- Yes. I'm only using FOSS software for my own courses on principle - I don't think it's the university's job to force students to buy proprietary software and/or to lock them into proprietary solutions. I minimise the use of proprietary software in general as much as plausibly (and conveniently) possible in this world - not primarily because of money, but because of longevity and reduced hassle. I can still run LaTeX on my 1992 project thesis, and gcc on the source code (if I disable a lot of warnings ;-). And I don't need to hunt down dead companies for new licenses, or count licenses and (theoretically) be subject to audits and what-not. --Stephan Schulz (talk) 20:00, 13 March 2020 (UTC)
- There is a Skype plugin for Moodle. While Skype is free, I can't guarantee that the plugin is free. Assuming that it is, you can install Skype on pretty much anything. 135.84.167.41 (talk) 16:47, 13 March 2020 (UTC)
- A friend of mine (teaching for a class of ~40 twenty-years-old) has been using Twitch. If you do not have a strong opinion against using an Amazon service, it is probably the best solution. It solves a fairly similar problem (one person talking to a large crowd online, showing both the face of that person and a part of their computer screen, allowing some viewer feedback via the chat). There might be advertisements though, and check with your employer if the copyright conditions are OK (I suspect the terms of use are the usual "whatever you post here is ours forever"). TigraanClick here to contact me 13:43, 17 March 2020 (UTC)
My university (90,000 students in total) supports and recommends BigBlueButton for online seminars and lectures and Jitsi for smaller videoconferences. Both can be embedded in moodle courses as "activities". BigBlueButton is said to work for up to about 100 participants, I've heard positive reports from seminars with about 20 to 30 participants over the last few days, and I saw one lecture with more than 100 (120 maybe?) fail today. It has some promising but still rather crude features, like scribbling on your presentation (effectively a whiteboard if your presentation has a blank page), but handwriting with the mouse is obviously a pain. --Wrongfilter (talk) 19:17, 17 March 2020 (UTC)
March 15[edit]
Save a live stream on Facebook[edit]
Is it somehow possible to save a live stream on Facebook to disk as an .mp4 file or something, so it can be watched again later? JIP | Talk 17:50, 15 March 2020 (UTC)
- I guess you could record it in a screen recorder Thegooduser Life Begins With a Smile :) 🍁 20:00, 15 March 2020 (UTC)
very simple database[edit]
Simple question: What is the easiest way to use a file as a Python dictionary?
One of my projects involves a time-consuming computation that could potentially be repeated many times, so I'd like to save (keyword,result) in a file. I don't think I've ever before had occasion to look for something in a file and then, if it's not there, generate it and add it to the file. —Tamfang (talk) 19:30, 15 March 2020 (UTC)
- If it's modest size (where, given the size of modern computer memories, is still fairly vast) use shelve. If it's very large, sqlite3. -- Finlay McWalter··–·Talk 23:02, 15 March 2020 (UTC)
- Well, I should say that the sqlite3 volume doesn't give you the dictionary syntax. It's pretty simple, but not thatsimple. -- Finlay McWalter··–·Talk 23:06, 15 March 2020 (UTC)
On second thought, my question was too narrow in one way, too broad in another. The algorithm that I have in mind only needs to read or write one entry for each run, and an entry can easily be expressed in plain text, e.g.
- 17-DAS: 1 1 2 2 4 12 8 40 16 176 512 672 1088 2752 2176 5504 28784
so shelve may be overkill. Perhaps oddly, I've never had occasion to read from and write to the same file in one program! —Tamfang (talk) 00:47, 16 March 2020 (UTC)
- Well you have to pick some storage format. I see there's a CSV module; I'd use that if you want the file to be human-readable. If you use a flat file format (as opposed to a database format like sqlite), to search for something in it you have to read through the file until either you get a hit or reach end-of-file. --47.146.63.87 (talk) 02:00, 16 March 2020 (UTC)
- You really aren't going to get a simpler solution than shelve - it's just 2 more lines of code than the volatile python, and because shelve uses pickle, you can store Python data directly and it takes care of parsing:
import shelve
with shelve.open('storage') as db:
db['17-DAS'] = (1, 1, 2, 2, 4, 12, 8, 40, 16, 176, 512, 672, 1088, 2752, 2176, 5504, 28784)
- -- Finlay McWalter··–·Talk 10:50, 16 March 2020 (UTC)
- Yes, shelve is the easiest way. It basically pickles dictionary entries into a DBM database using Python's dbm module, last I looked. If you're doing something serious you might be better off with something like sqlite, but it means you have to work a little bit harder to fit your data into SQL data. There are of course various ORMs you can use, but they tend to cause more problems than they solve. They are an example of abstraction inversion. 2601:648:8202:96B0:386A:A40C:EBB1:ACC0 (talk) 19:15, 17 March 2020 (UTC)
question[edit]
- If someone has a corrupted bios, can it be fixed by removing the cmos battery? --Thegooduser Life Begins With a Smile :) 🍁 19:59, 15 March 2020 (UTC)
- Obviously not. Only by re-programming the flash memory. Ruslik_Zero 20:05, 15 March 2020 (UTC)
- It depends on what is corrupted, and the age of the system. If it's the settings or time and date, then perhaps yes, removing the battery, if you have one, for 30 seconds or so will erase what's in there. But if it's the BIOS code itself that is corrupted, then no. BIOS code used to be stored in ROM; now it is in flash memory like the settings are as well. On a high-quality motherboard, there is a jumper to reset CMOS settings, you can short that instead of removing the battery for the same effect. Elizium23 (talk) 20:55, 15 March 2020 (UTC)
- Ruslik0 What if you changed the entire motherboard? Or replaced the bios chip? Thegooduser Life Begins With a Smile :) 🍁 21:30, 15 March 2020 (UTC)
- @Thegooduser: If you replaced the entire mainboard then it will depend on the replacement mainboard. It's a little weird that there will be 2 mainboards with corrupted BIOSes but if someone incorrectly flashed one, replaced it then did the same with the replacement then I guess it's possible. As for replacing the chip, if you replace it with a compatible type of chip which has been correctly flashed/programmed with the BIOS for the mainboard then you will fix the problem of a corrupted BIOS. This means you will either neither a suitable programmer for the chip, or someone else will need to have done it for you. In the past, hot flashing used to be common where someone would try removing the BIOS from a mainboard that was on, but frankly with AliExpress etc and cheap programmers, or the ability to get a BIOS chip pre-flashed for cheap, I'm not convinced it makes sense to do that anymore. Also if the mainboard does not have a socketed BIOS chip, replacing it is no trivial task. Note that all this assumes the the BIOS is actually corrupted. If it's simply the settings that are corrupted then replacing the BIOS chip makes no sense as mention by Elizium23. Likewise if the fault has some other cause. If a computer simply doesn't work, it doesn't make sense to assume BIOS corruption. Nil Einne (talk) 06:14, 16 March 2020 (UTC)
- Ruslik0 What if you changed the entire motherboard? Or replaced the bios chip? Thegooduser Life Begins With a Smile :) 🍁 21:30, 15 March 2020 (UTC)
- It depends on what is corrupted, and the age of the system. If it's the settings or time and date, then perhaps yes, removing the battery, if you have one, for 30 seconds or so will erase what's in there. But if it's the BIOS code itself that is corrupted, then no. BIOS code used to be stored in ROM; now it is in flash memory like the settings are as well. On a high-quality motherboard, there is a jumper to reset CMOS settings, you can short that instead of removing the battery for the same effect. Elizium23 (talk) 20:55, 15 March 2020 (UTC)
- Please consider using a title with more content than "question", unless yours is the only question on this page. —Tamfang (talk) 00:35, 16 March 2020 (UTC)
- Following on from Nil Einne's replies, to the questioner: please describe the issue you're trying to resolve, if there is one. There might be some aspect you're missing that we can pick up on. The issue might not have anything to do with a BIOS. Remember, we have more experience with this stuff; that's why you came here. --47.146.63.87 (talk) 07:11, 16 March 2020 (UTC)
Recursive Binary Search Terminating Condition[edit]
I am attempting to make a recursive binary search algorithm in Java. What I have so far looks like this:
public static int search(int[] array, int value){
return binarySearch(array, value, 0, array.length-1);
}
private static int binarySearch(int[] array, int value, int low, int high){
if (/*INSERT CONDITION HERE*/) return -1;
int guess = (low + high)/2;
if (array[guess] == value) return guess;
else if (array[guess] > value) high = guess;
else if (array[guess] < value) low = guess;
return binarySearch(array, value, low, high);
}
If the given element does not exist in the array, the method is supposed to return -1. I am struggling to determine what the terminating condition should be. I have tried
low >= high
low > high
Math.abs(high - low) == 1
and every combination thereof. What is the correct condition to use that will avoid an infinite recursion, while not returning -1 when the value exists in the array? Yes, I am aware that there is a binary search method in the Arrays class, I am a student and I'm trying to learn how to do this myself. --PuzzledvegetableIs it teatime already? 20:03, 15 March 2020 (UTC)
- Problem Resolved Whoops, forgot to add and subtract from guess as is needed. low > high works just fine. --PuzzledvegetableIs it teatime already? 20:16, 15 March 2020 (UTC)
- @Puzzledvegetable: I hope you realize the recursion is not necessary here and an iterative algorithm to narrow down the search area would do as well:
private static int binarySearch(int[] array, int value, int low, int high){ while (low <= high) { int guess = (low + high)/2; if (array[guess] == value) return guess; else if (array[guess] > value) high = guess - 1; // -1 excludes the wrong guess from further search else if (array[guess] < value) low = guess + 1; } return -1; }
- CiaPan (talk) 13:14, 18 March 2020 (UTC)
March 16[edit]
Binary spliting encoding/decoding recursive idea for data compression. Will it work?[edit]
lets say we got two set of 0,1,2,3 possible digits n we want to encode them for an efficient way from a data compression point of view. to be able to decode the higher rank digit of this set of two encoded digits, then we might need that the encoding counting base be only 3.5, for example, and i addmit that for the lower one digit we might run out of some precision. Anyway, what i am trying to suggest is that the encoding/decoding order for the actions, may offer us the possibility of compressing data. for example, given some string of 2^n digits that are already encoded by some efficient way, then we might be able to decode it by first spliting it into 2 strings of 2^(n-1) digits , using some formulas that can be just a lil bit more complicated than the classic ones that can usualy be applied for such issues. Alrite, no need to thank me, no need to send me to h--k, just try to tell me how far i might be from a decent way of judging things, cz i already am about one week late for my Clopixol shot, n i feel like doing something about that too. Thank You, Florin747 (talk) 07:59, 16 March 2020 (UTC)
- The question is in need of some clarifications. Do you mean a set as in mathematics (no duplicate elements) or a list of items? What are the items? Is each one a choice from the four-element set {0, 1, 2, 3}? Why two sets? Is this different than compressing each set individually? Otherwise this might as well be about seven sets, or 42 sets. Data compression only works if the data are not uniformly random, like for English text in which ation or icall are common letter sequences, but ngvba and vpnyy are not. (Also, could you take the effort of spelling out the words properly?) --Lambiam 15:54, 16 March 2020 (UTC)
Alrite, I took My Clopixol yesterday, I feel more relaxed now about accomplishing that task of mine. I think I was talking about some counting system , with four digits, 0,1,2,3 and also some counting base,b, of some 3<b<4 which could allow us some data compression, by the condition of considerring some special order for decoding digits, the one that I put above about splitting a string/encoded number of 2^n digits into 2 strings of 2^(n-1) digits, assuming that is actually possible. I mean , this last part seems to be the hardest part of this paradigm. If it works , it may do data compression over and over, no matter how many time repeating, but this seems highly unlikely for some simple idea like this one. Thank You, for staying in touch, and please forgive me about my english, never was my strong point. Florin747 (talk) 06:59, 17 March 2020 (UTC)
- If n > 0, then 2n = 2n−1 + 2n−1, so you can split a string of 2n digits into two strings of 2n−1 digits by splitting it in the middle: 23310012 → (2331, 0012), or in fact in any of a number of ways, such as "unzipping" by taking alternate digits: 23310012 → (2301, 3102). Again, as I said, you need some property of the input source that is not quite random for data compression to be possible. Nothing in what you write contains a suggestion in that direction. --Lambiam 16:12, 17 March 2020 (UTC)
Hi, I guess I was trying to bring the problem at its most general way, I mean about the random numbers too. I am not so sure that it will be working , for the random data case. In any case, I guess that may serve for some study for the students, trying to find out of what could go any wrong about decoding some large number (by splitting it) in the given condition of some k digits and counting base b, k-1<b<k that are just about enough to asure that the maximum possible value of the lower half code, at least at the first look, shouldnt interfere with the value of the higher half code. Anyway, it is just about some study, something like of searching for the impossible, maybe just good enough to make students wonder about some possibilities. Thank You, Florin747 (talk) 07:40, 18 March 2020 (UTC)
... I guess that a good intermediary problem to be solved is that to see first if the above problem possible solution, in case of k=4 digits (0,1,2,3) and counting base of b=4.1 which should be normaly able to provide decent decoding by serialisation, might be also able to work for the variant of the splitting a larger code into two of its halves. If that work, THEN we might be able to try for the more hard problem that we got first, k-1<b<k. Alrite, thank You , for helping me making these more clear, into my mind. I guess that You are welcome with any more help. Thank You, Florin747 (talk) 08:13, 18 March 2020 (UTC)
My oh my, am I some dizzy mind from that Clopixol action, or what. Anyway, I tried my best to replace "k<b<k+1" with the one that You can see a few lines above. I am truly sorry, about the mistake(s). Thank You ! Florin747 (talk) 12:55, 18 March 2020 (UTC)
Pi symbol[edit]
It runs in my mind that some Greek letters (at least pi and mu) have two identical-looking versions that are different Unicode characters: one is the actual letter, and the other is the mathematical symbol. If this is true, is π the letter or the symbol? And how would I learn which one it is? Note that the π character appears in the Pi (letter) article, but it links to Pi, which represents the mathematical constant. Nyttend backup (talk) 15:27, 16 March 2020 (UTC)
- The articles Pi (letter) and Mu (letter) each have a section on character encodings. If you use your browser's search function on these pages after copying the character into its search box, it will direct you to the version in question. An online service for identifying Unicode characters in general is offered by BabelStone; probably there are others as well. --Lambiam 16:21, 16 March 2020 (UTC)
- Pi actually hasn't got separate Unicode characters, as far as I know. The symbol for the mathematical constant is supposed to be encoded by the normal Greek textual letter (i.e. U+03C0 π GREEK SMALL LETTER PI. There are a few alternates, such as U+03D6 ϖ GREEK PI SYMBOL, U+1D70B 𝜋 MATHEMATICAL ITALIC SMALL PI etc., but those are for other specialized purposes. In the case of Mu, there's U+00B5 µ MICRO SIGN, but as far as I understand its presence in Unicode is mostly due to legacy compatibility considerations (our article on Micro-#Symbol encoding in character sets has some of the gritty details). Fut.Perf. ☼ 21:57, 17 March 2020 (UTC)
Bioinformatics OSS needed for COVID-19 research[edit]
What open-source bioinformatics software projects are important for COVID-19 research and in need of new contributors? NeonMerlin 16:49, 16 March 2020 (UTC)
- This could be a good start. Wylie39 (talk) 17:53, 16 March 2020 (UTC)
- @NeonMerlin: Does Folding@Home fit what you are looking for? See this: [1]. RudolfRed (talk) 19:28, 16 March 2020 (UTC)
- Here is another project/dataset: White House seeks AI help in answering coronavirus questions, COVID-19 Open Research Dataset (CORD-19), COVID-19 Open Research Dataset Challenge (CORD-19) StrayBolt (talk) 16:59, 17 March 2020 (UTC)
March 17[edit]
On-line Data Table[edit]
I want a stand-alone program loadable on any PC Windows version that responds to pressing a function key by displaying a table of friends' names and their indoor home temperatures, periodically updated. I identify the following tasks for the program:
- Listens to a predefined Internet address and port for messages
- Sends a RequestData message to the shared address
- On receiving the RequestData message
- First time: does nothing but counts the number of responses from other PCs. There can be up to 31 responses that are sent nominally one per second. If N<30 responses are heard then our program decides to use slot# (N+1) in future. If slot# 31 was occupied, our program may decide to use an earlier slot that has been vacated, otherwise the network is full and our program can display but not send.
- Subsequent times: displays a list of received Names and Temperatures. Sends own name and temperature (found at a known address in PC memory) in the previously chosen timeslot.
- The program using slot #1 is expected to drive the network by generating a Request Data message every 60 seconds.
- All programs monitor the rate of RequestData messages. If RequestData is absent for 90 seconds, the program waits a random period 30-to-60 seconds and then takes over slot #1 by sending a RequestData message to which the network responds.
______________________________ Name | Indoor temp ------------------------------ George Adams | 25°C John Jefferson | 22°C Thomas Madison | 27°C DroneB | 19°C ______________________________
This is a simple program with no claims of speed, security or error tolerance. Your advice is needed on a programming language for the Internet messaging interface. DroneB (talk) 17:41, 17 March 2020 (UTC)
- Any Microsoft Windows version, all the way back to Windows 1.0, or do you really mean "currently-supported versions"? Assuming you mean the latter, the main issue is: can you install (or have installed) stuff as-needed on target systems? If the program has to be a standalone executable with no dependencies, then you'll generally need to use C or C++. Otherwise I'd suggest Python. The issue is you need to install the Python interpreter for a Python program, and possibly libraries. This is generally the case for any language/toolchain that doesn't facilitate building a statically linked executable. --47.146.63.87 (talk) 19:04, 17 March 2020 (UTC)
- OP here. Ideally the program will be a stand-alone executable that I can mail to friends who have home PCs that may run older Windows versions such as XP or Vista. I think I can compile the algorithm in C or BASIC but I have zero experience of message interfacing to the Internet. For that I need help. DroneB (talk) 00:29, 18 March 2020 (UTC)
- Wow, I think my head just exploded when you said you're going to email an executable that runs a public Internet server on EOL'd operating system platforms. Elizium23 (talk) 07:47, 18 March 2020 (UTC)
- Okay, sounds like there's no issue there. There are tools for platforms like Python to wrap everything up in a single installer package. But I want to make sure we don't have an XY problem here. Where are these temperatures coming from? Something like a networked thermostat? If so, those can usually report the temperatures to some Internet service. Also there's a problem you're likely to run into: network address translation (NAT). It sounds like you envision this to be a peer-to-peer thing where any copy of the program can "take over" gathering temperature data. Unfortunately, for this to work, if any of your friends have a NAT between them and the Internet (like on their Internet gateway/router), they'll have to configure port forwarding to allow their copy of the program to receive messages from the Internet when it "takes over". Also there are potential headaches with dynamic IP addresses. The easier solution is to use a server-client architecture where you host a server on the Internet and have all the programs connect to the server. And yeah, as Elizium23 said, if your friends are using old, unsupported Windows versions like Vista, you should nudge them to upgrade, as this makes them vulnerable to malware. --47.146.63.87 (talk) 08:11, 18 March 2020 (UTC)
- OP again. For the purpose of my question, temperature values may come from digital thermometers connected to the PCs. (Other applications for low data rate monitoring abound such as house intrusion sensors and fire alarms.) Yes, decentralized peer-to-peer networking is envisioned so that any PC can connect on line at any time and all PCs will display the available data. May my program send and intercept Ping message packets? It might A) pass data in the payloads of the Pings, or B) crudely signal by multiple Pings in Morse code. Thoughts on security are that the program that I distribute contains only my own IP address. Each remote machine has first to handshake with my machine to declare its IP address before it can access our network. DroneB (talk) 12:39, 18 March 2020 (UTC)
- OP here. Ideally the program will be a stand-alone executable that I can mail to friends who have home PCs that may run older Windows versions such as XP or Vista. I think I can compile the algorithm in C or BASIC but I have zero experience of message interfacing to the Internet. For that I need help. DroneB (talk) 00:29, 18 March 2020 (UTC)