main java.lang.OutOfMemoryError: Java heap space

Question: My code is doing things like this:
for(SomeObject so : someObjects)
{
  Blah b = so;
  NewObject n = dao.GetNO(b.23);
}

i.e. it is creating a new variable inside the for loop on each iteration.
Could this be the cause of the out of memory issue?
The error reported by Netbeans:
Caused by: java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:133)
        at java.lang.StringCoding.decode(StringCoding.java:173)
        at java.lang.String.<init>(String.java:443)
        at java.lang.String.<init>(String.java:515)
        at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:215)
        at com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString(WebResponseImpl.java:205)

Upate
This is a java console application, and the entire app runs a in forloop basically.
Comment: This COULD be the reason, but doesn't have to be. Try to release every object that you don't need anymore. Particularly, check all you collections (maps, lists,...) if you hold objects in there that are not needed anymore.
Comment: What is your heap size set to?
Comment: Can you post a little more of the actual code where the error is occurring? One thing to note: The return value of `com.gargoylesoftware.htmlunit.WebResponseImpl.getContentAsString()` is likely to be quite a large string.
Comment: matrixfrog, it is a very large string, its all the HTML of a page which is about 120K.
Answer: Are you running with Java 5 or greater, or one of the legacy JVM's?  You can try to track down the cause of your OOM by arming your Java command line with -XX:+HeapDumpOnOutOfMemory or attaching to your process with JConsole and requesting a heap dump.  You can then use the Eclipse MAT tool to open the dump and view the object graph to see whose holding onto the objects in your program.  MAT has a view to see those objects that dominate the object graph - so it becomes extremely clear what exactly is leaking.  Looking at the stack trace is not helpful, and can be misleading because a leak in one location of the program can cause a failed allocation somewhere else.
Comment: This seems like overkill given the scope of the problem described.
Comment: Really?  Knowing what objects are occupying the heap after I see an OOM is not overkill for me.
Answer: You're running out of memory when you're trying to hold on to more objects that will fit into memory. If you're creating an object in a loop it will get GarbageCollected as soon as it goes out of scope.
So if you write
for (.....){
   Object o = new Object();
}

-you're never holding more than one instance of o, so it's not going to be the cause (unless you're storing a reference to them somewhere else, for example by putting them in a map outside the loop scope).
You need to look for a place in the code that's holding on to more references. From your posting it's impossible to tell more.
BTW, you might also consider bumping up the amount of memory you're using in your JVM with -Xmx and -Xms options (type "java -X" for more information), which might get it to run, although it won't help you find a mistake. Since you're running inside netbeans you also may be running out of memory because it's running in the same JVM. I don't use netbeans, but you could check and see if netbeans allows you to fork a new process to run your program (so that you're not trying to run while sharing memory with netbeans, which is not small), or try running directly on the command line.
Answer: Most likely thing is that you're accidentally holding onto some objects somewhere.  Usual culprits are poorly implemented caches, or their functional equivalent.
Another possibility is that you simply don't have enough memory for whatever you're doing.  Java starts (at least Sun's does by default) with a 64 MB of heap.  You can change this with the -xmx parameter.
Finally, I recall in 1.4.X days that you could cause an OutOfMemoryError if enough time (as a percentage of total process cpu time) was spent garbage collection (for some particular garbage collector implementation).  The cutoff was in the 90% range.  I've seen this once in nearly a decade, and it was a really neurotic use case.  Its probably not this, but it could be.  I'm not sure that this behavior persists in modern Java.
My advise:  inspect the implementation of dao.GetNO(...) and see whether it creates any objects as a side effect, and what their lifetimes are.


GRE mathematics subject test

Question: I received a scaled score of 480 and it seems it is not a nice score for GRE mathematics subject test. Should I include it or should I not include it in my application for masters in astrophysics in Germany. I have a very good score in academics and I have done my Bachelors in Mechanical Engineering?  So my question is whether to include it or not?
Comment: Do German astrophysics programs require the math GRE? If not, why send it (since the score is poor)?
Answer: I can't give an answer as to whether you should include it, but note two things.
First 480 is quite a low score, only the 10th percentile.
But, OTOH, the math test is quite difficult, even for those who major in math as an undergraduate. It is very broad.
The number seems low, however, even for an engineering major who should have studied a fair amount of the things that the GRE test emphasizes (Calculus, broadly speaking, and abstract Algebra).
And standards in Germany are quite high, I think, though I don't know anything about how it works in astrophysics.

GRE mathematics subject test


Creation of separate home folder while installing two versions of ubuntu

Question: I am planning on installing two ubuntu versions (12.04 and 14.04), along with windows in my system. I need to install two separate home folder for these two versions. (I would love it if one version of ubuntu doesn't see the home folder of the other one; but I don't know if this is possible). So to keep both the /home separate, I am planning to do the following. First I will install Ubuntu 12.04 by creating / (root folder) and /home partition (also a swap area). Next I will install ubuntu 14.04  by creating another / (root folder) and another /home partition(no separate swap, I believe). My question is how do I tell ubuntu 14.04 not to use the /home of ubuntu 12.04 and use the /home created during its own installation? Is it handled automatically (depending on which /home partition was created during which installation)?  Last time I did this both installation went fine; but I don't think my two /home folders were mapped properly to their corresponding ubuntu versions. Please provide your suggestions. Thank You.
Answer: During the installation process, Ubuntu will recognise the other partitions and give you the option to mount them, but unless you specifically set one of the partitions as your /home it won't determine it's a /home and use it. So, just to be clear, no Ubuntu 14.04 will not automatically use the /home from a previous installation.
Comment: Thanks for the reply. But during the installation of ubuntu 14.04 the partition table will have a ext4 partition which is /home of previous installation, right? Do you mean to say that 14.04 will not count this one? I just want to make things clear.
Comment: Yes, during the 14.04 installation it will see the ext4 partition, and allow you to mount it, if you wish. But it doesn't have any way to identify it as a `/home` partition, therefore it will not count it as the 14.04 `/home`.
Comment: Thank you for your reply AJefferiss. You have been very helpful.


No longer have tokens after updating Nano S

Question: I recently updated my Nano S and was required to reset everything. After udpdating I went to MEW to swap my KIN & I had a ETH Ballance of 0.000 & a KIN ballance of 0.000. I have the address copied of my wallet that I've sent everything to which shows the ballance on Etheerscan. How do I retrieve the tokens/ get them back into my Nano?
Answer: Your balance is not in your Nano, your balance is in your wallet. Nano is an interface, so is MEW and Etherscan.
Be sure to use the correct derivation path when you unlock your wallet. This may be the issue. Also, let your interface to scan and synchronize with the blockchain, perhaps because you reset, it lost the history and takes time to sync.
Answer: Ledger Nano S uses a non-standard derivation path to confuse everyone and make it annoying to use on many dapps that assume a derivation path, such as decentralized exchanges. Ledger uses m/44'/60'/0'/0 instead of m/44'/60'/0'. Ledger does do a lot of things they probably shouldn't security wise, but that's a different discussion.
In short, don't use Ledger Live if you don't want this annoyance in the future. MyEtherWallet can manage both paths, but is more laborious to use.


OpenStreetMap text size reduces when exporting in QGIS

Question: Street names from OSM are reducing when a map is exported, the end result doesn't match the preview. Any advice on finding a solution in QGIS 3.16.9?
Answer: The bad news are, that there is no solution. You have to play around with the resolution (dpi) of your output (Properties->Layout Tab->Export settings->Export resolution). The higher the resolution will be, the smaller the labels will be (see https://gis.stackexchange.com/a/305658/87346 for example). If you want to get the same result as in your mapcanvas, you have to use screen resolution: 72dpi.
The good news are, that from QGIS 3.20 upwards you will have a preview of the xyz tiles, if you change the resolution of your output, the xyz tiles will be updated to that resolution and you will see what you get: https://www.qgis.org/en/site/forusers/visualchangelog320/index.html#feature-improvement-to-xyz-layers-previewed-in-map-items
Comment: Thanks, I had tried the resolution trick yesterday dropping it from 300 to 200 but it didn't alter the result, it's a good point about 72dpi. I'll play around a bit more taking the resolution. Thanks very much for your help.
Answer: To get larger text sizes from WMTS/TMS you can set the maximum zoom level to a lower level (i.e. 10) or reduce the export resolution in layout manager:

You could also use GDAL-VRT to lock levels and enhance the quality of the output:
QGIS 3.10 (and 3.16) Mac; bad resolution and vanishing WMS/WMTS Layers
How to lock a WMS layer to scale in QGIS?
Comment: Thank you, I'll give that a try.


fabric textures messed up in Cycles even though preview seems fine

Question: For some reason all my fabric textures come out messed up like this. I used textures from CC0textures.com and used the node wrangler add on to scale. I attached a picture of the final render. The wood floor, couch, pillows, and table are all messed up. The couch is also clipping the floor, even though I don't see that in lookdev mode. The left side seems perfectly fine, however. Does this have to do with the sun lamp that I used to light up the right? I lowered the max bounces on it from 1024 to 50. Do I need to scale the entire room up to fix the fabric problem? I also added a picture of my node setup for the glass.
Answer: I think I found the answer: I was using Lily's surface scraper and the displacement of the textures weren't scaled and were too large for the objects in my scene.


Where do I find information about arranged employment in Australia in the 1850s?

Question: Many immigrants from England worked for the Hon. Edward Flood M.P. in the 1850s. They were employed mainly as sheep overseers, station hands, bullock drivers etc. Would this type of employment have been arranged prior to departure from England or obtained after arrival in Sydney
Comment: Obituary of the man who I presume to be "Hon. Edward Flood" available on Trove. http://trove.nla.gov.au/ndp/del/article/46871777 I think your question would benefit from including the image of that obit, or a transcription of same. (I'm not familiar with the license restrictions on Trove or I'd have popped it in there myself.)
Comment: I am not sure why the obituary would helo, as no reference is made to his business endeavours.
Comment: It appears Flood had several properties at this time. Which particular one are you asking about?
Answer: In general, immigrants were hired on arrival in Sydney. See 1848 'IMMIGRANTS PER ROYAL SAXON.', The Sydney Morning Herald (NSW : 1842 - 1954), 20 July, p. 2 for a description of the process. The squatters with larger properties (such as Flood) would have employed agents for the task of securing new employees on annual contracts each time a ship arrived.
It would certainly have been possible to pre-arrange these matters in England, but the employer then ran the risk that his man would be one of those who died during the voyage.
Remember that at this time, the colony of New South Wales was making the difficult transition from a penal colony to a free settlement. The big landowners were accustomed to being assigned what amounted to slave labour.


Is phone number required for providing phone warranties in Australia?

Question: When buying a phone in retail store, they ask for my phone number so that they can "provide phone warranties". Is this an excuse to obtain my phone number for marketing purposes? Is it really required by law? In general, is personal identifiable information (PII) required for providing warranties? How can I buy a phone without providing them? I never trust how corporations handle PII, especially given the recent data breach.
Answer: Firstly, there is no requirement under Australian law, esepcially the ACL, that you must provide any PII for the warranty to apply.
However, most phone companies do require you provide proof of purchase to claim warranty, which in my opinion is proved by having the original receipt. Example:Motorola Warranty.
So, just decline the people asking for your phone number. When you need the warranty, go to the manufacturer's website first to return it, and if they ask for proof of purchase, present the original receipt. That should take care of it if your phone is in warranty.


UART signal recovery from PCM data

Question: I have a PCM signal recording of UART data after high-pass filter. The recording looks like this:

I know baud rate and parity setting beforehand. What algorithm could help me recover actual binary data from the recording automatically?
Answer: This signal looks pretty good, so that a simple sign decision gives you "low" or "high" periods.
Then, you just start at the beginning, and count samples until you find your start bit.
From the start bit, you just sample your signal in 1 bit period, 2 bit periods, ... and get your transmit data stream. Remember, UART is by definition unsynchronized.

UART signal recovery from PCM data


Is exposed copper pan safe for frying fish?

Question: I restored this copper pan that has exposed copper areas. I will only use it for frying fish. It's safe to use? Any advice on use/care for the exposed copper?
Answer: It is not safe.  You should have that pan retinned, after which it can provide you with many years of safe use, as well as restoring its original beautiful appearance.
Exposed copper can we dissolved by acidic or alkaline foods, and over time this can result in copper poisoning, which is serious and sometimes fatal.  This is why the US FDA prohibits copper(PDF) in contact with any acidic food. The Iowa ABC even banned the use of copper Moscow Mule mugs(PDF), and the FDA has advised against them.
Now, you might say that you're only cooking fish, and as a result the copper will not come in contact with acids.  However, many fish dishes are finished with wine, lemon juice, or other acidic sauces, and you'd have to make sure never to use any of those -- rather limiting the use of the pan.
Get it retinned, instead.
Comment: Here's an instruction set for home retinning: https://www.instructables.com/DIY-Hand-Wiped-Tinning-of-Old-Copper-PotsPans-Inst/  with the caveat that I really recommend using a professional instead.
Comment: Common solder is often about 37 % lead - that is much more poisonous.
Comment: Can I use common solder wire (used in electronic) for that?
Comment: I don't think so, it's unlikely that solder wire is pure tin and it's certainly not rated food-safe.  I recommend going to a tinning shop instead -- they still exist, and will do a much better job than you could with home equipment.
Answer: Copper has been used for cooking for many centuries. I do not know anything about any additives the copper for this pan may contain.
You can still buy copper pans, as they have superiour heat conductivity.
I suspect the steel layer is mainly to protect the quite soft copper.


How to run a crontab as another user

Question: I want to have a scheduled crontab run on a daily basis but not as the root user.
Reasons being that this is a simple backup and cleanup job and I don't want any accidents.
The backup folder will have permissions for user 'mysql-backup' (for example) and I want the crontab to only run as user mysql-backup.  Obviously I don't want the mysql-backup user logged in or anything like that for the crontab to work.
Answer: You can either edit the desired user's crontab:
crontab -e -u mysql-backup

or use su or sudo to change to that user at runtime in root's crontab.
Answer: run sudo crontab -u <user> -e.
Answer: If you're root, you can just su to the user, and create a crontab.
That should work.
Something like this should work fine.
su kyle -c "crontab -e"
whistles to himself
crontab -u kyle -e
Obviously that's what I meant.
Since it wasn't explicitly answered, a user does not have to be a normal user, or have login rights, or anything like that to have a working crontab.
Answer: For system crontab, /etc/crontab, the 6th field is the user. For the crontab used by the user run crontab -e as that user and edit it's crontab. The crontab for users is stored in /var/spool/cron/<username>

How to run a crontab as another user


Play Framework How to Compile Views for Distribution

Question: I have common views that I want to share across multiple Play Framework 2.2.1 applications.  I'm thinking packaging them up into a single library and publishing them to our Maven repo is the way to go, but something isn't working correctly during the compile phase.
My project has a single file My/Namespace/myView.scala.html.  After compiling my package jar has a file named exactly as my view.  My/Namespace/MyView.scala.html I was expecting to see some class files.
The play framework seems to do something very similar https://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/views/helper/twitterBootstrap/twitterBootstrapFieldConstructor.scala.html and looking at their Maven package this seems to compile into a twitterBootstrapFieldConstructor class (along with all the meta classes scala generates):

I'm guessing i'm missing something in my SBT configuration that makes it compile scala.html files...but i'm just not seeing it.
Anyone have some insight into what i should be doing?
Comment: Do you extend you sbt project from play project for this build?
Comment: @1esha i do not, but i'm open to that option
Comment: Those classes are generated as part of building generated-sources. I think first thing you should try is to extend your project from Play project in sbt
Answer: It appears the best option at this time is to make use of the Twirl library https://github.com/spray/twirl which is the template engine wrapped up into a similar but distinct API.
sbt .13 support is in a testing phase see https://github.com/spray/twirl/issues/15#issuecomment-32272389 as it appears there's going to be some reconciliation of this project & play's templating libraries (one using the other)


codeigniter active record, when to escape, if at all

Question: I just recently started using active record (before I just wrote manual queries since I was so used to them).
I was looking at the code of ion_auth and I saw that in a few places the strings had been escaped even though active record was used,
i.e
<code> ->where($this->identity_column, $this->db->escape_str($identity))
 ->where($this->tables['groups'].'.name', $this->db->escape_str($group))
</code>
Thing is, I havent escaped anywhere where I have used active record since on the documentation it said active record escapes strings automatically.
My question, when using active record, are there some situations when you should escape strings?
Answer: From the Codeigniter User Guide:

Beyond simplicity, a major benefit to using the Active Record features
  is that it allows you to create database independent applications,
  since the query syntax is generated by each database adapter. It also
  allows for safer queries, since the values are escaped automatically
  by the system.

The creator of ion_auth may have had a particular reason for escaping the string, but if you are using Active Record, Codeigniter escapes the queries automatically.
But there are queries that "look" like they might be Active Record, which need to be escaped. Here's a list of them, again from the Codeigniter User Guide.
Answer: Usually you can let codeigniter handle it. In some cases if you are building a more complex query using the active record (e.g : <code>$this->db->where('(some sql where clause)')</code> you can use the escape methods of the DB library.
Answer: No, it is not necessary to use escape. I have tried with different format of text mixing single quote and double quote also a whole bunch of html tags, all works perfectly fine.


Can I weld a copper pipe into a CPU heat sink for better cooling?

Question: I have an old laptop which I revived with the addition of a SSD. The problem now with this laptop is that it gets very hot causing thermal shutdowns in the middle of work. I thought of a lot of solutions and finally repasted the heat sink, bought a cooling pad and removed the bottom cover. It is now running fine. Now that I am free with my projects, I am thinking of converting this laptop to a tablet pc. Now my question is that "Can I weld a copper pipe directly to the existing one?"
Will welding it increase the thermal capacity of the PC? Or will there be issues due to other scientific reasons?
Comment: it may be easier to solder the pipe
Comment: Thank you for your help
Answer: I think, it is necessary to find a cause of overheat. This may be due to bad thermal contact somewhere:

between integrated circuit and metal pad through thermal paste or pad
between metal pad and heat pipe
between heat pipe and heat exchange plates

Heat exchange plates could be blocked by dust/dirt.
Heat pipes may be damaged and should be replaced. Typically, all heatsink system of notebook is replaced.
Fan may be not creating enough air flow due to thickened old grease or contamination.
May be there is any software problem which causes CPU overloading.
Continuous and cyclic IC overheat leads to breakage of BGA solder balls which connect IC to board and irreparable breakage of flip-chip joint between IC crystal and flip-chip substrate, so, overheat problem requires solution.
Simple copper pipe has much lower heat conductivity than thermal pipe, except if it is filled with circulating liquid.
Comment: Poster already found that and resolved by re-pasting heat sink, etc
Comment: @Abel there is more there than a repeat of what the OP has already tried.  First thing I thought of is a problem with air flow not the existing heat pipes.  Dust, cat hair, etc blocking air ducts or insulating radiating fins.  While a good cleaning is a nice recommendation, sometimes those ducts can't be opened and makes removal of hair clumps extremely difficult.
Comment: Many products have a tendency to overheat right out of the box. Look at the original xbox 360 "red ring of death". Very few of them survived more than a couple of years.
Comment: The laptop is very old and yes I have checked airflow problems. Any system would heat up if it was made to run over its designated load, and this one is under constant load. So yes, I HAVE tried Software problems, Fan problems, and thermal pasting that I did was done after I cleaned the surfaces with Isopropyl alcohol. So yeah Conductivity problems
Answer: If the existing heatsink is made of copper, then yes you can solder more copper onto it and it will probably dissipate more heat.
You can probably weld copper, but it's not commonly done.
If the existing heatsink is made of aluminum, your best bet would be to use thermal epoxy to attach your heatsink extension.
It is also possible although difficult to braise aluminum to aluminum using special brazing rods.
Comment: but be careful applying a ton of sustained heat to heatsinks using heatpipes, those contain liquids that will boil and rupture when you make them too hot
Comment: That was very helpful thank you


How to find out what Sender Profile/Send Classification was used for a send

Question: The email tracking reports show you which data extensions, suppression lists, subscription lists etc were used to send an email, but I can see nowhere on the report that tells you what sender profile/classification was used to send the email. Is there a way to find this out?
Answer: Through a Query Activity you will be able to extract the Send Classification and the Send Definition for any specific job, by looking into the Data View: Job
http://help.marketingcloud.com/en/documentation/exacttarget/interactions/activities/query_activity/data_view_job/
Comment: Thanks - what should the target data extension look like for this? What columns should it have?


problem with selector in iphone?

Question: i am having a application where i am generating the uibuttons dynamically want to use same @selector...Now as sooon as event is generated i wanna check for values and pass it to thtroughthat selector how can i  implement this code?
can anyone tell me a tutorial sort where buttons are dynamically generated and check for particular button click is depicted?
Plz help...
Answer: Not sure what do you call "dynamically"... Objective-c objects are always created dynamically. Perhaps you mean situation where you want to create series of very similar buttons with same code? Yes, it is quite a common task. For example in calculator like app, we need ten buttons with digits, why not create them with single block of code ? So:
<code>- (void)makeButtons{
    UIButton * aButton;
    for(int i = 0; i < 10; i++){
        aButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        aButton.frame = CGRectMake(0, i*45, 60, 40);
        [aButton addTarget:self action:@selector(digitClick:) forControlEvents:UIControlEventTouchUpInside];
        [aButton setTitle:[NSString stringWithFormat:@"%d",i] forState:UIControlStateNormal];
        aButton.tag = i;
        [self.view addSubview:aButton];
    }
}

- (void)digitClick:(id)sender{
    UIButton * aButton =(UIButton *)sender;
    NSLog(@"cliced button with title %d",aButton.tag);
}
</code>
we use a tag property to find index of clicked button, it is often used way, but there are some other ways. For example store created buttons in array and then check if sender is equal to one of array elements:
...
if ([allButtons objectAtIndex:i] == sender)
...
If you want to pass some data, for example string from each button just create array with these objects and then access it using tag as index.
Comment: ya i have implemented this with the use og button tags and tile...so thanx for ur help...
Answer: Try:
<code>[self.button1 addTarget:self action:@selector(buttonTouchDown:) forControlEvents:UIControlEventTouchDown];
[self.button2 addTarget:self action:@selector(buttonTouchDown:) forControlEvents:UIControlEventTouchDown];

- (IBAction)buttonTouchDown:(id)sender
{
  if (sender == self.button1) NSLog(@"Button-1");
  if (sender == self.button2) NSLog(@"Button-2");
}
</code>
Comment: hey thanx but i cant use it it this way.. Actually i am using single selector for multiple buttons and again i am done with the code i just make used of button tags.....thank u...

problem with selector in iphone?


Installing Ubuntu 12.04 without installing Grub

Question: Using the Ubuntu 12.04 Live CD, is possible not to install Grub? In previous versions, there was a checkbox called something like "skip grub installation", now in 12.04 this checkbox isn't there any more.
Comment: In previous versions of ubuntu (up to 11.04 I think) when installing the system there was a checkbox called something like "skip grub installation", now in 12.04 these checkbox there isn't any more
Comment: Sorry, but I don't think I have any idea what you are asking. Grub is always part of an Ubuntu installation. Precisely what are you trying to do and how? Is your question something to do with an existing installation of a different operating system, if so, what is it. Please say what you have already and what you expect to be able to do.
Comment: For installs that don't fit the streamlined approach of the live-cd, you need to use the alternate iso. Works like a charm, just not so pretty.
Answer: Run the regular LiveCD and open a terminal. Run either ubiquity -b or ubiquity --no-bootloader.
Comment: `man ubiquity` does not mention that option on 12.10, however `ubiquity --help` does. I guess it is a lack in the manual.
Answer: You can also open a terminal after booting the LiveCD and launch ubiquity with a proper switch, that disables GRUB installation. I forgot what it was called but ubiquity --help will tell you :) That worked for me, when I was trying to setup Ubuntu on my fakeraid PC and GRUB kept going belly-up.
Answer: Update
It has been many years since the bulk of this answer was the correct answer.
The solution now is to start Ubuntu from a live disc and use the terminal to invoke Ubiquity as follows:
ubiquity --no-bootloader

You can alternatively use the short form like this:
ubiquity -b

Old answer
The following is no longer valid, but I will preserve it as it was originally when the question was asked and it is possible somebody may want to do this with Ubuntu <= 12.04
Installing GRUB is the usually the best way to go, whether or not you're dual-booting, but to install Ubuntu 12.04 without GRUB, download the alternate CD for x86 or AMD64.
Run the install as normal, after the Select and install software step, the installer will run Install the GRUB boot loader on a hard disk. It will tell you what other operating systems, if any that it's found, and ask if it should install, at this point, choose Go Back, then in the installer menu that appears next, choose Continue without boot loader.
Please be aware that after installation you will have to configure your existing boot loader before you can boot your new installation of Ubuntu.
Comment: 12.10 and higher have no alternate CD. Workaround: download an older alternate CD, and do `sudo apt-get dist-upgrade` after reboot. That will upgrade the system to the latest version.
Comment: `apt-get dist-upgrade` only upgrades packages within a specific Ubuntu release.
Comment: Use the answer below.  This should not be the solved answer
Comment: @BhikkhuSubhuti this was correct at the time it was posted (7 years ago!), but unfortunately is no longer valid. I had a note at the bottom for new versions, but I have now moved it to the top so that the text people see first in the answer is the current method.

Thanks for bringing it to my attention, I had completely forgotten about this answer
Answer: Open terminal and type ubiquity -b all lower letters
This will open the installer and will install ubuntu with out the ubuntu bootloader known as grub,

Note : If you don't install Ubuntu's boot loader "Grub" you wont be able to boot Ubuntu, I've tried installing Ubuntu side by side windows, using the above step, then installing EasyBCD, then selecting "Grub 2" as the boot loader for the Ubuntu Part, I rebooted, to find I still could not boot in to Ubuntu with out Ubuntu having "Grub" within it's part, so I do NOT recommend following the above step, unless you know how to get around this, in which case, please post the magic bellow
Comment: You can boot Ubuntu, even without the default Ubuntu's GRUB by installing [grub2win](https://sourceforge.net/projects/grub2win) on Windows. It does make a GRUB entry inside Windows' BCD. What did you only need to do is to make an entry to your Ubuntu installation, and points the entry to the partition where you install Ubuntu.
Comment: If you have another linux aleady installed (two or three os's).  You can do sudo update-grub and it will run the os prober for you.


Randomize Noise Per Object (Geometry Nodes)

Question: I have a cube with a subdivision surface. I'm using the set position node, and a noise texture, to make the object bumpy. (See Photo) When I duplicate the object, I'd like the location of the noise to be randomly different on the other object. Is there a way to randomize the vector location of the noise texture per-object? Thanks!
Comment: @Benus The linked solution suffers the same problem as Chris' answer. Moving the objects around changes the noise and every object will look the same as another when moving into the same location, so it's only a solution for static objects (and I guess that's not what Ryan had in mind).
Comment: https://blender.stackexchange.com/questions/250752/self-generating-random-shapes-with-geometry-nodes-in-3-0/250754#250754
Comment: Yeah, I would like the noise to be randomly different when you duplicate the object, but I don't want the noise to move when the object moves. To help you understand what I'm after: I'm trying to create a geometry node setup that will procedurally generate rocks. And every time you duplicate the object, it will randomly generate a different shaped rock. If this isn't possible with geometry nodes, that's ok.
Answer: you can use this node setup:

result:

Note: but yes, if it would be the same location, it would be the same
noise...
Comment: Not random and varies as the object moves when it's animated.
Comment: nobody said the the object is animated....and of course it is random - and if it isn't "enough" random, you could use a math multiply before after location and before add.
Comment: That wouldn't be any more random.
Comment: Thanks everyone for your help, although this isn't really the result I'm after. There are two problems with this: The first problem is that when I move the object, the noise moves as well, and I don't want that to happen. I just want the noise to be randomized when you duplicate the object, or apply the same geometry node setup to a different object. (Second problem in the next comment)
Comment: The other problem with this, is that when I move the first object, the noise changes for all of the other objects. To help you understand what I'm after: I'm trying to create a geometry node setup that will procedurally generate rocks. And every time you duplicate the object, it will randomly generate a different shaped rock. If this isn't possible with geometry nodes, that's ok.
Answer: This task seems quite simple at first glance, but on closer inspection it is quite tricky.
The problem here is that "random" is not really random in this case. From the outside it is, of course, but within a node tree it is not.
If you apply a node tree multiple times, the random value created in it will give the same result in all use cases, because the node Noise Texture generates the values based on the positions, which are always the same in all use cases.
Normally this is not relevant, because a random value is mostly related to the positions of the single vertices/edges/faces, but exactly this position should not be variable in your case.
If you use the position as a variable, you will get exactly the result you don't want: The random value changes when you move the object.
Therefore you have (at least) two possibilities to avoid the problem:
Variant 1
Control via Group Input
One possibility would be to "feed" an individual value from outside into the nodes, so that within the nodes a unique value can always be generated.
This could look like this:

Here I have created a Group Input of type Integer, where the vector for the node Noise Texture changes when it is modified.
This way, even when you move the object, the noise remains unchanged.
However, you have to set an individual "Seed" value for each object.
Variant 2
Control via Index
Another option would be to feed this variable value into a node tree from the outside, and create all objects in this one tree.
This could look like this:

Here I first create several Empties in a Collection. I use these as positions for the individual rocks.
Then I first use the node Collection Info in the node tree and instantiate several cubes at the positions of the Empties in it.
After that I capture the index and the position of the instances. The index is crucial here, because with this unique value per instance I can now control the displacement.
Unlike the previous variant, however, the position of the individual objects is always relative to the zero point of the object in which the nodes operate.
Therefore, I also capture the position of the instances to be able to compensate for this difference and achieve a displacement from the center of each individual object.

(Blender 3.2)
Comment: Thanks for the info!


Does a beginning imply an ending? (In regards to the universe)

Question: In regards to the universe if it said to have a start (Beginning) does that imply that it will have an end? Are beginning and ends implied when either ones is said to be true of a proposition or can we have an eternal universe with an end or a universe with a beginning and no end?
Comment: @JamesKingsbery Plato, Aristotle and Kant were off-topic? At the heart of this question, it is dealing with infinity - and infinity has been a philosophical topic since forever. The way I read it, it asks if infinity must be infinite "in both direction" or if infinity can be "capped" at one side. Since that question hinges on the notion of infinity, on the meaning of "infinity" I think it is well located on this site.
Comment: hello i don't know tbh but would like to point out that does it end and does it begin ARE different questions
Comment: Surely there are mathematical models to the contrary. The real line has no beginning or end. The set of nonnegative reals has a beginning but no end. The set of nonpositive reals has an end but no beginning. The set with two elements {0, 1} has a beginning and an end but nothing in the middle. The open unit interval (0,1) has no beginning and no end, yet it's bounded. Many such examples are available. I offer them as conceptual models to help you clarify your woo about the universe.
Comment: This question appears to be off-topic because it is a matter of cosmology, not philosophy.
Answer: The general view amongst Cosmologists is that the fate of the Universe depends on its overall shape or geometry.
The shape of the universe depends on the density of matter contained therein and is usually expressed using a parameter called the density parameter, which is the ratio of the observed density to the critical density. (Naively, one might say the more matter the more gravitational pull, while a smaller density of matter means there is not enough gravity to pull it all back together.)
The critical density is currently estimated to be approximately 5 atoms (of hydrogen) per cubic meter.
The observed density of ordinary matter is estimated at 0.2 atoms per cubic meters.  This leaves us having to estimate the density of the exotic dark energy.
If the ratio is greater than 1 (high density, positive curvature), then the geometry of space is closed, meaning that it has a finite future.  This case corresponds to our universe having a spherical shape.
If the ratio is less than 1 (low density, negative curvature), then the geometry of space is open, meaning that it has an infinite future. This case corresponds to a saddle shaped universe.
Finally, if the ratio equals 1 (the "Goldilocks" scenario, no curvature), then the geometry of space is flat, as in the Euclidean geometry we learned in school.  Here, the universe expands forever, but the rate of expansion decreases and asymptotically (tends to) zero (over time).
When dark energy estimates are included, our current best guess is that our universe is within 0.4% of being flat, implying an infinite future.
Regarding the past, our science and observation strongly suggest that our universe has a finite past.

In recent years, a multiverse view of reality has become mainstream.  Here, our universe is just one instance of many universes that make up a multiverse.  In this vision, the multiverse is infinite in both directions.
Answer: Current cosmology, largely based on General Relativity, allows the universe could have a beginning in the sense of extending only finitely far into the past,  and could have an end in the sense of extending only finitely far into the future, or both, or neither.  Currently observation is taken to suggest a finite past going back to a "big bang" though it could also be that the universe vanishes asymptotically over an infinite past.  And it is taken to indicate an infinite future, but this could possibly change as new ideas of "dark matter" and "dark energy" emerge.  Of course those scientific ideas could all change if currently unknown data come in.
On the other hand if you want to know what Aristotle, or Kant, or Mahayana Buddhism say about it, those are other questions.
Answer: No.
I would say that "Does A imply B?" is equivalent to: "Are there zero valid models where A is true but B is not?"  If there are valid models where A is true and B is not, then it is not the case that A implies B.  This is a useful definition of the word "implies".
Are there valid models where the universe has a beginning but does not have an end?  Yes.  Therefore it cannot be the case that the universe having a beginning implies it must have an end.
Do we live in a universe that had a beginning but will not have an end?  That is a different question.  My understanding of the data available is that the answer to this question is "probably".
Answer: Well, I don't think there can be such things as "beginning" or "end". There are just sequences of events, we choose to call it "beginning" or "end". For example, suppose I kick a piece of sand in the desert; we may classify my leg going in the direction of the sand as the sequence of events which classify the "beginning", and the sand being kicked and flying away as the "end". But the event truly not ended, because the sand continues to fly and react to another substances, which react with others in an infinite chain. That's why people make jokes about going back in time, stepping in a bug and change the course of history! Anyway, things just happen in their proper instants of time, the "begin" and "end" part is our doing.
Have a nice day.
Comment: Imagine once there was no universe. Than there was one. Does that mean, that once there will be no universe anymore? And if one day the universe is no more, can it than have always been there? I think this question can be formulated without referring to events. If I'm right, your solution seizes to work.
Comment: @Einer I think the first question might depend on physical aspects. The material existence of the universe depends immediately on the laws of physics which allows it to exist, so tHe best person to answer is a physicist. Regarding events, we can talk about events of not happening events at all. E.g, with change of time, all events in the sequence would be similar, but not equal (since times flows uniformly).


Shipping Price depending on Order Total

Question: I am trying to find a way to display a different shipping price depending on the Order total amount ?
Comment: Try `Table rate` shipping method. If it doesn't suits to your requirement (not provided here), Go with Custom Shipping Method
Comment: @AnilSuthar The table rate method works great for me !
Answer: No need of any other module. magento is awesome as it support lot of features including this one also.
go to Backend > System > configuration > Sales  and select shipping method and try with Table rate shipping method.
in condition select Price vs Destination , than select Main website from current configuration scope than you can see export csv button. download it. than you can enter information as in following image. fill required details and upload back to backend using import button

you can follow this link for more information....
Comment: Great solution. I am new to magento so every little modification seems like huge to me.
Answer: You can try to use default Admin > Promotions > Shopping Cart Price Rules. If this not cover your issue, you need to create new shipping method, where you can calculate shipping price depends on order total.
Answer: You can use default shipping method "Table Rate" for this.
In this shipping method you can import CSV file for that zip codes. and set your rates and shipping label there.
OR
You can use web shop matrix shipping method for this.
Both are same in functionality of working.

Shipping Price depending on Order Total


Why the dashes above the two words "walillahi yasjudu"?

Question:

What do the horizontal lines above the words "walillahi yasjudu" mean?
Answer: Some verses in the Quran when recited require  sajda/prostration called
Sujud-Tilawa/Sajda tilawat (prostration of recitation), the indication of this is ۩ or at the left/right side of the page, parallel to the verse ساجدة/سجدة is written. There is difference of opinion on whether it is wajib (essential) or mustahab (better).
These Sujud-Tilawa occur in these verses of the Quran:

Surah Al A'Raf (7) Ayat 206
Surah Al Ra'd (13) Ayat 15
Surah Al Nahl (16) Ayat 50
Surah Bani Israil (17) Ayat 109
Surah Maryum (19) Ayat 58
Surah Al Haj (22) Ayat 18
Surah Al Haj (22) Ayat 77 (Shafi)
Surah Al Farqan (25) Ayat 60
Surah Al Naml (27) Ayat 26
Surah As Sajdah (32) Ayat 15
Surah Sa'd (38) Ayat 24 (Hanafi)
Surah Hamim Sajdah (41) Ayat 38
Surah Al Najam (53) Ayat 62
Surah Inshiqaq (84) Ayat 21
Surah Al Alaq (96) Ayat 19

The dashes above/below some words of verses indicate the reason of sajda-tilawat.
You can see all these dashes by searching ۩ in quran.com.
Reasons of Sujud-Tilawa

Disbelievers didn't prostate to Allah, so the believers prostate to Allah.
The rightious and noble servants prostated to Allah, so the believers also prostate to Allah.
Everything willingly/unwillingly prostates to Allah.
Believers prostate to Allah, when Allah commanded(s) not to worship sun/moon.
Allah commands believers/Muhammad (saw) to prostate.
Some one worshiped/worships false deity(s) of Islam instead of Allah, so believers prostate to Allah.

You can learn more about the symbols in Quran here or just search this .


Shadow's incorporeal touch attack vs DR5/bludgeoning

Question: If the PC has damage reduction 5/bludgeoning because of wearing an magic item could the shadow's incorporeal touch damage do 1 on 1 or the DR decrease it the amount of 5?
Comment: I can't find the reference, but I am under the impression that DR is applied only to things that reduce hit points.  It has been quite a while since I played 3.5 regularly though.
Answer: The Shadow's damage is unaffected.
The Shadow's incorporeal touch attack has specific rules.

Strength Damage (Su)
The touch of a shadow deals 1d6 points of Strength damage to a living foe. A creature reduced to Strength 0 by a shadow dies. This is a negative energy effect.

These rules bypass DR X/Bludgeoning in two ways.

The attack is a supernatural ability. Damage Reduction has limits. "The creature takes normal damage from energy attacks (even nonmagical ones), spells, spell-like abilities, and supernatural abilities."
The attack is a negative energy effect.

Good gaming.
Comment: Are all incorporeal attacks (Su)? For example (not an issue with this fine answer, though), the Wraith deals 1d4 plus 1d6 Con drain. The Con drain has the same arguments as the Str damage here, but what about the 1d4 untyped damage?
Comment: @NobodytheHobgoblin "A creature that has damage reduction (DR) ignores some of the hit point damage from weapons, natural weapons, and unarmed attacks that don't meet certain criteria" (*Rules Compendium* 41). The dread wraith has Improved Natural Attack (incorporeal touch), so, generally, DR *should* apply to its incorporeal touch attacks. Now, whether that dread wraith's incorporeal touch attack is bludgeoning enough to overcome DR 5/bludgeoning is the DM's call.
Comment: Thank you for the quick and detailed answer!
Comment: @NobodytheHobgoblin Unlikely. 3.x is extensive, and I'm sure there are some incorporeal attacks that are spells, spell-like abilities, and possibly even Extraordinary abilities. The Wraith's base damage seems to be affected by DR.
Answer:
Damage Reduction
A creature with this special quality ignores damage from most weapons and natural attacks. Wounds heal immediately, or the weapon bounces off harmlessly (in either case, the opponent knows the attack was ineffective). The creature takes normal damage from energy attacks (even nonmagical ones), spells, spell-like abilities, and supernatural abilities. A certain kind of weapon can sometimes damage the creature normally, as noted below.

(Damage reduction special ability rules, emphasis mine)

Shadow

Attack:
Incorporeal touch +3 melee (1d6 Str)

Full Attack
Incorporeal touch +3 melee (1d6 Str)

Strength Damage (Su)
The touch of a shadow deals 1d6 points of Strength damage to a living foe. A creature reduced to Strength 0 by a shadow dies. This is a negative energy effect.

(Shadow monster description)
A shadow's incorporeal touch is a supernatural ability and a negative energy effect. Damage reduction does nothing to supernatural abilities and it also does nothing against energy effects. So the shadow does the full 1d6 Strength damage regardless of your damage reduction.
Comment: Thank you again KRyan! :)


What did Robin Hobb call a group of dragons?

Question: Robin Hobb towards the end of the "Realm of the Elderlings" series called a group of dragons something and I can't for the life of me remember what it was or find it in said books or online. Anyone know what it was?
Comment: @Jenayah The word you & NaturesCreed are looking for is [***collective noun***](https://en.wikipedia.org/wiki/Collective_noun) *a la* a parliament of owls, a clowder of cats, a whatever of teenagers, etc.
Comment: You mean, like a pack, a flock or something, or more "the five of Kelsingra"-sounding? (Read those a long time ago, but I don't remember such a thing)
Comment: exactly like a pack or flock, or something, but she had a specific word for it that fit remarkably well.
Answer: A Catastrophe

His eyes on the dragons and their destruction, Beloved asked, 'If a flock of crows is a murder, what should we call a group of dragons?' 'A catastrophe of dragons,' someone said, with no humour in his deep voice.
Assassin's Fate - Chapter 39: The Vengeance
Comment: That's the one! Appreciate it!
Answer: A Tangle

One at a time, the other great serpents heaved their long bodies free of clinging muck and outgrown skin [...] joining in the tangle's dance.
Ship of Magic - Prologue: The Tangle

Almost immediately, she sensed that the ship did not wish her to be there but She Who Remembers felt no compunction about remaining. Her duty was to the tangle of serpents she had awakened. If the ship were a danger to them, she would discover it.
Ship of Destiny - Chapter 15: Serpent Ship

Maulkin is the leader of a tangle of serpents. His tangle is the last one, and the only tangle who makes it up the river to start the process of turning into a dragon.
Maulkin
Comment: No not what I'm after, this is for Serpents but not Dragons. It was only mentioned once, late in the series by either I think either Thymara or Elise.
Answer: In Blood of dragons, a sailor from Chalced called them a Flock when a group of dragons attacks their boats.  While not mentioned by Thymara or Elise, it is mentioned toward the end of the Rain Wild Chronicles, if not the end of the full Realm of the Elderling series.  I'm listening to the audio book, so i can only state it occurs roughly in the middle of the book, somewhere about halfway though CD 7 of 13.


what is status of EG25011a, when it is going to expire?

Question: What is status of EG25011a, when it is going to expire IN EGYPT.
Answer: I am not a lawyer so this is not legal advice. The cited Egyptian patent claims priority to two German applications filed on 2002-08-21 and 2003-03-20. Normally one would expect a granted patent to expire 20 years from its priority date. This would lead me to expect the patent to be expired. There is the possibility of patent term extensions (at least in the US) so I would check the status with someone more experienced with international patents than I am. Also, there is the potential for related patents that are still in force.
Answer: this patent expired in 2023-08-19 in Egypt. (Source Orbit Intelligence)
But this patent also has many family patents, some  of them are still active in few countries. But if you want to use/sell this patent in Egypt, then you don't have to worry about infringing this patent, as it is expired in Egypt.


Adding dynamic controls to winform not working

Question: I am creating dynamic PictureBox and label in WinForms. For this I have created a method which creates these items on the basis of given integer. In the first run while loading the form, its works smoothly, but when  I pass any integer from a dropdown box, it does not make any changes. I tried debugging the code, and all the labels are created accordingly but it is not reflected in the winForm. I tried using Invalidate, Update, Refresh but non of them worked.
Here is the method that I have implemented.
private void createPictureBox(int size)
{
    //this.Controls.Clear();
    panel1.Controls.Clear();
    Label[] ParameterLabel = new Label[size];
    PictureBox[] ParameterBack = new PictureBox[size];
    int y_value = 11;
    this.Refresh();
    for (int i = 0; i < size; ++i)
    {

        ParameterLabel[i] = new Label();
        ParameterLabel[i].Text = "Test Text";
        ParameterLabel[i].Font = new System.Drawing.Font("Calibri", 8, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
        ParameterLabel[i].ForeColor = System.Drawing.Color.White;
        ParameterLabel[i].BackColor = System.Drawing.Color.FromArgb(1, 0, 64);
        ParameterLabel[i].Size = new System.Drawing.Size(145, 20);
        ParameterLabel[i].Location = new Point(30, y_value);
        ParameterLabel[i].Anchor = AnchorStyles.Left;
        ParameterLabel[i].Visible = true;

        ParameterBack[i] = new PictureBox();
        ParameterBack[i].Image = Image.FromFile(STR_SETTING_PATH + "\\" + STR_IDEA_NO_XXXXX + "_01_nv.png");
        ParameterBack[i].Size = new System.Drawing.Size(400, 32);
        ParameterBack[i].Location = new Point(2, y_value - 10);
        ParameterBack[i].Anchor = AnchorStyles.Left;
        ParameterBack[i].Visible = true;
        //this.Controls.Add(ParameterBack[i]);

        y_value += 37;
    }
    panel1.Controls.AddRange(ParameterLabel);
    panel1.Controls.AddRange(ParameterBack);
    panel1.Invalidate();
}

Comment: This is probably because your y_value is declared inside the method, making each call of this method to place the elements it creates on top of elements it created the last time.
Comment: Yes I want to create the controls from the beginning like a new one.
Comment: The problme is that you re always adding controls - how do you plan to get rid of some? you are piling PictureBox'es on top of each other. Where do you  remove the old ones?
Answer: Who can you distinguish between controls created in the first call and those created in other calls? I've tested your function with a tiny change, it seems to be working fine:
int CallIndex = 0; // this is on the form level

    private void button1_Click(object sender, EventArgs e)
    {
        createPictureBox(3);
        CallIndex += 1;
    }

    private void createPictureBox(int size)
    {
    // this has the exact same code as your method (copy-paste into my visual studio),
    // except this change:
    // ParameterLabel[i].Text = "Test Text";
    ParameterLabel[i].Text = string.Format("Test {0}", CallIndex); // instead of the row above
    }

Answer: I did remove the previously added controls and added the new one after which apparently solved my problem. The problem was due to piling of Controls one over another. I first removed the previously created controls using
this.Controls.Remove(UserControl1);

Then re-created its instance, which solved my problem.


how to join multiple rigged mesh and bones

Question: I rigged and weight painted a finger mesh, and now i need to connect the bones and the mesh to make the hand while maintaining the bone weights so i dont need to redo the weight paint for every finger, how do i go about doing this?
Comment: what do you mean when you say that you need to connect the bones and the mesh? do your bones and finger meshes already exist? or are they apart? it's not clear... anyway I'm afraid you'll have to redo the same job for every finger, unless someone knows a better way to do it?
Comment: i mean jointing multiple rigs, so jointing the bones, and jointing the already weight painted meshs into a single mesh and bone rig
Comment: keep a copy of your work so you have a safe version somewhere, then try to join the different meshes and bones into one object and one armature, it should work, but make sure that each bone has a unique name, if it's not the case several parts of the mesh will have the same vertex group name and the bones will control parts you don't want them to... also I guess you could need to make additional weight paints at the joints.
Answer: Figured it out.

select bone and mesh and duplicate them.
select individual bones of the duplicate and rename them so they have unique bone names from the original. Renaming the bones will automatically rename weight painted the vertex groups.
apply location rotation and scale to the bones in object mode, and make sure all armatures have the same origin
select the mesh and hit ctrl J
select bones in the same order as you selected the meshs and hit ctrl J


How long it takes to return to daily activities?

Question: These are my leg x-ray. I had an accident 7th may 2017. My fibula (hope I got the right name) was fractured. My orthopedist says nothings to worry. It will fine within two weeks. I have passed 12 days, but my legs still pain. If I take pain killer then there is no pain. If I didn't, it will start the pain.
I have two questions.
Is there is anything's serious?
How long it takes to return to daily activities?
Comment: SE Health is not meant for personal advice. Only your doctor can answer this question based on all the information they have. All in all, pain after 12 days is not very surprising.
Answer: Your doctor would be the most qualified to answer this.  I am not able to interpret x-rays, but I do know that fractures usually take 6-8 weeks to heal.  That can differ based on a persons age, nutrition, and whether they have any other underlying health conditions, and the severity of the fracture.  Your doctor who knows your health condition would be able to give you the best estimate based on the variable factors.  Also, after the bone heals the muscles may be tight or weak due to the decrease in activity from the time needed to heal.  This can also contribute to pain.  Don't start exercising until your doctor gives you the OK or you can do more damage than good.


What is "reference checking"?

Question: I recently submitted a manuscript to the Indian journal of pure and applied mathematics. The submission was successful and the manuscript is under review (As per the shown status). But beside there a option "View reference checking results", and the following is shown there?
I don't know what does that mean?
Does that mean my manuscript cannot be published?
Comment: I wouldn't worry about this. References are usually checked carefully during preparation of proofs, i.e., after your manuscript has been accepted and passed to the production department. (Could the journal maybe expect you to upload a LaTeX or word file? It's rather unusual that a PDF is accepted.)
Answer: They just check whether your references are correct. For example, did you get the volume right or did you spell the authors correctly.
Answer: When submitting an article for publication, it is very important to check the requirements for submission.
In this case, it appears that you have submitted a file in .pdf format, which is not supported by the reference checking system of the journal. In the diagram in this canonical journal workflow answer, you are probably stuck in the "Initial Check" phase and your submission process cannot proceed without further action from you.
You should probably:

Go back and look at the submission instructions again. If they specify that .docx or another format is required, you will need to save your article in a supported format and resubmit it.
For specific questions that are not answered by the submission instructions, there should be a link to contact the journal and/or the editor.

What is "reference checking"?


Does the distance between the atoms and arrangement of a crystal affect malleability?

Question: I'm designing an aircraft, and certain sections need to hold under a lot of stress. I know that it is the ways the metal crystallizes that effects the malleability, but does the distance between the atoms/ crystal arrangement also affect malleability?
Comment: This is a very broad question that veers rapidly away from chemistry and deeply into metallurgy and materials science. Crystal structure, grain size, alloying elements, multiple phases, annealing time, quenching and quench rate, etc., etc. all come in to play.
Answer: In general, malleability is determined by how easily metal crystals can be moved around. Anything that gets in the way, such as another substance blocking crystal movement, makes the metal less malleable.
For example, pure iron is malleable, but add some carbon to molten iron, and the carbon precipitates out on cooling, blocking crystal movement and creating much harder and more brittle carbon steel. Think of it as a two-phase material.


Lie group. How is manifold defined?

Question: If I have the Lie group $SL(2,\mathbb{R})$. Then how is the manifold structure on this algebraic group defined, could anybody explain this to me? I mean this is the group of matrices that determinant one, but where comes the manifold structure from?
Answer: You can identify $M_2(\mathbb{R})$ with $\mathbb{R}^4.$ Now, the function
$$\det : \mathbb{R}^4 \to \mathbb{R}$$ is differentiable. Since $1$ is a regular value of $\det$ one has that $SL(2,\mathbb{R})=\det^{-1}(1)$ is a submanifold.
Edit
Note that the only critical point of $\det$ is $(0,0,0,0).$ This can be shown by computing the gradient of $\det(x,y,z,t)=xt-yz:$
$$\nabla \det(x,y,z,t)=(t,-z,-y,x)=0 \iff (x,y,z,t)=(0,0,0,0).$$ Thus, any value different from zero is a regular value of $\det.$
Comment: could you explain why $1$ is a regular value? We need to show that the derivative of the determinant for any matrix in $SL(2,\mathbb{R})$ is surjective.
Comment: I have editted the answer to show that the only critical value of $\det$ is zero.
Answer: If you want concrete charts, you can consider the open sets
$$U_{ij}=\left\lbrace\begin{pmatrix}a&b\\c&d\end{pmatrix}\in\mathrm{SL}_2(\mathbb{R})\text{ s.t. the }(i,j)\text{-th coordinate is nonzero}\right\rbrace$$
These are obvioulsy in bijection with $\mathbb{R}^*\times\mathbb{R}^2$ by obvious maps $\phi_{ij}:\mathbb{R}^*\times\mathbb{R}^2\to U_{ij}$, and you can easily check by hand that the transition maps are smooth in coordinates, actually rational functions. This describes an explicit atlas on $\mathrm{SL}_2(\mathbb{R})$, since the four open sets $U_{ij}$ form a cover.

Here are the four maps:
$$\phi_{11}(x,\alpha,\beta)=\begin{pmatrix}x &\alpha\\\beta & \frac{1+\alpha\beta}{x} \end{pmatrix},
\quad\phi_{12}(x,\alpha,\beta)=\begin{pmatrix} \alpha & x\\ \frac{\alpha\beta-1}{x} & \beta\end{pmatrix} \\
\phi_{21}(x,\alpha,\beta)=\begin{pmatrix} \alpha & \frac{\alpha\beta-1}{x} \\ x& \beta \end{pmatrix},
\quad\phi_{22}(x,\alpha,\beta)=\begin{pmatrix} \frac{1+\alpha\beta}{x}& \alpha \\ \beta & x\end{pmatrix}$$
and here are two of the twelve (equally simple) transition functions:
$$(\phi_{11}^{-1}\circ\phi_{12})(x,\alpha,\beta)=\left(\alpha,x,\frac{\alpha\beta-1}{x}\right) \\
(\phi_{22}^{-1}\circ\phi_{11})(x,\alpha,\beta)=\left(\frac{1-\alpha\beta}{x},\alpha,\beta\right)$$
Answer: A slightly different take: you can show that $SL_2\mathbb{R}$ is diffeomorphic to $S^1 \times \mathbb{H}$, where $\mathbb{H}$ is the upper half-plane.
The idea is as follows. $SL_2\mathbb{R}$ acts on $\mathbb{C}$ via fractional linear transformations. That is, via
$$
\begin{pmatrix}a & b \\ c & d \end{pmatrix} \cdot z = \frac{az + b}{cz + d}
$$
Since all entries of the matrix are real, it in particular preserves the real line in $\mathbb{C}$. Moreover, since the determinant is 1 (and not -1), it preserves the upper half-plane. So we have an action (actually---this is an action of $PSL_2\mathbb{R}$, and we are really showing that $PSL_2\mathbb{R} \cong S^1 \times \mathbb{H}$---but since $SL_2\mathbb{R}$ is a double cover...).
Essentially, we now pick our favorite point in the upper half plane (say, $\sqrt{-1}$), and note that its stabilizer is just rotations around that point i.e. a copy of $S^1$. Since the group acts transitively on the upper half-plane, it follows then that $PSL_2\mathbb{R}\cong S^1 \times \mathbb{H}$ as desired.
Anyhow, this is a super sketchy argument, but I always think it's a nice one, and it brings the group action nicely into the picture.

Lie group. How is manifold defined?


How could drupada send his son drishtadyumna to learn warfare from drona inspite of their rivalry and enmity between their kingdoms as well ?

Question: It seems difficult for me to gulp it down that inspite of enmity and getting defeated to drona how did he send his son to learn warfare . Drupada was a king himself and he should have his own warfare experts.
Comment: same difficulty to grasp is that Drona willingly taught Drishtadyuma warfare, inspite of knowing that Drishtadyuma was born from sacrificial fire for the sole purpose of killing Drona
Comment: That is the we have to learn from mahabharat . That no matter what never leave your duty.  Guru dronacharya and bhishma pitamah were extremely professional.  We have a lot to learn from these things
Answer: tl;dr
The reasons were following:

New found friendship between guru Drona and king Drupada;
Guru Drona acquiring half of the kingdom of king Drupada; had to return the favour by educating his son in weapons

From Adi Parva, it's well known story that king Drupada had insulted Guru Drona when the latter asked for a portion of the wealth. He retaliated back with the help from PAndava-s to capture the king as part of Guru dakshina.

After a time when the Pandavas became skilled in arms and sure aims, demanding of them his fee, he again told them these words, 'Drupada, the son of Prishata, is the king of Chhatravati. Take away from him his kingdom, and give it unto me.' Then the Pandavas, defeating Drupada in battle and taking him prisoner along with his ministers, offered him unto Drona,

Later they resolved their differences and became friends again.

The king of the Panchalas, thus addressed by the wise son of Bharadwaja, told ... these words, 'O high-souled son of Bharadwaja, blest be thou, let it be so, let there be eternal friendship between us as thou desirest!' Thus addressing each other and establishing a permanent bond between themselves, Drona and the king of Panchala, ... went away to the places they came from.

Somewhere inside, the king Drupada was still felt humiliated of his defeat.

But the thought of that humiliation did not leave the king's mind for a single moment. Sad at heart, the king began to waste away.

Most likely Drona was aware of the long term happenings, but he served his Dharma considering it to be a destiny.

And the great Drona, bringing the Panchala prince into his own abode, taught him all weapons in requital of half the kingdom he had formerly taken from Drupada. The high-souled son of Bharadwaja, regarding destiny to be inevitable, did what would perpetuate his own great deeds.  [source]

Possibly Drupada may not have considered Drona as his enemy. But Mahabharata became an opportunity to settle the score.
Comment: Dhanyvaad iss sawal se main bohot dinon tak pareshaan tha


Should I repair, replace, or remove damaged foundation insulation?

Question: I live in upstate NY and my house was built in 1996 and it has the white thick foam insalation around the foundation.  It looks awful and now I have bugs chewing it and building homes.  Can I just take it off or do I need to replace it with something
Comment: Is the insulation on the exterior or interior?
Answer: I don't know for sure what "white thick foam" is, but any exposed foundation insulation should be covered with a finish material. It's generally the case that insulation below grade is fine, but that exposed to sun and weather degrades fairly rapidly.
You should not remove the insulation, as it was obviously installed for a purpose. What you should cover with depends on the situation, but some typical options are marine plywood, a parge coat of masonry, or vinyl sheets. Post more information about your home if you'd like a more specific suggestion.


Loading an assembly from several plugins, but only load it once

Question: I am developing plugins for another application that is strong named, so any plugin that references it needs to be recompiled for each version.
So, I have a library (that doesn't reference the main application) that logs in to my website, and I've compiled it as a .dll
This is the code I use in each of the plugins to log in and check for updates:
<code>var managerAssemblyPath = "Path to the .dll assembly";
var assembly = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(a => a.FullName.Equals("AssemblyName, Version=18.104.22.168, Culture=neutral, PublicKeyToken=null"));
if (assembly == null)
{
    var assemblyBuffer = File.ReadAllBytes(managerAssemblyPath);
    assembly = Assembly.Load(assemblyBuffer);
}
var t = assembly.GetType("Namespace.Class");
if (t == null)
{
    var assemblyBuffer = File.ReadAllBytes(managerAssemblyPath);
    assembly = Assembly.Load(assemblyBuffer);
    t = assembly.GetType("Namespace.Class");
}
var methods = t.GetMethods();
var method = methods.Where(m => m.Name.Equals("CheckForUpdates")).ToArray()[1];
method.Invoke(null, new object[] { this.Id });
</code>
It does get the job done. The first plugin that's being loaded will have assembly == null in the first 'if'-condition and load the file. Then it'll get the type and call the CheckForUpdates method. When CheckForUpdates is called, the loaded class caches all the information needed for any of the other plugins in order to minimize traffic to the website (as a static class).
The next plugin finds the assembly by the FullName, but does not find the type. Because it doesn't find the type, it loads the assembly again. This is where the problem comes in. Because it loads the assembly again, it doesn't use the information that was cached by the first plugin, but rather logs in to the website again.
So with 5 plugins installed, it logs in to the website 5 times which is not really ideal.
I'd prefer to read the bytes from the dll and then load the bytes, because this way the file doesn't get locked, and typically I will run many instances of the application.
Can anyone help with how I can make sure the assembly only gets loaded once?
Comment: I figured out why it is not able to get the type. GetType only works on assemblies loaded from file.
Answer: .Net loads assemblies based on evidence which includes the assembly path. Loading an assembly from a byte stream bypasses that step of the verification process so .Net treats each loaded instance as a separate sand boxed instance, which causes lots of unpleasantness.


Can different wyvern species breed together?

Question: Ok so I have a level 234 male poison wyvern and a level 229 female lightning wyvern. I had raised them and I believe they are max level. Will I be able to breed the two and get a fertilized egg, or will I need to raise two more wyverns of the opposite gender?
Answer: You cannot breed Wyverns at all, regardless of their type (barring mods).
The wiki article on Wyvern Eggs states (emphasis mine)

Wyvern Eggs are only found in The World Scar near the blue and red obelisks

Although it states having a Wyvern makes it easier to get more eggs, this relates to their actual movement speed making it easier to steal eggs.
Messages boards confirm that you can't breed your own Wyverns.
In fact, at least one mod exists to add Wyvern Breeding.
Comment: Hey thanks. Could've sworn they could be bred though. Well at any rate thanks.
Answer: Yes you can i breed ice wyerns on valguero
Comment: The question is if it's possible to breed wyverns using different species.


EditText as part of HeaderView loses focus on input

Question: This is an issue which I am facing only for > Android 4.0 devices.
Currently I have a listView and a custom header which I add onCreate()of the ListActivity.
I use the editText as a custom searchBar in the app.
The following is a code snippet which hopefully explains my implementation.

private ListView    lst_Reports = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.showreportlist);

    lst_Reports = (ListView) findViewById(R.id.VuoShowReportsActivity_Lst_Reports);

    /*
     * Initialize UI
     */

    LinearLayout headerView = (LinearLayout) View.inflate(this, R.layout.report_list_header, null);
    EditText reportSearchBar = (EditText) headerView.findViewById(R.id.reportSearchBar);
    lst_Reports.addHeaderView(headerView);

    reportSearchBar.addTextChangedListener(new TextWatcher() {

        public void afterTextChanged(Editable s) {

        }

        public void beforeTextChanged(CharSequence s, int start, int count, int after) {

        }

        public void onTextChanged(CharSequence s, int start, int before, int count) {

            // do a search as and when the user inputs text

            if (s != null && s.length() > 0) {

                String query = s.toString();
                List queriedReports = getReportsBasedOnQueryString(query);

             // populate the listView with the queriedReports

            }

        }

    });

}

protected List getReportsBasedOnQueryString(String query) {
    // TODO Auto-generated method stub
    return null;
}

When this code is executed on Android 2.3.5 device, then I can type normally in the editText. However when the same piece of code is deployed on Galaxy S3 which has Ice cream sandwich, I am able to only enter one character at a time in the editText since it keeps losing focus after every key input.
I have already tried the following proposed solutions to similar problems. None of them have solved the issue.

to the activity in AndroidManifest:

android:windowSoftInputMode="stateHidden"
android:windowSoftInputMode="adjustPan"

in the layout xml of the activity:

android:descendantFocusability="beforeDescendants"

I appreciate any help/feedback on this and am also keen to know if anyone else has reported the same issue.
Thanks
Rajat
Answer: public void onTextChanged(CharSequence s, int start, int before, int count) {

        // do a search as and when the user inputs text

        if (s != null && s.length() > 0) {

            String query = s.toString();
            List queriedReports = getReportsBasedOnQueryString(query);

         // populate the listView with the queriedReports

        }
         // add below line in your code
         reportSearchBar.requestFocus();

    }


Disable automatic alt text in Word for Mac

Question: When I paste an image into a Word for Mac document, it automatically adds alt text. How can I disable this "feature"? All the sources I can find online only explain how to do it on Word for Windows.
Answer: For me it is at Preferences > General > Automatic Alt Text (Word 16.30 at the moment)
Comment: Also true for PowerPoint 16.50
Answer: Toggle Automatic Alt Text on and off
If you don't want automatically generated alt text to be added to inserted pictures, you can turn off the automatic alt text option in PowerPoint and Word. If you change your mind later, you can just as easily turn it back on.
Press Command+, (Comma). The preferences window opens.
Select General.
In the Automatic Alt Text section, select or unselect the Automatically generate alt text for me option.
Comment: This does not seem to be there in MacOs ventura.


What does "言葉の裏の想いが 心の首筋舐めた" mean?

Question: I was listening to the song Ain't Nobody Know by Gen Hoshino and looking up the translation, which said for this sentence "the feelings behind our words licked the back of our hearts' neck". Since English isn't my first language I looked up what "licking the back of heart's neck" meant, thinking it was an English expression but I didn't find anything so I think it was a literal translation of the Japanese expression.
Answer: This is a personal interpretation, but the expression that the thought behind the words was a shock is a zodiacal analogy.
Actually licking my neck muscles = tingling = piercing my heart.
首筋を舐められる=ゾクゾクする=心に突き刺さった。

What does "言葉の裏の想いが 心の首筋舐めた" mean?


Deployment of metadata via REST vs old style SOAP deployment

Question: So now it's possible to deploy metadata using Rest approach (vs old-school classic and heavy SOAP one):
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_rest_deploy.htm
Rest deployment is already supported in sfdx cli via special option.
But the question here is - Are there any practical benefits of using Rest vs SOAP deployment? In particular, is Rest deployment faster when it comes to large code base?
Currently we are deploying our project in 3 steps - on each step up to 10,000 files are deployed. Altogether it takes up to 1 hours for all 3 sequential deployments to finish (no tests).
As I get, with Rest we would still be limited to 10,000 per deployment bundle, but would it be at least faster? Does it make sense to switch to Rest deployment as a more progressive way of deploying stuff (expecting that they would be introducing new deployment options in the future, deprecating SOAP approach altogether)?
Any help would be appreciated.
Answer: SOAP won't be deprecated in the near future (presumably); if it were, we'd be notified in advance. The primary benefit is upload speed/reduced bandwidth. As a secondary consideration, if you're already in a REST project, you don't need to switch to SOAP just to perform deployments. Also, technically speaking, certain languages excel at either XML or JSON, few do both equally well. This new option means you can now use your language's preferred transport protocol, instead of necessarily having to work with a less efficient method codewise.


How do I turn off a group of computers using the shutdown command?

Question: Someone told me that it's possible to group machines you want to shutdown together, and that you can turn them off using the standard shutdown command in bash.
How would one go about setting this up?
Comment: `cat host-list | while read host; do ssh root@$host shutdown -h now; done` maybe?
Comment: @nohillside That sounds a bit hacky, I thought it was more of something you setup in a config file, rather than a shell command, but that would work...
Comment: https://unix.stackexchange.com/questions/169443/how-to-shutdown-another-computers-by-using-their-ips-in-shell-script has the same idea...
Comment: Related - https://unix.stackexchange.com/q/204985/7453 look at how I used pssh and also you can do this with ad-hoc ansible cmd.
Answer: Assuming you have ssh access set up on all computers in question something like
while read host; do
    ssh "root@$host" shutdown -h now &
done < host-list

should work. If you need it configurable just put the host list into a config-like file.
Comment: @kusalananda Yes :-) Can be done with another user account and sudo as well of course. But any attempt to remotely shutdown a system will require a local login of some kind.
Comment: This is obviously assuming root login over SSH is not prohibited, and that public SSH keys have been distributed to the root accounts on all hosts for the local user.
Answer: First of all, to answer your question, shutdown on its own is a local function. It has no concept of a cluster. It doesn't know how to send a message over your network. What can be a bit confusing is that it uses the wall command to tell all the users that the computer is going to be shutdown. But this is only the users currently connected to that computer. Not all users on your network (again, wall is a local command).
On my end, I'm using an embedded software on a LAN where the system has one controller and N service computers (9 in my test). The controller needs to have a Shutdown function which turns off the entire system and ssh or shutdown are not really that great in such an environment.
Instead, what I do is create a command that can run shutdown on its own. This is very simple with a very small C binary:
int main()
{
    setuid(0);
    system("shutdown -t now");  // adapt the command to what you like
}

You compile that with:
gcc -o my-shutdown my-shutdown.c

Then you install it somewhere such as /usr/sbin
cp my-shutdown /usr/sbin
chown root:root /usr/sbin/my-shutdown
chmod 4755 /usr/sbin/my-shutdown

Now you have a command you can run from any user and that will shutdown your remote computers.

Important Note: This is, of course, not so safe on a public system. It works for me because I have a form of embedded system. At the same time, a shutdown won't destroy your computer. It may destroy the functionality, though.

Next, we want to be able to trigger that command from another computer. That requires us to have a server which runs on each of the service computer and listens for a connection. If you already have such a program running on your system, it should be easy to just add support for a message and run that C binary above. It will then run the shutdown command.

Below I have a very simple TCP server written in NodeJS, which may not be practical in your situation, but it gives you the basic idea if you don't already have such a service running on your service computers.
Actually, if you could write it in C, then it could be included in the tool I showed above (i.e. change that command line into a server running as root, then you don't even need the setuid() function call).
#!/usr/bin/env node

var net = require('net')
var runner = require('child_process')

var server = net.createServer((c) => {
    console.log('client connected')
    c.on('end', () => {
        console.log('client disconnected')
    });
    c.write('SHUTTING DOWN\r\n')

    // this could also directly be the `shutdown -t now` command
    // (assuming we run this service as root)
    runner.exec("/usr/sbin/my-shutdown")

    c.destroy()
})

server.on('error', (err) => {
    throw err
})

server.listen(2001, '10.0.2.10', (err) => {
    if(err) {
        console.log(`can not start listening on port: 1234, ${err}`)
        return
    }

    console.log('server listening on 10.0.2.10:2001');
})

Finally, you can start this NodeJS process with systemd. Say you call it /usr/sbin/my-shutdown-server then you'd write a configuration file such as:
[Unit]
Description=My Shutdown Daemon

[Service]
Type=simple
ExecStart=/usr/sbin/my-shutdown-server
ExecStop=/bin/kill "$MAINPID"
Restart=on-failure

[Install]
WantedBy=multi-user.target

Note: with the default, the service runs as root. The User= and Group= can be used to change that to another user.

Save this file under /lib/systemd/system/ with a name such as my-shutdown-server and now you can enable & start it:
sudo systemctl enable my-shutdown-server
sudo systemctl start my-shutdown-server

From your controller, you can test sending the message (in this example, the mere connection is enough to trigger the shutdown!) with nc such as:
nc 10.0.2.10 2001

You should get a reply message: "SHUTTING DOWN" and the computer should shutdown. The reply message may never make it unless you have at least a small pause before the shutdown happens (i.e. 5 seconds instead of "now" would do).
Again, the security here is non-existent. Anyone who can access those computers will be able to shut them down. By enhancing the server you could send any type of command, not just do a shutdown (i.e. reboot, restart your app. without a reboot, etc.)


What is the smallest Linux distribution by installation size?

Question: I'm trying to run some experiments with Linux and look for the smallest distribution by installation size. (RAM, CPU doesn't really matter)
Comment: Do you want current distributions only? The ones from 20 years ago are probably likelier to hold the title of "smallest"?
Comment: @MarkPlotnick: Everything is fine as long as it runs on my harddrive/laptop. If I have to do everything manually the tutorial is the requirement ;)
If you can give me the link to a 20 year old distro which is smaller than 8Mb (ttylinux), I'm happy
Comment: Do you want to consider ready-made bootable distributions only, or is it OK if you have to manually compile a kernel and choose the contents of the filesystem?
Comment: What are your criteria for selecting a distribution? Debian could be relatively small, but it depends entirely on how much "stuff" you include in the installation. Do you want a GUI? Do you want office/productivity applications? What about a webserver or database?
Comment: @roaima: As said: The installation-size should be small. Really really small. GUI would be nice indeed, but if it was necessary I would have mentioned it. (As the rest)
Comment: @Qohelet there is very little detail in your question. Before to complain about my questions, consider that I should not have had to ask for clarification. "Small" is a qualitative statement not a quantitative one. How small is "small" supposed to be? 10MB? 100MB? 1GB? 10GB? All can be "small" by comparison to other installations. Some can be large by comparison to other installations.
Comment: What do you mean by "installation size": the size of the installation media, or the disk size once installed? Would a bootable liveCD/USB/… count as 0 or the size of the media? Do you need it to support all common hardware or can you shrink the size by keeping only the bare minimum of drivers to support a specific computer? What software do you need to have available?
Comment: https://en.wikipedia.org/wiki/Nanolinux
Answer: Update: ttylinux is unmaintained at the moment!  If you're still interested start here or here.
Depending on your platform, ttylinux is maybe something for you:

This smallest ttylinux system has an 8 MB file system and runs on i486
  computers within 28 MB of RAM, but provides a complete command line
  environment and is ready for Internet access.

Started in 2001 and latest release is from 2015-03-05 so it is still maintained.
Comment: The given link is no longer valid. Is this distro still available anywhere? [This](http://ttylinux.info/dloadPC-x86_64.html) looks like a possibility, but I haven't tested it. (Yet.)
Comment: I assume we have a winner. Thank you, I don't think it's possible to go much lower than that. I'm surprised, thank you for the answer
Answer: The small distro that comes to mind is "Damn Small Linux", with a size of 50 MB  (link, wiki)
But also there's even smaller distro "Tiny Core Linux" which is about 15 MB (link, wiki)
Comment: DSL looks discontinued.
Answer: OpenWrt is also one of the smallest.
Answer: Buildroot
If you are willing to go through a compiling process and cut down on features, you could try buildroot. I created a very basic Linux install (essentially just the kernel, minimal Busybox utilities and one extra application) which fit into a 6MB ISO image.
The key here is to reduce the kernel and Busybox configuration ("make linux-nconfig" and "make busybox-menuconfig") to the bare minimum you need, and then to enable the XZ compression on the initial kernel ramdisk. Cutting down on everything I didn't need allowed me to reduce the whole ISO image down to about 9MB, and after enabling the XZ compression further down to 6MB.
For the kernel, I just checked each option in the configuration menu and disabled it unless I specifically needed it. You could disable all network drivers for which you don't have a corresponding network adapter, disable other, less common hardware which you don't foresee using (multi-port serial cards, joysticks, multi-function devices...) and so on.
You can also leave many subsystems on the basic implementations rather than more sophisticated ones (e.g. basic ACPI CPU idle states rather than Intel/AMD CPU idle states), which may mean that you will trade off power efficiency and full hardware support for kernel size. You could also disable entire subsystems like hibernation/sleep support and sound system if you don't need to use them.
You could save a lot of space by doing that. For example, the KVM (virtualisation) and btrfs support modules (which I decided to put outside the kernel as loadable modules in case I will need them in the future) take up 1.1 MB by themselves.
By deleting those module files you could get down to about 4.9MB. It could be that they take up less space integrated into the kernel binary, but then I've seen that other, smaller modules are sized 20-100 kilobytes, so your mileage may vary.
Busybox
Busybox is a single binary that behaves like different binaries depending on how it's called from the command line, which lets you save space. It's included in Buildroot by default. It can behave as ls, df, dd, cat, nc, bash and many others.
It looks like a good replacement for almost the entire *nix userland, unless you need some specific utility extensions which you can only find in more fully-featured/traditional (e.g. GNU, BSD) versions of these utilities.
Busybox is similar to the kernel in terms of disabling features - disable everything except for the binaries (AKA applets) you need, and the size will be reduced down. Dynamically compiled Busybox binary it takes up 512 kilobytes in Buildroot and about 2.1MB on Ubuntu 14.10.
The larger Ubuntu version supports a lot more than my Buildroot version, and it's still smaller than the default userland in terms of size - 2.1 MB for Busybox which includes all basic utilities (plus md5, sha256, sha512 sum, telnet, gzip, grep, df, dd, and many, many other applets) vs the traditional userland - 2.1MB gives you Bash and only a few of these utilities.
Extreme methods of decreasing the system size
You can try some of the things below to reduce the size further, but make backups of the working directory often as you may break the Buildroot install you are working on and may have to rebuild some of the binaries.

Compress all executables (including the kernel) with the UPX compressor. Since UPX is designed specifically to perform executable compression, this makes the resulting executables much smaller. But please make sure that you test all the executables afterwards and that they work correctly.
Use a different libc. I'm using uClibc, but I heard that musl and dietlib are much smaller and produce smaller executables. I had some build problems with musl this time, but it may work better.
Replace some or all userland utilities with asmutils. These utilities implement some of the common *nix utilities in pure Assembly (rather than C or other languages), which theoretically allows for much more compact code. Some of them work well, but some can be only used in very basic ways (e.g. "mount" only takes parameters in a specific sequence and no FS-specific mount options are implemented). On the other hand, they are very small (most are less than 1KB compiled, smalles ones about 139 bytes or so). You can pick which ones you want to use, so you can use these replacements only for the commands you want to save space on and keep more feature-rich versions as Busybox applets.
Answer: Tomsrtbt is a couple megabytes; it fits on a floppy.
Comment: That was a great piece of distribution 13 years ago. At least that is the freshest available on iBiblio. Or do you know about more recent versions?
Comment: I don't know of anything more recent.
Comment: Gave it a try... Difficult to find a version of it. Most of them are in dead archives. One is working (http://www.ibiblio.org/pub/Linux/system/recovery/) But the tests I was running weren't successful. A pity, 2,9Mb are awesome


Weakening g4 move

Question: I would like to know the reason behind the very weakening move g4 recommended by Stockfish in this position:
Answer: Well, I am amazed. I thought that it would be another case of a free online engine just not being that strong, but my Stockfish, and Deep Rybka, both like g4 there.
I know I would never have played that move in a million years since the eval is very close to other more normal moves like Re1, but here is what it sees.
It thinks that you can get in g5 when h5 is forced since hg loses by force, and you cannot allow gh there. After h5, that pawn becomes weak and will be lost. As you force in even just a few moves the computer thinks is best, the eval continues to grow, and it leads to a won position almost by force.
There are, of course, many other tries, but they also lead nowhere for black.
<code>  [FEN ""]

  1. d4 h6 2. c4 e6 3. e4 Bb4+ 4. Nc3 Ne7 5. Nf3 Ng6 6. Bd3 O-O 7. O-O Bxc3 8. bxc3 b6 9. g4 c5 10. g5 h5 (10... hxg5 11. Nxg5 $18) 11. Ne1 d5 (11... h4 $2 12. f4 $18) 12. cxd5 exd5 13. Qxh5 $18 Nc6 14. f4 {and you can see that black is lost.}
</code>
Comment: Agreed, it's very difficult to find g4 imo. But the more I look at it, the more it makes sense to me from a strategic point of view. Black is behind in development, and white has a space advantage in the center as well, so white can (and probably should) just go for the throat here, denying black the chance to catch up.
Comment: Curious, why do you still have Deep Rybka? That engine's old and been superseded by others. Among conventional engines there's Houdini and Komodo, and if you're looking for free options only there's still Ethereal, Xiphos, Laser, and many others that are both free and stronger.
Comment: I just had it from the old days, and thought I would check it too. It is not like it is super weak. Just a quick second opinion.
Comment: It's hundreds of elo weaker than the other engines I mentioned though. If you don't have the hardware to run the NN engines, and don't want to pay for Houdini or Komodo, I'd recommend Ethereal, which is both free & open source.
Answer: White has a wealth of factors working to his advantage:

A lead in development.
A massive centre.
Having control over the dark squares.

These factors allow him to get away with pushing g4. Sure, it weakens the f4- and h4-squares, but his dark-squared bishop can defend them (and Black lacks a dark-squared bishop of his own). There's also the fact that the h6-pawn acts as a hook. If the game continues g5 hxg5 Bxg5, both sides' kingsides have been opened a bit. Then, White could use the g-file with Kh1-Rg1, and suddenly Black's king is actually in more danger than White's.
When one side has a number of advantages, there often comes a moment like this one where he can "cash in" and gain concrete results for it. What's the point of having a number of strategic advantages if they're never eventually used in an offensive manner?

Weakening g4 move


JDBC + statement.setEscapeProcessing(false)

Question: Just want to know the exact effects of statement.setEscapeProcessing(false)  as anywhere in documentation i am not finding proper explaination  here are my questions
1) statement.setEscapeProcessing(false) will not any effects if we dont have escape clause in query . is this correct ?
2) If first one is correct why query modification happens even if i dont use any escape clause in my query but table name contains some special caharcter like ?  and also statement.setEscapeProcessing(true) which is default. i tested this out here ? gets replaced with ':1' witout the quotes
sample query - SELECT * FROM CLIENT.\"abc?table\" where rownum=1
when i set statement.setEscapeProcessing(false) and run the above query it works i.e no    replacement happens
3) if statement.setEscapeProcessing(true) does escape for the whole query then whta is the exact difference between escape processing true and escaping the values using preparedStatement
Answer: You should take a look at JDBC 4.0 specifications document, section 13.4 to understand more about setEscapeProcessing() method.


Loading Flex resources relative to server root as opposed to .swf location

Question: I have a large (700kb) Flex .swf file representing the main file of a site.
For performance testing I wanted to try and move it off to Amazon S3 hosting (which i have already done with certain videos and large files).
I went ahead and did that, and updated the html page to reference the remote .swf.
It turns out that Flash will load any resources relative to the .swf file accessing the resource - no matter what the root of the html page is. So my resources are now being loaded from the remote site (where they don't exist).
There are two obvious things I could do :
* copy all my resources remotely (not ready for this since i'm just testing now)
* add in some layer of abstraction to every URL that the .swf accesses to derive a new path.
I really want to flick a switch and say 'load everything relative to [original server]'.
Does such a thing exist or am I stuck loading everythin from the remote machine unless I fully qualify every path?
i want to avoid anything 'hacky' like : subclass Image and hack the path there
Answer: Append a slash before your urls, this should load relative to the domain instead of the current folder:
foo.load('/like/this/image.jpg')

This is a bit quick and dirty, feeding a "relative" url via a querystring (or the base parameter) would be way more flexible.
Comment: This wouldn't work. He's saying that his SWF is on a different server than the HTML, and he wants to load relative to the server where the HTML is. Also, this would require him to change all his load statements, which is what he's asking how to avoid.
Answer: You could try specifying the base parameter of your SWF's embed/object tags. In theory it defines the base path that will be used to resolve relative paths for loading, but I don't know if it will work if the base value points to a different server from where the SWF is.
See the docs on embed/object params here. Scroll down to "base" at the middle.
If that doesn't work, another thing I've seen people do is to pass in a custom base path via flashvars. Then inside your SWF, you check if that base path is defined, and if so prepend it to relative URLs before loading.
Comment: i tried adding 'base' and it doesnt seem to work - at least for SWFLoader it doesnt