Are there any Candy Box bugs higher than level 5?

Question: In Candy Box, the developper's console lets you create bugs. It shows different buttons for different level bugs depending on how many lollipops you have. If you have 100 billion or more, it says that there are no level-six bugs, but "maybe level 7". If you have 1 trillion or more, it says there are no level-seven bugs either, but "don't give up".
However it doesn't change no matter how many more lollipops you have. You can add 10e200 and it remains the same.
Is there something more to see or is that goading text just a ruse or prank to hassle (obsessive) players and trick them into wasting some time.
Comment: Just a bit curious, when you changed your lollipops to 10e999, did it say you had 10e999 lollipops? I was  trying to see how high I could get my candies up and somewhere around 10e300 (probably less) candies it said I had infinity candies. Eating them gave me infinite health. Just curious has to whether explicitly inputting 10e999 would bypass this effect.
Comment: nvm,  Number.MAX_VALUE = 1.7976931348623157e+308, any number beyond that would be displayed as infinite.
Comment: I was being hyperbolic. I don't remember the exact number I used, but it was extremely high, and yet nothing changed (there was no level-eight line added below the level-seven line), which is what prompted me to ask.
Comment: Strange that someone felt the need to downvote the question and all answer without bothering to leave an explanation. ◔_◔
Answer: Ahh here we go... (Spoilers ahead)
Guide to achieving higher level bugs
The level two bug typically has you encounter people who give you millions of candies (or you just pick up the candies you tossed on the floor earlier). Start here and accumulate a few 100 million candies.
The level three bug has multiple consequences:

Increase Sword level by 1
Decrease Sword level by 3
Times 3 candies
Absolutely nothing (as in the image in the picture)

Exploit the level three bugs to multiple you candies to an absurd amount. (over 10 trillion) (if you run out of lollipops, proceed to next step to get more).
Let the candy to lollipop converter run for some time (15 to 20 minutes should do) and all you candies will become lollipops. At this point you will unlock all the bugs and your game will look like this (give you have over 10 trillion lollipops):

Some additional notes:
Level 5 bug can:

unlock a secret pony mode that turns all your opponents into ponies
Sword of Randomness (combines all 3 swords into one)
Bug with the Bug, absolutely nothing happens.

Level 1 bug:

Receive 1 to 3 bars of chocolate
Absolutely nothing

The point is that the bugs aren't unique and after purchasing a bug once it is still worthwhile to do it again. One of the bugs increases you maximum lollipop production (planting more lollipops will increase your product up to 30000 a second I believe, still rather pointless at this point).
Comment: Again, this isn't helpful, I have already tried manually changing the number of lollipops to gigantic numbers (I even tried setting it to 10e999). Nothing worked. Have you *personally seen* level eight or higher bugs?
Comment: Your screenshot shows only up to level-five bugs and the level-six and seven messages I already showed in the question. Did you even read the question?
Comment: @synetech see picture
Comment: @Synetech It clearly says "Welcome to the bug factory! You now have access to the entire computer, and you can therefore create your own bugs."
Comment: That is referring to the buttons below that randomize things. That has nothing to do with the level bugs above that message.
Comment: Those buttons are the level 8 bug.... you unlock them by gaining a large number of lollipops beyond the amount needed for level 7 bug. The message that appears "don't give up" is in reference to the bug factory.
Comment: Yes, I saw that. However it doesn't actually say that which makes it not obvious that it is part of the levels (the factory just seems like a new, *different* thing that opened while the bug section remains unchanged with the *don't give up* message lingering there).
Comment: It depends on how you got there I suppose. Users who don't use their browser's console to edit their lollipop count see the bug factory appears sequentially long after the level 7 but while they are attempting to find the threshold for the level 8 bug. When it appears, it is clear from that standpoint that they achieved something (I still don't know where exactly that threshold is, the first time around after going up several orders of lollipops and not seeing anything, I went for an absurd number of lollipops and got this).
Comment: The bug factory becomes accessible with 10 trillion lollipops. Also, it's not obvious because by that point, you might cross that threshold while in one of the other tabs (or not even playing the game and it reaches 10Tlp while you're off doing something else), so you might notice the bug factory when you happen to view the computer tab later on. Plus, there is the divide in the layout, but now we're getting into UI design. `:-)`
Answer: I checked the page's source (below) which shows that the bugs are hidden and displayed dynamically. The randomize bugs appear after you reach 10 trillion lollipops, the randomize buttons become available, and while it doesn't say so, the source considers that as being "level-eight" as per the computer_bug_8 ID of the Bug Factory section.
Comment: Personally, I can appreciate the prank. In one of my old programs, I added an easter-egg that changed the title of the about-box to a "cutsey" depending on how many times you clicked the program icon. I added a dozen or so and made it so that pretty much everybody would give up before the last couple of levels which required so many clicks that your finger would fall off (assuming you physically performed it). Naturally, these sorts of things *have* to have an end at some point since there's no way to make unique, non-random things last indefinitely.
Comment: It is not a prank. By gaining a sufficient number of lollipops beyond the million of millions of lollipops needed for the non-existent level 7 bug, you unlock the "bug factory" where you can randomize candies and lollipops among other things like adding additional (though useless) tabs and changing font size and background colour of the game.
Comment: Yes, I added that.
Comment: @hit-and-run-down-voter, I found a definitive answer by directly examining the code. So what's your problem?
Answer: Yes, there is a Level 8 bug. Unlocked at 10,000,000 mlp, It gives access to the "bug factory" in which you can randomize various aspects of the game. You need a base of 10,000,000 mlp, but activating any of these bugs does not cost lollipops. There are no bugs beyond level 8, though.
Comment: Adding in a little bit more detail would be most useful.  Just saying what's possible, while technically answering the question, isn't very useful.
Comment: But how do you get it? I tried adding 10e200 lollipops but nothing came up.
Comment: I haven't edited the game using my browser, but I was able to get trillions of trillions of lollipops by manipulating the above bugs. The bugs aren't necessarily unique and may have other affects if you try to use them again. It's been a while since I played by there should be a bug that substantially multiplies your candies. After you get some absurd amount of candies, the candy to lollipop converter can convert them all given that you let it run for a while (at a certain point it converts all regardless of how many). At that point the higher level bugs.
Comment: @Nil, at what point do you see level-eight? I already tried manually setting the number of lollipops. That's how I was able to see the level-five, six, and seven messages. I tried setting it to 10e200 but still did not see a level-eight.
Comment: I didn't want to give spoilers, but if you insist.


Do we need client_secret when using PKCE in OpenID connect authorization code flow?

Question: As per PKCE spec, OAuth provider uses code_verifier to avoid the man in the middle attack. My understanding that, it is the best alternative for JavaScript based single page application (SPA) to exchange OAuth code for token.
When I experiment this with Google API, it says "client_secret is missing".
Here is the HTTP Request and Response.
ID: 1
Address: https://oauth2.googleapis.com/token
Http-Method: POST
Content-Type: application/x-www-form-urlencoded
Headers: {Content-Type=[application/x-www-form-urlencoded], Accept=[/]}
Payload: grant_type=authorization_code&code=4%2F1AH3Ubnm550IoT8AZ_e_eqLYDn3-JyXVo22LOcAlsWPnxTV_o0tV2N1YMNFtqhvFm65n4tuZmHfK5tkKLOsbnRw&scope=openid+profile+email&redirect_uri=https%3A%2F%2Flocalhost%3A8443%2Fdemo&client_id=myclientid.apps.googleusercontent.com&code_verifier=iv8n89-Dh3QD1uroYm6e6jcpZwxff60m-RYYlmLYArun6KF8o0z%7Ee3EjyVyYUp.4XxSbyI47QQSCMrY542sLWSUnxAG8e0a%7ETjmF_UFioJMA_ctB2jz6qbcYtu9uUOKp
ID: 1
Response-Code: 400
Encoding: UTF-8
Content-Type: application/json; charset=utf-8
Headers: {Accept-Ranges=[none], Alt-Svc=[h3-28=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-25=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q049=":443"; ma=2592000,h3-Q048=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"], Cache-Control=[private], content-type=[application/json; charset=utf-8], Date=[Mon, 22 Jun 2020 04:41:53 GMT], Server=[scaffolding on HTTPServer2], transfer-encoding=[chunked], Vary=[Origin,Accept-Encoding, Referer, X-Origin], X-Content-Type-Options=[nosniff], X-Frame-Options=[SAMEORIGIN], X-XSS-Protection=[0]}
Payload: {
"error": "invalid_request",
"error_description": "client_secret is missing."
}
Is my understanding that "we don't need client_secret when passing code_verifier" wrong or Google is not supporting PKCE or Do I miss some other parameter in the request? Please help.
Answer: I took a look and experienced the same problem when trying to use the latest Single Page App Standards. Looking at Google docs their implementation seems to still be based on the implicit flow.
I verified that you can send response_type='token id_token' and successfully get tokens, though I'd also prefer to use Authorization Code Flow (PKCE).
Comment: Thanks Gary. That is surprising Google is not supporting it yet while I see lots of recommendation to use PKCE.
Answer: I tried without client_secret using keycloak on flutter app but it failed. code_verifier did not work; Hence I moved to use client_secret in my payload.


Adding a 2nd UIToolBar for Keyboard used with UITextViews

Question: I currently have a working UIToolbar where I'm putting extra buttons above the keyboard when using a UITextField but I was wanting to make a 2nd UIToolbar type for above a UITextView. When I tried copying my code and modifying it to be how I'd like it to look, it doesn't show up at all. I'm not sure if I'm doing something wrong or if it has something to do with the NotificationCenter and addObserver I'm using. FYI, the overall class is called AddRecipeDirectionVC: UIViewController, UITextViewDelegate if that is needed at all.
So here is the observer code I'm adding into my viewDidLoad
override func viewDidLoad() {
    super.viewDidLoad()

    //...Other Code...

    NotificationCenter.default.addObserver(self, selector: #selector(AddRecipeDirectionVC.keyboardWillShow(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
}

Originally, I thought I had to add this Observer on each UIViewController, but I'm starting to think this code I'm using could just be put in the initial VC and it would carry out for the rest of the project (currently, I'm using that code in ever VC where I'm adding the Toolbar)
Next, I have the textViewDidBeginEditing function where I think the keyboard toolbar is being added.
func textViewDidBeginEditing(_ textView: UITextView) {

    if (textView.textColor == UIColor.lightGray) {
        textView.text = nil
        textView.textColor = UIColor.black
    }
    self.keyboardToolbar(textView: textView) //Adding Keyboard
}

And then finally, I have keyboardWillShow and keyboardToolbar functions
func keyboardWillShow(notification: Notification) {

    let keyFrame = ((notification as NSNotification).userInfo![UIKeyboardFrameBeginUserInfoKey] as! NSValue).cgRectValue
    let keyHeight = keyFrame.size.height

    self.bottomSpace.constant = keyHeight + 12
}

func keyboardToolbar(textView: UITextView) {

    let toolbar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
    toolbar.barStyle = UIBarStyle.default
    toolbar.bounds.size.height = 28

    let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)

    let done: UIBarButtonItem = UIBarButtonItem(image:  #imageLiteral(resourceName: "Done Check"), style: UIBarButtonItemStyle.done, target: self, action: #selector(AddRecipeIngredientVC.doneButtonAction))
    done.tintColor = UIColor.aqua(alpha: 1.0)

    let clear: UIBarButtonItem = UIBarButtonItem(title: "Clear", style: UIBarButtonItemStyle.plain, target: self, action: #selector(AddRecipeDirectionVC.clearButtonAction))
    clear.tintColor = UIColor.darkAqua(alpha: 1)

    var items = [UIBarButtonItem]()

    items.append(clear)
    items.append(flexSpace)
    items.append(done)

    toolbar.items = items
    toolbar.sizeToFit()

    textView.inputAccessoryView = toolbar    }

func doneButtonAction() {

    self.directionText.resignFirstResponder()
    self.bottomSpace.constant = 12
}

func clearButtonAction() {

    directionText.text = ""
}

As far as I can tell, I'm doing everything the same as in the other VC's, so it seems like it should be working, but nothing ever shows up. Let me know if any additional code needs to be added.
Thank you in advanced for any help anyone can give me :)
Answer: After much googling, I found out that the keyboardToolbar code had to be put in textViewShouldBeginEditing not textViewDidBeginEditing. From what I understand, with a UITextView the layout has already been set once it gets to textViewDidBeginEditing, hence the reason I wasn't seeing it. This is the code I ended up using that did the job. Everything else is the same beside what is shown below.
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {

    self.keyboardToolbar(textView: textView)
    return true
}

func textViewDidBeginEditing(_ textView: UITextView) {

    if (textView.textColor == UIColor.lightGray) {
        textView.text = nil
        textView.textColor = UIColor.black
    }
}

Answer: try this code
func keyboardToolbar(textView: UITextView) {

    let toolbar: UIToolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: 1, height: 1))
    toolbar.barStyle = UIBarStyle.default
    toolbar.bounds.size.height = 28

    let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil)

    let done: UIBarButtonItem = UIBarButtonItem(title: "done", style: UIBarButtonItemStyle.done, target: self, action: #selector(self.doneButtonActionn))
    done.tintColor = UIColor.red

    let clear: UIBarButtonItem = UIBarButtonItem(title: "Clear", style: UIBarButtonItemStyle.plain, target: self, action: #selector(self.doneButtonAction))
    clear.tintColor = UIColor.black

    var items = [UIBarButtonItem]()

    items.append(clear)
    items.append(flexSpace)

    items.append(done)

    toolbar.items = items
    toolbar.sizeToFit()

    textView.inputAccessoryView = toolbar

}

func doneButtonAction() {

    self.bodyTextView.resignFirstResponder()
    //self.bottomSpace.constant = 12
}

func doneButtonActionn() {

    self.bodyTextView.resignFirstResponder()
    //self.bottomSpace.constant = 12
}

func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {

    self.keyboardToolbar(textView: textView)
    return true
}


What is the difference between Ubuntu and its derivatives?

Question: What different Ubuntu derivatives are there? And what is special with them?
Comment: So basically what I'm reading is: Xubuntu is great for older/crappier computers, Kubuntu is best for Windows users and mass customization (less lightweight but still kind of lightweight), and Ubuntu is somewhere in between.
Comment: @Andrew Lubuntu is the lightest, so IMO it's the best for older/crappier computers
Comment: Ye while we're here I ended up trying out Ubuntu, not liking it, and going to Mint, its much better cousin. Lots of overlap with Ubuntu.
Answer: The main two differences between Ubuntu and its derivatives are the backing and the default installed packages. For all official derivatives, you can convert between variants by installing certain packages.
Here is a small list:
Ubuntu
Ubuntu comes with the Unity desktop environment. The underlying Unity platform is still GNOME, but instead of using the GNOME Shell interface, Unity uses the Unity shell.
Ubuntu and Unity are commercially backed and supported by Canonical.
To convert an installation into regular Ubuntu, install ubuntu-desktop .
Kubuntu
This is the KDE flavor of the typical Ubuntu (which is GNOME driven). The primary difference is that Kubuntu comes with KDE as the default Desktop Environment, as opposed to GNOME with the Unity shell.
Kubuntu is sponsored by Blue Systems. Canonical stopped backing it in 2012, but it is still an officially recognized Ubuntu variant, which means that it gets build machines, test machines, CD image distribution servers, etc. dedicated to it.
To convert an installation into Kubuntu, install kubuntu-desktop .
Ubuntu GNOME
Ubuntu GNOME aims to have a mostly pure GNOME desktop installed by default.
Ubuntu GNOME is community-driven. It was originally called Ubuntu GNOME Remix; it was renamed to Ubuntu GNOME when it became officially recognized. Ubuntu GNOME is very new: its first release as an official derivative was 13.04 Raring Ringtail, which as of 6/9/13 is the current release.
To convert an installation into Ubuntu GNOME, install ubuntu-gnome-desktop .
Xubuntu
This is a lighter weight, highly efficient and optimized flavor of Ubuntu designed to run on older computers. It uses Xfce which is a proven faster Desktop Environment than both KDE and GNOME. This is a typically simpler slim interface.
Xubuntu is community-driven and operates under a Strategy Document. It is also officially recognized by Canonical (see Kubuntu for what that means).
To convert an installation into Xubuntu, install xubuntu-desktop .
Ubuntu Server
Ubuntu Server is optimized for use as a server. It does not come with X.Org, and as such does not use any graphical environment like a desktop environment or a window manager. Instead, it comes only with a CLI environment.
Ubuntu Server is commercially backed and supported by Canonical.
Mythbuntu
The counterpart to Xubuntu - Mythbuntu is designed to be an entertainment powerhouse. Focused around being a Media Center it includes many drivers and setups for TV Tuners, TV Out cards, and has a Media Center application (MythTV) integrated into the Desktop Environment to facilitate the entertainment powerhouse it advertises.
Mythbuntu is an officially recognized Ubuntu variant.
To convert an installation into Mythbuntu, install mythbuntu-desktop .
Lubuntu
Lubuntu takes the aims of Xubuntu and pushes the Desktop Environment to an even more bare bones lightweight variant:

LXDE (Lightweight X11 Desktop Environment) in releases up to 18.04, and
LXQt in releases after that.
Both are very efficient (LXDE used GTK2, it was being ported to GTK3 where it was deemed to heavy, so the devs ported it to Qt5, they then joined the Razor-Qt team forming the newer LXQt project).  It's a more efficient (the lightest official flavor out of the box), power saving, fast, lightweight Desktop Manager than XFCE (though if using GTK3 apps some of its lightness will be lost).

Lubuntu is community-driven. It is officially recognized as a variant by Canonical.
To convert an installation into Lubuntu, install lubuntu-desktop
My Opinion
I've used the first three before and I believe all have some backing from Canonical (or other corporate backing) while Lubuntu is still relatively new and community driven. Though if you have a very old/slow computer it certainly might be what you're looking for.

Figured I'd add the other flavors of Ubuntu I knew where out there
In addition to the above listed there is also:
Edubuntu
This flavor is designed with Educational intent. Runs very close to the vanilla Ubuntu release though it comes with many additional applications that are best suited for an Educational environment. It also is configured and stylized with kids in mind.
Edubuntu is an officially recognized variant.
Ubuntu Studio
This flavor is geared towards those who deal with multimedia (Video, Audio, Graphics, Design) on a daily basis. Comes bundled with many applications, codecs, and drivers required to facilitate those activities.
Ubuntu Studio is an officially recognized variant.
Ubuntu CE
Ubuntu CE (Ubuntu Christian Edition) is Ubuntu designed for Christians who wish to maintain an "Christianly" lifestyle. This comes bundled with a lot of religious software and security tools to help protect moral religious obligations.
Ubuntu CE is an unofficial derivative.
Nubuntu
This project is idle, but it's intent was to bring stronger hardened security to the stock Ubuntu installation. It targets security practitioners like penetration testers.
Nubuntu is an unofficial derivative.
Fluxbuntu
Fluxbuntu does not come with a desktop environment like GNOME or KDE. Instead, it only comes with a window manager called Fluxbox.
Fluxbuntu is community-driven. It is an unofficial variant.
Comment: Just so you know, Fluxbuntu uses *Fluxbox* as its WM. > "in this case Flux which is another alternative Window Manager for Linux"
Comment: Where do "desktop" and "server" fit into this roster? Does that only apply to the master Ubuntu distribution, or do the others also have desktop, server, netboot, etc. releases?
Answer: Currently there are 10 Official Ubuntu flavors:
Ubuntu
The most common and known, Ubuntu uses the Unity Desktop as default and creates an standard desktop environment for TVs, smartphones and desktops. Ubuntu is not considered a lightweight distro although it works on some low end hardware.
Download - http://www.ubuntu.com/download/desktop
Information - https://askubuntu.com/a/521700/7035

Kubuntu
Most Windows users love this one since the transition from Windows to the KDE desktop is very easy to grip. To top it off, KDE is known to give pretty much many customization options for the user, ranging from general ones to very specific ones. This is also considered something bad (not from me at least) because it gives you a LOT of options to customize. Don't be amazed if you find an option for your fridge there. Like Ubuntu, Kubuntu is not a lightweight distro.
Download - http://www.kubuntu.org/getkubuntu
Information - https://askubuntu.com/a/521701/7035

Lubuntu
It is one of the lightweight alternatives to Ubuntu. Easy to learn and recommended for old hardware that you want to bring back to life.
Download - http://lubuntu.net/
Information - https://askubuntu.com/a/521702/7035

Xubuntu
Like Lubuntu, Xubuntu is a lightweight distribution. It offers several friendlier features than Lubuntu and it offers more customization.
Download - http://xubuntu.org/getxubuntu/
Information - https://askubuntu.com/a/521704/7035

Edubuntu
Focused on education. The installation procedure offers many prebuilt learning packages
Download - http://www.edubuntu.org/download
Information - https://askubuntu.com/a/521705/7035

Mythbuntu
Focused on offering a complete HTPC solution. From TV recording and similar activities to wathing a Movie or TV Series list.
Download - http://www.mythbuntu.org/download-type
Information - https://askubuntu.com/a/521708/7035

Ubuntu Studio
For avid multimedia users, it focuses on the Multimedia aspects of a system, It offers video/audio design & edition, Multimedia Authoring, 2D/3D Design, several preinstalled video editors, audio editors, graphic editors, digital design, raw image applications and any other multimedia editor needed for a full blowned multimedia workspace.
Download - https://ubuntustudio.org/download/
Information - https://askubuntu.com/a/521710/7035

Ubuntu GNOME
It offers users a sleek, fast and elegant desktop with many integrated features that work together to make the end user's life easier.
Download - http://ubuntugnome.org/download/
Information - https://askubuntu.com/a/521711/7035

Ubuntu Mate
It offers users a new desktop look using the Mate Desktop experience and mixing features and hardware requirements from lightweight distributions with more robust distributions. A reborned unique desktop experience.
Download - https://ubuntu-mate.org/
Information - https://askubuntu.com/a/585167/7035

Ubuntu Kylin
Developed primarily for China, Ubuntu Kylin offers many unique features not found in other flavors of Ubuntu (Apart from Mandarin as default ^^). It originated from the Kylin operating system designed in China by the National University of Defense Technology. The name Kylin comes from the Mythical Chimerical creature Qilin, which is a creature that when it appears it means a good omen (Prosperity or Peace). It is often called the Chinese Unicorn, which would be simply amazing when Utopic Unicorn arrives.
Download - http://www.ubuntu.com/download/ubuntu-kylin
Information - https://askubuntu.com/a/521713/7035

For Benchmark, CPU & Memory Usage, Minimum Hardware Requirements, Recommended Hardware Requirements and User Recommended Hardware Requirements, ISO Download Size, Look after installed and Desktop used please see the answers below for the respective Ubuntu Distribution.
All 10 distributions shown independently below offer the following:

10 Official Ubuntu Distributions (32-bit and 64-bit)
Hardware Requirements (Minimum, Officially Recommended and My Recommendation)
Unique Features
Resource Usage & Performance
All share similar Hard Drive I/O performance, Network Speed & Installation Time
Apart from Edubuntu, Mythbuntu & Ubuntu Studio offering some unique installation options, all have similar installation procedures
General GPU usage and performance actually varies more on what type of Video card, CPU, Amount of RAM and Motherboard you are using than on what Desktop you are using. In any case, at the end you can see the overall FPS performance for each Desktop.
Test took one week and was done with the following Hardware:

CPU: Intel i7-4770
Intel Haswell Integrated GPU
Samsung SSD 840 Pro 256 GB
RAM: 4 GB DDR3
MOBO: Asus Z87 Pro

SDD was formatted each time a new distribution was tested
Office Apps means the following:

LibreOffice Writer, Calc & Impress opened with a simple document
For the Cases of Lubuntu & Xubuntu, the Office Suite was Gnumeric and Abiword
For the Cases of Mythbuntu & Ubuntu Studio, there were no Office Suite. Because of this, the Full Apps tests for them, does not include any Office Suite.

HDD Usage means the hard drive space used after installation.
Full Apps means the following:

Includes all applications from the Office Apps
Firefox opened with 20 Tabs showing the following sites: Ask Ubuntu, Ubuntu, Lubuntu, Edubuntu, Mythbuntu, Ubuntu Studio, Ubuntu Gnome, Ubuntu Kylin, Xubuntu, Lubuntu, Kubuntu, Ubuntu G+, Launchpad, Phoronix, Ubuntu Discourse, OMG Ubuntu, WEB UPD8, Slashdot, Linux Foundation, LibreOffice.
For the case of Mythbuntu which does not come with Firefox by default I used Chromium. I also had to exit the MythTV Application which launches by default to do the tests.
The Real Hardware Requirements are based on my personal opinion on how the user would perceive Ubuntu when using it. Will it be slow or fast. Will it load apps quick or take longer. Is the desktop responsive or sluggish. How much resources does the distribution actually take. This are my personal hardware requirements  when trying out this particular distribution, but as they are personal, they can vary from hardware to hardware and user to user. The objective is to give the user an idea of what actual requirements could be needed and proceed from there on.

The CPU and RAM usage is to give the end user an idea on how much that particular distribution uses when having several applications opened. This should be taken litely since the scenario could change. For example having Blender opened while rendering a video can use more CPU and RAM than having LibreOffice opened with several documents. So do not take this resource usage seriously, only use it as a basic guide, especially since the type of CPU and CPU power can dramatically change the usage value (Eg: Comparing an Intel P4 2.4Ghz with an Intel i7-4770).
THe CPU and RAM usage is tested AFTER the process has finished loading. This means that the CPU might spike when loading an application but will then settle after the loading process has finished. The average value when settled is the one I take into account. Same goes for RAM.
Answer: #Lubuntu
It is one of the lightweight alternatives to Ubuntu. Easy to learn and recommended for old hardware that you want to bring back to life.

ISO Size - 730 MB (32-bit) / 740 MB (64-bit)
Desktop - LXDE (up to 18.04 only)
Download - https://lubuntu.me/downloads/
Initial Desktop Look:

##Lubuntu 32-bit
Hardware Requirements:

Minimum Recommended

CPU: Pentium II (233+ MHz) + PAE Support

RAM: 384 MB

HDD: 2.5 GB

VGA: 16+ MB Video Capable of 1024x768

CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: Pentium II (400+ MHz) + PAE Support

RAM: 512 MB

HDD: 3 GB

VGA: 32+ MB Video Capable of 1024x768

CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 1.2+ GHz

RAM: 1 GB

HDD: 5 GB

VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+

CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage
0 Apps - Less than 1%
Office Apps - Less than 1%
Full Apps - 2%
RAM Usage
0 Apps - 165 MB
Office Apps - 196 MB
Full Apps - 430 MB
HDD Usage - 2.2 GB

##Lubuntu 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 800+ Mhz 64-bit Processor

RAM: 256 MB

HDD: 2.5 GB

VGA: 16+ MB Video Capable of 1024x768

CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 800+ MHz 65-bit Processor

RAM: 512 MB

HDD: 3 GB

VGA: 32+ MB Video Capable of 1024x768

CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 1.2+ GHz

RAM: 2 GB

HDD: 5 GB

VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+

CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage
0 Apps - Less than 1%
Office Apps - Less than 1%
Full Apps - 2%
RAM Usage
0 Apps - 238 MB
Office Apps - 269 MB
Full Apps - 570 GB
HDD Usage - 2.3 GB

##Notes about Lubuntu

The installation process is really fast.
Booting was very fast. It got to a point where I did not know if I had actually rebooted or not because the monitor did not refresh that fast.
Lubuntu is simple, fast and elegant. It uses a desktop with that Windows users will enjoy since it has the same look and feel as Windows XP.
Comment: Details in his answer apply to *legacy* Lubuntu, or releases using LXDE which was up to Lubuntu 18.04 LTS [which is now EOL](https://lubuntu.me/bionic-eol/) and is thus no longer supported by Lubuntu.
Answer: Ubuntu Mate
It offers users a new desktop look using the Mate Desktop experience and mixing features and hardware requirements from lightweight distributions with more robust distributions. A reborned unique desktop experience.

ISO Size - 1 GB (32-bit) / 1.1 GB (64-bit)
Desktop - Mate
Download - https://ubuntu-mate.org
Initial Desktop Look:

Ubuntu Mate 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 750+ Mhz
RAM: 512 MB
HDD: 8 GB
VGA: 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.6+ GHz
RAM: 2 GB
HDD: 16 GB
VGA: 64+ MB Video Capable of 1366x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 20 GB
VGA: 256GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 2%
Office Apps - 3%
Full Apps - 11%

RAM Usage

0 Apps - 145 MB
Office Apps - 240 MB
Full Apps - 445 MB

HDD Usage - 3.1 GB

Ubuntu Mate 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 750+ Mhz
RAM: 512 MB
HDD: 8 GB
VGA: 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.6+ GHz
RAM: 2 GB
HDD: 16 GB
VGA: 64+ MB Video Capable of 1366x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 4 GB
HDD: 20 GB
VGA: 256GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 2%
Office Apps - 3%
Full Apps - 10%

RAM Usage

0 Apps - 157 MB
Office Apps - 245 MB
Full Apps - 466 MB

HDD Usage - 3.5 GB

Notes about Ubuntu Mate

Feels like using Gnome 2 again but more slick and offers a nice style for it
Answer: List of "recognized" Ubuntu Derivatives:

Xubuntu - Ubuntu with the XFCE desktop environment
Ubuntu Studio - Designed for multimedia editing and creation
Mythbuntu - Designed for creating a home theatre PC with MythTV
Kubuntu - Ubuntu with the K Desktop environment
Edubuntu - Ubuntu for education
Lubuntu - Ubuntu that uses LXDE ("Lightweight X11 Desktop Environment")
Answer: Xubuntu
Like Lubuntu, Xubuntu is a lightweight distribution. It offers several friendlier features than Lubuntu and it offers more customization.

ISO Size - 960 MB (32-bit) / 975 MB (64-bit)
Desktop - XFCE
Download - http://xubuntu.org/getxubuntu/
Initial Desktop Look:

Xubuntu 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 700+ MHz
RAM: 512 MB
HDD: 4.5 GB
VGA: 16+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 700+ MHz
RAM: 1 GB
HDD: 4.5 GB
VGA: 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 1.2 GHz
RAM: 2 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - 2%
Full Apps - 5%

RAM Usage

0 Apps - 205 MB
Office Apps - 240 MB
Full Apps - 495 MB

HDD Usage - 2.8 GB

Xubuntu 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 800+ Mhz 64-bit Processor
RAM: 512 MB
HDD: 4 GB
VGA: 16+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 800+ MHz 65-bit Processor
RAM: 1 GB
HDD: 5 GB
VGA: 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 1.2+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - 2%
Full Apps - 7%

RAM Usage

0 Apps - 286 MB
Office Apps - 328 MB
Full Apps - 615 GB

HDD Usage - 2.9 GB

Notes about Xubuntu

The installation process is really fast.
Booting was very fast
Xubuntu is simple, fast and elegant and yet customizable, even to a point of turning it in a Windows or Mac clone.
Answer: Ubuntu GNOME
It offers users a sleek, fast and elegant desktop with many integrated features that work together to make the end user's life easier.

ISO Size - 986 MB (32-bit) / 980 MB (64-bit)
Desktop - GNOME
Download - http://ubuntugnome.org/download/
Initial Desktop Look:

Ubuntu GNOME 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 1.5 GB
HDD: 6 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 7 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 256GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 8%
Office Apps - 9%
Full Apps - 17%

RAM Usage

0 Apps - 445 MB
Office Apps - 540 MB
Full Apps - 845 MB

HDD Usage - 3.2 GB

Ubuntu GNOME 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 1.5 GB
HDD: 6.5 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 7 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 256GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 8%
Office Apps - 10%
Full Apps - 15%

RAM Usage

0 Apps - 630 MB
Office Apps - 745 MB
Full Apps - 1.2 GB

HDD Usage - 3.3 GB

Notes about Ubuntu Gnome

Because it uses the Gnome Shell, the way the user interface appears, it feels like you are using a futuristic version of some operating system. Looks very good (I feel like I am 10 Years in the future and this is coming from a 99% Unity user).
Similar to Unity, it has a harder learning curve, even when compared to Unity, but if you learn to use it (Took me 25 minutes the first time), you can do many things very quickly.
It offers many integrated features for applications like chat, webcam, documents and more, everything with a very sleek design.
Answer: Kubuntu
Most Windows users love this one since the transition from Windows to the KDE desktop is very easy to grip. To top it off, KDE is known to give pretty much many customization options for the user, ranging from general ones to very specific ones. This is also considered something bad (not from me at least) because it gives you a LOT of options to customize. Don't be amazed if you find an option for your fridge there. Like Ubuntu, Kubuntu is not a lightweight distro.

ISO Size - 1.1 GB (32-bit) / 1.1 GB (64-bit)
Desktop - KDE
Download - http://www.kubuntu.org/getkubuntu
Initial Desktop Look:

Kubuntu 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 512 MB
HDD: 6 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.0+ GHz
RAM: 1 GB
HDD: 6 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - 2%
Full Apps - 4%

RAM Usage

0 Apps - 270 MB
Office Apps - 350 MB
Full Apps - 640 MB

HDD Usage - 5.6 GB

Kubuntu 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 512 MB
HDD: 6 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.0+ GHz
RAM: 1 GB
HDD: 6 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 4 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - 2%
Full Apps - 4%

RAM Usage

0 Apps - 410 MB
Office Apps - 500 MB
Full Apps - 870 MB

HDD Usage - 5.8 GB

Notes about Kubuntu

Has a very unique look for the installation process.
The installation process took a bit longer than any other Ubuntu distribution.
KDE is an awesome desktop with a lot of options for all users.
For a Desktop that offers so much, it has a pretty low resource usage. In fact, when doing some tests it showed excellent resource management. KDE has come a long way and it is awesome.
Answer: The various different versions of Ubuntu differ only by branding and the default set of packages. On the inside all of the variations are similar and can be easily extended to include packages from each other just by going to the package manager and installing the packages you want.
So in a way there aren't that many differences between them.
On the other hand by default they focus on different things. Kubuntu focuses on KDE tools while Ubuntu focuses on Gnome tools and so on. So in the end it's mostly about your preferences.
Which one is most suitable for your old system depends a lot on how old the system is and what kind of hardware it has. The lightest ones of the bunch are lubuntu and xubuntu, not that others are too demanding either.
Comment: There is a bit more a difference then the branding between the different versions. Not all the versions get the same support as each other. As mentioned above Xubuntu, Kubuntu and Edubuntu are the only official recognized remixes of Ubuntu by Canonical. Canonical pays for developers for these different releases. Also Kubuntu's philosophy has tried to keep as close to KDE base as possible while integrating what Canonical has developed.
Answer: If I can, I would like to make a correction here. Ubuntu and Kubuntu receive official support from Canonical, the corporation behind Ubuntu. Xubuntu has not ever received support, although it is recognized as an official derivative. The developers of Xubuntu do so on their own time as volunteers. For use in an older computer, I would suggest either Xubuntu or Lubuntu, both of which are designed to use fewer resources than Ubuntu and Kubuntu.
Answer: It's all here on Wikipedia, including neat descriptions.
Answer: Ubuntu
The most common and known, Ubuntu uses the Unity Desktop as default and creates an standard desktop format for TVs, smartphones and desktops. Ubuntu is not considered a lightweight distro although it works on some low end hardware.

ISO Size - 1 GB (32-bit) / 1 GB (64-bit)
Desktop - Unity
Download - http://www.ubuntu.com/download/desktop
Initial Desktop Look:

Ubuntu 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 700+ MHz
RAM: 384 MB
HDD: 5 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 700+ MHz
RAM: 1 GB
HDD: 5 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 5%
Office Apps - 8%
Full Apps - 10%

RAM Usage

0 Apps - 500 MB
Office Apps - 585 MB
Full Apps - 860 MB

HDD Usage - 3.3 GB

Ubuntu 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 800+ MHz
RAM: 512 MB
HDD: 5 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 800+ MHz
RAM: 1 GB
HDD: 5 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 4 GB
HDD: 10 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 5%
Office Apps - 8%
Full Apps - 10%

RAM Usage

0 Apps - 670 MB
Office Apps - 780 MB
Full Apps - 1.0 GB

HDD Usage - 3.5 GB

Notes about Ubuntu

Learning to use the Unity Desktop can be a bit hard in the beginning, especially if you are coming from Windows, another Linux distribution, an older version of Ubuntu or a Mac. I tested the Unity desktop (Ubuntu 14.04.1) on my wife, a friend that uses Windows 7 and another that uses Mac. I could not say anything about the environment and they had to learn on their own how to use the Dash, the Launcher, change System Settings, install and find applications, use the File manager and connect to the network.
My wife took 30 minutes, while my Windows 7 friend took 20 minutes and my Mac friend took 10 minutes. So even if the appearance is completely different, all of them after two weeks told me positive news about how Unity behaved, from making them more productive (Quicker apps access, dash shortcuts, etc..) to simplifying steps to get a job done (Launcher, the HUD and more).
More than anything, for the Unity Desktop to be responsive, you need a good video card. I would recommend any video card that has 256 MB of RAM or more. With that in mind, I have actually tested 128 MB with no problem with the latest Unity, so the minimum requirements for it might be going down with newer updates.
Answer: Edubuntu
Focused on education. The installation procedure offers many prebuilt learning packages for math, biology, drawing, chemistry, logic thinking and more.

ISO Size - 3.1 GB (32-bit) / 3.1 GB (64-bit)
Desktop - Unity / Gnome Fallback
Download - http://www.edubuntu.org/download
Initial Desktop Look:

Unique Installation Options

Edubuntu 32-bit
Hardware Requirements: Standalone

Minimum Recommended

CPU: 1.0+ GHz
RAM: 512 MB
HDD: 8.6 GB to 20 GB
VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
VGA (Gnome Fallback): 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.0+ GHz
RAM: 1 GB
HDD: 10 GB to 20 GB
VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
VGA (Gnome Fallback): 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 25 GB
VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
VGA (Gnome Fallback): 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage (Unity)

0 Apps - 8%
Office Apps - 9%
Full Apps - 12%

RAM Usage (Unity)

0 Apps - 545 MB
Office Apps - 670 MB
Full Apps - 1 GB

CPU Usage (Gnome Fallback)

0 Apps - 1%
Office Apps - 4%
Full Apps - 5%

RAM Usage (Gnome Fallback)

0 Apps - 275 MB
Office Apps - 370 MB
Full Apps - 680 MB

HDD Usage - 6.2 GB

Edubuntu 64-bit
Hardware Requirements: Standalone

Minimum Recommended

CPU: 800+ Mhz 64-bit Processor
RAM: 512 MB
HDD: 9 GB to 20 GB
VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
VGA (Gnome Fallback): 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 800+ MHz 65-bit Processor
RAM: 1 GB
HDD: 10 GB to 20 GB

VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 2.0+

VGA (Gnome Fallback): 32+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 1.2+ GHz
RAM: 2 GB
HDD: 25 GB
VGA (Unity): 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
VGA (Gnome Fallback): 128+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 8%
Office Apps - 11%
Full Apps - 14%

RAM Usage

0 Apps - 740 MB
Office Apps - 1 GB
Full Apps - 1.3 GB

HDD Usage - 6.4 GB

Edubuntu 32-bit
Hardware Requirements: LTSP Server

Minimum Recommended

CPU: 2.0+ GHz Core 2 Duo
RAM: 512 MB (+256MB Per Client)
HDD: 20 GB
NET: 100+ mbit connection
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz Quad Core
RAM: 4+ GB (+512MB Per Client)
HDD: 20 GB
NET: 1+ gigabit connection
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 3.2+ GHz Quad Core
RAM: 16 GB (Enough for a Classroom of 30 Students)
HDD: 50 GB
NET: 1+ gigabit connection (LAN + Best Router)
CD/DVD drive or a USB port for the installer media

Edubuntu 64-bit
Hardware Requirements: LTSP Server

Minimum Recommended

CPU: 2.0+ GHz Core 2 Duo
RAM: 1 GB (+256MB Per Client)
HDD: 20 GB
NET: 100+ mbit connection
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz Quad Core
RAM: 4+ GB (+512MB Per Client)
HDD: 20 GB
NET: 1+ gigabit connection
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 3.2+ GHz Quad Core
RAM: 16 GB (Or as much as you can fit in your motherboard)
HDD: 50 GB
NET: 1+ gigabit connection (LAN + Best Router)
CD/DVD drive or a USB port for the installer media

Notes about Edubuntu

In Edubuntu I do not recommend using the Unity Desktop since the Educational applications are not shown straight away. The user would need to know them first before searching for them on the Unity Dash. I recommend using the optional Gnome Fallback until the user knows the name of the apps.
Edubuntu comes with an amazing arsenal of tools to have a classroom operating under Linux in no time, including Student PC remote control, remote teaching, many educational applications for all levels and more. This is really an amazing distribution.
Answer: Kubuntu, Mythbuntu, Xubuntu, Edubuntu, and Lubuntu are all based on Ubuntu but use a different desktop environment. All Ubuntu flavors use apt to provide a high-level command-line interface for the package management system, and can install packages from the same default repositories as Ubuntu.
Ubuntu uses Unity and Kubuntu uses KDE, etc.  Mythbuntu is a media environment. Xubuntu and Lubuntu are generally considered lightweight compared to the rest. Edubuntu is an educational version of Ubuntu.
Answer: Mythbuntu
Focused on offering a complete HTPC solution. From TV recording and similar activities to wathing a Movie or TV Series list.

ISO Size - 1.0 GB (32-bit) / 1.1 GB (64-bit)
Desktop - XFCE
Download - http://www.mythbuntu.org/download-type
Initial Desktop Look:

Unique Installation Options

Mythbuntu 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 512 MB
HDD: 4 GB (More if used to store captured video)
VGA: 256+ MB Video Capable of 1024x768 (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 4 GB (More if used to store captured video)
VGA: 512+ MB Video Capable of 1024x768 (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.4+ GHz Dual Core / Quad Core
RAM: 4 GB
HDD: 250 GB
VGA: 1GB+ MB Video Capable of 1024x768 & OpenGL 2.0+ (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - N/A
Full Apps - 2%

RAM Usage

0 Apps - 561 MB
Office Apps - N/A
Full Apps - 1 GB

HDD Usage - 2.8 GB

Mythbuntu 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 512 MB
HDD: 4 GB (More if used to store captured video)
VGA: 256+ MB Video Capable of 1024x768 (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 4 GB (More if used to store captured video)
VGA: 512+ MB Video Capable of 1024x768 (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 3.2+ GHz Dual Core / Quad Core
RAM: 8 GB
HDD: 500 GB
VGA: 1GB+ MB Video Capable of 1024x768 & OpenGL 2.0+ (Optionally a Capture Card)
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - N/A
Full Apps - 4%

RAM Usage

0 Apps - 665 MB
Office Apps - N/A
Full Apps - 1.3 GB

HDD Usage - 3 GB

Notes about Mythbuntu

This is a Entertainment MythTV Ubuntu specific distribution, because of this, it does not include many applications we normally see in other flavors like an Office Suite and several system tools.
Mythbuntu loads automatically the MythTV Frontend (Watch TV, Movies, Music, etc..)
Comment: I have used mythtv-frontend and google-chrome simultaneously in Xubuntu 15.10 using Nvidia driver, VDPAU mode in mythtv and hardware acceleration in google-chrom. 256MB of video memory seems to be too little.
Comment: @jarno That's the minimum recommended and also the minimum for 2014 at that time (2 years ago). That is also affected by the video driver, but the point is, this was 2 years ago, so if you have a minimum one that is more recent, please feel free to edit the answer and update it.
Comment: It depends on how many and what kind of applications  you are going to have open at the same time. If I just run the frontend, 256MB of video memory is enough even with VDPAU in my experience. I have played only SD content, though. I also have [this](http://askubuntu.com/q/751848/21005) strange problem with VDPAU on my notebook.
Answer: Ubuntu Studio
For avid multimedia users, it focuses on the Multimedia aspects of a system, It offers video/audio design & edition, Multimedia Authoring, 2D/3D Design, several preinstalled video editors, audio editors, graphic editors, digital design, raw image applications and any other multimedia editor needed for a full blowned multimedia workspace.

ISO Size - 2.8 GB (32-bit) / 2.7 GB (64-bit)
Desktop - XFCE
Download - https://ubuntustudio.org/download/
Initial Desktop Look:

Unique Installation Options

Ubuntu Studio 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 768 MB
HDD: 8.6 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 512+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.4+ GHz Dual Core / Quad Core
RAM: 4 GB
HDD: 500 GB
VGA: 1GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - N/A
Full Apps - 12%

RAM Usage

0 Apps - 245 MB
Office Apps - N/A
Full Apps - 780 GB

HDD Usage - 5.8 GB

Ubuntu Studio 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 1.0+ GHz
RAM: 1 GB
HDD: 8.8 GB
VGA: 128+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 512+ MB Video Capable of 1024x768
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.4+ GHz Dual Core / Quad Core
RAM: 8 GB
HDD: 750 GB
VGA: 1GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 1%
Office Apps - N/A
Full Apps - 10%

RAM Usage

0 Apps - 286 MB
Office Apps - N/A
Full Apps - 890 GB

HDD Usage - 5.5 GB

Notes about Ubuntu Studio

This is a complete and amazing designed system. It has a full audio & video suite. It offers many 2D and 3D design applications and offers many multimedia apps for specific goals. Amazing.
Ubuntu Studio includes Wine by default.
By default, Ubuntu Studio does not come with any Office suite (It is a multimedia distribution), but it does offer an option to install them. For this particular distribution it offers Abiword and Gnumeric or the complete LibreOffice suite.
Answer: Ubuntu Kylin
Developed primarily for China, Ubuntu Kylin offers many unique features not found in other flavors of Ubuntu (Apart from Mandarin as default ^^). It originated from the Kylin operating system designed in China by the National University of Defense Technology. The name Kylin comes from the Mythical Chimerical creature Qilin, which is a creature that when it appears it means a good omen (Prosperity or Peace). It is often called the Chinese Unicorn, which would be simply amazing when Utopic Unicorn arrives.

ISO Size - 1.1 GB (32-bit) / 1.2 GB (64-bit)
Desktop - Unity
Download - http://www.ubuntu.com/download/ubuntu-kylin
Initial Desktop Look:

Ubuntu Kylin 32-bit
Hardware Requirements:

Minimum Recommended

CPU: 433+ MHz
RAM: 512 MB
HDD: 6.7 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.0+ GHz
RAM: 1 GB
HDD: 8 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 2 GB
HDD: 10 GB
VGA: 128GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 10%
Office Apps - 11%
Full Apps - 25%

RAM Usage

0 Apps - 725 MB
Office Apps - 790 MB
Full Apps - 1 GB

HDD Usage - 3.7 GB

Ubuntu Kylin 64-bit
Hardware Requirements:

Minimum Recommended

CPU: 800+ MHz
RAM: 512 MB
HDD: 6.8 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

Officially Recommended

CPU: 1.0+ GHz
RAM: 2 GB
HDD: 8 GB
VGA: 128+ MB Video Capable of 1024x768 & OpenGL 1.4+
CD/DVD drive or a USB port for the installer media

My Recommendation

CPU: 2.0+ GHz
RAM: 4 GB
HDD: 10 GB
VGA: 128GB+ MB Video Capable of 1024x768 & OpenGL 2.0+
CD/DVD drive or a USB port for the installer media

Benchmark Tests

CPU Usage

0 Apps - 9%
Office Apps - 9%
Full Apps - 11%

RAM Usage

0 Apps - 712 MB
Office Apps - 805 MB
Full Apps - 1.1 GB

HDD Usage - 3.8 GB

Notes about Ubuntu Kylin

Since this is the Ubuntu distribution from China, the default language to install is Chinese (Mandarin), so you need to press F2 when the LiveDVD or LiveUSB shows up in the case you don't read Mandarin.
Ubuntu Kylin offers many features out of the box, like an option to quickly use the terminal in a specific place
It uses the Unity desktop with a blue style that delivers a more "happy" environment.
When turning the computer off or rebooting, it includes a cool shutdown animation.
On the top right corner, just below the Cog to access the Ubuntu settings, Ubuntu Kylin offers a Bandwidth Transfer Speed widget with a clean up option attached to it.
Ubuntu Kylin, apart from the Official Ubuntu Software Center, has it's own Software Center called, you guessed it, Ubuntu Kylin Software Center.
The default search engine in Firefox is Yahoo.


Can I use a smart switch for a separate light ceiling fan?

Question: I've been searching for a very long time for this solution:
I'm replacing all of my light switches with smart switches. The switch in my room is a double switch - one switch controls the light, the other switch controls the ceiling fan. I cannot find a smart switch set that controls the light and fan separately. Sure, I can get two separate smart switches (that work like the current switch), but I want one of the switches to control the fan speed, and the other switch to control the light dimming. Is this possible?
Comment: "Product recommendation" or "shopping" questions are explicitly off-topic because the answer can change so quickly. I don't believe they're quite on-topic at [iot.se], but you may have better success in asking there and phrasing it along the lines of "how do people handle this situation?" instead of "is product 'x' available".
Comment: Are you tied to a specific system?
Answer: You will need two separate switches.  One will control the lights, and one will control the fan.  When you do this, you use the pull chain on the fan to set it at the highest speed, and then the smart fan controller will adjust the speed.  And note that I said "fan controller".  Fan motors need a different type of dimming than a light bulb, so if you just get two light dimmers, the fan might not work like you want or could be noisy.  One example is this Caseta Fan Control.  Other smart switch ecosystems will probably have something similar.
Of course, this all assumes that the fan has three wires going to it - a hot for the light, a hot for the fan, and a neutral.  Normally these will be black, red, and white, but wire colors can vary (could be two blacks and one white).
Comment: Heck, if you use a dumb fan controller, you use the pull chain to set the fan to its max speed and use the switch on the wall to control actual speed. ;)


On a certain sphere-packing problem

Question: Suppose we have a closed ball $S$ of radius $r$ centered at the origin $O$ of $\mathbb{R}^3$. Suppose further that we are given a point $v$ on the ball's boundary (i.e., $\|v\|=r$), and a point $u$ in the ball's interior (i.e., $\|u\|<r$). We assume that $v$ and $u$ are not too far from each other, so $\|v-u\| \leq r$. Let $\theta$ denote the angle between the vectors $\overrightarrow{vO}$ and $\overrightarrow{vu}$.

Is it true that the ball $S'$ of radius $\|v-u\| \cos \theta$ centered at $u$ is contained in $S$?

And if not, is there any (interesting) radius of the form $\|v-u\|f(\theta)$ which works?
This arose in the context of an (elementary) differential geometry problem. We're asked to prove that the osculating circles of a curve $\mathbf{r}(t)$ (with certain hypotheses on the curve) on some sphere $S$ centered at the origin must be contained within sphere. The above claim is one avenue of attack I'm attempting, but it also makes for an interesting geometric problem in and of itself.
The intuition seems fairly clear. If the angle $\theta$ is large, there is much little wiggle room for the ball containing $u$, and $\cos \theta$ comes off as a natural factor. Also, the extreme cases $\theta=0$ or $\theta=\frac{\pi}{2}$ seem to be okay.
Answer: No, this is not true, since $\|v-u\|\cos\theta$ doesn't go to zero as $u$ approaches the boundary on any given ray from the origin (except for the extreme ones that you checked).

On a certain sphere-packing problem


Is Evelyn viable somewhere else than in the jungle?

Question: I main Eve jungle, and I play her ad bruiser.
I was thinking about bringing Eve to the top lane in a Ad Bruiser style, or  in mid lane in a Ap-Assassin style.
Would it be viable? In what sitation would it work best, and especially how to play her in lane?
Answer: Due to her nerfs/changes, i would say no. You can play her Top/Mid, but there will always be better options. Her damage output is not that great on AP anymore. As a toplaner, she will always be beaten by other common toplaner like Riven, Renekton or Jax.
In a specific teamcomp you can play her mid, shove the lane and roam. That might work in a coordinated team. But in SoloQ, she isn't viable elsewhere.
Comment: Exactly what I was thinking! If I would play it somewhere else, it would be Top lane, but even then she'll get wrecked.
Comment: Thanks for answering. Although the answer might be sufficient enough, I would like some more explanations about why she may (is) not viable top/mid?
Comment: As for mid lane, you're VERY susceptible to getting poked down, even more so while Xerath, Syndra and the like are popular. As for top, no inherent sustain, no CC until 6 (it's hard to gank for you), and I feel that you'd probably lose out on trades with your Q's that do less damage than your opponents autos.
Answer: The strength for eve are invisible ganking and high mobility, hence she's still a good jungler, but a terrible laner. If you really want to play her in lane, mid-lane is a better option in my opinion, because you can still abuse her strength through roaming. As for top-lane, as far as I know, she can hardly beat any top-laner 1v1.
In terms of roam heavy mid-laner, there are many better options in this category(twisted fate, leblanc,kassadin, etc). You are gonna have some hard time farming in early game because 90% of mid-laner can shit on you early game, and this percent might be even higher in top-lane. Once you get some levels, try to push as much as possible, and start roaming, abuse your invisible ganking, you will still be relevant in the game if you can gain some early game lead.
Answer: Don't listen to them.
Eve mid was good before she got relegated to the jungle, and she's still good against skill shot heavy champs.
Eve mid has great ganking potential. You can even gank your own lane.
Rush sheen, then haunting guise. When you finish the lich bane you can nearly 1 shot squishes.
Especially now that pink wards are at a premium. You basically shut down the enemy support.


URL Rewriting on multiples folders

Question: Hello I need to Rewrite my URL :
I got two folders : folder1/file.php and I need just "file" in address bar
                  : folder2/file.php and I need just "file2" in address bar
And I got other files in root
When I use
RewriteCond %{REQUEST_URI} !^/(folder1)
RewriteRule (.*) /folder1/$1 [L]

It's working but if I access to file2, I can't because it's searching on folder1/file2.php and it's not found!
If I try to access to index.php it's searching on folder1/index.php
I know how to remove file extensions but I can't find how to rewrite correctly my folders.
Answer: You'd have to set up conditions to check if the files exist in folders too:
RewriteCond %{DOCUMENT_ROOT}/folder1/$1 -f [NC]
RewriteRule ^(.*)$ /folder1/$1 [L]

RewriteCond %{DOCUMENT_ROOT}/folder2/$1 -f [NC]
RewriteRule ^(.*)$ /folder2/$1 [L]

This requires that your filenames are unique in both directories and would fail if they both have somefile.php in them.
Comment: ... I tried this but with %{REQUEST_URI}, thanks a lot !

URL Rewriting on multiples folders


How to defend against 6pool?

Question: I am specifically interested in countering 6pool early rush as Protoss but you can include other races too.
Comment: Isn't your question rather how to defend *against* 6pool? It sounds like you're asking how to defend *your* 6pool. Or did you mean 'defeat'?
Answer: What you want to do is something along these lines:

You use your first Gateway and Cybernetics core (or second Gatway, or Pylon) to create a wall with a single hole, and you chronoboost out your first Zealot to hold that hole.
In the case of a 6 Pool you should be able to get that first Zealot out just around the time the first 6 Zerglings arrive. Many times this means you won't have the Zealot in time to stop the Zerglings.  I highly recommend using the Zealot to block the hole (still) and using your probes to defending against the Zerglings.  You should have sufficient Probes (a dozen or so) to hold off lings, but if you chase the Zerglings with the Zealot, his follow up pushes are going to get into your base.
Usually you will use a second Zealot to chase down any remaining lings who have survived to that point.
Normally I don't recommend using a Pylon as part of your Wall because pylons have low health and are susceptible to Baneling busts or pressure later on; I much perfer the wall-in shown in this picture.   However, if you scout 6 pool it may not always be feasible to rely on getting that Cybernetics Core down and you maybe forced to use a Pylon or Second Gateway.
Remember, buildings, while they are being built, still act as a wall.
Comment: @Ivo I consider the value of scouting much larger than any other value that probe could bring
Comment: If you end up scouting a 6-pool and lost the 50 minerals you needed to get 2 zealots earlier, than what did all that scouting win you?
Comment: Perhaps you should just assume a 6-pool and use the scouting probe to get a small advantage in resources?
Comment: Intel from good scouting is indeed priceless. But I do think it's worth considering always walling in against Zerg, due to the possibility of early pools.
Comment: @Ivo the knowledge that you needed to get 2 Zealots earlier.  Without that knowledge you may not have gotten that first Zealot fast enough or you may have gotten 2-3 Zealots only to learn he is Roach Rushing and you won't have time to get more than 1 Stalker.  Knowledge isn't priceless its directly proportional to how much it might have influenced you.  In this example 100-500 minerals and probably the game.  This number is usually considered greater than 50
Comment: @Wik I've discussed the [cost](http://gaming.stackexchange.com/questions/10847/is-it-ok-to-build-a-wall-not-on-mains-but-on-naturals-choke/10908#10908) of walling in before, suffice to say it is a non-Zero number.  Worth considering? Definitely, I agree with you there.  Worth doing? That's a much longer discussion.
Comment: This depends on rush distance a fair bit. On a small map, you might not be able to get the cybernetics core up in time. Either way, probes can hold off the lings until the wall is up and the zealot(s) are out. Just don't chase the lings with probes, attack with 4-7 until the lings run and continue mining.
Answer: "but you can include other races too."
Playing as Z, I really love the 11pool18hatch build.
Make sure to scout early to see what's coming.
If you see a super early pool, pump some lings to defend and counter attack. You should have plenty of time to build up defenses when scouting a 6pool.
I usually scout with my 9th.
If he goes for stand 13-15 pool, you have your queen earlier and can pump 7 drones with the first inject - should be almost as good as the other eco-openings.
cheers.
PS: Don't know too much about P tho :D
Answer: Supplement to tzenes' answer.
If you scout a 6 pool (you should always scout), prefer to get a 2nd gateway instead of a cyber core. A 2 gate zealot push will easily win the game if the Zerg's 6 pool failed to do any serious damage.
Also, as Protoss, always wall off against Zerg; ideally with a wall similar to the picture tzenes has.
Finally, while a 6 pool can be done effectively on almost any map, it is worth considering that a 6 poll is really only common on the map "Steps of War".

How to defend against 6pool?


How to make this single window tool more user friendly?

Question: I am building a simple tool which accepts a URL, a username and a password. The URL contains one or more sets of data. After the users enters the URL, username and password. The tool then retrieves the list of data sets from the URL. The user then has to chose one of the items of the list. And then user clicks on a "Do Stuff" button where by the tool does some operation on the URL based on the item chosen by the user.
Now, I have made this is a simple window which looks like this
([  ] --> A text box)
URL [                ]
UserName [             ] Password [         ]

I pre populate the URL with a default value but it is user changeable.
Below this, I need to have a combo box where the user can chose from the list, but I can create this only after the URL, UserName and Password have been filled up by the user. So my idea is to have below the UserName Line
[Get List button] [Empty ComboBox]

Once the user clicks on the Get List button, I fill up the Combo Box with the Choices and then user chooses one of them.
Finally at the bottom, I will have a "Do Work" button.
My questions are

Is the Button and the Empty Combo Box a good way to do this or is there a more intuitive way?
It's not obvious that the user needs to chose something from the combo box after he clicks on the GetList button. What can I do to make this better?
Also sometimes the list may just have one item, so the Combo Box may feel strange with just one item. Should I then make the combobox invisible and replace it with a Label which shows the item name? Should I start originally (before he clicks on the Get List button) with a ComboBox or a Label or nothing at all?
Comment: Just a FYI: you can use the wireframe prototyping tool to sketch out interfaces. It makes visualizing your design much easier.
Comment: What is the use case for this? Why do the users supply URL's? Are the data sets a known or unknown quantity? What does the app do?
Comment: @DarrylGodden - This is a tool to do some changes on a server. The changes are done by calling a webservice on a server. The URL is the URL of the webservice. The user may have multiple servers - hence he has to provide the URL.
Comment: @DarrylGodden - I don't understand your question about the data sets
Comment: If the data sets are a known quantity or value, could they not be added in a more friendly way? With a friendlier name than a URL?
Comment: @DarrylGodden - no, they are an unknown list of 1 to 4-5 items which have to be retrieved from the server. The names of the items aren't known before hand.
Comment: Not sure I understand your product. There seem to be bigger UX issues beyond how this form progresses. Are you building a 3rd party tool accessing other services/APIs via URL?
Comment: I started working on a prototype for you, however, I'm wondering what your `data` looks like?  is it consistent in size and shape?  is it likely to be many rows or just a few rows?  --  http://codepen.io/run-time/full/427aa4c68307ff9f31aaf131a6f547e2/
Comment: @DaveAlger - data is around 30 odd rows
Answer: I have tried to visualize after going through the problem statement.
In your use case, there are important things missing. Those are the feedback from system. For example, after entering the URL, username and password, there must be confirmation to user, that he/she has been logged in. And ready to fetch the data from the server.
I do not agree with proposal for combo box. Instead, propose to use a tabular display with radio button. As that's what you are doing with the combo box. But there is no visual indication that user need to choose as the data has been populated.
I have tried to put all the points in form of wireframe below. Hope this answers. The sections , 1, 2 and 3 can be different windows, or stages.
Answer: I would suggest using something similar to Google Analytics - Goal Creation page.

download bmml source – Wireframes created with Balsamiq Mockups
This way the user doesn't have to click on the "get list" button, making it easier to use and process.
Answer: I think you're over-complicating things. I'm suffering myself with the convoluted ways sys admins use to identify web services, so I have a list of server1, server2, server3, server627277277, server[N].
And it seems you're going the same convoluted path.
Of course, this causes many issues. The most common one happens when the user forgets which server is the one he needs to work with, and has to search for the login info somewhere. Or even worse, request a new user/pass. Really frustrating.
Instead, try this:
1. Make the user log in using their username and password
2. Once logged, display the list of servers they currently own
3. Once the user selects a server, display the set of available actions. You can do this in a variety of ways, which will depend on your layout and content (modals, dialogs, expanding divs, whatever). Make sure this element has a way to close.

And that's the gist of it, using the KISS rule: straight to the point flow, no ambiguity, no alternate options, no need to look for info, no need to worry about layouts based on available data.
Comment: OK, then add an user login and then a "per server" login if needed, although one super admin usually connects to any server under his/her account and this should suffice. "Per server" logins should be enabled only when teh super admin wants to add another user. Again, try to simplify, this is too complex for such a simple process
Comment: Different servers have different username/passwords. So this can't work.
Answer: My suggestions are on the same line with others, just with minor differences.

Empty Combo Box kept along with Button (and if this empty Combo box does not fill unless button is hit), is definitely not good way to show. If your intention behind keeping this combo box in order to convey the user that the results will be populated in this and he/she needs to choose from this, then instead of this keep a simple text after the button as 'and select a Choice to Do stuff from results available'
The interaction you want to show for the user to chose something from the combo box after he clicks on the GetList button is not common and obvious enough. Whether to user combo box also depends on the number of results you are expecting system to generate. Showing choices rows with action buttons make it more obvious. (If radio buttons are used, then for single result, single radio button looks odd)
I agree with you on 3rd point. Keeping only one result in combo box (and even for radio buttons) makes it look strange. So button for each record might work here. This makes it flexible enough instead of showing only label.


error uploading app for iTunes connect

Question: I get an error when I try to submit app to app store ,the error ocurrs on the last step ( app is being uploaded )
Error : "an error occurred while uploading to the app store"
I doubled checked my certificated and profile and my app configuration on both XCode and iTunes connect.
I tried using the Application Loader but I'm getting the same error
I also tried changing the Java version from 1.7 to 1.6 as many answers suggesting but it didn't work
I'm on Xcode 4.6.2 , OSX 10.8.3 and on java version "1.6.0_45"
Note that when I choose Validate instead of Distribute after archiving the app I get no errors. the error only appears when I try to submit to the app store
EDIT
I restored the Java version to 1.7.0_21 since it seems that the problem is not caused by Java ,
the application loader shows the following two errors in the error log
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/bin/iTMSTransporter: line 14: awk: command not found
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/bin/iTMSTransporter: line 18: ../share/iTMSTransporter.woa/iTMSTransporter: No such file or directory
I reinstalled Xcode as a desperate attempt to solve this issue but with no luck
Comment: `cd /System/Library/Frameworks/JavaVM.framework/Versions`
`sudo ln -s CurrentJDK /System/Library/Frameworks/JavaVM.framework/Versions/1.5`
`sudo ln -s CurrentJDK /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0`

this worked fine for me. https://discussions.apple.com/thread/4451649?start=0&tstart=0
Answer: I had exactly the same issue and was able to fix it by slightly adapting the file
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/bin/iTMSTransporter

change the path to the awk to absolute (and i also uncommented the echo of the script path, which probably isn't necessary). Here my changed file:
#!/bin/sh

# if the user has the run script in their PATH
# then we can get the path to the script from
# 'which'.  otherwise, we have to get the path
# from $0
if [ "$0" = "iTMSTransporter" ] ; then
  SCRIPT_PATH=`which iTMSTransporter`
else
  SCRIPT_PATH=$0
fi

# get the script's directory
SCRIPT_DIR=`echo $SCRIPT_PATH | /usr/bin/awk -F"/" '{print substr($0,1,length($0)-length($NF))}'`

# call the transporter relative to the script's directory
echo Calling: ${SCRIPT_DIR}../share/iTMSTransporter.woa/iTMSTransporter "$@"
"${SCRIPT_DIR}../share/iTMSTransporter.woa/iTMSTransporter" "$@"

I guess this behavior is caused by inproper classpath setup which I wasn't able to resolve though.
After fixing the script, I managed to upload my app through the XCode Organiser.
Comment: Thanks.  The solution worked out for me too.  I had path messed up on my computer and I am not able to fix my path. :(  I have a kinds of problems on my computer.
Answer: I was facing the same problem.
I tried many solutions listed on a lots of forums but none of them worked for me.
Here's what I did:
I found Application Loader at /Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS
But before that I accidentally ran iTMSTransporter from terminal by using:
"open /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/MacOS/itms/bin/iTMSTransporter"
and it updated by it self. I'm sure whether this was necessary.
Started Application Loader, logged in and selected the ipa file that I had created using Xcode. I started the upload process and it was success.
Now the app is in review. :)
I hope this helps.
Edit: To load Application Loader from terminal use this: "open /Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/MacOS/Application\ Loader"
Comment: This fixed it for me, great answer.  Don't try reinstalling before you try this!!!
Answer: I have tried many methods that were suggested in apple forums and on stackoverflow but non of them worked for me. so I decided to backup my OSx lion and re-install the system all over again.
I know that this might be too radical solution but I had to do it because nothing else worked.
Comment: YES, but I skipped the Java update listed in the software updates

error uploading app for iTunes connect


Electric breaker box not producing 220

Question: Electrical box not producing 220. All 220 appliances are only pulling 110 happened last night still going on today never happened before.
Comment: You know what a 2-pole breaker looks like?  Sorta like two 1-poles but with a handle-tie connecting them?  **Shut all those off in your panel**.  Do a bunch of circuits now lose power entirely?
Comment: Are there any 120V circuits without power, for that matter?
Comment: You appear to have lost a phase.  I assume you have 110/220V with a neutral?  Is your main disconnect of an old type that uses fuses?  What was your method of checking voltage to the appliances?
Comment: Is there a main breaker out side the house at the power meter? I had one side of mine go bad and lost half the voltage
Comment: 220? most countries its 230...
Comment: Really need more detail about the situation - RCD, MCB sockets etc
Comment: Hello, and welcome to Home Improvement. As the others have suggested, we'll need more info before we can help you.
Answer: It sounds like you lost a phase from your utility.  If you have overhead supply, that is the likeliest possibility.  You could open up the panel and check the breakers, but if you call the power company, the visit will be free and fast (assuming you didn't just have a windstorm, ice storm or other mass-outage event).
Ideally you would get all dead 240V appliances and all dead 120V appliances on one pole.  What actually happens is (from the 240V appliance's perspective) one leg is connected to neutral via your 120V appliances, and (from the 120V appliance's perspective) their hot wire is connected to the other hot wire via the 240V appliances.

Electric breaker box not producing 220


Random Swap between two List Object

Question: Im trying to do a random swap between two of my list objects.
Heres what I got so far:
public class Inventory
{
    private List<Item> items = new List<Item>();
    public List<Item> Items { get; set; }

    public Inventory()
    {
        items = new List<Item>()
        {
            new Item("Ipod"),
            new Item("Samsung"),
            new Item("Motorolla"),
            new Item("Huawei")
        };
    }
}

Under Form_load
private void Form1_Load(object sender, EventArgs e)
{
    // Both objects are initiated with the default values from Inventory.cs
    var myInv = new Inventory();
    lstBox.Items.Add(myInv);

    var myInv2 = new Inventory();
    lstBox.Items.Add(myInv);
}

So once I initiated a random swap, a random object from myInv1 will be swapped towards myInv2 and then one object from myInv2 will just fill in that spot in myInv1.
At the moment, this is the best I can describe my challenge but
I'll be happy to comment as soon as I can if anything seems muddy.
Thank you
Comment: why you have `items` and `Items` ? they seem redundant and disconnected. You only need `public List Items { get; set; } = new List();`
Comment: In the `Load` method, you are not attempting to swap, you are creating new items, which is not the idea.
Comment: @Jaime Yep thats intentional, cause I got a listbox to display the list then I need to create a method that does the above then further display the List objects again in the listbox
Answer: You can use the Random class.
I cleared out portions of your code not completely related to the original question "how do I swap two items randomly in two lists?" After that, using Random, we randomly select an item in each list and swap them.
public void DoRandomSwap()
{
    var myInv1 = new Inventory();
    var myInv2 = new Inventory();

    Random rnd = new Random();
    int myInv1Random = rnd.Next(myInv1.Items.Count);
    int myInv2Random = rnd.Next(myInv2.Items.Count);

    Item tempItem1 = myInv1.Items[myInv1Random];
    Item tempItem2 = myInv2.Items[myInv2Random];

    myInv1.Items[myInv1Random] = tempItem2;
    myInv2.Items[myInv2Random] = tempItem1;
}

Also, I cleaned up your Inventory class since you didn't appear to initialize your lists correctly:
public class Inventory
{
    public List<Item> Items { get; set; }

    public Inventory()
    {
        Items = new List<Item>()
        {
            new Item("Ipod"),
            new Item("Samsung"),
            new Item("Motorolla"),
            new Item("Huawei")
        };
    }
}

Finally, you didn't include your code for Item so I included a simple version as per how you seem to be using it:
public class Item
{
    public string itemName { get; set; }
    public Item(string itemName)
    {
        this.itemName = itemName;
    }
}

Hope this helps!

Random Swap between two List Object


How to have unselectable portion of text in QTextEdit/QTextDocument?

Question: Suppose I have text like this in QTextEdit:

This is sample text

The word "sample" should be treated as if it was 1 single character, i.e. when I try to select it either all the characters in the word should be selected or none. Same when I navigate the document with left/right keys, the cursor should believe that the whole word is one single atomic item, i.e. if the cursor is at the end of the word, pressing left should jump to the beginning of the word and vice versa. Backspace should delete the whole item.
The best thing I could think of is to generate an image with that word on the fly and insert it in the right position, but this feels very hacky, I wonder if there is a better way of doing this?
Answer: I can suggest moving in following direction:

Subclass from QTextEdit.
Reimplement mousePressEvent() in which:
Get the word under cursor.
Select the word or highlight it.
Comment: Thanks, I was trying to avoid any custom implementation of selection/arrow/backspace keys logic, hoping that there is something that can be done with native APIs. It's just the amount of edge cases to consider could make this approach quite difficult.


How to generate a default value of new not null column in existing database

Question: I have a existing database.Need to add new not null column with default value.The same can be done in hibernate 4.3 using ValueGenerator interface.But my project has hibernate 3.6 which does not provide this functionality.Is there any way to do this using hibernate.
Answer: You can acchive with  @Column with nullable attribute
e.g:
<code> @Column(nullable = false)
    private String name = "Jhon Doe";
</code>
Also a little bit of a hack using the columnDefinition property of the @Column annotation, for example:
<code>@Column(columnDefinition="double precision default '96'")
private Double grolsh;
</code>
Comment: This will work for new table.I have existimg table with entries in it.Need to add default values in existing table entres.
Comment: what is hibernate ddl auto configuration setting on your project, is it update?
Comment: then it should work., use columnDefinition attribute for default value
Answer: You can do this by sql itself.
<code>ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
[WITH VALUES]
</code>
E.g:https://www.w3schools.com/sql/sql_default.asp
Answer: An example from the hibernate docu (for the default):
<code>@Column(name = "INITIAL_PRICE",
columnDefinition = "number(10,2) default '1'")
@org.hibernate.annotations.Generated(
org.hibernate.annotations.GenerationTime.INSERT
)
private BigDecimal initalPrice;
</code>
And for the nullable you can use
<code>@Column(nullable = false)
</code>
Comment: Hi @tomas i am using annotation based mapping.So there is no hbm file.
Comment: I changed the answer to annotations
Comment: Tried but id did not create any column in db.


Upload trix file attachments inserted as html

Question: So I'm trying to take already uploaded Trix attachment html and put them into another editor where i want the upload to happen as well.
Is there a way to do that?
Answer: I solved this by using the
<code>editor.insertHTML()
</code>
instead of just putting the html content inside of it.
Once the HTML is inserted the editor will process the files as if they were just dropped or copy/pasted on to it.


Dual Boot Ubuntu OS problem. D Drive lost.

Question: I just installed Ubuntu on my system which already has Windows 7 alongside. After installing the OS, I cannot see the Disk D partition on my Windows OS. I tried "changing the drive letter and paths", but the option is greyed out which means I cannot access it through Windows. On checking the partition through "Diskmgmt.msc", the D Drive has been listed as a Ubuntu partition. What should I do in order to get my data back? The data in the D drive is visible in Ubuntu.
Answer: It sounds like you installed ubuntu on the "d" drive partition. That means that the "d" drive uses the ext3 or ext4 file system (Linux) which cannot be accessed from within windows because it is not supported. You can still access NTFS file systems (windows) from within Linux, though.
If you have data on that drive that you need in windows then log in to your ubuntu install and copy them onto an NTFS partition so that windows can see them.


Waiting for Function to return value

Question: In my application I need to call a function, which in turns call many functions. The problem is that I called the getweather function and it starts the startprocess and after that the process is completed. The processCompleted method is called by the rssparser and the value is available at the end of the processCompleted method.
-(void) getWeather: (NSDictionary *) dictionary {
    _rssParser = [[BlogRssParser alloc]init];
    self.rssParser.address = addressInterestedIn;
    self.rssParser.delegate = self;
    [[self rssParser]startProcess];
}

//Delegate method for blog parser will get fired when the process is completed

-(void)processCompleted
{
    NSLog(@"the rssItems array is %@", [[[self rssParser]rssItems] description]);
    int woeid = [[[[self rssParser] rssItems] objectAtIndex:0] intValue];
    // get weather update from yahoo
    NSLog(@"temperature option %d", [[[NSUserDefaults standardUserDefaults] objectForKey:@"temperature"] intValue]);
    SCYahooWeatherParser *parser = [[SCYahooWeatherParser alloc] initWithWOEID:woeid weatherUnit: [[[NSUserDefaults standardUserDefaults] objectForKey:@"temperature"] intValue]];
    //parse the returned xml from yahoo
    SCWeather *result = [parser parse];
    [parser release];
    NSLog(@"the conditionDataDict is %@", [result.conditionDataDict description]);
}

How do I get the value returned by the processCompleted method, because I have called the getWeather Function.
Answer: In Objective c, just like in any structured language, when you call a function that returns a value like in
NSInteger x = [self yourFunction];
[self somethingElse:x];

the next instruction is not executed until the function returns a value. In other words, somethingElse does not get executed until yourFunction has ended and returned a value for x.
Comment: My answer remains the same, please read throughly, you are not using any selectors or background threads, so the returned value is always obtained, no need to synchronize the functions.
Answer: You can use following method, and pass waitUntilDone as Yes. It will wait for your function to complete-
performSelectorOnMainThread:withObject:waitUntilDone:

There are some more methods available, you can refer NSObject class - https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsobject_Class/Reference/Reference.html
Answer: If your chain of functions is called in the main thread, your app should automatically wait for the process to end before going on and executing next operation. Then, you don't need to do anything to obtain your goal.
Please, note that if your process is very heavy, your app will freeze untill the end. It is a good custom executing processes that can block your app in another thread.

Waiting for Function to return value


dynamics of set of odes

Question: Consider the ODEs for $x(t),y(t),z(t)$
$\dot{x} = - y z - \alpha x$
$\dot{y} = 1 + 2 x z - \alpha y$
$\dot{z} = - x y - \alpha z$
with initial conditions $x_0,y_0,z_0\in \mathbb{R}$.
Numerically investigating these ODEs, it seems that
where $\alpha\ll 1$ and $t\to \infty$, these ODEs
have a universal behavior which is
$(x(t),y(t),z(t))\to 1/\sqrt{2}(1,0,-1)$ or $1/\sqrt{2}(-1,0,1)$  as $t\to \infty$ then $\alpha\to 0$.
Is there a clear way to see this analytically?
Comment: Are you sure about the differential equations and the equilibria? Namely the points you gave are not equilibria of the differential equations; maybe it should be $\dot{y}=1+xz-\alpha y$ or the equilibria have to be divided by $\sqrt{2}$?
Comment: you're absolutely right, the equilibria should be scaled by $1/\sqrt{2}$. I will edit.
Answer: For nonlinear systems it is often hard to say something about global system behavior. Instead one can look at local behavior by analyzing the stability of each of the equilibrium points by linearizing the system. Solving for $\dot{x}=\dot{y}=\dot{z}=0$ yields the following five equilibria
\begin{align}
(x_1,y_1,z_1) &= \left(0, \frac{1}{\alpha}, 0\right), \\
(x_2,y_2,z_2) &= \left(-\sqrt{\frac{1-\alpha^2}{2}}, \alpha, \sqrt{\frac{1-\alpha^2}{2}}\right), \\
(x_3,y_3,z_3) &= \left(\sqrt{\frac{1-\alpha^2}{2}}, \alpha, -\sqrt{\frac{1-\alpha^2}{2}}\right), \\
(x_4,y_4,z_4) &= \left(i\sqrt{\frac{1+\alpha^2}{2}}, -\alpha, i\sqrt{\frac{1+\alpha^2}{2}}\right), \\
(x_5,y_5,z_5) &= \left(-i\sqrt{\frac{1+\alpha^2}{2}}, -\alpha, -i\sqrt{\frac{1+\alpha^2}{2}}\right).
\end{align}
The stability of these equilibria can be checked by evaluating the eigenvalues of the Jacobi matrix of the system,
$$
J =
\begin{bmatrix}
-\alpha & -z & -y \\
2\,z & -\alpha & 2\,x \\
-y & -x & -\alpha
\end{bmatrix},
$$
at each of the equilibria. Doing so yields the following eigenvalues
\begin{align}
\lambda_1 &= \left\{-\alpha, \frac{1 - \alpha^2}{\alpha}, \frac{-1 - \alpha^2}{\alpha}\right\}, \\
\lambda_2=\lambda_3 &= \left\{-\frac{\alpha+\sqrt{9\,\alpha^2-8}}{2}, -\frac{\alpha-\sqrt{9\,\alpha^2-8}}{2}, -2\,\alpha\right\}, \\
\lambda_4=\lambda_5 &= \left\{-\frac{\alpha+\sqrt{8-7\,\alpha^2}}{2}, -\frac{\alpha-\sqrt{8-7\,\alpha^2}}{2}, -2\,\alpha\right\}.
\end{align}
When using that you consider $0 < \alpha \ll 1$ only the second and third equilibria are stable (all eigenvalues have negative real part). In the limit of $\alpha\to0$ does indeed yield that these two equilibria are located at $1/\sqrt{2}\left(-1, 0, 1\right)$ and $1/\sqrt{2}\left(1, 0, -1\right)$ respectively. However, the fact that these are the only stable equilibria does not mean that the union of their basins of attraction has to span the entire $\mathbb{R}^3$. For example any solution that starts at $z=x$ doesn't converge to either of the two stable equilibria. In order to get a lower bound on the size of these basins of attraction one could use a quadratic Lyapunov function based on the linearization at the equilibrium point and see for which closed set of points around the equilibrium the time derivative of the Lyapunov function remains negative.
It can also be noted that when $\alpha = 0$ there are infinitely many equilibria, namely when $y=0$ and $2\,x\,z = -1$. Stability analysis of these points is inconclusive, since all eigenvalues have a zero real part at every point.

dynamics of set of odes


4TB HDD unable to mount anymore

Question:
Unable to mount HDD
Error mounting /dev/sdb at /media/manuel/HDD: Command-line `mount -t
  "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/sdb"
  "/media/manuel/HDD"' exited with non-zero exit status 32: mount: wrong
  fs type, bad option, bad superblock on /dev/sdb,
         missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail or so.

And "disks" shows that the disk is only 1.8TB instad of 4TB :

Context :
I've added this drive in an old Desktop 4 years ago which failed on me last year. I don't recall having to do anything to be able to use all the 4TB but I have poor memory. Since then I've mounted it every once in a while as a backup plugging it into a gutted Lacie external case that a friend lent me. Having returned the case I did the same to my own Lacie case today, removed the HDD inside to plug my 4TB HDD instead. This is when the mount error happened.
The last time it worked, with my friend's, it was 6 months ago, it was with the same laptop machine, without any windows, only 1 4TB partition.
Everything is the same but the case, which should have no incidence (it works fine with the original drive and another one), so what could it be? I know nothing of disks and partitions, so please help me not lose the data, it would be a disaster...
UPDATE : After the suggestion in the comment, I ran testdisk 7.0
As I showed in previous snapshot, the OS only knows of 1.8TB of the 4TB. Again, I don't recall ever having to tweak anything in the OS to be able to use the 4TB before but maybe upgrading from 15.10 to 16.04 is what broke it. Would restoring the recognized size of the HDD to 4TB solve everything?
UPDATE 2 : I have now tried my Lacie case with another HDD with over 2TB, having 3TB and it also shows A fragment of the total space : . Since its partition is not over 2TB the error message is not displayed I imagine. So if it's the case that the case (no pun intended) can't access the 2 fist plates, amounting to 2TB, I'll try with another case.
Comment: Maybe your partition table has been corrupted somehow. To find out and eventually repair, you might install and run `testdisk` (see http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step). Or is there something wrong with your "Lacie case"?
Comment: See also thread above you now. http://askubuntu.com/questions/889289/how-to-setup-a-6tb-hd-on-ubuntu But if using an old external caddy can be the issue. Many have reported issues with older caddies and either larger drives or even smaller drives with gpt partitioning.
Comment: As I said, I've tested the case with 2 other disks that mount fine, but I will try just in case. Your software also. Btw isn't there some fsck tool or something that would do the same?
Comment: Oh that is gold @oldfred, that gives me so much hope. Mine might be slightly older indeed or maybe my friend's was 2TB+... thanks will try both those things.
Answer: As @oldfred pointed out, there is an issue with the case. Thank you for pointing that out. Being the same brand and (apparent) model, I did not look into it so much but yes, I tested the faulty case with a 3TB I borrowed and the same happened, i.e. 2 less TB were available = 800GB instead of the 3.
I then tried my disk on an old computer at a friend's and was able to get the whole partition of 4TB.
So thank you again.

4TB HDD unable to mount anymore