I am trying to create a shuffle play feature for a music streaming app and I'm trying to figure out the best way to create this.  I want to be able to shuffle through an array by selecting a random index but not selecting one that has already been selected. I can think of a few ways to do this but none seem very elegant. Has this problem been solved before? Is there a simple solution to this?   Thanks
I'd like to generate unique random numbers between 0 and 1000 that never repeat (i.e. 6 doesn't show up twice), but that doesn't resort to something like an O(N) search of previous values to do it. Is this possible?
In the early days of C++ when it was bolted on top of C, you could not use NULL as it was defined as (void*)0. You could not assign NULL to any pointer other than void*, which made it kind of useless. Back in those days, it was accepted that you used 0 (zero) for null pointers.  To this day, I have continued to use zero as a null pointer but those around me insist on using NULL. I personally do not see any benefit to giving a name (NULL) to an existing value - and since I also like to test pointers as truth values:  if (p &amp;&amp; !q)   do_something();   then using zero makes more sense (as in if you use NULL, you cannot logically use p &amp;&amp; !q - you need to explicitly compare against NULL, unless you assume NULL is zero, in which case why use NULL).  Is there any objective reason to prefer zero over NULL (or vice versa), or is all just personal preference?  Edit: I should add (and meant to originally say) that with RAII and exceptions, I rarely use zero/NULL pointers, but sometimes you do need them still. How could they return the Infinity Stones in their "raw" form? There is this one little thing that I don't quite get at the end of Avengers: Endgame.  After Thanos was defeated, Captain took the stones back to where they were originally taken to "correct" the timeline. However we see that Cap has the 6 stones in their "Raw" form, but that is not how all of them were taken.   For example in 1970 Tony didn't take the Space Stone but the Tesseract, so I assume they extracted the Space Stone in the present (by breaking the Tesseract like Thanos in the Infinity War movie?).   So how could Cap return the stone to the rightful place when he actually needed to return the Tesseract? Or am I missing something here...   The same goes for the Mind Stone, which was inside the Gem on the Staff Loki had in the first Avengers movie. How to share variable between two c# projects Syntax error due to using a reserved word as a table or column name in MySQL How to stop Tkinter Frame from shrinking to fit its contents? This is the code that's giving me trouble.   f = Frame(root, width=1000, bg="blue") f.pack(fill=X, expand=True)  l = Label(f, text="hi", width=10, bg="red", fg="white") l.pack()   If I comment out the lines with the Label, the Frame displays with the right width.  However, adding the Label seems to shrink the Frame down to the Label's size.  Is there a way to prevent that from happening? If you copy the contents of   httpd.conf   and then paste it into a cat command.. such as this one..  #!/bin/bash cat &gt; /test &lt;&lt; EOF pasted here.. EOF   you run into this error:  -bash: command substitution: line 1: unexpected EOF while looking for matching `'' -bash: command substitution: line 4: syntax error: unexpected end of file   perhaps the solution is to escape the dollar signs and maybe even quotes and so on..  but given that this is such a large file.. can dollar signs be automatically be escaped ?  is my only option to escape them via another program and then give it to the cat command ? I am on Ubuntu and I have forgotten the password for my Gnome Keyring (yes, stupid me, I know). Any way I can get it back? I have already looked at , but it says it's not possible if my home directory is encrypted and unfortunately my home directory is encrypted. Most of what I have read about retry operations is that they are vaguely complicated and indepth. I have written the code below which seems to accomplish this without too much confusion - I'm wondering if there are any pitfalls I am not seeing here.   The class uses a top-level schedulable class, which calls a queueable class to make the callout, and if the callout is unsuccessful, it just schedules the top level class again five minutes later. After testing it appears this works indefinitely.   A simple string token, assigned at the first invocation, is also passed between the classes, and I have tested and found that the token does persist, even when runs are scheduled for a later time.   Thanks for helpful thoughts!  public class SelfServe implements Schedulable {      public String Token = null;      public void execute(SchedulableContext ctx) {                  RetrieveMachineDetails Job = new RetrieveMachineDetails();             Job.Token = Token;             System.enqueueJob(Job);      }           public class RetrieveMachineDetails implements Queueable, Database.AllowsCallouts {          public String Token = null;          public void execute(QueueableContext context){                                            Http http = new Http();             HttpRequest request = new HttpRequest();                             request.setEndpoint('https://app.endpoint.com/api');                     request.setMethod('POST');                     request.setHeader('Content-Type', 'application/json;charset=UTF-8');                                      request.setBody('{"query":  "$message_=\'METRIC\' &amp;&amp; $tier=\'customer\' "}');                                                                                                                                                                                    HttpResponse response = http.send(request);                            if (response.getStatusCode() == 200) {                 //do stuff                  }              else { //retry                  DateTime Dt = system.now().addMinutes(5);                                String day = string.valueOf(Dt.day());                                        String month = string.valueOf(Dt.month());                                          String hour = string.valueOf(Dt.hour());                                       String minute = string.valueOf(Dt.minute());                                                       String year = string.valueOf(Dt.year());                                   String ScheduledTime = '0 ' + minute + ' ' + hour + ' ' + day + ' ' + month + ' ?' + ' ' + year;                  SelfServe Job = new SelfServe();                     Job.Token = Token;                 System.schedule('SelfServe Job'+Dt, ScheduledTime, Job);              }         }        }  } System of linear equations having a real solution has also a rational solution. How to describe a guy who is popular with girls? Perhaps I should make it clear:  - He naturally attracts girls.  - He doesn't chase girls and have no intention for any relationship.  - You just see him often together with girls. What is this operator: &= Scaling HUD with variable resolution Suppose I have BaseClass with public methods A and B, and I create DerivedClass through inheritance.  e.g.  public DerivedClass : BaseClass {}   Now I want to develop a method C in DerivedClass that uses A and B.  Is there a way I can override methods A and B to be private in DerivedClass so that only method C is exposed to someone who wants to use my DerivedClass? Tools to measure the nonrandomness of database I was working on historical data looking for anomalous patterns that we would not expect to occur at random. I'd like to create a scheme to analyze data and markets to test for statistical significance and consistency over time.  Question : Are there some tools we could use to evaluate the nonrandomness of a database? What do we use usually to say that something is random or not (statistically)? Figure we work with change in some value over time. Following on from this question:   It seems all feats carry over to your new form if your new form is capable of using them (so Mounted Combatant and Inspiring leader would usually be ruled as unusable in most circumstances). But what about Tough?     Your hit point maximum increases by an amount equal to twice your   level when you gain this feat. Whenever you gain a level thereafter,   your hit point maximum increases by an additional 2 hit points.   Would this increase your maximum HP by the same amount when in the form of a rat, or brown bear? Attempting to create a tag wiki when a user has hit the suggested edit limit should alert the user that no more edits can be suggested at this time I ran into an issue on Gaming.SE where I attempted to create a tag wiki and wiki excerpt for a tag which did not have one already while I already have the maximum of five suggested edits in the queue.  Navigating to the tag page for the  provides a link to  for this tag. This link redirects to the  for this tag, without telling me that I can't submit an edit because I've reached the maximum number of suggested edits. Instead of silently redirecting, the page should alert me that I can't suggest any more edits until my suggestions are reviewed. Does anyone know of a program or way to log all network activity to a specific program on one's computer (program and/or service)?  I know I can see this "live" in Resource Monitor, but I'm wondering if anyone knows of a program or way to track and log all network activity to/from a specific process and/or service.  I'm finding a lot of "live"-type monitors, like Windows Resource Monitor, but nothing that can log. Order of items in a context menu How do you photograph rain? What are recommended settings for my Nikon Coolpix P1 to best portray rain?  Here's what I got. No retouching was applied.   The picture I took when the rain was heavy with the automatic settings:  The picture I took with the "Sports" program; by then, however, the rain was not as hard. Ugh, ugly gray strip at the bottom, that was the flat surface I put my camera on to get a stable picture.   My main problem is that the actual rain and hailstorm is very hard to see in the picture. The overall effect is, instead, of fog.    Follow-up from the thread, courtesy of more rain, now with less hailstorm and more thunder.  The feedback amounted to flash and faster shutter. I took a few photos and I'm having some trouble to reconstruct what I did to get each result. Two representative results:   Fast shutter, with some guest starring:I'm talking about that horrible building obviously. Faster shutter and flash:Kinda difficult to say those pictures were taken sixty seconds of each other. :)   I'm not sure, however, that either of this is really an improvement of the original results. I have a problem with my touchpad; I can't scroll down with 2 fingers and I don't know why. I have searched on Google about my problem and I've found some answers but none of them don't work for me.  One solution I found was to go in System Settings -&gt; Mouse &amp; Touchpad -&gt; Touchpad and check the Two-finger scrolling, but I don't have that option.    Another solution was to try to reinstall, which also didn't work. Yet another solution was to go in Ubuntu Software Center, type synaptic and install the Synaptic Package Manager but that didn't work, either.      What can I do to be able to scroll with two fingers?