Is Solipsism self-defeating?

Question: If only my mind existed it would have to create the concept of time but nothing can be created without time, therefore solipsism is self-defeating. Shouldn't this automatically rule out solipsism?
Comment: Asserting "nothing can be created without time" already contradicts your commitment to solipsism. So, no.
Comment: I mean the verb "creating" is an action, therefore it implies time. I can't really create time without time. So I don't really understand why so many people say it is impossible to disprove the hypothesis.
Comment: I have always wondered why there are not more people who believe in solipsism.
Comment: @puppetsock - It's a process of natural selection. They don't believe in busses, therefore they try to cross streets without looking out for busses, and...
Comment: You'll get there. Getting caught up in the meanings of words bodes well for your career as a philosopher :)
Comment: i like merleau-ponty on these sorts of questions, even tho what i read i didn't really understand. the idea *seems* to be that it makes no sense, perhaps because to perceive, not just think even, we have to take the world for granted,. pls just read the book, the visible and the invisible, not take my word for it
Comment: Thank you for this. I've never heard this beautifully succinct argument before.
Comment: So instantaneous creation is (in some fundamental sense) not possible? But instantaneous creation seems conceivable, so presumably it's not logically impossible. In what other sense are you claiming impossibility?
Comment: @Roddus Doesn't creation require time? Any action, any verb in my opinion requires time even if someone says "_The solipsistic mind **IS** or **EXISTS**_". The idea that something doesn't have to be created in order to exist works only with things that are _infinite_ and not _finite_ as a mind. Finite implies _"finite in what?"_.
Comment: I was thinking of the creation of the Universe as an example. If time exists ony in the context of the Universe once created, then presumably the creation of the Universe was instantaneous. I suppose if only my mind exists, there is still a Universe - it's just my mind.
Comment: How a solipsist is sure about the existance of his mind anyway?
Answer: Connecting solipsism with time is an interesting angle. I haven't encountered it before in the discussion of solipsism, which I take to be the view that only I exist or (more formally) :

Solipsism is the assertion according to which, from a theoretical view-
   point, there exists only one subject: that which I constitute myself - and
   according to which this "I" is "alone" and "unique." (Elliott Sober, 'Why Not Solipsism?', Philosophy and Phenomenological Research, Vol. 55, No. 3 (Sep., 1995), pp. 547-566 : 547.)

Your question appears to assume that at least something else really exists, apart from yourself, namely time : and if this is granted, then clearly solipsism is false, 'self-defeating'.
But there is no need for the solipsist to grant that time exists independently of her- or himself. All the solipsist is committed to, at most, is that s/he experiences thoughts, sensations, and so forth as if they were temporal - as if they were occurring in time.
Time for the solipsist is not something which exists in itself or which is inherent in reality as an objective dimension or feature. Time is nothing but a form under which the solipsist self-represents his or her experience. The solipsist's experience is such that s/he experiences thoughts, sensations and so forth as occurring temporally, e.g. one after another. But this only means that s/he experiences these things as if they were in time, it does not follow (on the contrary) that they actually are in time. The capacity or necessity for experiencing temporally, for imposing the form of time on experience, is simply a feature of the solipsist's cognitive apparatus.
Someone might argue that if there exists only one subject, i.e. the solipsist, then s/he could not be under the constraint of experiencing thoughts &c. as if they occurred in time. As unconstrained by anything else, because ex hypothesi there is nothing else, the 'temporal constraint' (as we might call it) could not apply. But there are two points in reply : (1) it may be simply a contingent fact that the solipsist experiences temporally, so that there is no temporal constraint but only the mere fact (which could be otherwise) that the solipsist does experience temporally. (2) Contrariwise, because the solipsist exists as the sole subject - because only the solipsist exists - it does not follow that the solipsist does not have a fixed or essential nature by virtue of which s/he necessarily experiences temporally even though time does not exist.
I am not endorsing solipsism, simply trying to show that it is not self-defeating in the way you have interestingly suggested.

Historical note
The idea of time as a human contribution to experience rather than something objective and external to human experience derives from Kant's Critique of Pure Reason (1781/ 1787), I 'Transcendental Doctrine of Elements', Part I, §II 'On Time'. But Kant was not a solipsist.
Comment: What about this: (1) A solipsistic mind exists. (2) The solipsistic mind **creates** also the **laws of logic**. (3) Therefore the laws of logic come after the mind. (4) The statement " _A solipsistic mind exists before the laws of logic_" is impossible because it goes against the **law of Identity**. Namely it is impossible to identify something that is outside of the laws of logic.
Comment: Hi : I don't think a solipsistic mind can create the laws of logic since this suggests that, through creation, they come into existence. But that means that now not only the solipsistic mind exists but also the laws of logic. The solipsistic mind is then not the only existent, which is contrary to solipsism. Over to you - and thanks (however the argument goes) for an unusual reply. Best - Geoffrey
Comment: If I am not wrong Kant doesn't say that nothing external needs to exist, he simply states that we have no objective access to time. He even refutes metaphysical idealism, and solipsism is pretty much the same thing.
Comment: You said: _Time is nothing but a form under which the solipsist self-represents his or her experience._ It's interesting to notice that it is impossible to create a statement without using a verb (i.e an action) that implies time and therefore space. _The mind **does**, the mind **represents**, the mind **exists**_. I still find it self-defeating. Anyhow, I'll ask you another question: How can something finite exist without having been created? Finite in what?
Comment: I did not say and do not believe that for Kant 'nothing external needs to exist' : he posits the noumenal world in his two-world metaphysic.
Comment: Time could exist noumenally - the noumenal could be spatio-temporal - how could Kant deny this since he has no access to the noumenal? But our experience of time cannot derive from the noumenal reality of time since we have no way, no possibility, of representing the noumenal to ourselves. All we can say is that we have no knowledge of time other than how it intuitively appears to us. Even if time is noumenally real, it is not its noumenal reality that brings it into our experience but our a priori intuition of it. In this sense it is a human contribution to experience.
Comment: My point was that the nature of the solipsist might be such that the solipsist has an illusion of time. Nothing happens in time but the solipsist imagines that it does. The illusion of time might be inseparable from the solipsist's experience. There is no reason unless you make extra assumptions why the solipsist should have incorrigible self-awareness of the nature of her experience or even of her own nature.
Comment: Btw the answer is not about Kant. I could have omitted all mention of Kant without altering the substance of the answer in any way. I merely added Kant as having suggested the idea of time as a human contribution - it was a peripheral historical acknowledgement. One which I am beginning to regret making.
Answer: If anything creates the Universe (my mind, my cat's mind, God, whatever), then that thing had to create time in some form, and according to your reasoning that would require time.  Therefore, your argument isn't limited to solipsism, but covers many other philosophical and religious ideas.
Answer:
If only my mind existed it would have to create the concept of time

You would have to create your own experience of time, yes. That's kinda what the idea of svabhava, substance, is. One problem with substantial persons, according to Indian Buddhism, is that we don't seem to be in complete control of things. I might infer that I am not substantial and did not create myself.
Buddhist philosophers have spent a lot time clarifying the nature of impermanent time, too, and often, not always, say that elements of cognition must have substance if they are to appear and disappear, in time. If they're right, then your solution to the problem of other minds is defective because time is just how it is. Not everything is created.
Answer: The question is grounded in a false assumption that creation require time. Time cannot exist without creation and vise versa.
Experientially, time is a measure of continuous change in the observed world.
Empirically, time is relative to the speed of matter in motion. From a scientific theory worldview, time began at the big bang and stops in a black hole. They are woven from the same fabric of space-time.
So regardless of how the observed world was created, it was done in such a way that renders the question incoherent.
Answer: I have a simple and different argument. I call it the "Location of mind argument"
My argument is against especially the "Metaphysical solipsism" the most strict form.
Lets start with the definition of solipsim to make it clear:
Metaphysical solipsism is the variety of idealism which asserts that nothing exists externally to this one mind, and since this mind is the whole of reality then the "external world" was never anything more than an idea. Everyting else are the figments of the mind. It can also be expressed by the assertion "there is nothing external to these present experiences", in other words, no reality exists beyond whatever is presently being sensed. The aforementioned definition of solipsism entails the non-existence of anything presently unperceived including the external world, causation, other minds (including God's mind or a subconscious mind), the past or future, and a subject of experience.
https://en.wikipedia.org/wiki/Metaphysical_solipsism
So I simply want to ask the owner of this argument or philosophy, the solipsist individual or any other person who is willing to explain this theory witin a solipsist perspective.
Can you locate where mind is?

If yes please point it in your body

If you show your brain as the location of the mind then you must agree that
brain exists outside the mind.

If you agree that your brain exist then you have to agree that your body must
exist in complete form at least to carry your brain.

If you agree that your body exist in a physical complete form then there is
a solid possibility that other physical forms can exist at least.

If other forms can exist then the theory"solipsism" it self is refuted

Most possible location of the mind: Can science prove or provide evidence that the brain is the source of the mind

If no how you are so sure that you have a mind 100 %. How can you completely beleive in anything that you can not know where it is? So, what is your evidence that you have a mind? How do you know it exist?

If you are not sure that you have a mind how do you assert that your mind
exsists?

If your mind does not exist, then nothing is left for existance and you do not exist.

If you do not exist you can not be a solipsist or anyting

Is Solipsism self-defeating?


Somebody's opus, if not mine

Question: My coworkers and and I were talking about a specific person the other day.  Who were we talking about?
Answer: You were talking about:

 Satoshi Kon, who directed: Perfect Blue (top left), Millennium Actress (bottom left - Catherine Black (played by Megan Gallagher) in X-Files, who is associated with the Millennium Group, and appeared in the X-Files series Millennium), Tokyo Godfathers (top right - a Japanese version of The Godfather), and Paprika (bottom right - from Blue's Clues)
Comment: Well done!  Were image searches involved, or did you know them?
Comment: I knew the top left :P (Being the culturally illiterate person I am, I image searched the rest, although yeah I can see the top right faintly. Then the association came from a reasonably good google search, with the bottom left misidentified)

Somebody's opus, if not mine


How do I get the size of a file on disk on the Commodore 64?

Question: As the title, really. I'm reading a SEQ file into memory, and need to know how big it is ahead of time. I know that I can get the size in blocks by parsing the directory, although it's ugly, but the disk system itself knows the size in bytes. How can I get it to tell me what it is?
Comment: Perhaps a stupid question, but do you *really* need to know this? What for? You've got the whole Commodore 64 to yourself, so no need to allocate memory. Just read as much as you can, and if the entire file does not fit into memory, process in chunks or throw an error, depending on what you're trying to do.
Comment: I do really need it.
Answer: For a SEQ file, the directory holds the location of the first data block; each data block other than the last holds 254 bytes of data and the location of the next block, while the last block holds up to 254 bytes of data along with a count of how many are part of the file.  Although the drive can tell when all of the bytes of a file have been read, there's no way it can determine the number of bytes within a file without examining every sector thereof.  It's possible that code which uses the block-read (B-R) command to read the first two bytes of each block while ignoring the remainder might be faster than code which reads all of the data, but trying to determine a file's length is apt to be a slow operation in any case.
Comment: @DavidGiven: It would probably be possible to write some machine code code for the 1541 which could read and transmit the first two bytes of every sector on a track in a single revolution.  If that were done, the first random seek of a file would require about 250ms for each track that contained part of the file; if the C64 kept the information after reading it the first time, random fetches could be extremely fast if one had a routine that instead of being given a track and a sector number, would be given a track and a bitmap indicating what sectors were of interest, and would...
Comment: I thought that might be the case, but I was hoping there was a way around it. I assume this is also why seeking into a file is not supported --- the drive would have to go back to the first block and then look at each block in turn. (Of course, it could. As no data would be transferred it would be quick.)
Comment: ...read and transmit the contents of the first sector it sees that qualifies.
Answer: It is a little bit involved but doable.
All but the last sector holds 254 bytes of data (2 being set aside for track/sector links to the next sector in the chain). The last sector has a 0 in the track link field and a number indicating much of the sector is actually used in the sector link field.
If you need the exact byte size of the file there is no way around crawling through the track/sector chain to get to the last sector. The first sector you get from the file's directory entry.
However, if you just need the "worst case" in number of sectors (fx to be able to bound a buffer), you can get the number of sectors used directly from the directory entry of the SEQ file, without following the chain. (Assuming the disk file has been closed properly, of course.)
Either way, you will have to read in and process the disk's directory structure. There is no DOS command or ROM routine to get the value directly; the disk system itself does not know the size in bytes.
Answer: Reading the directory (Filename "$") like described on page 23 of the manual is the way to go. Every other attempt would be even more 'ugly' If not slower.
Going thru the Directory is rather straight forward (the example can be streamlined) Entries are 32 bytes each with the file name in position 3..18 and total number of blocks in 28/29 (Low/High). Simply loop around reading them until the name matches and then pick the length in blocks.

Some Considerations:

How much will be wasted by taking the number of blocks times 254?
Lets be serious, for a real world application, knowing the size in bytes, prior to reading it anyway, seams rather useless. After all, any knowledge would be only useful to determinate if it can be loaded at all. Taking the number of block times 254 will always end up with 0..253 bytes above real length length, but -and that's important for memory considerations - never below. 253 Bytes at 64 KiB, that is less than 0.4% Not sure if it's really worth to care about.

What will be the price to be payed when doing so?
Using the simplified formula will end up refusing to load files that are exactly within 253 bytes of available space. So before investing much time in alternative routine, one should ask how many files will fall into this size range? Is there a worthwhile gain beside theoretical 100% fill?
Adding an ability to 'fully' load may still end up with an unusable file - at least if extending isa legal operation :)

What is the price of byte exact size determination?
Essentially doing so means reading all blocks to reach the last and then checking how many bytes are used there - which may or may not work as DOS does not really keep record about how far the last block is used at all.

Is There a Sensible Solution?
Well, the last paragraph already had it: Determination of the last block and it's filling level means reading the whole file, so why not

Deny any file with a size clearly above maximum

Read any below that threshold into memory

Break with an error (and reset any marker made so far) if it's larger than the memory available

Clear maximum is defined as the number of blocks that could store a file made up from the maximum memory available for that file or simply
(BytesAvailable/254)+1
The best part, this is a constant able to be calculated at compile time, so the whole checking at run time comes down to a 16 bit compare.
Performance wise this will perform

for loadable file like accessing the directory plus reading the file
for clearly non loadable files abort right after reading the directory
for the few files between max-size and (max-size mod 254 + 1) take as long as checking it's length by following the blockchain.

So instead of always spending the time to follow the chain, AND then spending that time again to load, every load is reduced to ... well, load time. Only the (asumable) small number of cases of being "just a little bigger than the memory but less than 254" will spend the whole time parsing the chain (which are exactly the cases were it's needed) before issueing a 'To big to load' error..
Comment: I did not vote you down, but I suppose it was because OP already knew of the method you describe but doesn't want to use it.
Comment: Well, _I_ upvoted you. This is the only technique which doesn't require direct access to the filesystem structure, which means it'll work on non-Commodore disk systems. It doesn't give the byte size, sadly. Also, I vaguely remember seeing that the directory command supports wildcards? If so, I could just pass the drive the filename and it'd return exactly one entry, which would make parsing easier.
Comment: I appreciate the downvote. Except, it seems like simply trolling without any comment about _why_ this may be wrong.
Comment: @OmarL Well, that wouldn't make it useless. After all, it _is_ the most simple wayto get thatnumber.
Comment: Since it's a sequential file, using the number of blocks times 254 as length will be at maximum 253 bytes off - and always on the safe side as never too small which is good when it's about reserving memory. In a real word application I would not care about the fraction at all and simply use block count times 256. --- For using wild cards, I'm not really sure how this should work. $ is already the symbolic file namefor the directory, not a pattern, or is it?
Comment: @David Given @Raffzahn For directories with wildcards, Wikipedia [Commodore DOS](https://en.wikipedia.org/wiki/Commodore_DOS#:~:text=Partial%20directories) says "for example, `LOAD"$0:K*=P",8` would load a partial directory that shows only the files whose name starts with the letter K and which are of type PRG". Directories with wildcards are also mentioned in the manual linked in the answer on printed page 12 (PDF page 15), but it doesn't mention the =type suffix there.


PYQT4 QlistWidget : currentItem and selectedItem different when currentItemchaged is called ,why ?

Question: So I curious to know how does the currentItem()) and selectedItems() methods of the QlistWidget actually work.
What I have(simplified):
-I have a QlistWidget with a list of items(usersList)
-I have QAbstractViewItem.extendedSelection activated
-I have QLineEdit(userAge)
-I have a dictionary DataDict with  key:value ==> ListItem.text():QlineEdit.text())
-I have connected the userAge.textChanged to the function saveData
<code> **def** *saveData*():
     currentItem=str(usersList.currentItem().text())

     DataDict[currentItem]=QlineEdit.text()
</code>
-I have connected usersList.currentItemChanged to the function loadData:
<code> **def** *loadData*(current,_previous):
      currentItem=current.text()
      #get data
      data=dataDict[currentItem]
      #clear previous data
      userAge.clear()
      #set Data
      userAge.setText(data)
</code>
what I want to do/problem(simplified):
-right now the saving/loading of the data in the UI works for one item
(currentitem)  but I want the user to be able to select multiple Items
change the usersAge and setData to all the selectedItems , and I'm trying to do this by modifying my saveData() like so:
<code>   def  saveData():
     for item in usersList.selectedItems():
         currentItem=str(item.text())
         DataDict[currentItem]=QlineEdit.text()
</code>
-the problem now is that when I changed currentItem by clicking on another one item the data of the previous gets overwritten by the current loaded one
-I know whats probably happening is (if i'm not wrong):
               1.I click in another item(changing current Item)
               2.currentItemChanged is triggered
               3.loadData() is called
               3.a userAge.clear() is called
               3.b userAge.textChanged is triggered
               3.c saveData() is called (now with empty)
               3.d userAge.setText(data)
               3.e userAge.textChanged is triggered
               3.f saveData() is called(with the loaded data)
-In my head it should work fine because currentItem/selectedItem are the same, but what is causing the problem is that when saveData() is called  , the currentItem and the selectedItem are different,  if I print currentItem.text() and selectedItems()[0].text()  when I entered savData()
I noticed that currentItem= currentItem (which is correct)  but selectedItems()[0].text() = previousItem (which is wrong cause only the currentItem is selected)
why is this happening? what am I doing wrong? or what am I missing?
why is the selection not getting updated when you changed current Item?
I a newbie so I might be doing something wrong , but if not could someone please help me understand what is happening?
thank you very much in advance
Answer: so after playing around and trying some different stuff (not logical just trying)  I found a solution to this problem , so what I have to do is called the usersList.setCurrentItem(current)  inside the loadData()  function like so:
<code>**def** *loadData*(current,_previous):
  currentItem=current.text()
  #get data
  data=dataDict[currentItem]
  #clear previous data
  userAge.clear()
  #FIX
  usersList.setCurrentItem(current)
  #set Data
  userAge.setText(data)
</code>
this seems very redundant to me , but by doing this, when I print  currentItem and selectedItems()[0] (when only one item selected)  in saveData() it prints currentItem==selectedItems()[0] , so the onlye data getting overwritten is the currentItem,selectedItems()[0] which is own data
which give me the behaviour I want
but I'm still clueless why this happens and why this fixes the issue
cheers


how to use external st-link v2 with evaluation board STM32F469NI

Question: I tried to use external ST-LINK V2 with evaluation board STM32F469NI.
I connected it to the connector CN16, disconnect USB from CN22 and used ST-LINK utility. But connection to target MCU was failed.
I think that the problem was that I din't dis-activate ST-LINK v2-1 on board.
But it was no instruction in user manual about this issue.
Please, advice.
Answer: The problem was in board malfunction. We tried another eval STM32F469I and connection was O.K.
So it is possible to use ST-LINK V2 on this board.
Comment: If this is an answer to your own question (which is fine - you can even accept it if it is correct) then there shouldn't be another question in it. If it's an update then put the info into your original question. On this site answers float up and down based on votes or user preference so it's not like a regular discussion forum.


Defining an abstract class without any abstract methods

Question: Can I define an abstract class without adding an abstract method?
Comment: A good example can be found in the decorator pattern, see [here](https://en.wikipedia.org/wiki/Decorator_pattern#Java). Both `WindowDecorator` and `CoffeeDecorator` are `abstract` classes, but neither includes an `abstract` method.
Comment: Relevant question: [What is the point of AbstractClassWithoutAbstractMethod?](https://github.com/pmd/pmd/issues/933).
Answer: Of course.
Declaring a class abstract only means that you don't allow it to be instantiated on its own.
Declaring a method abstract means that subclasses have to provide an implementation for that method.
The two are separate concepts, though obviously you can't have an abstract method in a non-abstract class. You can even have abstract classes with final methods but never the other way around.
Answer: Yes you can. The abstract class used in java signifies that you can't create an object of the class. And an abstract method the subclasses have to provide an implementation for that method.
So you can easily define an abstract class without any abstract method.
As for Example :
public abstract class AbstractClass{

    public String nonAbstractMethodOne(String param1,String param2){
        String param = param1 + param2;
        return param;
    }

    public static void nonAbstractMethodTwo(String param){
        System.out.println("Value of param is "+param);
    }
}

This is fine.
Answer: Yes you can do it. Why don't you just try doing that?
Comment: @karim79 There's no need for high horses and all that sauce-pouring stuff. Trying it out doesn't quite reveal why it is allowed, while asking it might.
Comment: @bizclop - Trying it out for himself might have yielded a more productive question. There are no high horses. This is pretty straightforward. His question was 'Can I' rather than 'Why does this...'.
Comment: If the question can be answered with a simple yes or no, then the asker should consider rephrasing, using Google, or simply trying it out.
Comment: And it's not just the OP. Look at all the upvotes the question has gotten!
Comment: @karim79 Yeah, the question could've been phrased better but I guess it doesn't take that much effort to look one step ahead.
Comment: My question was: Why would you create an abstract class without any abstract method.
Answer: YES You can create abstract class with out any abstract method the best example of abstract class without abstract method is HttpServlet
Abstract Method is a method which have no body, If you declared at least one method into the class, the class must be declared as an abstract its mandatory BUT if you declared the abstract class its not mandatory to declared the abstract method inside the class.
You cannot create objects of abstract class, which means that it cannot be instantiated.
Answer: Yes we can have an abstract class without Abstract Methods as both are independent concepts. Declaring a class abstract means that it can not be instantiated on its own and can only be sub classed. Declaring a method abstract means that Method will be defined in the subclass.
Comment: Why shouldnt I want that the class can not be instantiated? Any good reason, example?
Answer: Yes, you can declare a class you cannot instantiate by itself with only methods that already have implementations. This would be useful if you wanted to add abstract methods in the future, or if you did not want the class to be directly instantiated even though it has no abstract properties.
Comment: Answer fixed. Using an empty abstract class could be useful if you had good reason to want to add abstract methods later and not have to deal with refactoring any other parent classes.
Comment: In the middle of a hierarchy, a completely empty (except for the inheritance spec) abstract class may make sense if derivations of that class will have different contractual obligations from those of other derivations of the parent.
Comment: The question wasn't about empty abstract classes, just abstract classes without abstract methods. There's no valid reason as far as  I can see for using a completely empty abstract class.
Answer: yes, we can declare an abstract class without any abstract method. the purpose of declaring a class as abstract is not to instantiate the class.
so two cases
1) abstract class with abstract methods.
these type of classes, we must inherit a class from this abstract class and must override the abstract methods in our class,
ex: GenricServlet class
2) abstract class without abstract methods.
these type of classes, we must inherit a class from this abstract class,
ex: HttpServlet class
purpose of doing is although you if you don't implement your logic in child class you can get the parent logic
please check the HttpServlet source code
Answer: You can, the question in my mind is more should you. Right from the beginning, I'll say that there is no hard and fast answer. Do the right thing for your current situation.
To me inheritance implies an 'is-a' relationship. Imagine a dog class, which can be extended by more specialized sub types (Alsatian, Poodle, etc). In this case making the dog class abstract may be the right thing to do since sub-types are dogs. Now let's imagine that dogs need a collar. In this case inheritance doesn't make sense: it's nonsense to have a 'is-a' relationship between dogs and collars. This is definitely a 'has-a' relationship, collar is a collaborating object. Making collar abstract just so that dogs can have one doesn't make sense.
I often find that abstract classes with no abstract methods are really expressing a 'has-a' relationship. In these cases I usually find that the code can be better factored without using inheritance. I also find that abstract classes with no abstract method are often a code smell and at the very least should lead to questions being raised in a code review.
Again, this is entirely subjective. There may well be situations when an abstract class with no abstract methods makes sense, it's entirely up to interpretation and justification. Make the best decision for whatever you're working on.
Comment: "In these cases I usually find that the code can be better factored without using inheritance." How specifically better factored?
Answer: Yes you can. Sometimes you may get asked this question that what is the purpose doing this?
The answer is: sometimes we have to restrict the class from instantiating by its own. In that case, we want user to extend our Abstract class and instantiate child class
Answer: yes you can do that.
declaring class abstract means that class will not be instantiated by any other class.
and there should be at least one abstract method inside that and meaning of that you can declare abstract method in that class if you are not declaring method than its ok.
example:
public abstract class abs {

    protected int cx = 0, cy = 0;

    public void p() {
        System.out.print("hello");
    }
}

this will work for sure.
Answer: Actually there is no mean if an abstract class doesnt have any abstract method . An abstract class is like a father. This father have some properties and behaviors,when you as a child want to be a child of the father, father says the child(you)that must be this way, its our MOTO, and if you don`t want to do, you are not my child.
Answer: Yes, you can define an abstract class without an abstract method. However, if there is no method inside you might better go with an interface
Comment: Nice idea for taking up the minimum 30 character limit.
Comment: If there is no abstract method then how can an interface be used? Interface has all the methods abstract by default.


Do we put business rules in business use case diagram?

Question: I wanna to draw a business use case diagram for a specified problem.
The problem has some rules. Now I wanna to ask that:
Is it correct to put business rules when drawing business use case?
Answer: I would say that it is correct to add any information that makes your diagram easier to understand. If you can't find the proper diagram item for the information you want to include, use comments.
Answer: I agree with @Konamiman that some flexibility in what we "should" do with our diagrams is reasonable, our objective is to communicate. In this particular situation I would have expected Business Rules to be a largely internal implementation feature of a system and so when we describe the Business Use cases (how the system is used) we probably don't need to mention them. "Approve Insurance Claim" may well be a use case for the system, and probably uses Business Rules internally, but does the reader of the diagram need to know that?
I can imagine that you may have additional "Change Business Rule" use case.


Can I set up PayPal integration so all purchases and donor information are automatically recorded on CiviCRM?

Question: Can we integrate CiviCRM with PayPal so that any purchases through our website are recorded on the CiviCRM donor info?
Answer: Welcome to SE. You can integrate PayPal with CiviCRM - See Payment Processors in the documentation (https://docs.civicrm.org/user/en/latest/contributions/payment-processors/). This will mean you can take payment for any CiviCRM contributions via PayPal and it will be recorded against the contact. This includes memberships, events and donations and you can link this from a web page. However, if you have existing purchases via some other package on your website using PayPal, it won't show these. Just those originating in CiviCRM.


Does the SIM800L works in the US?

Question: I want to know if the SIM800L works on US soil? I can´t get it to work on the H2O network! Does it work wit ATT or I only need the APN settings? If so what are the commands for data connection and configuration? Does the SIM800C works then?
Answer: I wanted to post an update in April 2021 on the status of this question.
The SIM800L will work in the US, but T-Mobile is the only carrier that it can interface with. AT&T shut down its compatible towers in 2017. T-mobile will shut down its 2G network at the end of 2022.
So, the SIM800L is only good for another year and a half. Maybe you're better off finding a different module!
Answer: Both SIM800C and SIM800L (you mention both modules in your question) are compatible with the US GSM networks. It is not possible for me to tell if H2O or AT&T have GSM coverage whereever you are trying to use the module. AT&T is planning to shut down their GSM network by the end of 2016. If you issue the AT+COPS=? command, the module will list all available networks at your location.
Documentation on the commands required to handle voice calls, SMS or internet connections can be found in the 'SIM800 Series AT Command
Manual'.
Comment: Is that so... Then I should be moving to CDMA? or is there another network available? What chip could be useful? I´m planning to deploy this in a long term! Btw I did search for all available networks but none of them appeared and the signal was low or none existent! Why? No GSM/GPRS? I activated both

I appreciate your help!
Comment: Why don't you simply do a network search with a regular cell phone? It will list which operators and which network types are available where you are. There are plenty of cellular modems for 3G and 4G networks as well, but they are quite a bit more expensive than the GSM modules.
Comment: Well there are plenty of networks around and I can confirm that H2O use AT&T network towers and the GSM network is present on all carriers. I saw that GPRS with 3g is available too but to my understanding it´s part of the GSM network, right?

I saw different types of connections around the web... Do I need to use the reset pin? And what is the DTR pin? I got a battery at 3.7v with 2000mA connected so there is no problem with the ESD function of the chip
Comment: Does the SIM800L supports 3g? I mean from what I saw it does support 3g
Answer: As far as I know 2G and 3G is still around however ATT and Verizon are not taking on anymore subscribers for 2G and 3G. However you might still could use a 3rd party such as ting.

Does the SIM800L works in the US?


Is Data from Star Trek able to swim?

Question: Is Data from Star Trek able to swim?
Comment: Yes, but not in water. Troi taught him how to swim in moonlight.
Answer: According to this conversation between Data and LaForge -- from the TNG episode, "Descent, Part II" -- no, he can't.

LAFORGE: You know, Data, I've been thinking about some of the times we've had. Like that time we went sailing on Devala Lake. You remember that?
DATA: I have a complete memory record of that day.
LAFORGE: You decided to go swimming, and when you jumped out of the boat you sank straight to the bottom.
DATA: I did not have enough buoyancy to get back to the surface.
LAFORGE: You had to walk over a kilometre along the bottom to get back to shore.
DATA: One kilometre forty six metres.
LAFORGE: It took almost two weeks to get the water out of your servos.
Star Trek: The Next Generation - S07E01 - "Descent, Part II"

This was contradicted by a scene from Star Trek: Insurrection, though, where it was shown that he had a built-in floatation device. Presumably, he can swim while utilising that feature, but likely not without doing so.

DATA: In the event of a water landing, I have been designed to serve as a floatation device.

Star Trek: Insurrection (1998)
Comment: Could be the floatation system was somehow added in between, although out of universe it's obviously a joke.
Comment: I am pretty sure sometime in between Data got upgraded to a Class 3 yacht.
Comment: @Christian Sick Futurama reference bro!
Answer: In the TNG Novel Metamorphosis, Data becomes (temporarily) human and does indeed learn how to swim, a requirement for all humanoid Starfleet officers.

"You'll see," she said. "May I show you some strokes?"
Data suddenly
remembered Geordi, but his friend had made a strategic retreat and was
now sitting on one of the lounges at the edge of the pool, talking to
Riker. So Data accepted Pris's offer. She taught him only one stroke,
something called a crawl even though it was one of the most efficient
swimming strokes humans could use.
After a great deal of splashing and
sinking, he finally got his arms, legs, and head working together, and
he and Pris swam side by side for a time.
Comment: @Matt - It's not the best, either in terms of writing or plotting.
Comment: Was Metamorphosis written by an 11 year old...? :-)

Is Data from Star Trek able to swim?


Honda CRV 2000 loses power, sputters and putt putts while driving. it doesnt do this at idle

Question: at first I thought maybe water in the tank so I let the gas get low then added gas de icer treatment in and half a tank of gas. it seemed to stop but then started intermittently. it idles ok but now it putt putts and loses power more often to the point i feel the car is going to conk out. my check engine light starts to flash when this happens now and Im afraid to drive it at this point because it i happenning so often now. would this be spark plugs or n other possible problem?
Comment: If the check engine light is illuminated there are one or more codes.  Get them read out.  That will likely point to the issue.  Many auto parts stores will read the codes for you free of charge.
Comment: Check for a clogged fuel filter.
Answer: A flashing check engine light means there is damage taking place primarily to the catalytic converter. It should not be driven in this condition. When you have the codes read you more than likely are going to have codes P0300, P0301, P0302, P0303 or P0304. Retrieving these codes and what ever other ones will greatly assist a mechanic in pinpointing the problem and he can make the fix in short order. But if you are a do it yourself type person there are things you can do to "maybe" fix it yourself. First confirm that you have one of the P0300 codes listed above. If you do not know when the spark plugs have been changed last, or if it's been over 20,000 miles since they have been changed then it would not be a waste of money to replace them now because they are due anyways. This is the most common cause for these conditions. I believe this engine is coil over plug so diagnosing them is more involved, but if it has plug wires try replacing them also. If you are not a do it yourself type person, you should take it to a reputable shop to have it diagnosed and repaired soon.


What is the HTML for="" attribute in ?

Question: I have seen this in jQuery - what does it do?
 text
<input type="text" name="name" value=""/>

Comment: Where have you seen this in jQuery?
Comment: the above line is not a part of jquery its html
Comment: May be in some of inline styles of jquery. Many of the jquery's use this to define the requirement in the html page
Answer: The for attribute is used in labels. It refers to the id of the element this label is associated with.
For example:
Username
<input type="text" id="username" name="username" />

Now when the user clicks with the mouse on the username text the browser will automatically put the focus in the corresponding input field. This also works with other input elements such as <textbox> and <select>.
Quote from the specification:

This attribute explicitly associates the label being defined with
  another control. When present, the value of this attribute must be the
  same as the value of the id attribute of some other control in the
  same document. When absent, the label being defined is associated with
  the element's contents.

As far as why your question is tagged with jQuery and where did you see it being used in jQuery I cannot answer because you didn't provide much information.
Maybe it was used in a jQuery selector to find the corresponding input element given a label instance:
var label = $('label');
label.each(function() {
    // get the corresponding input element of the label:
    var input = $('#' + $(this).attr('for'));
});

Comment: Just a side note. It is also used for the new `` element. [MDN reference](https://developer.mozilla.org/en-US/docs/HTML/Element/output).
Answer: To associate the  with an <input> element, you need to give the <input> an id attribute. The  then needs a for attribute whose value is the same as the input's id:
Click me
<input type="text" id="username">

The for attribute associates a  with an <input> element; which offers some major advantages:
1. The label text is not only visually associated with its corresponding text input; it is programmatically associated with it too. This means that, for example, a screen reader will read out the label when the user is focused on the form input, making it easier for an assistive technology user to understand what data should be entered.
2. You can click the associated label to focus/activate the input, as well as the input itself. This increased hit area provides an advantage to anyone trying to activate the input, including those using a touch-screen device.
Alternatively, you can nest the <input> directly inside the , in which case the for and id attributes are not needed because the association is implicit:
Click me <input type="text">

Notes:
One input can be associated with multiple labels.
When a  is clicked or tapped and it is associated with a form control, the resulting click event is also raised for the associated control.
Accessibility concerns
Don't place interactive elements such as anchors or buttons inside a label. Doing so, makes it difficult for people to activate the form input associated with the label.
Headings
Placing heading elements within a  interferes with many kinds of assistive technology, because headings are commonly used as a navigation aid. If the label's text needs to be adjusted visually, use CSS classes applied to the  element instead.
If a form, or a section of a form needs a title, use the <legend> element placed within a <fieldset>.
Buttons
An <input> element with a type="button" declaration and a valid value attribute does not need a label associated with it. Doing so may actually interfere with how assistive technology parses the button input. The same applies for the <button> element.
Ref:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label
Answer: I feel the need to answer this. I had the same confusion.

Click on one of the text labels to toggle the related control:

<form action="/action_page.php">
  Male
  <input type="radio" name="gender" id="male" value="male">

  Female
  <input type="radio" name="gender" id="female" value="female">

  Other
  <input type="radio" name="gender" id="other" value="other">

  <input type="submit" value="Submit">
</form>

I changed the for attribute on the 'male' label to female. Now, if you click 'male' the 'female' radio will get checked.
Simple as that.
Answer: a fast example:
Name:
<input id="name" type="text" />

the for="" tag let focus the input when you click the label as well.
Answer: You use it with labels to say that two objects belong together.
<input type="checkbox" name="remember" id="rememberbox"/>
Remember your details?

This also means that clicking on that label will change the value of the checkbox.
Answer: it is used for  element
it is used with input type checkbox or redio to select on label click
working demo
Answer: The for attribute of the  tag should be equal to the id attribute of the related element to bind them together.
Answer: FYI - if you are in an typescript environment with e.g.
{this.props.label}

you need to use htmlFor
{this.props.label}

Answer: It associates the label with an input element. HTML tags are meant to convey special meaning to users of various categories. Here is what label is meant for:

For people with motor disabilities (also for general mouse users): Correctly used label tags can be clicked to access the associated form control. Eg. Instead of particularly clicking the checkbox, user can click on more easily clickable label and toggle the checkbox.
For visually-challenged users: Visually challenged users use screen-readers that reads the associated label tag whenever a form control is focused. It helps users to know the label which was otherwise invisible to them.

More about labelling -> https://www.w3.org/TR/WCAG20-TECHS/H44.html
Answer: This error can also occur when you call a jsx element inside itself.
Like so:
const Element = () => {
  return (

      <Element />

  )
}

export default Element;

Answer: it is used in  text for html
eg.
Male

<input type="radio" name="sex" id="male" value="male">

Comment: You didn't answer the question, the OP didn't ask on how it is use ?
Answer: It's the attribute for  tag : http://www.w3schools.com/tags/tag_label.asp
Comment: errr... we know that.

What is the HTML for="" attribute in ?


What is the probability of 2 players each holding two cards of the same suit in a 9-handed Texas Hold 'em game?

Question: What's the probability of two players each holding two cards of the same suit in a 9-handed Texas Hold 'em?
Comment: Very related: https://poker.stackexchange.com/q/10235/3816.
Answer: This one is difficult for me to calculate directly.  Any suit can be the matching one, and any pair of seats can have the matched suits.  So I just tried Monte Carlo.
For two handed, the problem is simple.  There are only 4 cards dealt, so the 2nd, 3rd, and 4th have to match the suit of the first one dealt.
P = 1 * (12/51) * (11/50) * (10/49) = 0.0106
So it's about a 1% chance for this to happen 2 handed and it matches the values I got for a 100000 deal simulation.  The chances increase with each seat, since there are more opportunities for the matches.  The following are the values calculated for 2-9 seats.
Chances that at least 2 hands at the table together hold 4 cards in a single suit:

2 seats: 1.0%
3 seats: 3.1%
4 seats: 6.0%
5 seats: 9.7%
6 seats: 14.1%
7 seats: 18.8%
8 seats: 23.8%
9 seats: 29.3%
Answer: The probability of two players being dealt hole cards of the same suit can be thought of as follows: fix the suit ahead of time so, without loss of generality, assume it's hearts. The probability of player 1 being dealt one heart and then another heart is (13/52) times (12/51). Now there are theoretically two less hearts in the deck, so the probability of player 2 being dealt one heart and then another heart is (11/50) times (10/49). We multiply through: ((13*12*11*10)/(52*51*50*49))=0.002, which is about .2%.
Note that this result is independent of how many hands you play, so this holds for your 9 handed scenario, as well as a 6 handed game. This result is theoretical, and not completely independent, since in practice you glean information during a hand on whether or not they have hearts.


How can i send ether to multiple address in one transaction by paying one transaction fee?

Question: How can i send ether to multiple address in one transaction by paying one transaction fee. Like i want to publish multiple transaction at one go so i can incur only one transaction fee.
Comment: In a contract...
Comment: can it be done without smart contract ?
Comment: No, it cannot...
Comment: Using web3 batch also  require contract?
Comment: That wouldn't impose a single transaction though.
Answer:
How can I send ether to multiple addresses in one transaction in order to pay transaction-fee once?

By aggregating several transfers in a contract constructor, and then deploying that contract.
For example:
pragma solidity 0.6.12;

contract Payer {
    constructor(address payable[] memory clients, uint256[] memory amounts) public payable {
        uint256 length = clients.length;
        require(length == amounts.length);

        // transfer the required amount of ether to each one of the clients
        for (uint256 i = 0; i < length; i++)
            clients[i].transfer(amounts[i]);

        // in case you deployed the contract with more ether than required,
        // transfer the remaining ether back to yourself
        msg.sender.transfer(address(this).balance);
    }
}

Answer: The fee you pay when sending ether to multiple transactions is about the same you'd pay if you sent them separately. The gas calculations are pretty much the same if I'm not mistaken.
Answer: Easy way: https://cointool.app
Harder way:
Source code: https://github.com/rstormsf/multisender/blob/master/contracts/contracts/multisender/UpgradebleStormSender.sol
function multisendToken(address token, address[] _contributors, uint256[] _balances) public hasFee payable {
uint256 total = 0;
require(_contributors.length <= arrayLimit());
ERC20 erc20token = ERC20(token);
uint8 i = 0;
for (i; i < _contributors.length; i++) {
    erc20token.transferFrom(msg.sender, _contributors[i], _balances[i]);
    total += _balances[i];
}
setTxCount(msg.sender, txCount(msg.sender).add(1));
Multisended(total, token);

}


How to hide the navigation buttons in openoffice writer

Question: Openoffice writer has a set of navigation buttons (up, select, down) shown below the vertical scrollbar.

I wish to remove this as my app is kiosk software.
I only wish to remove the navigation buttons, not the scrollbar.
I'm trying to remove/hide these programmatically using the Java UNO bindings. However if there is a solution because of the nature of UNO it should be possible in any language.
I'm using openoffice 3.3.0

Things I've tried:

View settings: The scrollbar can be hidden by setting the property ("ShowVertRuler", false) from the view settings obtained via XTextDocument => CurrentController => XViewSettingsSupplier => XViewSettings. No similar property exists for the navigation buttons. Interestingly hiding the scrollbar also hides the navigation buttons implying it is all one widget??
XUIElement access: I've removed other elements like toolbars by obtaining the XLayoutManager via XFrame, iterating over the list of XUIElement and calling XLayoutManager.hideElement() with the ResourceURL for the XUIElement.
XAccessible access: I have found examples of how to get the scrollbar value by getting an XAccessible reference. See this thread. However it only seems possible to set/get model values using XAccessible, and not affect visibility.
Looking at documentation for UNO and much googling.

I'm only after a pointer in the right direction in terms of the API. I can write any code necessary myself.
Comment: this open office source code. [OpenOffice.org Source code](http://www.openoffice.org/dev_docs/source/get_source.html) manually you have to remove from source code recompile
Comment: Try this link, it might be of some help. http://wiki.services.openoffice.org/wiki/Documentation/Administration_Guide/Restricting_functionality
Comment: Handling [navigation buttons](http://plan-b-for-openoffice.org/search/index?q=Help,%20navigation%20pane%20showing/hiding) in **openoffice** [Navigation Panel](http://user.services.openoffice.org/en/forum/viewtopic.php?f=10&t=49295)
Answer: As Openoffice is a free software, you can access the source code and remove the line which displays the navigation button to create a customized version of Openoffice without this button.


Why can't I load the Artorias of the Abyss DLC?

Question: When I try to load the game, along with the Artorias of the Abyss DLC, to play offline, I receive an error stating the DLC failed to load properly and that I will not have access to that content or to my characters who have DLC equipment. However, when I load the game and DLC to play online, it works perfectly. Can this DLC only be played online, or is something wrong?
Comment: Your question contains the correct answer. Many games do this with DLC, most notably Bethesda's Elder Scrolls games Oblivion and Skyrim. I know that there are others but am unable to remember which.
Comment: I have the DLC for dark souls and I can Play online and offline with all the perks of the DLC though I am unsure of why they would fail in your scenario plus I'm playing PS3. @Ravekner I am unsure of what you mean by the DLCs failing for Oblivion and skyrim as these games are exclusively offline games? or do you mean failing in general after download?
Comment: @user44721 I would try reinstalling the DLC I'm unsure if this will work but make sure you have a stable connection and the download is not interrupted then try running it again
Comment: @Nathan Taylor Xbox requires you to have an internet connection to access DLC for any game regardless of whether or not it is a single player offline game or multiplayer online game. I don't believe that you need to be a gold member but that may be a possibility as well.
Comment: @Ravekner ahh I didn't know that
Answer: Whatever Xbox you downloaded the content to first is the Xbox that it is licensed to and should be able to be used online or offline from anyone who uses the Xbox locally. If you have downloaded the content to a different Xbox first, this is why. To fix this, try deleting the content and redownloading it. If that doesn't work, you will have to re-license the content from the Xbox or the link on Xbox.com
Enjoy.
Answer: Microsoft requires anyone using a Xbox360 to have internet in order to access DLC for a game whether it has online features or not.
If you do not have access to an internet connection, the DLC will become unavailable for use and all save files that have utilized the DLC will become unplayable until you have access to the internet again.
Unfortunately this is the system Microsoft implemented to prevent people from sharing DLC across multiple consoles, but it affects the owner in the same way, no internet, no DLC.
Comment: I'm not sure if your answer is Xbox One specific but this is extremely untrue for the 360. I use DLC offline on a daily basis.
Comment: @mondrianaire have you unplugged your xbox360 from its power source after disconnecting it from the internet, I used to take my xbox with me on trips and most of the time I wouldn't have access to internet, so I couldn't use my DLC.
Comment: I routinely put my profile and my dlc on a usb stick, bring it to a local coffee shop with a 360 without internet access, and play DLC there. It may be that the game has to be fully patched, but not necessarily connected to the internet.


How do I make an html link look like a button?

Question: I'm using ASP.NET, some of my buttons just do redirects.  I'd rather they were ordinary links, but I don't want my users to notice much difference in the appearance.  I considered images wrapped by anchors, i.e.  tags, but I don't want to have to fire up an image editor every time I change the text on a button.
Comment: See the response I accepted for this question: http://stackoverflow.com/questions/547222/asp-net-mvc-navigation-and-user-interface-design
Comment: @ilyaigpetrov go ahead and post an answer. I asked this Q 7 years ago and it looks like it is a common problem and people have been needing a variety of solutions.
Comment: I would answer how to do it with javascript but question has no "javascript" tag
Comment: You can use a service such as [this one](http://www.cssbuttongenerator.com/) to generate the CSS for you after you configure a few aspects (color, size, font).
Answer: Apply this class to it

.button {
  font: bold 11px Arial;
  text-decoration: none;
  background-color: #EEEEEE;
  color: #333333;
  padding: 2px 6px 2px 6px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  border-left: 1px solid #CCCCCC;
}
Example
Comment: The catch to this is that it requires you to reproduce the look of a button with CSS. But unfortunately buttons on different browsers and different versions of browsers look different. So you either have to accept it looking funny in some browsers, or have a bunch of code to figure out which browser and which version the user has and choose a different style. Which is a whole lot of trouble, and could break the next time a new version of a browser comes out.
Comment: @Jay a compromise could be to define the styling of the `` and/or `` elements so that they did not use the browser defaults (where possible), and then match these with the styling for `.button` as above. This should help reduce the differences, if not remove them completely, and is better than your (unreliable - as you rightly say) method of sniffing the browser type and version.
Comment: This only works for me if I apply it to `a` tag directly (`a {display: block ...}`), which is not acceptable. Do you have any idea why `class` attribute inside `a` tag won't work? :( I'm using Firefox 27. I also tried `a.button {...}` and it doesn't work either.
Comment: @OllieBennett True: You could completely redefine the look of a button. I haven't tried to do this, not sure how many aspects of the style you have to override. Sounds like a pain, but not having tried it, I can't say how much pain it is compared to other options.
Comment: @CraigGjerdingen I really like the styles you used for .link_button. The use of CSS3 definitely updates this answer. Also using styles that are less like the "regular" browser buttons, but still have a button affordance solves the problem of browser sniffing without (imo) having to also redefine the styles for ``
Comment: Having the same problem, and not liking the dull default style of submit buttons anyway, I took the CSS from the answer, made it pretty and applied it to submit buttons as well. Works for me.
Comment: As what @Jay said earlier, different browsers look different, for my case, it shows as a button in the Chrome and it shows as a link in the Firefox.
Comment: if you have spaces in your button text, adding `white-space: nowrap;` will prevent the "button" from being split in two near the border of the page.
Answer: Why not just wrap an anchor tag around a button element.
<button type="button">Text of Some Page</button>

This will work for IE9+, Chrome, Safari, Firefox, and probably Opera.
Comment: Nesting  and  is not valid HTML and has undefined behavior. See detailed answer here http://stackoverflow.com/questions/6393827/can-i-nest-a-button-element-inside-an-a-using-html5 If it works, it is just a coincidence.
Comment: @Dean_Wilson try having to cater for ie6 :(
Comment: I like this solution, as you don't have to fiddle with CSS trying to imitate the native browser's button style. However, in Firefox I got it working only with ``. Without the type attribute it would always do a postback and ignore the link.
Comment: @feeel Because it was easier for me to get a consistent looking button. If you use CSS, it won't have native styling. Someone else had that answer already anyway.
Comment: @Pyitoechito I'm sure it would since Chrome and Safari are on webkit. Looks like it will http://jsfiddle.net/9Gt7y/
Comment: I had this on a project I am currently working on and when I tested in IE11, one works(the one floating in the upper corner as a logout button) whilst the other(inside the page's main content) does not.
Comment: I now use TSamper's answer to solve this problem for me. I would rather have the buttons look consistent across browsers; I use the [bootstrap buttons](http://getbootstrap.com/css/#buttons).
Answer: IMHO, there is a better and more elegant solution. If your link is this:
Click me!!!

The corresponding button should be this:
<form method="GET" action="http://www.example.com">
<input type="submit" value="Click me!!!">
</form>

This approach is simpler because it uses simple html elements, so it will work in all the browsers without changing anything. Moreover, if you have styles for your buttons, this solution will apply the same styles to your new button for free.
Comment: Okay, I tested this out today.. and .. it works great if you are't using ASP.NET webforms. ASP.NET webforms wraps the whole page in a form tag and nested forms don't seem to function at all-- it does work outside of ASP.NET form tag, but that limits the use to links at the very top and bottom.
Comment: Simple and effective. You might want to add display:inline style to the form element. Otherwise it is treated like a block which is different from button/anchor/input.
Comment: I  tried this in Django, but as the button end up within another form, it POST the data rather than acting as a link.
Comment: you could also make the button do a redirect in javascript. but now it's not a link - can't "copy link address to clipboard", middle click to open in new tab etc, preview the link target by hovering over it with the mouse etc.
Comment: Good question. I don't think so, either. But other solutions depicted here won't work with googlebot, for instance those of using a button tag.
Answer: The CSS3 appearance property provides a simple way to style any element (including an anchor) with a browser's built-in <button> styles:

a.btn {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

  CSS Button

CSS Tricks has a nice outline with more details on this. Keep in mind that no version of Internet Explorer currently supports this according to caniuse.com.
Comment: This was dropped from the CSS3 spec. https://www.htmlvalidator.com/help.php?m=1&h=appearance
Answer: If you want nice button with rounded corners, then use this class:

.link_button {
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    border: solid 1px #20538D;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
    background: #4479BA;
    color: #FFF;
    padding: 8px 12px;
    text-decoration: none;
}
Example
Comment: I added this and the highest rank answer to a jsFiddle. Feel free to mess around with http://jsfiddle.net/5z6ew1m0/6
Comment: You may want to add a `margin` to it too. Otherwise, good job styling it.
Answer: a {
    display: block;
    height: 20px;
    width: auto;
    border: 1px solid #000;
}

You can play with  tags like this if you give them a block display. You can adjust the border to give a shade like effect and the background color for that button feel :)
Answer: HTML
Button

CSS
  background-color: #4CAF50; /* Green */
  border: none;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;

Answer: As TStamper said, you can just apply the CSS class to it and design it that way. As CSS improves the number of things that you can do with links has become extraordinary, and there are design groups now that just focus on creating amazing-looking CSS buttons for themes, and so forth.
For example, you can transitions with background-color using the -webkit-transition property and pseduo-classes. Some of these designs can get quite nutty, but it's providing a fantastic alternative to what might in the past have had to have been done with, say, flash.
For example (these are mind-blowing in my opinion),
http://tympanus.net/Development/CreativeButtons/ (this is a series of totally out-of-the-box animations for buttons, with source code on the originating page).
http://www.commentredirect.com/make-awesome-flat-buttons-css/ (along the same lines, these buttons have nice but minimalistic transition effects, and they make use of the new "flat" design style.)
Answer: You may do it with JavaScript:

Get CSS styles of real button with getComputedStyle(realButton).
Apply the styles to all your links.

/* javascript, after body is loaded */
'use strict';

{ // Namespace starts (to avoid polluting root namespace).

  const btnCssText = window.getComputedStyle(
    document.querySelector('.used-for-btn-css-class')
  ).cssText;
  document.querySelectorAll('.btn').forEach(
    (btn) => {

      const _d = btn.style.display; // Hidden buttons should stay hidden.
      btn.style.cssText = btnCssText;
      btn.style.display = _d;

    }
  );

} // Namespace ends.

Button Styled Links

  <button class="used-for-btn-css-class" style="display: none"></button>
  first
  second
  <button>real button</button>

Answer: You could create a standard button, then use it as the background image for a link.  Then you can set the text in the link without changing the image.
The best solutions if you don't a special rendered button are the two already given by TStamper and Ólafur Waage.
Answer: This gets into the details of the css a bit more too, and gives you some images:
http://www.dynamicdrive.com/style/csslibrary/item/css_square_buttons/
Answer:
How about using asp:LinkButton?

You can do that - I made a linkbutton look like a standard button, using TStamper's entry. Underlining showed under the text when I hovered, though, in spite of the text-decoration: none setting.
I was able to stop the hover-underlining by adding style="text-decoration: none" within the linkbutton:
<asp:LinkButton
id="btnUpdate"
CssClass="btnStyleTStamper"
style="text-decoration: none"
Text="Update Items"
Onclick="UpdateGrid"
runat="server"
/>

Comment: Linkbutton creates something that looks like a link but acts like a button. The question asks for the opposite: something that looks like a button but acts like a link.
Answer: Much belated answer:
I've been wrestling with this on and off since I first started working in ASP. Here's the best I've come up with:
Concept: I create a custom control that has a  tag. Then in the button I put an onclick event that sets document.location to the desired value with JavaScript.
I called the control ButtonLink, so that I could easily get if confused with LinkButton.
aspx:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="ButtonLink.ascx.vb" Inherits="controls_ButtonLink" %>

<asp:Button runat="server" ID="button"/>

code behind:
Partial Class controls_ButtonLink
Inherits System.Web.UI.UserControl

Dim _url As String
Dim _confirm As String

Public Property NavigateUrl As String
    Get
        Return _url
    End Get
    Set(value As String)
        _url = value
        BuildJs()
    End Set
End Property
Public Property confirm As String
    Get
        Return _confirm
    End Get
    Set(value As String)
        _confirm = value
        BuildJs()
    End Set
End Property
Public Property Text As String
    Get
        Return button.Text
    End Get
    Set(value As String)
        button.Text = value
    End Set
End Property
Public Property enabled As Boolean
    Get
        Return button.Enabled
    End Get
    Set(value As Boolean)
        button.Enabled = value
    End Set
End Property
Public Property CssClass As String
    Get
        Return button.CssClass
    End Get
    Set(value As String)
        button.CssClass = value
    End Set
End Property

Sub BuildJs()
    ' This is a little kludgey in that if the user gives a url and a confirm message, we'll build the onclick string twice.
    ' But it's not that big a deal.
    If String.IsNullOrEmpty(_url) Then
        button.OnClientClick = Nothing
    ElseIf String.IsNullOrEmpty(_confirm) Then
        button.OnClientClick = String.Format("document.location='{0}';return false;", ResolveClientUrl(_url))
    Else
        button.OnClientClick = String.Format("if (confirm('{0}')) {{document.location='{1}';}} return false;", _confirm, ResolveClientUrl(_url))
    End If
End Sub
End Class

Advantages of this scheme: It looks like a control. You write a single tag for it, <ButtonLink id="mybutton" navigateurl="blahblah"/>
The resulting button is a "real" HTML button and so looks just like a real button. You don't have to try to simulate the look of a button with CSS and then struggle with different looks on different browsers.
While the abilities are limited, you can easily extend it by adding more properties. It's likely that most properties would just have to "pass thru" to the underlying button, like I did for text, enabled and cssclass.
If anybody's got a simpler, cleaner or otherwise better solution, I'd be happy to hear it. This is a pain, but it works.
Answer: This is what I used. Link button is

Example

CSS
/* body is sans-serif */

.link-button {
    margin-top:15px;
    max-width:90px;
    background-color:#eee;
    border-color:#888888;
    color:#333;
    display:inline-block;
    vertical-align:middle;
    text-align:center;
    text-decoration:none;
    align-items:flex-start;
    cursor:default;
    -webkit-appearence: push-button;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1em;
    font-family: inherit;
    border-color: #000;
    padding-left: 5px;
    padding-right: 5px;
    width: 100%;
    min-height: 30px;
}

.link-button a {
    margin-top:4px;
    display:inline-block;
    text-decoration:none;
    color:#333;
}

.link-button:hover {
    background-color:#888;
}

.link-button:active {
    background-color:#333;
}

.link-button:hover a, .link-button:active a {
    color:#fff;
}

Comment: It doesn't look much like a button though. I don't know who downvoted you. Here is the JS fiddle for the code you provided: http://jsfiddle.net/yajj2x0p/
Answer: Use this class. It will make your link look the same as a button when applied using the button class on an a tag.
or
HERE IS ANOTHER DEMO JSFIDDLE
.button {
    display: inline-block;
    outline: none;
    cursor: pointer;
    border: solid 1px #da7c0c;
    background: #478dad;
    text-align: center;
    text-decoration: none;
    font: 14px/100% Arial, Helvetica, sans-serif;
    padding: .5em 2em .55em;
    text-shadow: 0 1px 1px rgba(0,0,0,.3);
    -webkit-border-radius: .5em;
    -moz-border-radius: .5em;
    border-radius: .3em;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.button:hover {
    background: #f47c20;
    background: -webkit-gradient(linear, left top, left bottom, from(#f88e11), to(#f06015));
    background: -moz-linear-gradient(top,  #f88e11,  #f06015);
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#f88e11', endColorstr='#f06015');
}
.button:active {
    position: relative;
    top: 1px;
}

Answer: By using border, color and background color properties you can create a button lookalike html link!

a {
background-color: white;
color: black;
padding: 5px;
text-decoration: none;
border: 1px solid black;
}
a:hover {
background-color: black;
color: white;

}
Open StackOverflow

Hope this helps :]
Answer: I use an asp:Button:
<asp:Button runat="server"
            OnClientClick="return location='targetPage', true;"
            UseSubmitBehavior="False"
            Text="Button Text Here"
/>

This way, the operation of the button is completely client-side and the button acts just like a link to the targetPage.
Comment: Good job showing what an `asp:Button` looks like in practice, so it can help other users!
Answer:

.button {
  font: bold 11px Arial;
  text-decoration: none;
  background-color: #EEEEEE;
  color: #333333;
  padding: 2px 6px 2px 6px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
  border-left: 1px solid #CCCCCC;
}
Example
Answer: Use below snippet.
    .a{
  color: $brn-acc-clr;
  background-color: transparent;
  border-color: #888888;

  &:hover:active{
    outline: none;
    color: #888888;
    border-color: #888888;
  }
  &:fill{
    background-color: #888888;
    color: #fff;
    box-shadow: 0 3px 10px rgba(#888888, 0.5);
    &:hover:active{
      color: #fff;
    }
    &:hover:not(:disabled){
      transform: translateY(-2px);
      background-color: darken(#888888, 4);
    }
  }
}

Answer: Simple button css now you can play around with your editor
a {
  display: inline-block;
  background: #000000c9;
  color: #000;
  padding: 12px 24px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  cursor: pointer;
}
a:hover {
  background:#000
  cursor: pointer;
  transition: 0.3s ease-in;
}

Link tag
Hover me

Answer: If you need some cool effect, hover and shadow; you can use this:
    .button {
        text-decoration: none;
        padding: 15px 25px;
        font-size: 24px;
        cursor: pointer;
        text-align: center;
        text-decoration: none;
        outline: none;
        color: #fff;
        background-color: #450775;
        border: none;
        border-radius: 15px;
        box-shadow: 0 9px #e1d5ed;

    }

    .button:hover {background-color: #220440}

    .button:active {
        background-color: #230545;
        box-shadow: 0 5px #e1d5ed;
        transform: translateY(4px);
    }

Comment: At first I thought this wasn't an answer. Then I realized Emeka must mean that the link should have the "button" class on it.
Answer: This worked for me. It looks like a button and behaves like a link. You can bookmark it for example.

    <asp:Button PostBackUrl="mypage.aspx?param1=1" Text="my button-like link" runat="server" />

Answer: How about using asp:LinkButton?
Comment: Link button, despite the name, looks exactly like a link. http://www.w3schools.com/aspnet/showasp.asp?filename=demo_linkbutton


Does the bias in a loaded die depend on gravity?

Question: Suppose I bias a cubic plastic die by incorporating a lead pellet hidden just behind the '1' face, so that the probability $P_6$ of rolling a 6 is greater than the symmetric 1/6.  Its exact behaviour when I throw it will be complicated, the nondiagonal inertia tensor will affect the spin, and the kinetics of bouncing and toppling on the table (assuming it falls on a table) will also be changed. So let's not ask for a full solution and instead ask a simple question: does the outcome depend on gravity?  Will $P_6$ be the same on the earth and on the moon?
Comment: @MichaelSeifert that's not a good word either, since the tensor is symmetric. Better word would be anisotropic.
Comment: Why would the inertia tensor be "non-diagonal"?
Comment: @JánLalinský:  I suppose it would be non-diagonal in *some* set of coordinates.  But "asymmetric" is probably a better word for what the question is describing.
Comment: My reason for asking was not to run a shady lunar casino, but because for an unloaded, symmetric die $P_6$ is a hard number (1/6), and classical real probability is based on this. Once the symmetry is lost then $P_6$ depends on other stuff, not just the die, and is not such a 'property',and one has to use Frequentist or Bayesian probability.   More details would probabky get this question shunted to the philosophy stack...
Comment: The question formulated as "*does the outcome depend on gravity?*" in the text should be the headline as well, since the word *outcome* is contextually crucial. The headline as it reads now, asks a trivial question (without gravity you cannot define the outcome of any die - loaded or not).
Comment: @Steeven That's why we answer the question in the text, not the title. The latter is just a brief summary, it doesn't need the specifics.
Comment: So your question is, does the behavior of an object tumbling under gravity depend on gravity? Yeah, sure.
Comment: @Steeven It doesn't seem too hard to imagine a device that could capture a die in zero-gravity in a way that would allow a specific verifiable result.  Velcro, magnets, suction, glue/goo just off the top of my head.
Comment: @JimmyJames True, other methods of loading the die are possible, but the question specifically asks about loading it by adding weight to one of the faces. In that context, the question asks whether the strength of gravity makes a difference.
Comment: @BobaFit IIUC, the question asks whether the strength of gravity makes a difference, not about the existence of gravity.
Comment: @Barmar I wasn't commenting on ways of loading the dice, I was challenging the assertion that gravity was necessary to get an outcome.
Comment: Thanks to everyone for their thoughts. The consensus seems to be that $P_6$ depends on gravity, viscosity, elasticity and maybe other environmental factors.
Answer: The experimental research paper "Cuboidal Dice and Gibbs Distributions" by Wolfgang Riemer, Dietrich Stoyan, and Danail Obreschkow, (link here) indicates that when symmetry is broken (in their case, by the shape of the die being perturbed from exactly cubical), even the qualities of the surface on which the die lands affect the probability distribution of the outcomes. Therefore, it seems highly likely that in any practical situation, the force of gravity would also be a factor since it would affect the strength of interaction between the die and the surface.
Answer: Edited to acknowledge the realities that make it likely that $P_6$ depends on $g$ to a limited extent.
With the new answer and discussion in the comments, this answer has morphed into more of a discussion on some reasons one might think $P_6$ is weakly invariant, and some exceptions to those arguments.
Argument 1
In certain models of the environment, the motion of the dice will be the same between the two planets upon rescaling time. There are two exceptions to this fact.

First, you need to drop the dice in a particular way, like from a random height and angle at rest, otherwise the initial conditions don't rescale in the same way. But the idea that $P_6$ might depend on how you throw the dice is kind of antithetical to the whole concept of dice. You obviously need to drop the dice with sufficient energy such that chaos erases the effect of the initial conditions.
Second, and more imporantly, when the dice bounces on the ground, there are more forces than gravity. Most notably friction. "Bounces" will remain mostly invariant if you assume a model where a fixed fraction of energy is lost in a bounce (a well known empirical model for bouncing balls). Friction is another surface interaction that will rescale properly (the forces scale $\propto g$ just like the force of gravity). But there are probably many kinds of surface interactions that do not rescale properly. Another answer points out (with a reference) that changing the bouncing surface does indeed change $P_6$.

Argument 2
Consider a 4 sided (square) dice in a 2d universe, and think of "rolling a dice" as a statistical mechanical system in the angle of the dice and the height the dice is off the ground.

As the dice is rolled, the temperature drops over time. The potential of a biased dice as a function of angle at fixed $h$ looks like this:

So when the temperature drops below $T_0=v_0/k_B$ the dice chooses which potential well to permanently fall into, and the ratio of probabilities $P_4/P_1$ (four sided dice biased to land on $4$) is $\sim \exp(\delta/k_BT_0)=\exp(\delta/v_0)$. When we change the force of gravity, both $\delta$ and $v_0$ scale the same way (they are both proportional to $g$), so this probability ratio should remain invariant.
Obviously, this argument isn't rigorous - it's not clear that this system can be analyzed with statistical mechanics, nor that this way of treating "which potential well we fall into as temperature lowers" is really valid. But I think for the derivation of how $P_6/P_1-1$ scales with the potential difference between sides and $g$, it's valid. So I think this argument is a valid to argue that $P_6$ is at least weakly independent of $g$.
There's an obvious exception to this argument, which again argues that $g$ probably doesn't matter but the bouncing surface probably does. When you change the bouncing surface, it may change the rate at which the temperature drops. Consider for example a less bouncy surface that makes the temperature drop faster. This may lower the effective temperature at which the dice's fate is decided, increasing $P_6$.
Argument 3
This is a joke... or is it? $P_6$ is unitless and $g$ has units distance per time squared. The dice can be described by many different quantities: total mass, a density field $\rho(\mathbf{x})$, the moment of inertia tensor $I_{ij}$. But there is no quantity to describe the dice that includes any dimensions of time. So no unitless quantity can be written in terms of $g$ and properties of the dice, so $P_6$ cannot depend on $g$.
So if $P_6$ is an intrinsic property of the dice, and it isn't affected by the bouncing surface (which it is), it will not change. Adding the bouncing surface, for example, will give you the speed of sound in the bouncing surface, which is independent of $g$ and has units of distance/time. Other small corrections to the dice's motion like air resistance also provide several quantities with units involving time. To some extent this explains why argument 1 and 2 got the answer they did - they couldn't have gotten any other answer until you start to consider things that affect the dice roll quite subtly.
Comment: In argument 3, I think you forgot something: Under your assumptions, the die would never stop jumping around (for the unit-analysis reason you explain, there can be no time when it stops jumping!), so for it to stop jumping, it needs something like air drag or plastic deformation - and those things have time in their units, which can explain when the die will stop jumping around, but can also theoretically make P6 depend on time. So I think argument 3 isn't useful.
Comment: For argument 3, remember that the atmosphere viscosity is expressed in pascal-second. Changing the gravity changes the effect of viscosity. Viscosity is what slows the die down and allows it to settle on the loaded face.
Comment: The air drag, initial velocity, die's plastic/elastic parameters, and other things, as well as the strength of gravity, obviously effect the outcome of a single throw. And in theory, if you throw the die with **exactly** same initial conditions, it will fall the same every time. But the question posed was whether result averaged over all slightly different initial conditions (with fixed gravity) will change if we change the fixed gravity.
Comment: The currently most upvoted response (with a useful source!) makes it clear that the bouncing surface changes the way a dice is loaded. This argument clearly refutes the assumptions of arguments 1 and 3. I'm leaving this answer up because I think it has valid arguments for why changing gravity - and nothing else - under certain assumptions - should either change the result very little or not at all. But I think the caveats pointed out in the comments  are an important part of understanding under what circumstances all three arguments may be wrong.
Comment: @NadavHar'El Good point. But that implies something similar to argument 1 - that $P_6$ can only depend on $g$ if it also depends on things like the bounciness of the floor or the air density.
Comment: Regarding argument 3, also initial velocity of the die is relevant, and with the initial height above table, these two provide a time scale.
Comment: I don't agree that drag and initial velocity are likely to matter. Air drag is a small contribution to the dice's motion (energy loss is in bounces). So it seems far-fetched to say it will affect P6. And saying the initial velocity matters feels like saying "if I hold the six facing up when I drop the dice, it is more likely to roll a six". The fundamental assumption of dice is that once you give it plenty of energy chaos erases any effect of the initial condition. I only meant to list highly relevant quantities. If I want small effects with units of s, I can include c because of relativity.
Comment: I don't buy argument #1 - I agree a die's outcome shouldn't depend on "how" you throw it, but that doesn't mean there can't be different outcomes when throwing it in different environments. Suppose the die-loading mechanism uses a magnet, you'd of course expect different outcomes when throwing it on a magnetized vs. non-magnetized table. Argument #1 implicitly assumes that the die-loading mechanism *does not rely on gravity in any way*, which I don't think is a fair assumption.
Comment: @NuclearHoagie see the new edited answer. But this is not the correct interpretation of argument 1. In fact I had in mind a loaded dice that was loaded by putting more weight near the six-face. If it were loaded in another way (like with magnets) that's actually where argument 1 would fail. Because the forces that cause it to land on 6 more often would rescale with the rest of the motion of the dice if and only if those forces are gravitational. If the mechanism was magnetic, then the ratio of gravity to the loading mechanism would change and it would be more loaded on the moon.
Answer: Let's model the throw where the initial orientation is random (other things are random too, but this one I'll need)
Let's start with the situation where the atmosphere around the die has high viscosity and we have low gravity.
In the case where viscosity tends towards infinity, due to friction the die will stop rotating, during its fall, with the '6' on top, always.
However, if we raise the gravity (and don't have infinite viscosity), from this setup, we get to a situation where the die doesn't have time to settle with the '6' on top, because the die will quickly hit the ground. (ok, it will bounce, put it will still settle faster)
So, at high viscosity, higher gravity means less bias towards '6'.
At regular viscosity, the effect will be less, but I hypothesize there will still be an effect where higher gravity weakens the bias.
Answer: Probabilities of die faces are not a property of the die and gravity strength only, but also depend on the initial height, velocity and angular velocity of the throw. Initial die angular orientation is assumed to be unknown with uniform distribution.
Let's assume only throws with zero initial angular velocity, and zero vertical velocity.
When throwing from a great height and with a velocity close to zero, the motion will be mostly vertical. When throwing near the table with great horizontal velocity, the motion will be mostly horizontal. These two classes of throw lead to different motions and thus can have different probabilities of results. Changing any single one of these parameters of throw can change probabilities of the die faces.
However, if we change the throw specification not only in gravity but also in other parameters in such a way that the die trajectory in any single throw is the same, then we can expect both kinds of throw to have the same probabilities.
If we restrict ourselves to throwing horizontally from the same height, this means that we can achieve the same trajectories and thus the same probabilities if with changing the gravity by a factor $k$, we also change the initial horizontal velocity by a factor of $\sqrt{k}$. This way, the die moves along the same trajectory, only with $k$-times greater acceleration of the center of mass and angle of orientation. After a long enough time, the angle of orientation in any single throw in the increased gravity should be the same as in the original gravity. Thus the probabilities should be the same.
Answer: I like Jeffrey's answer, but I think we can simplify it even more. Suppose we imagine a rod of uniform thickness/density. We spin it about its center and drop it, and ask: "Which side will touch the ground first?" If the rod is "fair", $P_0$ should be 0.5.
But suppose we instead attach a weight to one end (the $P_0$ end) so that it's biased. What will the rod do as it is spinning? For simplicity, let's make the weight 100x the mass of the original rod. Now it's basically spinning around the weighted end (because that's where the COM is, more or less), and the rod itself becomes a "tail".
In the limit of infinite fall time, and without friction, $P_0$ should still be 0.5. If we introduce air resistance, in the limit of infinite fall time, the rod will land on the weighted side with probability 1.0. That's because the drag on the rod will lower the angular velocity to 0. But because the air resistance is equivalent to a wind blowing up from the ground, the final orientation will be with the rod pointing up.
Some time between $t_0$ and $\infty$, the probability of $P_0$ goes from 0.5 to 1.0, as air resistance converts the uncertainty of initial angular position + momentum into a certain outcome. Let us call $t_{win}$ the time it takes for $P_0$ to be > 0.99.
Since the air resistance determines how quickly angular velocity goes to 0, we could say that the outcome mostly depends on the air density/viscosity and the $c_{drag}$ of the rod. So where does gravity come in?
Well, $t_{win}$ alone doesn't tell us everything we want to know. For instance, it doesn't tell us how high we need to drop from to get the desired outcome. To get that, we need to know local $g$.
And thus, we see that $P_0$ depends on drag, the initial angular velocity, and the height of the drop. If you increase $g$, you must increase $h$ to achieve the same $P_0$. Or, if you increase $g$ but hold $h$ fixed, then $P_0$ decreases.
However, we started talking about a rod. let's go back to the die. It's much less obvious that air resistance is so significant in this case. But the basic principle is the same: the outcome is decided only when the angular velocity goes to zero. When the die bounces on the surface, if the surface (and die) are perfectly elastic, and there's no air resistance, then the die will bounce forever, which is equivalent to the infinite free-fall case. If there is only air resistance, then $c_{drag}$ will determine the relaxation time along with the height (because drag will make each bounce smaller). A non-elastic surface should be equivalent to a much higher drag, in that it will decrease the relaxation time.
Thus, the argument for $t_{win}$ vs. $P_0$ vs. $g$ should transfer directly to the die scenario. $P_0$ depends on $g$ because $g$ helps determine the height at which $P_0$ exceeds whatever threshold you like.
In the limit where $g$ goes to $\infty$, the die will land on a side immediately, and the outcome will depend only on its orientation when it is released. If the toss is fair, then $P_0$ will be $1/6$. For non-pathological $g$, you can make $P_0$ get arbitrarily close to 1 simply by raising the height of the toss, and $g$ itself will help determine that height.
Answer: In the limit of arbitrarily strong gravity, the die drops straight to the floor in arbitrarily little time, landing on whatever face was already pointing up when it was released. There won't be any bounce to speak of, since we've defined gravity to the dominant force. In the limit of zero gravity, the die may not come to rest at all. With moderate gravity, we know that a 6 is most likely. Clearly, there must be some dependence of the outcome of the roll on the strength of gravity.
Answer: I would posit that it likely depends on gravity. The strength of gravity determines how many times it gets to spin before hitting the ground. On an extreme case like Jupiter, it may barely tilt from its initial position before landing heavy side down. Also, any bounces are much less likely to cause a change in the orientation in heavy gravity. E.g. imagine on earth dropping a gaming die vs a cube of steel or lead of equal size (you can do this experiment yourself).
My hypothesis would be that higher gravity equals more bias in favor of the heavy side. In essence changing gravity is the same as changing the severity of the bias. It might be that below a certain threshold value where the die spends a significant time spinning in the air between bounces, the probability levels off to a fairly constant value. I.e. tossing it on Mercury may be no different from tossing on the Moon or an asteroid.


"When it comes to" and "with regard to"

Question: Are when it comes to and with regard to always interchangeable? Is there any difference at all?
Comment: But there are some contexts in which they are not. For example, 'When it comes to doing the washing-up, you can never find him.'
Comment: In those contexts where they are interchangeable, I'd say that 'with regard to' was the more formal of the two.
Comment: @Barrie: I'm wondering if there's a general rule that *when it comes to* something that isn't actually "arriving" right now in the ongoing discourse (as the next topic), you'd normally use those words, rather than *"With regard to"*.
Comment: This is an excellent question because it's exactly the sort of thing that an English speaker would never think about, but would probably find impossible to explain if put on the spot. It seems we can't answer it yet with quite a bit of consideration!
Answer: Both can be used to introduce a new subject of discussion; however, my feeling is that there is a subtle difference in acceptable contexts - "with regard to" is less appropriate when the subject has not already been directly questioned. For example,

When it comes to technology, I have no idea what I'm doing

would be fine, in the context of discussing, say, a new phone but the corresponding

With regard to technology [...]

would be inappropriate unless the question of the speaker's technological ability had already been raised but not yet addressed.
Both would be appropriate, in a context of say a board meeting, where "Technology" was an item on the agenda.

"When it comes to" and "with regard to"


IPSEC VPN site-to-"alias"

Question: I am trying to connect my CentOS (CentOS release 6.7) server to a 3rd party VPN so traffic can be routed between my Apache instance listening on an aliased private IP (192.168.253.1), through the tunnel. My server's physical NIC is connected to the internet directly.
I have setup the NIC alias (ifcfg-eth1:0) and configured OpenSwan (Linux Openswan U2.6.32/K2.6.32-573.22.1.el6.x86_64 (netkey)) as best as I can tell.
The tunnel appears to be coming up however no packets are being routed via the tunnel from either side.
The research I have found on the topic says I need to use IPTABLES POSTROUTING rules for the traffic destined to their private subnet (196.34.X.X/24) to be routed via the tunnel (by rewriting the IP SOURCE address to the Alias IP 192.168.253.1 instead of the machines default public IP), however because this newer version of OpenSwan appears to use "ip xfrm", the POSTROUTING in Iptables I tried appear to be ignored (by checking for traffic using tcpdump).
An overview of the network configuration I am attempting to setup:
 --- <196.25.X.X (Their GW)> <  < ==== IPSEC VPN TUNNEL ==== > >  <41.X.X.X (My GW)>
So my primary question is can this be done, i.e. a IPSEC site-to-site(alias)? Where the alias subnet is on the GW machine itself?
Secondly, if it is possible, how can I get the packets routed down the tunnel (I believe by using "ip xfrm" or my Openswan config but from their documentation I have read I cannot see how?
Answer: The issue was cause by incorrect OpenSWAN configuration, it was resolved by following this guide (the other site is using M0n0wall):
http://spb.sdf.org/monowall_openswan.html
To confirm, Openswan can be configured to route, as the private network, on a site-to-site setup to an aliased NIC.

IPSEC VPN site-to-"alias"