Threads Inside Full Duplex Device Library

Question: This is the second project I'm working on which will use a design that I'm not 100% confident about.  I'd like some feedback, maybe recommendations for a better design, or verification that this would be acceptable by more proficient programmers:
I have a device that I need to interface with.  Be it via TCP, UART, UDP, or whatever. I need to send this device data/control, and receive data/control information from this device, but it's not exactly a request/response sort of situation.  The device can send data at random times without user stimulus.  For instance, the newest device is a full-duplex radio.  When the radio correctly demodulates and decodes digital packets, he will send the voice data via UDP to my library.  It doesn't wait for a user for input.  When you want to send stuff out over the air, I send control information, and then data for the radio to modulate and push over the air.
Packets that go between my library and the device are framed: ie, each packet is prepended a header (and other metadata to identify the type of packet) and appended a CRC and footer so I know a) the start of a packet in case garbage is somehow introduced over the stream, and b) the data is correct (by verifying the footer, and the correct CRC).
Okay, so I'm designing a library that will need to be handed to a different developer for application development.  So all the internals are abstracted away from him.  For ease in this example, I want this library to have 4 calls: send_data, receive_data, send_voice, receive_voice.  The different packet types (voice and data) are sent over one port.  The library can frame and parse the appropriate packets (for sending and receiving, respectively), and so can the device.
For sending data to the device:
This is easy.
The application developer calls either send_data or send_voice.  I take relevant voice or data, frame it accordingly, and send it to the device.  The device parses the data, and sends it on its way.  The calls are thread safe, so the developer can't call a UDP send asynchronously.
For receiving data from the device:
This is where I'm not 100% confident in the design.
I start a receive (RX) thread in my library.  When I get a packet (either voice or data), I de-frame the packet, and put either the voice or data on a respective queue (a voice queue and a data queue).
When the application developer wants voice, he calls receive_voice and it will return a pop from the voice queue.  When the application developer wants data, he calls receive_data and it will return a pop from the data queue.
Obviously I'm careful the queues can't grow to infinity, and when a queue is MAX_QUEUE_LEN, I pop a voice/data packet off the queue and discard it before putting a new one on, and set a 'overrun' flag.  This flag can be set/read with set_X_overrun, or get_X_overrun, where X is voice or data depending on the queue.
I actually like the design.  However, what do other people think?  I'm not sure what people think about putting a running thread inside of a library?  I guess the other option is just to have read_data and read_voice calls that will block until a packet is found that matches what they want (voice or data).  This eliminates the need for a running thread, but then the opposite packet is essentially disregarded while we wait for the one of choice.  Or is there another design I'm not even thinking about?
Sorry about the long-winded and probably unclear design question.  Now that I feel like more of a confident programmer using the semantics/syntax of languages themselves, I've been getting much more interested in the design of programs rather than the nitty-gritty of the lower level calls.  I'm striving for the best/coolest design possible rather than something that 'just works.'
Bonus points if there's some sort of open source software out there that I can look into and improve my design.
Image of design:
]
Pseudo code:
public void send_data(buf) {
    frame_data_packet(buf);
    udp_send(buf);
}

public void send_voice(buf) {
    frame_voice_packet(buf);
    udp_send_(buf);
}

public void receive_data(buf) {
    buf = data_queue.pop();
}

public void receive_voice(buf) {
    buf = voice_queue.pop();
}

/* RX Thread */
public void run_rx()
{
    while (run_rx_f) {
        type = deframe_data(data);
        switch (type) {
            case VOICE:
                voice_queue.add(data);
                break;
            case DATA:
                data_queue.add(data);
                break;
        }
    }
}

Answer: Addressing a possible improvement: Could improve your design by having a generic send() and receive() accepting an Abstract buffer class and two classes of Voice and Data buffers that extend it.
This makes your internal code easier to handle and can enhance modularity and extensibility. ie) allows ease for you to possibly improve support different types of send and receive methods without a method explosion from your library. Say you want to add capability to specially handle images.
The VoiceBuffer and DataBuffer classes could even be abstract, forcing whoever is going to implement your library to address how the buffer of data is constructed.


how can i generate automatic testing?

Question: in my situation i have too many parameters(1000 parameter or more ...) the number of parameter may change. every parameter contains a defined number of values .the problem is that the combination of all parameter values is too long which make it impossible to cover all the testing cases , so is there a solution to generate an automatic testing that covers all the parameters ?
Comment: Start with refactoring your code so that it processes a list instead of having thousands of params.
Comment: Possible duplicate of [How to test an algorithm with multiple inputs?](http://softwareengineering.stackexchange.com/questions/300249/how-to-test-an-algorithm-with-multiple-inputs)
Comment: You surely don't mean literally you have a function with 1000 parameters. Please explain what you really mean by "1000 parameters".
Comment: @DocBrown parameters can have other meanings... In the abstract sense, inputs that can have different values.
Comment: @FrankHileman: sure it can have other meanings - that is why I asked for a clarification. In the current form I think the question should be closed as "unclear", it is badly written and the OP does not seem to care.
Answer: Often, the effect of a parameter value is "monotonous", in the sense that the values are ordered in some way, and whenever a test succeeds for two different values we know it will succeed for all values in between.
This can be used to limit the number of values to try.  Instead of trying a 1000 different values you can get by by testing 20 or so.  This is apparently known as boundary scanning or boundary value analysis in the literature.
But it is only useful for reducing the number of different values to try for a given parameter.  Your problem is the number of different parameters.  Even with only 2 different values for each parameter, there are 21000 combinations to try.  You would need to identify and exploit higher-order "monotonicities" in the 1000-dimensional parameter value space to reduce this.  Whether this is possible depends on what the parameters mean.
Answer: Not a test, but informal or formal proofs will cover all possible parameter values. Typically to reduce the burden of proofs or testing, we restrict both the number of parameters and the range of possible values for those parameters. This reduces the state space of the program.
Answer: There are several testing frameworks out there that generate test cases. This Computerphile video nicely demonstrates one in action. The idea is that a machine can generate more test cases than any person ever could, and thereby more thoroughly tests the code. Instead of just getting full branch coverage, you can get complete input coverage.
Of course, these tools tend to be geared toward functional languages, so you might have a hard time finding a good one for your particular language.
Comment: @reinierpost and I also told OP (albeit in a comment) that they should refactor so that there *aren't* 1000 params... OP asked a question, I provided a reasonable answer and some extra context. It's a really interesting video actually... Also, the number of variables here make it so that *only* a machine could thoroughly test it.
Comment: Read again: 1000 parameters.  Be extremely optimistic and assume no more than 2 values for each parameter. Complete coverage of 2^1000 combinations, just by computer magic? Dream on.

how can i generate automatic testing?


How do I contribute to other's code in GitHub?

Question: I would like to contribute to a certain project in GitHub. Should I fork it? Branch it? What is recommended and how to do it?
Comment: I wrote a more detailed step by step guide on contributing to Concrete5 on Github, but the process could apply to any project. [Check it out](https://www.exchangecore.com/blog/contributing-concrete5-github/).
Comment: check https://github.com/joindin/joind.in/wiki/How-to-Contribute-Code
Comment: perhaps with sufficient majority voting, a previously closed questions should be allowed to be resurrected again, and let people contribute to the thread again.
Comment: @wizztjh, Another easy tutorial: http://www.pontikis.net/blog/how-to-collaborate-on-github-open-source-projects
Comment: Here's a hands-on tutorial https://github.com/Roshanjossey/first-contributions
Answer: Ideally you:

Fork the project
Make one or more well commented and clean commits to the repository. You can make a new branch here if you are modifying more than one part or feature.
Perform a pull request in github's web interface.

if it is a new Feature request, don't start the coding first. Remember to post an issue to discuss the new feature.
If the feature is well discuss and there are some +1 or the project owner approved it, assign the issue to yourself, then do the steps above.
Some projects won't use the pull request system. Check with the author or mailing list on the best way to get your code back into the project.
Comment: Details on GitHub's [forking](http://help.github.com/forking/), and [pull requests](http://help.github.com/pull-requests/)
Comment: @MariusKavansky it's the other way round! Once you know what to work on, then only you contribute :)
Comment: Yes, pull request. Merge request is gitorious terminology.
Comment: after I contributed to some open source project. I think it is a better Idea to to open up an issue to discuss the new feature if it is a new feature. If it is a feature or issue that is well discussed, you should assign the issue to yourself then do the steps above. This is my 2cents.
Comment: @hashbrown, He's asking where's the "list" of requested features thus far. Those features that are already being requested and +1ed.
Comment: I did this and I ended up with a pull request on my own fork of the project instead of on the original author's project. So something is missing from the instructions.
Answer: To add to Yann's answer, once you have forked a project, you can develop in any branch you want (a new one, or one from the original project)
Remember to:

add the original project as a remote (different form 'origin', since origin would be your own repo, result of the fork)
rebase your branch on top of the branch of the original repo you want to contribute.
It is important your pulling request result in fast-forward merges.
See for instance:

"Pull new updates from original Github repository into forked Github repository".
"Update of forked repository on github"
"Git working fork with updates"
Comment: can you add details or links on your second point *(rebasing branch)*?
Comment: @JorgeArtware I have updated the answer with a few links illustrating the rebase.
Comment: @VonC I ask a question here but if you believe it is necessary, I will make a whole new question out of it.
Why would I rebase instead of merge, other than having the 'straight history' ? In other words, here's what I do when I contribute to some projects (after the PR from my feature branch has been merged to develop and to master branches):
`git checkout master;`
`git pull;`
same for develop (where my feature branch was merged first)
The difference I can think of, after reading "pull vs pull --rebase" and "merge vs rebase" is just the flat history. Anything else more deep?
Comment: @grasshopper in term of "contribution" (the context of this page), you always want to rebase your local commits on top of updated branches before pushing: that will make said contribution trivial to integrate by the maintainer to the original project branch. In the context of your question, where your PR has been accepted, sure, you can merge instead of rebase to update existing branches.
Comment: (Sorry changed username just now to reflect my github) - @VonC thank you, so all the suggestions that I was reading about the rebase apply before the PR, makes sense. To reflect the accepted and merged PR inside my local repo, is there any common practice (rebase instead of merge), or can I do whatever? What if I will submit another PR though?
Comment: @linuxbandit The thing is: if you are talking about an internal development you don't intent to contribute back, you can rebase or merge, as you want. For another wip (work in progress) that will be contributed back, a rebase on top of upstream is preferable, as Jon Skeet himself explained an hour ago in https://github.com/google/google-api-dotnet-client/pull/917#issuecomment-289007696.
Answer: To add to Yan and VonC's answers, this is a good resource from github themselves: http://help.github.com/forking/
Also be sure to look on the right sidebar under the "collaborating" heading.
Answer: There is a great Railscast video here that walks you through the process.  It also has a number of good tips such as showing how to determine which branch you might want to work on when contributing, using tests, submodules, etc.
While this screencast is primarily focused on Rails developers most of the information is valid for contributing to any open source project.
Answer: Github has many ways of collaborating to a project. The model most project use is a pull request model. I've started a project to help people making their first GitHub pull request. You can do the hands-on tutorial to make your first PR here
The workflow is simple as

Fork the repo in github
Clone the repo to your machine
Make a branch and make necessary changes
Push your changes to your fork on GitHub git push origin branch-name
Go to your fork on GitHub to see a Compare and pull request button
Click on it and give necessary details
Answer: lornajane has a blog post that explains the process well:
http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Answer: Technical workflow
I would suggest the following workflow:

Fork the repository (via GitHub web interface: "Fork" button)

In your forked repository, copy the URL

Clone (in the command line)
git clone <url-from-your-workspace>

Enter the directory, that just got created, and create a branch
cd <directory>
git checkout -b <branchname>

Now make your changes

You can create one or more commits after each change:
git add .;
git commit

When done, push your changes
git push origin <branch>

In your command line, you should see a URL to create the PR. Visit the URL and click the button to create a PR.

If not, visit the repository in the browser and it will offer you a button for creating the pull request

That's it.
So, basically, you forked the repository to your workspace, created a new branch and pushed that new branch.
If you later make more PR from the same cloned repo, you should synchronize (get the latest changes from the original repository) before you create another branch for another PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master

Other considerations:

the project may have Contribution Guidelines: Look for a file CONTRIBUTING.rst or .md
you may want to follow the coding guidelines for the project
you may want to outline your idea as issue first
you may want to look at the Pull Requests tab for the project and check if there are open PR, merged PR

These suggestions are here to save you from the trouble of putting work into a PR that will not get merged. If there is activity in the project and PR get merged, this is a good sign. If there are Contribution Guidelines, follow them.
Always be courteous. Remember, the maintainers of the project are in no way obligated to merge your PR. Do you have something valuable to add to the project?


Canada cheque cashing fiasco

Question: Landlord had me mail checks to his business in business name. They were cashed. He now tells me he gave me wrong address and I need to give him the money. I already had the money taken from.account. what do I do?
Comment: How many cheques did you send to this address, and how many were cashed, before he told you the address was wrong.
Comment: November, December, January. Then I sent February and March and was notified at that time. He told me he hadn't received any rent  payments from us I sent proof of the check being cashed every month . At that point after I'd sent the next checks for February and March he informed me he had given me the wrong address so I canceled the checks for those months and sent checks to the correct address with a tracking number  3 total were cashed
Comment: You sent Nov, Dec, Jan separately or together? And how different were these addresses? What was the place of the address he gave to you?
Comment: @DJClayworth I sent 3 together at beginning of tenancy as was short term rental. He extended rental for another 2 as the development of prorpery isn't going ahead yet as planned  so rental is continuing for another few months. I then sent the next 2 together as well was notified of incorrect address and had to cancel them and send to correct address. The incorrect address is 2 doors down from real one in a business district building..its not coming up as a specific business but it's only 2 places down from correct address
Comment: If it's only 2 doors down he (or you) should be able to knock on their door and ask what happened to the cheques.
Comment: Yes I'm about 2.5 hours via ferry boat to the mainland where he lives and works so not feasible for me but definitely him
Answer: Lets take this at face value for a second. Lets accept the fact that he gave you the wrong address to mail the checks, and the checks were stolen, and the checks were fraudulently cashed.
Contact your bank, and ask them to help you contact the police. File a formal police report. Why? Because either the money was stolen, or the landlord is not telling the truth. Your bank may have more information about how the checks were cashed, they might be able to contact the other bank.
But don't immediately give more money to the landlord. This sounds like sloppy business processes. The wrong address is bad. But if several checks were mailed, cashed and this went on for a while, then either the landlord failed to notice, or failed to care.
Comment: This is good advice. The worst the landlord can do is try to evict you, and this paper trail will show good faith to make a payment and make it harder for the landlord to win an eviction
Answer: Writing another answer because there are things I can't put in comments.
You should definitely report this to the police, because something seriously illegal happened here. If the landlord is telling the truth then someone opened mail not addressed to them (illegal on its own) and then found the cheques and decided to cash them- a serious crime, and one that takes a certain amount of effort.
If this is the case it's an easy win for the police. They can probably  find out who cashed the cheques, and a cross reference with people connected to the address the cheques went to should get a conviction.
But I'm skeptical, because 95% of people who get a letter addressed to a person or company who live two doors down will just take them the letter. Even fewer open it and cash a cheque not made out to them. And if he is telling the truth your landlord messed up in several ways - by giving you the wrong address, by not noticing that you had not paid, and by not going to follow up with the address he gave you.
My advice:

Get the police involved. As I said above something seriously illegal happened here.
Tell the landlord you are going to pay him only when the police investigation is complete. Since this is all his fault he should be fine with that.
If the police investigation shows someone else did cash the cheque then see if the bank will reimburse you. A bank should not cash a cheque except to the person it is written to.
If the police investigation shows your landlord cashed the cheque, then he is probably going to jail and you don't need to worry.
Answer: Assuming you have some proof that he cashed them, just tell him no.
If he sues or tries to evict you then you can use that proof as evidence of payment.
I am hoping you have a lease or other formal communication that specifies you should make payments to that business at that address? Definitely use that as evidence too.
Comment: @JillMacLean In that case I'd ask the landlord if they are is willing to file an affidavit that they didn't receive/cash them so you can file a police report for the fraudulently cashed cheques. If they did indeed cash them I bet that would make them very nervous about continuing to lie about it.
Comment: I do have emails stating to send them to the said address in business name. I'm have copy of cashed cheques also but he claims someone must have intercepted them and cashed them. He told me to contact bank who negotiated and sort this out. I dont know what steps to take from here as he feels I'm.still owing the money
Comment: I agree, the evidence supports you, as you have the address he told you to send it and the checks were cashed.  Keep a copy of everything communicated and of all the checks.  To prevent this from getting out of control, write down every phone conversation (date, time, discussion).  Continue to pay only as the lease instructs and keep a copy of those payments.  Yes, alert your bank to the situation and ask what your options are, but the failure (according to your post) is on the landlord and is his mess to clean up.  Tell the landlord you're willing to help find it, but not double paying.
Comment: What I'm confused about is being as they were written to his business, isn't he the one that would file a police report as the checks were addressed and made out to his company name? Because that would be a fraud towards his company I'd assumed as the person would have had to cash them under the pretense that they were the company or someone with rights to cash a third party business check made out to that business? I've heard that the information Privacy Act will protect whomever cash it because they won't release information regarding that person's account? anyone know if that's true?
Comment: @JillMacLean  In case it's not clear, the fact that the rent money didn't make it to the landlord doesn't mean you don't owe the rent money. If the bank gets your money back for you, you must still pay the rent.
Comment: @JillMacLean I think you missed what I was suggesting. If you suggested you were getting the police involved and he is up to something shady he might not persist with his scam (if it is a scam)
Comment: I don't think an affidavit is necessary. If he states clearly that he did not cash the cheques, and it turns out he did, that's criminal fraud right there. Also privacy concerns will prevent them giving *you* details of who cashed the cheques, but there is no such restrictions on the police investigating a fraud.
Comment: @Eric oh most definitely if I got it back id give to him immediately just don't want to pay twice when I did as instructed. I don't feel I'm at fault as my money is taken from account after I followed his instructions and couldn't have done anything differently to change outcome

Canada cheque cashing fiasco


A ZENY Electric guitar

Question: I got this guitar, and the amplifier only has the volume, treble, bass, and a overdrive button. What would be a good configuration for a nice clean rock sound.
Comment: not sure this question has an answer that won't just be opinion. use your ears and fiddle around until you find one you like. find a sound on an album and try to recreate it.
Answer: There is no right or wrong when it comes to getting a certain sound, but here are a few tips for getting a clean tone:
-don't push in the Overdrive button
-the Treble and Bass are meant for fine tuning the sound. Neither of these knobs alone will have much effect on whether the tone is clean or distorted.
-use the volume on your GUITAR to control how much signal is going into the amp. Keep the volume lower to get a cleaner sound.
-turning the volume up on the amp will usually create a more overdriven sound. You will have to play around with the amp and guitar volumes to find the settings that create the cleanest sound with the most volume.

A ZENY Electric guitar


Consume>Trade in RftG Base game

Question: In the base game of RftG, if you chose Consume>Trade as the action, do you have to trade on a card that has a $ ability? If it is a +3 and do you get +3 cards in addition to the normal trade value?
Answer: You first sell any one of your available goods for the number of cards indicated by the kind of good (i.e. 2 cards for a Novelty good, up to 5 for an Alien good).  Some cards in your tableau may have Trade powers (marked with a $) that may affect what you get from this trade.
Then you must use as many of the Consume powers (marked with a IV) as you have on your cards as possible, on as many of the remaining goods that you have as you can.  You can use these powers once only each, but you can use them in any order you like.
From the way you phrase your question, it sounds as though you think that the initial Trade is performed based on one of your Consume powers, somehow.  It isn't; the initial Trade is a completely independent bonus and takes place before you refer to the special powers of the cards in your tableau.
Comment: So if you don't have any Consume Trade bonuses on the cards on your tableau, if you choose Consume Trade you get to trade based on the generic consume trade as indicated on the card? I'm guessing another read through the rules would clarify it for me.
Comment: @Tuxhedoh: Even if you have no cards with Consume powers, you can still Consume>Trade, and convert a good into cards by the power of the Trade bonus alone.  Once you've resolved that, you have to start using Consume powers until you have either no Consume powers or no usable Goods left.  The RftG rules are quite involved, and take a little bit of work to understand at first, but once you "get" them they soon become second nature!
Comment: Part of my problem was I learned from a friend years ago.... played it about 15 times, than shelved it until just recently.   So the basic gameplay I still remember, it's just this Consume Trade that's getting me.
Answer: Consume > Trade gives you access to a special phase that only players who select Consume > Trade can perform.  During that phase, you must sell any one good from any planet in your tableau for 2/3/4/5 (blue/brown/green/yellow) cards.  If you have any $ powers, those will change your payout for your single allowed trade, but you do not need any of them and the traded good can come from any world.
Comment: @Tuxhedoh: Consume->Trade does allows you Trade only one card.  But then you can (and must) Consume as many cards as able.  I think your confusion is understandable: the Trade and Consume halves of the operation work in pretty different ways.  But that's just Race for the Galaxy really...
Comment: That's right, the Trade phase only allows you to Trade one good, unless one of the powers in your tableau overrides it.  Most trade powers just increase your payoff for your single trade, though.  After Trade is complete, all players (whether they selected Consume or not) perform the Consume phase, where everybody must consume as much as possible.
Comment: Now this makes it sound to me like Consume >Trade will only allow you to trade one card, regardless of the powers available on the cards on your tableau. I can see I've definitely been remembering the rules incorrectly.  So one could play Consume Trade even if not having any cards on their tableau with that ability, unlike normal consume which requires cards to be able to consume there.
Comment: Its also confusing that it is written as "Consume>Trade", but the Trade happens FIRST, followed by the Consume.

Consume>Trade in RftG Base game


Is it okay to put up a submitted paper and a paper which is about to be submitted on Academia.edu?

Question: I'm applying to graduate school (CS MS/PhD) this year and I wanted to put up a copy of my papers online so that admission committees would be able to see them. The problem is one of the papers is currently under submission at a conference and notification for the same is only on Jan 22nd. Another one is still in preparation and I will be submitting it soon to a journal/conference. So I was just wondering if it is okay if I put up these papers in my Academia.edu page?
Actually one of my friends' told me that since Academia.edu submissions are searchable on Google, the conference I have submitted to and the journal or conference I would be submitting the other paper will have a problem. Is he right? How else can I provide a way for others to view these papers?
Answer: For your submitted paper: Check the copyright and "prior publication" policies of the conference you've submitted to.  It's very likely that they allow you to post a "preprint" of your paper on your web page.  This is a very common practice in Computer Science, since it allows researchers to share their work without being delayed by the peer review process.  You might also consider posting on a preprint server such as arXiv.org as this will further increase your audience (this is also usually allowed).  And it would also be a good idea to include a copy of the paper with your applications, or at least a link; don't expect the admissions committee to find it by themselves.
For your not-yet-submitted paper: Again, there shouldn't be a problem with the journal/conference, but it's probably best to wait to make it public until it is completely finished and ready to submit.  However, you could certainly include a copy with your applications.
Comment: Listing of approaches to self-publishing: http://www.sherpa.ac.uk/romeo/
Comment: There are two separate issues: terms of copyright and journal policy regarding prior publication. Be sure to check both before posting your manuscript online. Also, whether it is "very likely" that the journal allows it depends on your field: in math and physics it is common practice, but in chemistry or medicine it is rarely allowed.
Comment: @F'x: Thanks, I added a note about prior publication policy. They may or may not be found in the same place. The asker is in computer science, where I understand posting preprints is the norm. You are right that other fields may be different.
Comment: @NateEldredge great, I had missed that the OP specified CS… I have taken the liberty of adding the precision to your post, to avoid misleading potential other readers :)
Answer: This may not be relevant to OP's situation but it's relevant to the general question:  There is one additional issue not addressed so far: Are you sure that you want everyone in the world seeing your paper now?  Are you sure, even, that you want admissions committees seeing it?  If a paper is accepted for a conference, that means that someone has decided it's at least good enough for that conference.  You have a little bit of confirmation that you're not embarrassing yourself by posting your paper publicly.  But conference papers don't necessarily have to be good in a self-contained way.  It might be enough, from the point of view of the conference organizers and reviewers, if the paper is intriguing and could lead to interesting discussion and feedback.
The safest thing to do is to restrict circulation of your papers to people you know until the paper has been published.  I'm putting aside issues about copyright, prior publication, etc.  My point is that having had a paper reviewed, having gotten feedback, and having revised to the extent that reviewers think the paper is worth publishing provides good reason to think that you are not embarrassing yourself by making the paper publicly available.  (Alternatively, just get lots of feedback from people who are qualified to give it.)
That's the safest thing to do.  I'm not saying it's the best thing to do.  There are tradeoffs.  By putting the paper out on the web early, you promote your ideas, advertise what you're about, and promote discussion.
I'm not sure that any of this applies to CS, and I'm not sure that any of it applies to your situation.  It's more relevant to people who are going on the academic job market after graduate school.  I think that what people are probably looking for in graduate applicants is that applicants have a lot of promise.  If there is good raw material, but also rough edges, that's OK: Helping you grow past the rough edges is the job of the graduate program.
Comment: _Are you sure that you want everyone in the world seeing your paper now?_ — If the answer is "no", the paper is not ready to submit.
Comment: If you can't get it in front of them, then I think it's fine to make it available on the web.  I personally like the idea of a private link (although putting it in a public place does have the advantage that people evaluating you can find it even if they lose track of the link).
Comment: It's not just that.  You may think the paper is ready for everyone to see when it's not.
Comment: first of all thanks for the reply :)
Although it's true that I might end up embarrassing myself, my adviser thinks that it is good idea to submit it somewhere and so we plan to do it in a few days time. But in the meantime I just wanted to put this up (at least the first draft) so that admission committees might be convinced that I'm just not boasting when I say that "I want to pursue research".
One more reason is that I just thought doing so might increase my chances of getting in.
Comment: Don't the job ads ask you to send a writing sample?  If not, would it be OK, in your situation, to send it with your application, anyway?  That way, if someone looks at your materials, the paper is right there.  They don't have to go looking for it on the web.  I can tell you that when someone is plowing through dozens of applications, whether printed or in front of them on a computer, they may not want to go looking around at academia.edu or anywhere else.  Maybe there won't be many applications competing with yours, but if there are, try to make it easy for the people reading them.
Comment: Sorry, I forgot that you're applying for a slot in a graduate program rather than a job.  But the general principle is the same.
Comment: @Mars They do ask for a statement of purpose and I would be writing about these there. But not all them allow us to submit additional materials like papers or other writing samples with applications. And those are the places because of which I just wanted to put it online.  In fact someone suggested me another idea - to make a simple webpage on dropbox and put the papers there. That way it would be known to only those to whom I give the link. Any opinion on that?


Can I test my own network?

Question: I'm currently trying to enter the field of information security and I was just wondering if there was anything barring me from testing my own network for security vulnerabilities? I only have a couple of devices (Android, Microsoft, Apple, Netgear, etc.) and I would like to do some rudimentary pentests. This is primarily an academic exercise. Are there any agreements (with device manufacturers), laws, or ethical codes I would be violating if I set up a private network specifically for this purpose? What do white-hat hackers in the field do to test Android and Windows for example?
Answer: There is nothing hindering you from testing within your own network. To get a rudimentary understanding of what is involved with testing, I suggest you familiarize yourself with the Penetration Testing Execution Standard, OSSTMM, and other similar pentesting frameworks. Once you begin establishing the who, what, when, where and why, it will make things easier for you to set up your own environment. For testing I never set up anything in my network (there is no trying to mimic a client) because I can never know what patch levels they have, what software is installed, and so forth. Rather than re-invent wheels, there are plenty of "hackable" virtualized instances you could download. I suggest NetInVM. But to answer your question, what you do in your private network is not bound by any of the common USC (US law) computer related laws.
Comment: [vulnhub.com](http://vulnhub.com) is another resource for a ton of great vulnerable VM's
Comment: Does anyone have a reference or source that references "ownership of a network"? Does this mean that you are on the contract, pay the bill, or are simply using a network that does not use any infrastructure under physical ownership of anyone but yourself? (e.g. you own the switches, routers, cables, computers, and all hardware)
Answer: It's perfectly legal to attack a machine or network as long as you have the explicit permission of the owner.  Since it's your network, you can do whatever you would like.*
There are other laws you may still bump into.  For example, you can't change your WiFi access points to transmit on an unlicensed frequency.  If you install a virus "for testing purposes" but it escapes and propagates outside of your house, you are probably violating the law.
For practicing attacks and analyzing malware, most 'hats use "virtual machines".  These are whole computers that are run as a program inside a physical computer.  Virtual Machines (VMs) can also have their virtual network adapters configured to isolate them, so you don't risk a virus escaping.  Their "disk image" is stored as a file on the host computer.  So if you infect a virtual computer with a virus to test your ability to detect it, when you're done you can just delete the disk image and it's gone.  You can also find plenty of other training or practice systems to attack, such as WebGoat from OWASP.
*  If you break your network such that Netflix no longer works, the rest of your family might be really unhappy.  But it's still legal.
Answer:
I was just wondering if there was anything barring me from testing my own network for security vulnerabilities?

Yes.  Some ISPs may have terms that prohibit certain activities which appear to be attacks.  To thwart this issue, you could use your own equipment to attack.  So, instead of having your firewall be plugged into your "modem" (e.g., cable modem, or DSL modem), you could have your firewall be plugged into a laptop that performs attacks.  (Or, if your modem has a free LAN port, you might be able to treat the modem like a switch.)  Then, you're still not effectively testing your modem's ability to withstand attacks, but you can effectively test the security of all of your other devices on the inside.
In theory, you could do things from outside the network by using a VPN, although when you do that, the network traffic you generate probably won't resemble actual attacks extremely closely.

This is primarily an academic exercise.

This exercise is probably not worth getting barred from using your ISP.
Most ISP's probably don't really care that much.  However, if they do use electronic monitoring, then chances of getting caught could be quite high, even for a "small" attack.

I only have a couple of devices (Android, Microsoft, Apple, Netgear, etc.) and I would like to do some rudimentary pentest.
Are there any agreements (with device manufacturers), laws, or ethical codes I would be violating if I set up a private network specifically for this purpose?

Device manufacturers?  Nah.  Not that I'm aware of.  You're fine there.  I think.  Although, I should note that it feels like the general trend of major manufacturers (for devices and commercial software) is to try to take over the experiences of end users, and expect customers to just simply trust them about matters like security.  If this trend continues (or if it has already continued far enough), some agreements could be written to prevent people from doing such things.
laws?  Maybe.  First of all, laws vary.  For instance, I'm not very aware of North Korean or Chinese law.  Based on laws that I am aware of, you ought to be just fine to test your own equipment.  However, you didn't say these were your devices.  You just said the devices are on your network.  If these devices belong to family members (or anyone else other than yourself), you may be committing electronic "trespassing".  So, yes, this may well be illegal (in that case).

What do white-hat hackers in the field do to test Android and Windows for example?

Some of them put their machine between the Internet connectivity device (e.g., the "modem") and the rest of their network.  Some of them use ISPs that don't forbid attacks on your own equipment.  Some of them just violate the ISP's rules and typically don't get caught, and just trust that market competitiveness will prevent their ISP from responding too harshly after a first incident.  Some of the so-called "white-hat" hackers, who don't actually attack anyone, aren't really all that honest, and they don't actually perform tests nearly as thoroughly as they pretend to.

Can I test my own network?


Will any Pokemon appear in a horde?

Question: Is there only certain Pokemon that will appear in a horde? Or will all regular wild, except for legendary, appear in hordes? And if I run out of honey is there another way to encounter these types of battles more often?
Answer: You can only horde encounter certain Pokemon, in certain areas. Someone made a list of all the Pokemon you can horde encounter and where here.
If you run out of honey you can use sweet scent to get horde battles.
Comment: The Zangoose&Seviper Horde is quite a special horde. If you want to catch the Zangoose, you'd better defeat the Sevipers *fast*.
Comment: @Nolonar actually catching the Zangoose (at least in Y) is mostly luck (and focusing on sevipers). Even if you OHKO the sevipers they'll only not defeat the Zangoose if they miss or only use weak attacks (wrap instead of bite). I think X gets more zangoose though
Comment: Yeah, in X you can find Zangooses fairly easy (not in horde), but seviper is a different story.
Comment: In X, you get 4 Zangoose/1 Seviper hordes and solo Zangoose. In Y, it's the other way around. If you want to catch the single one in the hordes, you need an attack that hits all and is strong enough to faint or severely damage the 4 and leave the one mainly safe. For X, Struggle Bug is well suited for this as it's non-effective against Poison, so Seviper resists it, but Zangoose doesn't. Fine-tune you (for example) Vivillon's level and Special attack to faint all Zangoose and have the Seviper survive. For Y, use Bulldoze, which is super-effective against Poison, but not against Normal.

Will any Pokemon appear in a horde?


Engine misfire and poor mileage

Question: My 2015 Chevy Suburban has 180k miles and now it gave me a check engine light code with a misfire. It shakes a little bit and does not give good fuel mileage. Also, the reader on the speedometer use to give about 200 miles on a half tank. It also makes a noise on the area where the intake is on top of the engine, where the throttle body is located. I have not changed plugs yet. Any feedback would be appreciated. I think it's a misfire 2 code.
Comment: Welcome to Motor Vehicle Maintenance & Repair! Do you have the exact code for the misfire? Do you mean by "misfire 2 code" that the #2 cylinder is misfiring? It could be either the coil, spark plug, or injector not working.
Comment: I would suggest you cure the misfire, give it a good service then re-evaluate the mileage....
Comment: Do you get the code P0302 repeatedly after clearing the codes?  That is, is it always the same cylinder?  I had that problem, in my case I swapped the ignition coils around, cleaned the throttle body and checked the plug gap.  It turned out that when I swapped the plugs and ignition coils to other cylinders, the misfire moved with the ignition coils, so I knew that was the problem.  In general there are a [lot of problems](https://repairpal.com/obd-ii-code-p0300) that can cause misfires.
Answer: Shaking is usually a giveaway that a cylinder is misfiring, which would fit with the code (the exact code would be helpful). Usually I would say you need to check the plugs, wires, coils, etc, however the fact you're hearing a noise near the intake could mean you have a problem with your intake manifold, which could also cause misfiring. I would check your plugs, cables, and coils, but I would also check the intake manifolds (assuming a V engine - it is a suburban after all). Look for cracks and check for a good seal, make sure they are torqued down to spec.
You could also have a vacuum leak causing rough running, which could also account for the noise you hear. You need to track down the source of that noise. If the source of the sound isn't easy to track you can use a piece of tubing as a stethoscope.

Engine misfire and poor mileage


How does SO maintain ever growing list of questions?

Question: Just kind of wondering, does SO ever discard questions that are too old or questions that are asked poorly? Since the questions on SO and other stackexchange sites will only grow larger, wouldn't you eventually run out of space on the physical hardware?
Answer:
...does SO ever discard questions ... that are asked poorly?

So much.  So very, very much.
Seriously though, and more to your point, check out some of the old blog articles like Stack Overflow Network Configuration and Database Upgrade for a peek at the underlying architecture.  They can always add more database servers.
Comment: thank you, will take a look at that :)
Answer: I found a random (not the most cost effective) hard drive on Neweegg for $180, for 1.5 TB. That's about $0.12 per gigabyte of storage. They're not going to run out of space on physical hardware, especially because the storage of a question probably costs VERY little space.


How to know which interaction terms to include in a regression model?

Question: I'm trying to fit a model with one response variable and 11 predictors. Of these 11 predictors: 5 are continuous, 4 are dichotomous and 3 are categorical (containing between 3-7 different categories, which I've coded with dummy variables). I'm having a difficult time trying to figure out which interaction terms to include in the maximum model. Any hints would be greatly appreciated!
Comment: This is a very vague/open-ended question. It would help others assist you if you could provide more context about the problem on which you are working. If you are just trying to find a statistical solution separate from any guiding theory, that may lead to an answer different from one more directly related to your context.
Answer: Actually, there is not a statistical procedure to indicate what interactions you should consider to your model. Instead, it is the underlying theory that should indicate the phenomena that deserves to be studied.
You should keep in mind that any additional interaction term in the model decrease the significance of the remaining terms. Further, in case that an interaction between two factors will proved to be statistically significant then the main effects of the involved factors (if also statistically significant) should be interpreted with caution since they represent the difference in the dependent variable only for the level of the other factor that correspond to the zero value.
Thus, it also make sense to test a model containing only interaction terms if this is consistent with your research goals.
Finally, keep in mind that order to check the significance of a model with too many terms you should also have an adequate large sample.
In your setting, if your study is of exploratory nature and if your sample is big enough I would consider a model with all 11 predictors as main effects and all 2 way interactions between dichotomous variables (easily interpreted if significant) while I would also considered additional interactions among dichotomous and categorical variables only if they represent interesting research questions in the context of the underlying theory.
Edit
Considering the question posed in the comment, it is not suggested to repeat the procedure excluding the part of the model that happened to be not significant, either if this part are some values of a categorical variable or some unrelated independent variables that happened to have significance over 0,05. Doing so, you admit that not statistical significance mean not causation (not correct) while this will definitely increase the significance of the remaining terms, and you may finally find a model where all coefficients are statistically significant but without a theoretical explanation since the criterion that you applied to formulate this model was purely statistical, thus based on the sampling error!
To summarize, use the theory of your field and formulate a model trying to test the hypotheses that emerges from your theoretical study and just report what you find.
Finally, please have a look at the answer of a similar question that I posted in the past!
I hope that the above helps.
Comment: Thank you for your response! That was very helpful! If I may ask a followup question... If, for example, one of my variables is categorical (containing 8 categories, which I've recoded with 7 dummy variables), do I include all 7 dummy variables in the initial model as well? And if I do include them all and several (but not all) of the dummies associated with a single categorical variable turn out to be non-significant, can I safely remove them from the final model?
Comment: Please read the edited answer.


Can not get into the College of Winterhold

Question: I can not get into the College of Winterhold in Skyrim. I know I am supposed to talk to Faralda, but she is nowhere to be found.  I accidentally attacked a guard in Winterhold and now she is gone.  I can not continue with the Dawnguard quests without getting in there.
Answer: She may have gotten herself lost during the commotion. Settle your bounty and wait a day or two away from Winterhold, then come back during business hours (just to be safe). If that doesn't help, follow Halfwarr's advice.
Comment: @Max you should post it as a question by clicking 'ask a question' in the top right corner. Also, what exactly prevents you from entering Saarthal?
Comment: I cant get into the college of winterhold. I was suppose to go into saathal but i exited it because i got mad at this one dragor. So i thought that i would get stronger so i can beat him but now i cant get in saathal either. Any advice?
Answer: The only option you can do because you are on the Xbox360 and do not have access to the console:

Reload to a previous save before you attacked the guard
Wait/Rest 30 Days away from the area hoping the NPC resets
Answer: If you have an outstanding bounty, you can skip Faralda straight and go into College of Winterhole... (it's one of the bugs)
Source: http://elderscrolls.wikia.com/wiki/Faralda
Answer: There's nothing to say you have ho go into the college to continue with Dawnguard; you can find out the location of the moth priest by asking inn keepers or carriage drivers.
Or, if it's the Elder scroll you're after, you can by-pass the college and go straight to Septimus Signus' outpost.


Gmail locked out "detected unusual activity" asking for phone # - will this go away later?

Question: I'm locked out of my Gmail account as it says it detected unusual activity and asks for my phone number to send a verification code.
I don't know why this happened all of a sudden.
I don't have a phone number to give them, so can I just wait a day or two and will I be able to log back in like normal?
Comment: No, I doubt it would
Answer: Most likely you can't wait it out. There is a trick on android if you log in to gmail with the native mail client (or any pop3 basic client) you can bypass things like this on most mail providers.
What you can do is give them a quick phone call and have them sort it out for you pretty quickly. This is a very common problem when it comes to Google based services. People don't have the phone they set up the email with and end up getting locked out. There are plenty of options but Google has amazing live support services that could have it sorted out pretty quick. So long as you can provide the essential account information they ask for.
Remember to always keep your login recovery methods up to date and you will never run in to this problem.


Can I self-publish a paperback through Amazon KDP, but make the e-book available elsewhere?

Question: I have self-published a paperback and Kindle version of a book on Amazon KDP. For the paperback, I got a free ISBN from KDP. My question is, can I also publish a free e-book version somewhere else, like Smashwords? Note that I did not enroll in KDP Select.
Comment: Did you read through their terms and conditions? They should answer your question.
Comment: Before you entered into any agreement with anyone, all rights to your own work belonged to you.

After - and preferably before, but that seems to be historical - entering into any agreement you really should consult a specialist lawyer.

That applies more in copyright than in most agreements…
Answer: As stated on a similar question on Quora, you can publish in multiple places if you publish with KDP.
If, however, you publish with KDP Select, as stated in the terms and conditions, you cannot publish elsewhere:

When you include a Digital Book in KDP Select, you give us the exclusive right to sell and distribute your Digital Book in digital format while your book is in KDP Select. During this period of exclusivity, you cannot sell or distribute, or give anyone else the right to sell or distribute, your Digital Book (or a book that is substantially similar), in digital format in any territory where you have rights.

This exclusivity appears to be for 90 days, unless you renew, in which case it may last longer.


Why did Jess write "Go to theater" again?

Question: I kind of got a theory going about the rest of the stuff in Triangle, but this really escapes me. Why did Jess have to write on the mirror again? Did someone wipe off the previous message? Who? Why? It's not like a lot of time had passed.
Answer: This movie shows the endless looping, which started when she killed Tommy and herself in a car accident.
Here I am using numbers to denote the revolution.
first revolution
In the first revolution, Jess-1 sees the message Go to Theater.
second revolution
In the second revolution, Jess-2 recognizes the hallway and the on her way to the dining room, she sees the message was already there. She wipes that message off.
third revolution
In the third revolution, Jess-3 writes that message. She tries to get out of the loop this time.
So, this message was written by Jess-3, and seen by Jess-1 and Jess-2. But Jess-2 wiped this message off when Jess-1 left. This is what we saw in the movie. However, this wasn't the first loop when she and her friends got on the boat. By looking at the number of dead bodies, it can be around 50-60th.
Since this is the endless loop, we can assume that she wrote and erased that message in the same way as mentioned before.


iPhone OpenGL ES incorrect alpha blending

Question: I have a problem with incorrect alpha blending results with openGL ES on iPhone.
This is my code for creating texture object:
glGenTextures(1, &tex_name);
glBindTexture(GL_TEXTURE_2D, tex_name);
glTextImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex_width, tex_height, GL_RGBA, GL_UNSIGNED_BYTE, tex_data);

'tex_data' is loaded from raw RGBA8888 data packed with zlib. It loads as it should, wich i've checked with a debugger.
This is my code for setting up texture before rendering:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

glBindTexture(GL_TEXTURE_2D, tex_name);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

I've uploaded a sample of what I've expected and what I've got here: sample . In the sample most of the texture in the bottom is pitch-black with 70% opacity. However openGL renders it as gray. This problem affects all of my textures I use blend with.
I've tested the code on windows with use of OGLES PVRVFrame and the results are as expected: black is rendered as black.
Answer: Found the problem. I've forgot to set opaque property of CAEAGLLayer of EAGLView to YES.
Answer: Will this help? glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)  I think this just blends the two instead of blending both against the background.
Sorry if I don't understand.


When is it worth competing to farm fields?

Question: Is it worth fighting for my opponents' fields when there are still 60+ tiles in the game and I have no fields, or is it too soon?
I usually lose games because of fields and not knowing when to lay my meeples.
Any suggestions?
Answer: If you're losing because your opponent is scoring fields and you aren't, then yes, you will have to fight for those fields.  The tricky thing with fields is that you have to commit to them before you know what they will be worth, so try to estimate in your own mind what a field will be worth at the end of the game and factor it in your calculations.
Watch out for the "cloister with a road" tile coming out early, this will cause there to be one large field at the end and a big fight for the farming.
If fighting for the farming doesn't suit your playing style then try to play in a way that prevents large fields forming -- use road junctions to break them up and try to stop people creating loops with roads.  Then build your cities away from the big fields.  Additionally, opponents who commit heavily to farming early on will be short of meeples during the game and you should be able to bully them during the game by playing tiles to slow or prevent them from completing their cities/roads/cloisters, or joining your meeples into their cities generally obstructing their completion.  With your spare meeples you should be able complete lots of features and rack up the points.
Answer: That really depends on what expansions you play and on the individual game. Sometimes you can tell very early that a field is going to be very important, when you have lots of tiny cities from the very beginning on that field. In those cases, fighting for that field can become an early priority.
On the other hand, when you're playing with the Princess and Dragon expansion, there is a good chance that you can kick a competitor out of a field (or he does it to you), so you may not have to go all too aggressive on the fields.
All in all, there is no general answer. Try to play consciously, play a lot, and eventually you'll get a good feeling for when to fight for a field and when not.
Answer: Yes, fighting for fields in an important part of the game and you should devote a percentage of your meeples to this task.  Using 2 meeples at minimum for fields will help you diversify your strategy.  Be sure to wait until about a third of the  game to lay your pieces down in fields so that you can get an idea of what your opponents' strategies are before committing too early or too late.
Knowing that you have set aside pieces for this strategy will keep you from feeling pressured about laying those meeples down or not.  It will also distract from other strategies you may be pursuing, like building cities or roads.  I would especially keep one or two meeples ready for fields as the game gets close to finishing as those may be the ones that secure the fields for you as your opponents scramble to complete cities and roads.


How to import mails by contacts from another Gmail account?

Question: I want to import emails from another Gmail account by some specific email addresses? I have created another Gmail account for family and friends and I want all mails by them in my newly created account.
Answer: First you will need to create a filter and set all those specific email addresses in its conditions, and set it up to apply a new label (say, "Family"), to all messages, including existing ones.
Then you can follow this tutorial but instead of dragging all folders into your new account you would need to drag only the label "Family" which contains all your desired messages
EDIT: There's also "Gmail Backup" which claims might help with this, but I have not tried it.
Comment: In Gmail Backup there is no option to download only mail with a particular label but I think the first part is a viable option if your email client does not crash under the workload.


Does publishing on Arxiv diminish chances of publishing in a journal/conference?

Question: If I publish a paper on Arxiv, does it diminish my chances of getting published at a reputable peer reviewed journal? Does it diminish my chances of presenting my paper at a reputable conference?
Comment: For journals and conferences consult their individual policies. Even in math.
Comment: This  has been explored here multiple times. It depends on the field, and even more on the  journal or conference. It probably doesn't enhance your chances, though. But some places accept only unpublished (anywhere) work.
Comment: @Buffy: In physics, I know of a case of journal that for some time period tracked for all their submissions whether they were posted to the arxiv (and when). They actually found that papers that were submitted to the arxiv before submission had a significantly higher acceptance rate. So, there is some indication that posting to the arxiv can increase the chance of acceptance.
Comment: @Buffy: Fields are math and cs.
Comment: @mmeent - there is a logical fallacy in your last two sentences. As the financial ads state, past returns are no guarantee of future success. While papers submitted to arxiv in the past may have had higher acceptance rates, that does not suggest that submitting some random paper there will increase its acceptance rate.
Comment: @Jon Custer: Hence the hedging with "some indication" and "can". There is no logical fallacy.
Answer: In mathematics it is extremely common for people to post their papers to the arXiv before submitting them to a journal. The idea is that this allows them to get feedback on their paper before making the submission. For instance, several of my collaborators have posted all of their papers to the arXiv. Moreover, I have never heard of a journal not accepting a paper due to its having previously been posted to the arXiv. This doesn't mean that there aren't any journals with policies prohibiting arXiv posted submissions, but I cannot imagine any mainstream journal having such a policy as use of the arXiv is so widespread that there would be a big pushback. There are even well-respected arXiv-overlay journals like Discrete Analysis which do not host papers at all but merely link to the relevant arXiv posting.
The bottom line is that when it comes to well-respected math journals, having already posted your paper to the arXiv should have no affect whatsoever on the likelihood of its being accepted to be published by a journal.
Added: One potential exception to what I wrote above are journals with double-blind reviewing systems. Such journals are extremely rare in mathematics, but they do exist (e.g., The American Mathematical Monthly). Posting an article to the arXiv and then submitting it to a journal with a double-blind reviewing system runs the risk of ruining the anonymity of the author.
Comment: Some years ago, when I wanted to submit a paper (I forget whether it was for a journal or a collection volume), the submission procedure prescribed on the web site was to post it on the arXiv and send the URL to the editor.
Comment: @BorisBukh - If I'm reading the Wiley site you linked to correctly, it seems that they allow authors to post the "Submitted (preprint) Version" of papers to preprint servers like the arXiv and that it is only the "Accepted (peer-reviewed) Version" (the one that incorporates changes suggested by referees) that is subject to the 12 month embargo period.
Comment: _In mathematics it is extremely common for people to post their papers to the arXiv before submitting them to a journal._ — It is also extremely common in computer science to post papers to the arXiv before submitting them to a conference.  In particular, some conferences require _both_ submission of a page-limited extended abstract _and_ a pointer to a full version (with arXiv as the most common option), to ensure that proofs of claimed results are not left as an exercise for the indefinite future.
Comment: @BenLinowitz Yes, I did write "accepted version". Referees are volunteers, and so the 12-month embargo on the fruits of their labor is there to help the publisher to collect rent, not because of any rightful claim of contribution.
Comment: There are certainly well-respected journals with some unfriendly policies. For example any journal published by Wiley (including fairly respected *Journal of Graph Theory*, and *Random Structures and Algorithms* in my field) [forbids posting the accepted version anywhere for 12 months](https://authorservices.wiley.com/author-resources/Journal-Authors/licensing/self-archiving.html). My guess is that most authors do not actually read the agreement that they sign, and that the publisher (currently) has no plans to enforce it. Of course, that does not make it right.
Comment: @BorisBukh - Indeed you did write "accepted version". Sorry about the misunderstanding. I certainly agree with you that there are respected journals with unfriendly policies. The point that I was trying to make to the OP was merely that posting a preprint to the arXiv is unlikely to affect the paper's acceptance at a respected journal. But your comment about all of this changing if "preprint" is replaced by "accepted version" is well taken.
Comment: @BenLinowitz The confusion arose because I thought that "preprint" means "any version before publisher touched it". I agree with you that the chance of acceptance is unlikely to be affected.


Strange, unpredictable behaviour of unsuspended cards in AnkiDroid

Question: Could you explain me the following strange and unpredictable behaviour of unsuspended cards in AnkiDroid?
For a very long time I didn't block my "leeches", because I considered it annoying. Finaly, after many years I realised that they are actually an important part of learning. That caused that many of my flashcards have now several dozen "lapses" :D
I enabled suspending my cards and now I have several dozen suspended cards. So I unsuspended some of them, but then soming strange and unexpected happend.
The anticipated behaviour was that my unsuspended cards won't be suspended again untill I give, say, 8 false answers in a row, wasn't it? But in reality my newly unsuspended cards became suspended again after one false answer!
So I started to experiment with my suspendend cards. I took 6 flashcards to an entirly newly deck and started to review them with a filtered deck. The results of my experiments are as follow:

When the limit of leeches was set to 1,2 or 3 lapses the flashcards became suspended after 1 false answer. They should obviously become blocked when the limit was 1. But why did they became blocked when te limit was>1?
When the limit was set to 4 or more (I experimented with 4, 8 and 16) the flashcards didn't became suspended after 1 or 2 false answers.
I experimented with different language set in my Anki but it seems it doesn't matter.

I tought for a while that I had found the explanation of such strange behaviour. AnkiDroid remembers the number of lapses for every flashcards. Let's denot it by L. Let's denote the limit of lapses by Limit (for instance Limit=8). I suspect that AnkiDroid suspends a flashcard when
L/Limit=a whole number.
Thus a flashcards (given the limit 8) would be suspended for the first time when L=8, for the second time when L=16 and so on so on.
So I thought that maybe the numbers of lapses of my selected flashcards (L+1 to be more accurate) where divisable by 1,2 and 3 and that's why they are suspended when Limit=1,2, or 3, because (L+1)/Limit=a whole number.
But I checked their numbers of lapses and they were as follows: 16, 24, 32, 16, 24, 48. Hence after one false answer they were 17,25,33,17,25,49. And 17, 25, and 49 aren't divisable by 3. So what the flashcards were suspended when Limit=3? On the other hand none of these numbers is divisable by 2, so none of the flashcards should have been suspended after 1 false answer when the Limit=2.
If the above is not enough I could swear that my unsuspended flashcards got suspended after 1 false answer also when the Limit=16 (at least some of them) :(
So, in a nutshel I have no idea how AnkiDroid is working on this matter and hence don't know what to do with my suspended flashcards :( And it's a problem, because I have more and more of them.
Could you help me? Could you explain to me such unpredictable behaviour? Is it a known bug or what?
Comment: You might get the answer directly by asking ankidroid developers. I recall there is some mailing list... Good luck
Comment: [correction: explain **to** me]
Answer:
Anki will continue to issue leech warnings periodically for a difficult card. The warning interval is half the initial leech threshold. That is, if you have Anki configured to warn at 8 lapses, future warnings will happen every 4 lapses. (12, 16, etc)

This is taken from the official Anki manual. Ankidroid usually achieves to follow these specifications, and it matches your observations: 16, 24, 32, 16, 24, 48 all satisfy 16 + 8x.


Information Graphics vs Brand Awareness

Question: I'm looking for some information on mapping color to graphs. To be more specific, I've got a bunch of graphs that represent Twitter, Facebook, LinkedIn and now Google+ in line charts. We've had an on going discussion about whether to choose colors that people associate with each social media network or to ditch them completely. The issue is that the first three are similar blues and the last is black (or mulit-colored). Some argue we should split it, and have Twitter and Facebook be in the color that people associate with them but not LinkedIn or Google+. Others argue that if you have two that people recognize from their memory it would confuse people not to have the other two also represented. I've done a bunch of research around color and graphs. But I can't find anything that really answers this problem.
Answer: If there are too many items using similar colours you're better off using a different labeling technique. If the chart is branded in the correct colours but everything looks the same the chart won't actually be readable so you negate the purpose of it existing. It's better to go off-brand for the colours and keep the chart readable than trying to crowbar in  colours just as a nice-to-have. (Not to mention the negative assessability issues of having low-contrast differences in the colours).
If you do want to keep with the relevant brand colours then at least provide the user with a way of identifying which line is which - possibly via clicking the legend labels for each one and have that highlight on the chart - See StatCounter for an example of how they deal with similar colours on a chart.
Comment: I know that the eye can visually distinguish up to 6 shades of a single color. My thought was to create "caricatures" of the blues people associate with each brand, stretching the truth a bit in order to make them more distinguishable. So we hit the accessibility issues as well as brand association. Minimizing the need of a legend/key since there are many graphs on this page.
Comment: Users can already turn different lines on an off as you suggested above. But since I haven't been able to find anything to support my theory, I'm thinking I might as well just pick nice colors and call it a day.
Answer: I think you should check this site http://www.good.is/infographics which has lot of infographics covering different categories.

Information Graphics vs Brand Awareness


When should I set up a school?

Question: I think my settlement is somewhat stable now. I have a mine and quarry, so reliable sources of iron/coal/stone. The food supply seems pretty robust, I have three gatherer/forester stations along with two crop fields and everything seems to be chugging along fine. Should I expand some more (build more houses, farms, pastures, etc.) or should I start building some non-essential support buildings such as schools and churches?
Answer: A few facts to consider:

Students graduate at age 16 if they live next to the school.  If they have to walk (back and forth) to the school, that walking time does not count toward education progress.  This is why players are reporting 20 year old students.
Education gives the worker a ~50% productivity increase.  However, education does not make a worker walk faster.  This means that hunters, gatherers, foresters,  laborers, vendors and tradesmen do not benefit much from education.  Fishermen, miners, quarrymen, firewood cutter, blacksmith and tailor all benefit from education.
Having students locked up in school delays the creation of couples.  This could tip a city that's on the edge into stagnation.  If you have fewer than 10 children, you should probably be focused more on making more children, rather than education.
Education also reduces random accident death, so you'll want it eventually.

So, putting it all together, I'd build a school when all of these criteria are met:

There are more than 10 children.
There are more than 8 workers in non-walking jobs.
There are no more pressing needs (food/firewood).
There are at least 4 spare laborers (+1 to be a teacher) to handle the gap created by the first wave of students.
Comment: I think this analysis doesn't take into account the fact that, in small settlements, a one man job by an educated person has to be juggled between one and two uneducated people.  This means that the people being switched have to travel to the new job and may not be in optimal housing for that new job.
Comment: It benefits farmers as well apart from `. Fishermen, miners, quarrymen, firewood cutter, blacksmith and tailor`
Answer: Building a school and training students to completion causes the age of maturity in your town to move from 10 (months) to around 20. That means that for 2.5 years you will have people die of old age/other causes and not be replaced. If you can afford that, based on your stockpiles and productivity, it is advantageous to open a school.
Answer: There's almost no time too soon to build a school.  Educated people are more efficient and also have less workplace related accidents.  That's a force multiplier that's hard to pass up.  As soon as your people aren't going to freeze or starve, put up the school.

When should I set up a school?


Change Background Color For CPT Template

Question: Please help. Anyone knows of the proper way how to change the background color for a custom post type template only? Using chrome's inspect, I saw that my theme uses the ID of "#main" for all the page's background color so if I try changing it, all pages got affected. Just looking for a way on how only the CPT template will get affected. If it helps, below is a snapshot of the theme.
Answer: Collapse the
. I hope that you have
 tag which id and class attributes like below

Inside the class attribute you can find the post type as type-post, so you can write css for post.type-post  if you have used <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> like this in your custom post type template and your custom post type name is article for example, then you have a class called type-article inside the class attribute of
 tag.
Also you can add you own class by <article id="post-<?php the_ID(); ?>" <?php post_class('my-custom-post-type-name'); ?>>
Comment: Thanks!! I was able to get the post type class and change its background color temporarily to #CCC (you can see that on the updated screenshot above). However, it still shows a left and right white background which is controlled by the div id "main". How can I make its background color changed only for my CPT Template?
Answer: You can use the body's classes :
body.single-artist #main{
    background-color:red;
}


How does the amount of down payment of a car affect loans/interest?

Question: My credit rating is poor but I'm looking at a car that is around 27,000. If I have a large down payment (40%) to put towards the purchase of the car would I still get approved for a loan for the remaining $16,200? Does the down payment affect what interest rate I'm able to get or does it no make a difference since my credit is less than perfect? Do the banks consider larger down payments a positive thing?
Any insight would be greatly appreciated.
Answer: This is all dependent on the lender. However, generally, lenders are willing to offer you a better interest rate if you have a larger down payment. This is because the down payment is instant cash for the bank and they have to lend out a lower amount - thus taking on a lower risk. You will have to contact your specific bank to find out the details.
Here's an excerpt from an article I found through Google:

Aside from having an excellent credit history, a substantial down
  payment can positively affect your auto loan rate. If you are willing
  to make a decent down payment on a new vehicle, the lender may be able
  to qualify you for the best interest rate offerings they have. Because
  the down payment represents instant cash in the pockets of lenders,
  they will be more flexible when it comes to payments and rates.
Comment: This doesn't make sense. When you **buy** a car, you pay the **seller**. Lenders don't get the down payment; the seller does, and you borrow money for the rest of the purchase price.
Comment: Have I been misinformed? Everywhere on the internet and common sense  says the down payment shortens the amount needed to borrow. If that is indeed true, why would the down payment go the the dealer/seller?
Answer: The down payment probably won't affect interest rate as much as it does mortgages since the time frames are shorter, there's less spread in short-term rates, and cars are MUCH easier to repossess than houses (less risk). It might affect the eligibility, especially if you're buying the car at or above market value. A 40% down payment should help that considerably, though.
However, you should put down as much as you can. I wouldn't expect a big difference in interest rate, but the other benefits (paid off sooner, lower payment) definitely make it wise to put more down upfront,
Comment: The reason I want to stay within 40% is to borrow less than needed versus if I put down 10%. So, from what I'm understanding is that in terms of down payment all that pretty much affects is how much to borrow from the bank?
Comment: What do you mean by eligibility?
Comment: @c1766 ability to get approval for financing.  They may not approve you for 5% down but might at 40% (since they have less risk of getting their money back in a repossession).
Comment: @c1766 Don't get me wrong - you should put as much down as possible, but I would not expect a massive difference in interest rate.


How thoroughly do referees review papers submitted to theoretical computer science conferences?

Question: Theoretical computer science conferences usually have a review period of about two months. Programming committee members have potentially dozens of papers to review, alongside their regular day jobs. How thoroughly are papers usually reviewed? What kind of heuristics are often employed to review papers faster? Does correctness of every proof get verified in detail, or do reviewers put some trust into the authors getting it right?
Comment: I just attended SoDA 2015, and although I didn't submit a paper, I believe that they only look at the abstracts. And if they want to know more about a paper, they will email the author asking for a full copy. How many papers are submitted and if they are reviewed as the full paper at all will depend on the conference.
Comment: There are lots of papers that fall in the category "even if all technical details are correct, this paper is not interesting enough for this conference". Helps a lot so that you can focus on the papers that should be accepted if they are correct.
Comment: This might be of interest to you: [The NIPS experiment](http://mrtz.org/blog/the-nips-experiment/)
Answer: It varies.  As a first year PhD student I was asked to review a theory paper, even though I had almost no background in the field.  The professor explicitly said I only had to read the first half of the paper, and I only had to tell him if it looked interesting and correct.
At the same time I'm sure many reviewers do a diligent job and don't outsource their reviewing to inexperienced graduate students.
Related: http://www.phdcomics.com/comics/archive.php?comicid=1760
Answer: If a PC member has dozens of papers to review, then either a) the conference is doing it wrong or b) the PC member is expected to outsource most of the reviewing work to external reviewers.  A good heuristic for not over-burdening the reviewers is to expect each reviewer to handle no more than 3-6 papers.  With those sort of numbers, it's entirely reasonable to expect that each paper will get reviewed in great detail.
In practice, however, a great degree of variability in the quality of reviewers.  Some reviewers will do a very thorough job---my theoretical papers often get back detailed comments from at least one reviewer that makes it clear that they worked through all of the math.  Everybody in academia also has "bad reviewer" stories about people who didn't take their job seriously.  For example, I recently saw a reviewer provide a review which, in its entirety, said, "Accept as talk." Good conferences with responsible program chairs try to mitigate these effects, but there's always a good deal of noise in the process.
Comment: _If a PC member has dozens of papers to review, then the conference is doing it wrong._ — Theory conferences use a different PC architecture than other areas of computer science.  For major theory conferences like STOC, FOCS, SODA, SOCG, etc., it is completely standard for each PC member to be assigned 30-40 papers.  PC members are strongly encouraged to solicit external reviews for their papers, but those external reviewers are **not** part of the PC.  **It's not _wrong_; it's just different.**
Comment: @JeffE This sounds like a difference in terminology then... what these conferences are calling a PC member, I have more typically seen called a PC chair, and the external reviewers are equivalent to what I typically know as the PC members.  I will update my answer accordingly...
Comment: Also, theory conference PCs are kept small because PC members are forbidden from submitting to the conference, and because serving on the PC is a **lot** of work.  As a result, serving on the same PC more than once per decade is rare, and serving two years in a row is almost unheard of.


How often to do a tire rotation when you drive very few miles a year?

Question: I have a Hyundai Accent 2014 and the user manual recommends to do a tire rotation every 7,500 miles. I'll be driving around 2,000 miles a year. Should I still do my tire rotations every 7,500 miles (which would be about 3 years and 9 months)? or should I do them more often since I drive very few miles a year?
Comment: I would just stick to their recommendation.  It is tyre wear that is important which is due to distance travelled, not time.
Answer: In your situation I would do a "rotation" once a year.
Rotation is limited by the type of tire, if they are assymetric or have a specified direction of rotation (winter tires are especially noted for this) then they can only move front to back etc.
Comment: If they have an outside face, they can be put on any corner.  It is only if they have a specified rotation direction that they can only be moved front to back.
Comment: You would do a rotation once a year assuming that every year I drive exactly the same amount of miles as the previous year right?
Comment: I have winter once a year so have to change tires anyway so yes.
Answer: What @HandyHowie says in the comments is spot on. You should most likely follow the manufacturer's recommendation on mileage and not worry about the time. Like he states, it's the wear which is important and time doesn't wear tires, it's distance.
NOTE: Dry rot will occur over time and not distance. Pay attention to your tires. If the car is kept outside (not garaged) this will happen sooner. This will happen whether the car is driven or not. To recognize dry rot, you'll see cracking in the surface of the tire, plus the tire will usually not be as black as a fresh tire, but look a little more grey.
The main purpose of rotating your tires is to ensure even wear. You can always rotate them sooner than manufacturer's recommendation, but if you do, still rotate at the same distance interval. (e.g. - If you rotate at 2000 miles, rotate them every 2000 miles.) If you don't, you'll cause the uneven wear you're trying to prevent in the first place. It's easier to just follow the manufacturer's recommendation, as this is a set interval and something you should be able to recognize and follow easily.


How to install Xbox 360 "Optional Media Update"?

Question: It has been almost a year since I last played on my Xbox, and I want to start viewing some WMV files on it through Windows Home Server. When I tried to play a WMV file it says I need a media update. According to a few websites, I need to get an Xbox live silver or gold account and download the optional media update. I did just that and did a general system update. However, after that I was still unable to play my WMV files. How can I get my Xbox 360 to download this Optional Media Update? I'm trying to play some files from http://microsoftpdc.com/Videos which looks to me in HD content.
Comment: "Silver" accounts are just "Free" accounts. So creating one is a simple as signing into your gamertag and pressing the Xbox button and choosing Join Xbox live.(If you don't do this, and create an Xbox live profile without being signed in, this will result in another profile seperate to your original. Also there are media streaming programs out there if you want to use third party programs like Tversity that will convert your files on the go to the Xbox's format.
Comment: Okay, you did that. Then note that some file formats even with the optional media update will not play in the Xbox. Unless your using a streaming program like TVersity.(That I have stopped using because it may or may not have vulnerabilities. Look it up, issue is really being online with a streaming program. Shouldn't bother many.
Answer: I had to go to Game Marketplace -> Explore COntent -> All Games -> Browse All Games -> O -> Optional Media Update. From here I was able to download Optional Media Update as an addon and run my files.
Comment: Keep in mind if you have previously downloaded this file elsewhere(previous Xbox, mates Xbox, etc.) It will not be registered to the Xbox and most likely won't work offline. To fix this, download it with a profile that hasn't downloaded it or re-register your content to your current Xbox.
Answer: I just did this yesterday.  When you try to play an unsupported video, it will prompt you asking if you want to download the optional media update.  If you go through the menu screens, it will then download and install it.
Comment: This isn't the case for me.
Comment: This also did not work for me. Downloading the media update manually seemed to work just fine...
Answer: Connect to live. Try to play a divx under video library from portable device (USB). It will give you an error code and then ask if you want to download the update and take you directly there. I did this with a modded xbox and did not get banned. Otherwise I never connect to live but this is the only way to get the optional media update
Answer: As of 2014, this is now in "Add Ons". Searching in "Games" will not find it. Go to Add Ons, browse "O", find "Optional Media Update".
Answer: I just did this (2013), it was really easy.
Just go to the "Search Games" option where you would manually type in the game name, and instead type in the word "optional" (or really just type OPT and it auto-finishes it for you).
There's a 2008 & 2011 version of the Optional Media Update.  Download the 2011 version, it is 100% completely free -- I did not need a Silver or Gold membership to download it.  After that you're all set, and you can play MP4s on your 360.
Comment: If you didn't have an account, how did you connect?


Schengen Visa at the border for spouse of ship's crew member

Question: I am an Indian seafarer onboard a merchant ship. My wife is also onboard with me. Vessel wil be visiting Spain, Germany, and Sweden for discharging cargo. Can my wife sign off from any of these ports? She doesn't have a Schengen Visa, can she get a transit visa upon arrival via ship?
Comment: There is something called a Seaman's Book, it would matter if she has one of those.https://travel.stackexchange.com/questions/53090/what-is-a-seamans-book-and-can-it-really-replace-a-passport
Comment: She doesn't have a seaman book she doesn't work here she is just a passenger ( supernumary)
Answer: Generally, to get a visa at the border, she would need a seaman's book under Article 36 of the Schengen Visa Code.  However, there is an exception in Article 35 that might benefit her, especially if you have been at sea for longer than three months:

CHAPTER VI
Visas issued at the external borders
Article 35
Visas applied for at the external border

In exceptional cases, visas may be issued at border crossing points if the following conditions are satisfied:

(a) the applicant fulfils the conditions laid down in Article 5(1)(a), (c), (d) and (e) of the Schengen Borders Code;
(b) the applicant has not been in a position to apply for a visa in advance and submits, if required, supporting documents substantiating unforeseeable and imperative reasons for entry; and
(c) the applicant's return to his country of origin or residence or transit through States other than Member States fully implementing the Schengen acquis is assessed as certain.

I say "for longer than three months" because if she has been away from her place of residence for a shorter period, she should have gotten the visa there before she left, and she would not qualify under point 1(b) above (" has not been in a position to apply for a visa in advance").  She will in any event have difficulty with the latter part of point 1(b) ("unforeseeable and imperative reasons for entry").
(The reference to Article 5 of the Schengen Borders Code should actually be to Article 6, and the conditions are the normal conditions of entry into the Schengen area apart from that of having a visa.)
If there's any way she can get a Schengen visa before you arrive in Spain, Germany, or Sweden, she should do that instead.


What does Don Corleone Sr. mean when he says,"...all the 'comedy' you're playing with that young girl?"

Question: In The Godfather, Don Vito Corleone is mad with Santino about talking out of turn while he is having a conversation with Sollozo about not wanting to bankroll ("finance") their drug business. Vito says to Santino, "What's the matter with you? I think your brain is going soft from all the comedy you're playing with that young girl. Never tell anyone outside the Family what you are thinking again."
Comment: I suggest that its from thinking he has a chance with the young girl.  But this is just a theory and not enough for me to post an answer...
Comment: I wonder if you are asking about the exact word "comedy?" If you are, he means "fooling around" or some other phrase to describe irresponsible behavior. It is perhaps a small reminder that not only if Vito not a native speaker of English but in fact spoke Italian/Sicilian as an adult. That is a nice choice on the part of the writer -- somehow it feels very natural to have Vito speak slightly unidiomatic English.
Answer: Santino was having affairs:

He also has several mistresses, including his sister Connie's friend Lucy Mancini.
Answer: I'm fairly sure it was a comment regarding the affair he was having with the bridesmaid from his sister's wedding that he was having an affair with. I've always assumed she was the mother of Vincent, Andy Garcia's character in The Godfather 3.
Comment: Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer).
Comment: Vincent's last name is Mancini (which he changes I think to Coreleone) and the bridesmaid is Lucy Mancini who IIRC has quite a few pages devoted to her in the book -- whether she has the kid in the book (since Sonny is killed, Vincent had to have been born near the time of the other events of the film) I do not recall.


what is the root note of D/A

Question: i came across a weird chord, D/A. but is the root note of this chord D or A? A is being played as a bass and is lower.
Answer: The root of a chord is not always the same as the lowest sounding note. When the lowest sounding note is the root, we say the chord is in root position. When it's not, we say the chord is inverted or is an inversion.
Chord names with slashes are inversions. In this case, the lowest sounding note is A, but the root is still D because the rest of the notes are D and F#, and D F# and A form a major triad with a root of D.
Comment: Note that with D/A the F# and D notes can be in any order, and there may or may not be octave copies of all three notes played in higher registers.

what is the root note of D/A


CSMA/CD: minimum frame size for Fast Ethernet and Gigabit Ethernet

Question: In csma/cd the minimum frame size that should be transmitted in twice the propagation time for the standard Ethernet cable (10 base 2 or 10 base 5) . But how to maintain the same frame size for the fast Ethernet (100 mbps) and gigabit Ethernet (1Gb/sec) ?
Answer: Due to collision detection requirements, the collision domain for Fast Ethernet was significantly reduced: only two class-ii repeaters (96 bit-times delay or less) are allowed between any two nodes (or a single class-i repeater). Also, all Fast Ethernet variants are of the link-segment type (using duplex signaling with twisted pair or fiber), allowing for faster collision detection.
For Gigabit Ethernet, reducing the collision domain according to the single-repeater rule is not enough, so frames need to be extended to the full slot time (4096 bits) as minimum. Alternatively, multiple frames can be sent back-to-back without releasing the carrier.
While half-duplex operation was defined for Gigabit Ethernet (with a single repeater), repeaters and hubs failed to emerge - switches had become so cheap that the restrictions with half-duplex operation didn't make sense any more.
To understand the underlying mechanisms it might help to look at an earlier question and read the IEEE 802.3 specifications, especially Clauses 2, 4, 13, 29, and 42.
Answer: I  have tried to find my own question answers @Zac67 please correct me.
We know transmission time, T.T = 2 * propagation time ,T.P
Which is frame size / bandwidth =( 2 *length of cable) / velocity.
Given bandwidth BW= 10 mbps.
Let length of cable  and velocity =d and v respectively.
Now 100 mbps= 10BW and 1 gbps= 100BW.
For first Ethernet,
<code>                     frame size / bandwidth =( 2 *length of cable) / velocity
                 =>L1 / 10BW = 2*(d/v)

                => L1=2*(d/v) *10BW

               => L1 = 10k bits where k = 2*(d/v) BW
</code>
For gigabit Ethernet,
<code>                     frame size / bandwidth =( 2 *length of cable) / velocity
                 =>L2 / 100BW = 2*(d/v)

                => L2=2*(d/v) *100BW

               => L2 = 100k bits where k = 2*(d/v) BW
</code>
Now we have to keep the frame size constant, where as BW is increasing, so we need to minimize the length of the cable because velocity is constant.
If L is the length of the cable in standard Ethernet then to maintain the same frame size for fast Ethernet the length of cable can be reduced by factor of 10 and then for a gigabit Ethernet the length of the cable is decreased by 100.
Comment: 10BASE-T has a maximum cable length of 100 m. You can't decrease that by a factor of 100 for 1000BASE-T to **1 m**. Instead, you need to look at the *total propagation latency*.
Comment: @Zac67 could you edit my answer I don't understand..
Comment: Sorry, I can't do your homework.
Comment: In fact, 10BASE-T, 100BASE-TX and 1000BASE-T all have the same reach of 100 m.


How long can the runners on mint plants be?

Question: I have a chocolate mint, currently in a container. I have a small patch of soil surrounded on four sides and am thinking about moving the mint to there, but I do not want it to escape into the lawn. Three sides do not concern me, but on the fouth side the space is bordered by a narrow cement walkway. How wide would the walkway need to be to keep the mint from invading the lawn via runners?
Answer: I would firmly suggest that you source either a thick plastic pot of large size, a 5 gallon bucket, a section of pipe, or a chunk of pond liner (EPDM rubber) and sink it into the ground surrounding your mint on all sides (you can cut the bottom out of the pot) with 3-4 inches (75-100 mm) aboveground and 12-20 inches belowground.
I love mint, but I regret planting it in my garden without firm containment. I have certainly seen runners more than 2 feet long, though I don't have an exactly analogous situation with a paved path - but I would not care to bet on it serving as containment. It's now firmly a part of the pantheon of weeds here.
Comment: I tried the buried pot method, and the mint still managed to escape the pot - I'm still not entirely certain how, because I was watching for runners and was diligent about removing flowers. Solved the problem by getting a pet rabbit who can eat a ton of mint.
Comment: Is it invading also the lawn?