How to explain that I don't understand anything at internship?

Question: I recently got a job as a software intern at a big company. The intern program is loosely organized and basically was vaguely described a technical issue and told to implement a series of tests for it after explaining to him I am new to this and am not very experienced with any of this. I don't want to continuously say I have no idea what I am doing, but I literally don't even know where to start after he had explained a series of things to me way above my skill set. How can I professionally convey that I have no idea what I am doing and should I tell my manager how I am feeling? I got this job a week ago.
Comment: "How do i professionally convey that I have no idea what I am doing?" Fascinating question.
Comment: One thing to keep in mind about the professional working world, is that it's not like the academic world where you have a professor who knows the answers and has set the questions accordingly. In the working world, the problems you're solving are _unsolved_ at least in the environment you're working in.
Comment: Another thing to keep in mind is that the person you're working with may not have a clue how to be a mentor. If you have clearly indicated your novice status and your mentor dives into impenetrable jargon and assumes knowledge of things you have no experience with, that is a sign that _you_ need to drive your own orientation and see this person as a resource rather than as an active mentor who guides you (at least initially). You'll have to stop the conversation and engage him in a dialog that gives you more context and definition. That's totally a normal thing these days.
Answer: You are an intern. You are supposed to know nothing or very little about what you are doing. So, don't be afraid to ask questions.
However, you don't want to say you don't understand anything at all. Instead, you want to ask meaningful questions.
Your job is to implement a series of tests for a vaguely described technical issue. The first thing to do is to understand that technical issue. You start it by asking what it is. You want to be able to describe it in your own words. If there is some documentation, read it. If no, ask for it. Or ask someone to explain it for you. That some one can be your mentor. If you don't have one, ask them to assign one for you, formally or informally.
After you can describe the technical issue, you should have some understanding about it. Then you start to think about how to test it. Again, ask meaningful questions after you seriously think about how to test it. You may come up with naive ideas, impractical methods. They are okay as long as you have given them serious thoughts. Talk to your colleagues or mentors to see if they are workable. Receive suggestions and instructions from them and then correct your ideas. Once you have some workable ideas, start to implement them.
By the time you finish the implementation of the test and actually test them, your internship is probably over and you'll bring valuable experience home with you. Enjoy this wonderful journey.
Answer: Probably this is your first internship. You should not worry about your situation as it happens to most of the people. So be cool and you should have more patience. Okay, let us think about how to approach your manager for this. Before going to your manager, it would be good to do some homework on the tasks that were assigned to you.

First, list down all the tasks that were assigned to you. Then the most important thing is you should understand the problems/tasks.
Do some homework before going to ask for help: go through the wiki/docs related to the above problems at the company's websites (if there are any). If you understand the problems clearly then it is almost you have solutions for the problems. Then start one problem at a time -- start thinking about solutions for the problem that you think easy (the problem that you understand better).

If you are still confused after going through the above two steps, then it is better to directly go to your manager and request him to explain the problems/tasks again. As far as I know, managers can understand this and they are very happy to help you to be successful in your internship.
Answer:
but I literally don't even know where to start

Then ask your mentor how to start.
You are not expected to understand everything at once, but you are expected to make progress. Therefore, learn things one by one, and let your mentor point out the things to need to learn about, along with suitable sources for that knowledge (books, people, ...).
If you have not been assigned a formal mentor, ask your manager about one, or (if the environment is informally structured) find one yourself.


How does the hypothalamus get the information out of the blood?

Question: The hypothalamus is a very important nervecentre which checks continuously how many hormones neurotransmittors and other molecules and information (like temperature) are there present, so it can keep a kind of balance in our body. But how does the hypothalamus do this? Does he has so much different receptors on his membrane for each type of molecule one or does it do that in a different way?
Answer: First of all, there is not such a thing as "the" hypothalamic membrane. The hypothalamus consists of multiple nuclei, and each nucleus contains numerous cells (neurons and glia cells).
The mechanisms by which the hypothalamus senses hormone concentrations in the peripheral blood are rather complex. In recent years, considerable research has been done to elucidate the central mechanisms underlying thyroid homeostasis [6], which involve the regulation of TRH release from the hypothalamic paraventricular nucleus [1, 2]. Therefore, my following explanations are focussed on the control of TRH secretion, but similar considerations apply to other hormonal systems [7-9].
First, hormones have to be conveyed by special transport proteins across the blood brain barrier (BBB). In case of thyroid hormones, this is accomplished by tanycytes in the circumventricular organs [3]. They control the transition of hormones from the blood to the cerebrospinal fluid (CSF), and partly directly to glia cells via the transport protein OATP1C1. In glia cells thyroxine (T4) is deiodinated to form the more active hormone triiodothyronine (T3). T3 is then transferred to neuronal target cells via the transporter MCT8 [4, 5], where it exerts its homeostatic effects by inhibiting TRH release. Hypothalamic TRH secreting cells have, however, multiple afferent signals. In addition to thyroid hormones they include clucocorticoids, leptin, alpha-MSH, norepinephrine, cocaine and amphetamine-related transcript (CART), endocannabinoids, agouti-related peptide, neuropeptide Y (NPY), GABA, galanin and probably multiple additional signalling substances. This enables the TRH neuron to act as an integrator of energy homeostasis [1, 2, 6].
Of course, the TRH-secreting cells in the respective hypothalamic nuclei have receptors for all afferent hormones and neurotransmitters. Some of them (e.g. for catecholamines) are located on the cell membrane, others (e.g. for thyroid hormones or steroids) in the nucleus.
As mentioned, similar considerations apply to other hormonal systems [7-9]. Recent research suggested e.g. the existence of a receptor-mediated transport system, which conveys insulin trough the blood-brain barrier [9].
1: Joseph-Bravo P. Hypophysiotropic thyrotropin-releasing hormone neurons as transducers of energy homeostasis. Endocrinology. 2004 Nov;145(11):4813-5. PMID: 15489313. http://www.ncbi.nlm.nih.gov/pubmed/15489313
2: Joseph-Bravo P, Jaimes-Hoy L, Charli JL. Regulation of TRH neurons and energy homeostasis-related signals under stress. J Endocrinol. 2015 Dec;227(3):X1. doi: 10.1530/JOE-14-0593e. PMID 26527565. http://www.ncbi.nlm.nih.gov/pubmed/26527565
3: Rodríguez EM, Blázquez JL, Pastor FE, Peláez B, Peña P, Peruzzo B, Amat P. Hypothalamic tanycytes: a key component of brain-endocrine interaction. Int Rev Cytol. 2005;247:89-164. Review. PMID 16344112.
https://www.ncbi.nlm.nih.gov/pubmed/16344112
4: Kersseboom S, Visser TJ. Tissue-specific effects of mutations in the thyroid hormone transporter MCT8. Arq Bras Endocrinol Metabol. 2011 Feb;55(1):1-5. PMID 21468514.
http://www.ncbi.nlm.nih.gov/pubmed/21468514
5: Bernal J, Guadaño-Ferraz A, Morte B. Thyroid hormone transporters—functions and clinical implications. Nat Rev Endocrinol. 2015 Jul;11(7):406-17. doi: 10.1038/nrendo.2015.66. Nat Rev Endocrinol. 2015 Sep;11(9):506. PMID 25942657.
http://www.ncbi.nlm.nih.gov/pubmed/25942657
6: Hoermann R, Midgley JE, Larisch R, Dietrich JW. Homeostatic Control of the Thyroid-Pituitary Axis: Perspectives for Diagnosis and Treatment. Front Endocrinol (Lausanne). 2015 Nov 20;6:177. doi: 10.3389/fendo.2015.00177.  PMID 26635726.
http://www.ncbi.nlm.nih.gov/pubmed/26635726
7: Thon M, Hosoi T, Ozawa K. Possible Integrative Actions of Leptin and Insulin Signaling in the Hypothalamus Targeting Energy Homeostasis. Front Endocrinol (Lausanne). 2016 Oct 20;7:138. PMID 27812350.
http://www.ncbi.nlm.nih.gov/pubmed/27812350
8: Herman JP, Tasker JG. Paraventricular Hypothalamic Mechanisms of Chronic Stress Adaptation. Front Endocrinol (Lausanne). 2016 Oct 31;7:137. PMID 27843437.
http://www.ncbi.nlm.nih.gov/pubmed/27843437
9: Blázquez E, Velázquez E, Hurtado-Carneiro V, Ruiz-Albusac JM. Insulin in the
brain: its pathophysiological implications for States related with central
insulin resistance, type 2 diabetes and Alzheimer's disease. Front Endocrinol
(Lausanne). 2014 Oct 9;5:161. doi: 10.3389/fendo.2014.00161. PMID
25346723,
http://www.ncbi.nlm.nih.gov/pubmed/25346723/


Moving out of state, and car is under parents' names

Question: So I'm currently living in New York, but will be relocating to Atlanta next month for a job. I will be taking the car my parents bought me; it is titled under their names, as is the insurance. What I would like to figure out is what I have to do to properly have the car in Atlanta and insured. Do I have to reinsure it in Atlanta under my name? Or can it still be insured under my parents' names?
Comment: How long will you be in Atlanta for the job? If it is only for a few months that is different than making a permanent move.
Comment: It will be for a minimum of a year.
Comment: How you handle the car registration and insurance will be critical to convincing NY state that you are now a resident of Georgia.
Answer: You will need to contact your insurance provider to let them know that you are moving and that they need to transfer your policy to Atlanta from New York. This could either mean a higher or lower premium since different drivers in different states pose different amounts of risk (as well as other factors). However, since the title is under your parents' name, that is another story. They may allow the current insurance policy to stay, or you will need to purchase a new one. You will need to contact your insurance provider for the specific details.
Comment: Alright then im going to get me parent to ask their agent. If i need to get new insurance under my name, would i have to transfer the title over to me name as well?


Enable USB Audio out on ASUS Slider SL101?

Question: I have an ASUS slider SL101, and I want to know how I can enable USB audio out. Running Android 4.0.3. I broke the headphone port, so I need an alternative. Solutions greatly appreciated.
Answer: Depending on your device (does it support USB OTG) and your Kernel (does it support USB audio) you could probably use any USB class compliant USB interface. You also need to use software that can "talk" to the USB audio device.
One that worked for me was the Shure X2u with one XLR input and a stereo output. I used it to record high quality audio; it also plays back all my music when plugged in. The device I'm using does not have a SIM card so I don't know if this also works for phone calls.
Look at this Android Enthusiasts post for more info.
EDIT: at the moment it's quite hard to find out if those things work on a specific device. Manufacturers don't include the necessary data in their specifications. If your kernel does not support USB audio you can try others but most kernel threads on xda developers don't give information on USB audio so trying yourself is the best option.
Comment: I don't think the question is looking for recommendations of USB audio hardware. Rather, he wants to know how to get it working in Android: the part you skip over with "depending on your device".


How to remove solder from via?

Question: I am trying to swap dead capacitors in my motherboard. Removing them was relatively easy, but I can not insert the new ones. The solder melted into the vias and the desoldering wire does not suck it out of the hole.
Is there any safe method to remove the blocking solder from the vias?
Comment: PC motherboards seem to use some really annoying solder (some hard RoHS stuff?) IIRC. It might help to add some more normal solder and melt them together. Then try the answers. Suction might work better than capillary and poking a hot component lead through might indeed be the easiest.
Answer: Have you tried a desoldering pump?
Comment: Also, I've often found solder gets inside the spring mechanism and this causes problems. You can disassemble them relatively easily and blow them out. I have to do this every few months; I do use my solder sucker a lot, though.
Comment: I'd recommend using it from the same side, and admittedly it's tricky, you have to practice at being quick enough. Also, you want to keep these beasties producing the maximum vacuum possible. Watch out for solder that freezes up in the tip, and if the spring/piston action seems slow, the tiniest (really, *tiny*) drop of WD40 can help speed that up.
Comment: Yes I tried, but I am not sure how to use it. Because if I try it on the same side, the solder cools down as I remove the solder pen and I have no time to suck up the solder. From the opposite side, it does not work also maybe because the hole is too small. Now i am trying to blow from the opposite side with a dust blower while heating the via.
Comment: @csdam: as JustJeff has said, it takes practice, or have someone else hold the soldering iron, that way you will be quicker.
Comment: I even added a drop of machine oil inside my pump near/on the joint(s) - it really increases the speed and the suction as it makes the pump more air-tight and reduces the friction at the same time. ** If you have a small wrench for your workbench, you can fix your board vertically, but the pump on one side, the soldering iron on the other and once the solder is hot, hit the pump button!
Comment: The pump tip should be heat resistant. Frequently, I have to put the soldering iron tip and the solder pump tip so close together that they touch. Sometimes, you can let the via soak in heat, which will give you a second to quickly swap the iron for the pump. It's very much a timing thing. Also, sometimes you need to add extra solder to give the pump more solder to "grab"
Comment: Tip: Try adding a short silicone tube around the pump's tip. It is highly heat resistant so you can "whack" it directly over the heated spot. The flexible end then seals the area and does suck air around. Sadly, some cheap pumps are an absolute junk. The kind pictured above is notorious.
Answer: Beyond what has already been answered, you can try to use wick solder remove.

There is a great article at wikipedia: http://en.wikipedia.org/wiki/Desoldering
And Youtube has many videos about: http://www.youtube.com/results?search_query=desoldering&aq=f
Comment: Don't forget - "wet" means "with solder" :-)
Comment: Another technique that has served me well is to first cut the solder braid/wick at a very acute angle. Then, poke it into the through hole/via, and apply both the soldering iron and a bit of solder. It sounds counter intuitive but it works well. You will need to repeat this several times to clear the holes, especially for capacitors (which are often connected to ground and power planes).
Comment: This is what I use.  You need to wet the wick first and drag it across the hole to get it wick up.
Answer: Sometimes you can just push the majority of the stuff out, by quickly pushing a couple inches of un-heated solid wire through the hole while the solder is melted. If you do it fast enough, you end up with the solder frozen on the wire sticking out the other side of the board, and you can break the solder off and then just pull the wire back through.
Another thing that sometimes works is to heat the via and then quickly tap the board against the edge of a bench, moving the board in a short swing in the direction of the via. The inertia of the molten solder will cause it to keep going forward (and probably onto the floor) when the rest of the board stops. And (obviously, I had thought) you don't want use this technique on any but the sturdiest of boards.
Like the blowing technique, the down-side of these is that they can produce tiny, loose bits of conductive material to watch out for, which can cause shorts if you don't get them all. Suction is really the way to go.
Comment: Suction *before* you remove the components is the way to go.
Comment: ah, should have added, don't go to hot for too long, or you can melt the trace off the board.
Comment: @reemrevnivek - well, yeah, if nothing else, because the extra mass of the component lead helps keep the solder molten longer, making it easier to get there in time with the suction tool. And besides, if the part you're de-soldering is destined for the trash can, you can really cook the joint and then even the body of the part itself will help keep things hot.
Comment: If you have a suction tip on your soldering station, you can put the lead inside the tip, and work around in little circles, reducing the area you have to suck air through and increasing the amount of solder which remains.  You can get the joint completely dry this way.
Comment: I really only mentioned these methods to round out the answers a bit. I've only personally used the knock technique a couple of times, and not at all since I bought one of those spring-loaded piston solder suckers, about 20 years ago. Please, don't go banging on any board you're not ready to throw away. Get a sucker!
Answer: Thanks for your tips. Here are my observations:

desoldering pump - After cleaning and oiling my pump I had still no luck with it. Maybe I have to practice more :)
desoldering braid - Adding some fresh solder before using this definitely improves the cleaning effect, but it leaves the solder inside the hole. I've tried three different types of solder wick without success.
tap-tap method - It seems usable for smaller boards but not for a computer motherboard so I have not tried it.
Pushing out - I had no thin solid wire here, so I added a little extra solder and heated the via while pushing in the new capacitor from the opposite side. Sometimes worked but this thing has two legs and I have only 1 soldering iron :)
Blowing out - I tried to blow with my mouth without any effect. Then I tried a dust blower, but I cannot aim it precisely into the hole.

Then I found something in my drawer:

It is a plastic bottle with metal needle head, 1 USD from DX. I inserted it to the hole from the opposite side then I heated the hole. After removing the soldering iron I quickly squeezed the bottle. It cleaned out the via! 8 of 10 times I was able to insert the new component to the hole without problem. For the remaining two holes I used a sewing needle to broaden the hole.
Still not the best method, but it worked for me better than any others mentioned here. However I am considering to buy a vacuum desoldering tool to save a whole day next time :)
Comment: Desoldering needles exist: you melt the solder, poke the needle in, let the solder solidify, and when you remove the needle, which the solder doesn't stick to, you have a hole. They are something like $4 delivered for a set of various sizes.
Answer: If you can justify it, look into a desoldering iron, such as the Pace SX-90. I've found them very useful because you don't have to remove your heat source to suck out solder, they're temperature-controlled, and they also can pull vacuum indefinitely. (They use a vacuum pump, instead of a spring piston.) Granted, the Pace iron requires a controller, but that controller can also control a temp-regulated iron as well.
Comment: Looks good, sadly it costs three times more than the whole computer I am trying to repair :)
Comment: I know what you mean. I've been looking on eBay for the past year or so putting together a Pace setup. So far I have one SX-90 iron and an older 2-channel controller. I'm waiting for one of these to show up at the right price. One other item you might try is a bulb arrangement that goes on an iron like a regular tip, except it has the thru-hole so you can do hot suction. Lots cheaper, but not as convenient as the too-expensive Pace.
Answer: Try melting the solder and blowing it out. You might find that desoldering braid works better if you add some more solder to the pad, first.
Answer: What soldering Iron are you using?
This sound suspiciously like the pad's your having a problem with are tied directly to the ground plane and your iron isn't transferring enough heat effectively.  Or more specifically the ground plane is sinking enough heat to not get the solder up to the proper temperature.
I use a metcal MX500 and when i have this issue stepping up to a larger tip usually transfers enough heat to solve the problem.  As a last step you can try a hotter tip, or if your using an adjustable iron, turn the heat up, just be careful not to go too high, if it gets too hot the pad will separate from the board.
Failing that, hold the board on edge, apply heat to the back side of the pad while pushing the cap in the top side, move the cap in as you move the iron out.  This usually works for me.
Answer: Here's a cheap and easy technique which works better than any other method I've tried. First, get a good quality turkey baster which can withstand high heat. Amazon sells silicone hear resistant ones for cheap under $5.00. Make sure you are using an iron capable of a wide heat range. Most simple plug in type irons just can't deliver enough heat.

Apply a blob of solder to both sides of the via. Add paste flux to both blobs, but wait until they are sufficiently cool. You don't want the flux to liquify and run off the hot blob.
Anchor the PCB vertically between vice jaws or two heavy objects. Using the iron at a high setting, heat one side until it melts and immediately place your turkey baster's tip over it and hold it there. Then immediately heat the other side of the with the iron.
As soon as both sides liquified suction in quicky squeeze the turkey baster's blub to blow out the solder.
Make sure you cleanup and solder droplets when you're done. You could use a vacuum action, but unless you form a really good seal around the via, it doesn't work very well.
Answer: I wanted to avoid spending a lot of money on special equipment, but already had a heat gun and this worked for me. My PCB had 10 holes filled with solder due to a mistake. I heated the area with the heat gun and tapped the pcb onto the table and all the solder came out. It made a mess of the table, so maybe put down some sacrificial surface first!

How to remove solder from via?


Fork done for? Has slight cut on the steerer that

Question: Got this cyclocross frame with a fork, didn't see the cut in the steerer tube until much later. Has a 1mm? deep cut on half of the steerer tube. Is this fork done for? Or am I just paranoid. Aluminum steerer, I think its from someone who tried cutting it but didn't go through fully. The cut isn't anywhere near the headset bearings but it is inside the headtube
Answer: Cause I would have called this a witness mark from rubbing on some kind of protrusion.  If it were a cut, it would be narrower and concentrated in one place.  Also notice the tiny swarf pushed out of the channel, cutting does not do that.  I think this fork was wearing on something, possibly while installed in another bike.
Is it safe to ride?  Hard to say - depends how much of the metal is left inside the steerer.
Repair take it somewhere that does aluminium welding and get their professional opinion on whether its weldable.  Welding aluminium requires much skill and an AC TIG welder, its not something you can do with cheap home welders.  Plus the weld may need to be turned down to get through the frame or lower bearings.  You could potentially drop a sleeve inside the fork's steerer, and then pin it in place, but that would be a complex repair.
There are many things on a bike where some minor damage can be okay, provided you can inspect it frequently and reevaluate if the conditions change.  Dented frame tubes for example.  In this case, the damage will be inside your head tube and impossible to inspect easily.
Risk is that steering will go mushy and then completely fail as the steerer tube suddenly shears/tears.  If you're riding at any speed, a fall is inevitable.  Your bars will likely stay on the bike, but the front wheel would be uncontrolled and will turn sideways immediately resulting in a front wheel washout or a complete OTB.  Either way, it would be sudden and injury-inducing.  At the wrong moment, could easily see a fatality resulting.
ANSWER The correct answer is to replace the fork, shop for a replacement fork as soon as possible.
If you (as a competent adult) choose to take the risk and ride this, then disassemble the headset every month or two and inspect and photograph.  After 6 months of no changes, you might lengthen the period of inspection to 3 monthly.
If the steering ever feels "weird" then stop immediately and stand in front with your wheel between your knees, and try to turn the bars while restraining front wheel.  They should not move separately at all - if they do you're walking home, and can think how close you came to a bad accident.
If you sell the bike, ethically you should show the buyer the problem, and this question.
Answer: I have the same on my own bike, it has likely been there a while though I have only just noticed it. I don't feel it is too unsafe to ride but that is my own assessment (I don't ride competitively or particularly fast.).
I realised after a little thought that the cause of the 'cut' was simply using an exposed length of chain, with a padlock,  as a bike lock for several years, keeping the chain wrapped around the frame at that spot when riding.  Steel chain links against aluminium is bound to wear.
Comment: Welcome to the site!  Good thinking - consider wrapping your chain in a tube of cloth or plastic for abrasion protection.   OP's question is specific to the steerer, which is the top of the fork and is inside the headtube of the frame so is impossible to see normally.  You should browse the [tour] and see how the site is organised.
Answer: That's a safety problem.
Traditionally steerer tubes were made from steel and were 1". However, to improve the safety and durability, the size of steel steerer tubes was increased to 1+1/8".
Today we quite unfortunately see steerer tubes being made from aluminum or carbon fiber. Aluminum has a fatigue problem (use it for over 100 000 km and it could fail), carbon fiber has a problem that if the bike is in a crash, the forces could be so high that they cause invisible damage to the carbon fiber parts, and the parts then could subsequently fail "just riding along" with no warning.
I would be very hesitant to use an aluminum steerer tube in a bike that's ridden a lot. Perhaps a bike that sees very little riding and has 1.5" diameter of the steerer at the lower end and a riding position that places little weight on the handlebars might be acceptable to have an aluminum steerer tube.
This cut acts as a stress riser, especially because it seems to have a sharp edge. Heavy use over long periods of time causes a crack to develop, and the crack propagates through the material. Maybe you could use it temporarily while waiting for a replacement to be shipped, but for permanent use it's not good unless you inspect it after every ride. That will require so much work (because it a built bike the cut is not exposed) that I don't think it makes sense.
Comment: The statement that the cut is a safety problem is 100% correct. The rest of the post is fear, uncertainty, and doubt, and this happens more often than not. Consider this: that gouge in the steerer is probably from internal abrasion. Perhaps the bike was assembled wrong or was badly designed. A steel steerer could also have been abraded in that way. Also consider: airplanes fly very fast and carry many people, and are practically essential in a way that recreational bicycles are not. And yet, they are made of aluminum and carbon. Should they be made of steel?
Comment: While pressurization may be the largest load for the fuselage, it isn't a factor for wings. Aluminum parts can readily be designed to survive 10 million cycles of fatigue loading or more.
Comment: I'd like to see a reference to back to the idea that 1 inch steel and 11/8 inch aluminum steerer tubes fail consistently
Comment: @Weiwen Ng To be fair, the inspection regime for airplanes is much, much, stricter than most bicycle owners perform.
Comment: When you design an aluminum aeroplane, you are not bound by compatibility requirements. When you design an aluminum fork, you are bound by the requirement to use a steerer tube diameter, 1+1/8", that was found by trial and error to be found optimal to steel, after finding that steel 1" steerer tubes are marginal.
Comment: Also, in aeroplanes, the biggest load occurs through pressurization. Thus aeroplane manufacturers tell exactly how many pressurizations (flights) the plane is capable of. Aluminum fork designers do not tell how many bumps the fork is capable of. Also there is no way of defining what a "bump" is (some bumps may be 100 times as bad as others for the fork life), and even if you could somehow standardize a "bump", it isn't realistic to require the cyclist to count bumps and memorize how many bumps the fork has encountered.


android send location details to servlet via gps

Question: i am newbie to Android..i have latitude and longitude details in my program..i want to send them to web server via gps..and those details should be saved in a database and retrieve them whenever i require..plz explain me how to do..and if possible give me some sample code...
Answer: You can't "send" something "via GPS". GPS is a "receive-only" thing.
http://en.wikipedia.org/wiki/Global_Positioning_System
If you like to send data to a web server, you can use the HTTP-protocol with Android, e.g. retrieve latitude and longitude (How to get Latitude and Longitude of the mobile device in android?) and then use HttpGet (or HttpPost):
http://developer.android.com/reference/org/apache/http/client/methods/HttpGet.html
Answer: Did you mean the mobile network or wireless instead of GPS ?
Anyway:
You from the sounds of it you need to get the GPS details into your program then pass them to your server. Have you designed your webserver yet or are you going to be submitting this to a site that already exists?
Comment: Want more help, leave a comment and I will get back to you.
Answer: You're really asking for a lot, but lets see if we can point you in the right directions.
Here is a great example of reading GPS data from an Android device:
LocationManager example
You must declare explicitly in Android that your app needs permission to access the Internet (and the GPS, for that matter).
Android Securty and Permissions
There are also some specific ways of life in Android development. The official developer's guide is a good place to start.
The Android Developer's Guide


SharePoint Online : Submit data to multiple lists using infopath

Question: I have a SharePoint Online List customized in Infopath. This list has Parent-Child relationship with other list. On form submit, I need to submit data to this list(parent) as well as Child list too. How can I achieve this?
Answer: I realize this is an old post, but hopefully this will help someone out. It can be done with OOTB functionality, using a SharePoint Designer workflow.
This is how I do it:
"main list" = The main data connection in the InfoPath form
"secondary list" = The other list you would like to submit to

Open SPD, and navigate to the main list
In the Workflow section, click "New"
Create your workflow
Add the Action: "Update item in this list"
Click "this list"
Select the secondary list you are submitting to, from the drop down
Click "Add..."
Select the field in the secondary list you need to submit to
Select the field in the main list whose value will be used to update the field you selected in step 6

Now you need to identify the specific item in the secondary list you want to update. In this example I am matching the ID in the secondary list, with the ID of the current item

In the "Field" drop down, select "ID"
In the "Value" drop down, select "Current item", then "ID"

I hope I explained steps 8 and 9 well enough. The fields to match are dependent on your specific needs. I chose "ID" because we can all relate to that.


Test significance of combined interaction coefficients

Question: Is there a way to test the significance of combined (interaction) coefficients in R?
I have a panel regression model of the following (simplified) form:

yi,t = b0 + b1xi,t + b2xi,t*phase_1t+ b3xi,t*phase_2t + li + kt + ei,t

where phase_1t and phase_2t are dummy variables equal to 1 in a non-overlapping subset of T.
Hence, b1 captures the effect of x in Phase 0, b1 + b2 the effect in Phase 1 and  b1 + b3 the effect in Phase 2.
The results are a weakly significant positive effect of b1 and a significant negative effect of b2. b3 is negative but insignificant. How can I know if the combined effect of b1 + b3 is significantly positive (or negative)? (i.e. does x have a significant positive/ negative effect in Phase 2?) I guess estimating the model without the b3 would be problematic, as b1 would then capture the effect of x in Phase 0 and Phase 2.
I currently estimate the model using the plm function with time (t) and country (i) fixed effects and interpret coefficients clustered at the country level.
Answer: I have solved the issue by just changing the coding of the dummy variables.
That is, I code a dummy phase_0 instead of phase_2. The baseline coefficient now captures the total effect of x in Phase 2. The same approach would work for Phase 1.


What are the challenges in building a supercritical CO2 gas turbine power plant for a Mars habitat of 6 astronauts?

Question: There is abundant $\require{mhchem}\ce{CO2}$ in martian atmosphere, so we could use that in a modified gas turbine. Can this, combined with PV cells (a hybrid power source), be an efficient energy source? It also turns out that supercritical $\ce{CO2}$ gas turbines are smaller than water steam turbines.
Comment: What would be heating the gas? It seems like that's a much more interesting problem than the medium you're using to transmit power.
Comment: oh sorry, I didn't think about it. how about the  sabatier reaction that makes rocket fuel for the Mars Ascent Vehicle be also used for heating the gas? please correct me if i am wrong, I maybe thinking about this in an inefficient way . check this link please : [link] (http://www.scientificamerican.com/article/turning-carbon-dioxide-back-into-fuel/)
Answer: Any type of steam cycle of a Stirling engine or a closed-cycle gas turbine would face significant heat exchange challenges on Mars, so what little you saved on size and mass in improved heat transport efficiency for using a higher heat capacity and expansion ratio working fluid (sCO2 thermal efficiency is close to 45%), would be lost to cooling due to operation in extremely tenuous atmosphere and requiring massive heat pipes and large radiators, also adding significant thermal lag to the steam cycle and thus decreasing its capacity and efficiency.
So short of building such regenerative power systems in situ, and for a small settlement of few people, it would be too heavy to transport to the surface of Mars and there's a large number of other regenerative power systems available and in development that are more mass efficient (from heat pipe nuclear reactors coupled with some energy storage to electrolysis of the atmosphere systems).
One other comment tho, that the heating part of such a system that you inquire about would be better off with solar concentrators than photovoltaics, since there's no energy conversion inefficiencies (tho there are still losses, of course).


How do I record a session?

Question: I want to do some audio recordings of sessions, both for my own purpose and to share.
What do I need?
How do I do it?
How do I make it listenable to others?
Comment: I'm voting to close this question as off-topic because this is mainly about audio technology, not rpgs.
Answer: A good omni-directional microphone is a good start, if you can't have a dedicated mic for each person. I've used a Snowball switched to its omnidirectional setting before, and it's good enough for documenting a session with good-enough sound quality that you can hear everything. (For the quality of a good postcast, a single mic won't cut it and you'll want dedicated mics, and might consider a seating arrangement that prioritises recording quality and sound separation. That's beyond my experience, but sounds like it's beyond what you need anyway.)
As for software, I've used Audacity to record and post-process play session audio, for personal documentation and sharing purposes. It's well-suited to the job as it gracefully handles the very large file sizes that you'll get when recording hours of audio. As an editor and post-processing tool it is also quite powerful, and it exports to various compressed formats for fize sizes that are more reasonable for sharing.
Answer: To record, one of the best tools I used is Audio Hijack Pro (costs money, but well spent), coupled with a good omnidirectional microphone I inherited from my past as a musician. Alternatively, you can use the same strategy with a (large) iPod touch or iPhone, which can record audio input.
For sharing I strongly suggest a different strategy. Keep notes (either from recorded audio or taken on the spot during the session) and create a private wiki somewhere to write the story down. It is faster to access, and easier to search a specific piece of information. I used this method with great success and people loved it.
In addition, if you are very lucky (like us) you can use a very unique method for keeping the events. We had a fantastic comic artist in the group.
This is my Cleric Elf while pregnant

This is the whole party

This is us, playing

Clearly, not an easy method, but it makes things so beautiful to recall.
Answer: You will need a conference microphone (omni-directional) and some way to connect it to your recorder (i.e. computer). Conference recordings will necessarily have some echo that will diminish quality; unless you want to pad your playing area, you can't avoid it.
Making it listenable to others will involve some post-production (filtering and especially cutting; I use Audacity) as well as some instruction to the players beforehand like "only one person talking at a time"; "no talking while eating"; "tell, don't point"; or similar things. All of these will make listening to it much more enjoyable for everyone (including your group!).
That said, I think that most actual play recordings have major problems with keeping it interesting to listen to for outsiders (besides the aforementioned stuff).
It can be beneficial to not include the entire recording but only segments of it and transition by a voice-over which you record during the editing process. This way, you leave out the boring, long-stretching parts and focus on what is important. You can mark important points for cutting in the recording by whistling or clapping your hand thrice, this will show up nicely in the editing software.
I think Story Shtick is a good example of a well-made recording.
Answer: Think about your goals and needs. If it is primarily a personal recording and tool, audio quality isn't important and you could record directly on a laptop or something (Audacity is great for Windows; if you have a Mac you are all set out of the box). If your goal is listenability, better quality cardioid or omnidirectional mics are a good investment. We recorded digitally to a low-end M-Audio recorder and the quality was always good.
If you want to share, consider why and edit appropriately and ruthlessly. Games take a long time, and much of that is not compelling audio. Editing can be very time consuming if you want it to sound crisp and professional.
Consider excerpts with commentary, for example. When I was podcasting, we omitted actual play entirely, focusing on the setup and then a debriefing about what went well, what went poorly, thoughts on the system, etc.
Answer: At the low end: a good quality omni mike in the center of the play area, and preferably a cloth on the table and additional felt in the die-rolling area to reduce dice noise.
At the higher end, good quality individual lavalier or headset mics, a small mixer, and a sound tech to run it, and a multi-track digital recording sound card... which said, you should be pushing $5,000 for the hardware alone... and accoustimass on the walls, silent chairs, no paper on the table.... and no dice, either.
In the midling range, a good multi-channel input sound card (last I looked, about $300 or so), and two or three good directional mics, each feeding a channel... if you have enough channels and drive space, one mic per player is ideal.
In any case, after recording, you need suitable editing gear, be it hardware or software based editing. And you need software for final output formats.
Answer: I had a quiet player who loved gaming but wasn't always the most dynamic character in the group. She did, however, enjoy taking notes (and thus being the one who spotted my lame puns and the subtle subplots and links to past events). I still have bloody great ring folders of all her note-taking that we dip into now and again for a nostalgic trip.
My point is that some of this 'side responsibility' is a great way to involve the milder, more refined players at your table. If someone tends to follow the loud guys and only get animated when specifically called to use their skills, ask them to help out by jotting down notes or even using the technological suggestions given above to record the session (letting them hit pause every time high dice rolling combat or a conversation about last night's Dr. Who is a godsend).
Comment: I'm confused about the line "(letting them hit pause every time high dice rolling combat or a conversation about last night's Dr. Who is a godsend)".

How do I record a session?


How does focal length change in an achromat with a change of refractive index?

Question: I understand that a doublet uses different refractive indices:
https://en.wikipedia.org/wiki/Doublet_(lens)
Does an increase in refractive index of either the crown or the flint decrease the focal length of the lens?
Answer: An increase in index of refraction would make a lens bend light more sharply. For the convex lens, it would bring light more sharply toward a focus, and thus decrease the focal length. The concave lens, diverts light away from a short focus toward a longer focus. A higher index of refraction would increase the focal length.
Comment: Thanks. Is there a specific formula I can refer to for adding extra glass to a plano convex lens? Thats actually what im confused about. How adding extra glass to the plano effects the plano's focal length. Or figuring out how to calculate the change in focal length when the second material's refractive index is changed
Comment: It ranges from simple formulae for approximate results to lens design software for complex systems. Start with this. http://hyperphysics.phy-astr.gsu.edu/hbase/geoopt/lenscon.html#c1
Answer: I think your question is too general to answer. The first thing: do you want to increase the refraction index by a certain amount for all wavelengths? If yes (which is impossible in reality.Changing the material, you modify its dispersion in a different way), then it depends on the lens parameters such as surface curvature and numerical aperture. Indeed, these parameters affect the angles between beams and surfaces (air-crown,crown-flint,flint-air).
Consider two opposite cases: blue and red laser beams, focusing by a good achromatic lens approximately in the same focusing point. When you change the refraction index of the material (e.g. crown), you need to do calculations according to the Snell's Law. It states that the multiplication of $n*sin(\theta)$ is conserved, where $\theta$ represents the angle between the beams (incident or refracted) and the mediums interface normal. Changing $n$ of the crown will change the refraction angles $\theta$ approximately in the same way for the red and blue beams, but only for small angles approximation. In this case, the beams bend stronger and the focal length decreases. However, for large angles, bending will occur in different ways for two beams which will lead to focusing of two wavelengths in different places. Practically, your lens is not achromatic anymore.
Comment: Im actually not sure. Is there a particular calculation/calculator I can refer to for a lens made of two different materials using snells law? I'm curious about changing the refractive index of the second section of the lens. I'd start with a convex lens with a certain focal length,  then add a glass blank with the same diameter to this convex lens


The Variational Method

Question: I'm reading about the variational method in Shankar's Principles of Quantum Mechanics, page 433. The author states that if we have the trial ket $$|\psi\rangle = |E_0\rangle + |\delta\psi\rangle$$ where $|E_0\rangle$ is the eigenket corresponding to the ground state energy and we decompose $|\delta\psi\rangle$ into parts parallel and perpendicular to $|E_0\rangle$ such that $$|\psi\rangle = |E_0\rangle + \alpha|E_0\rangle + |\delta\psi_{\perp}\rangle$$ then we obtain
$$\langle\psi|H|\psi\rangle = \frac{E_0|1+\alpha|^2 + \langle\delta\psi_{\perp}|H|\delta\psi_{\perp}\rangle}{|1+\alpha|^2 + \langle\delta\psi_{\perp}|\delta\psi_{\perp}\rangle}$$
$$\langle\psi|H|\psi\rangle = E_0 + O[(\delta\psi_{\perp})^2]$$
I don't know how the author arrives at the final line from the one above it. In particular, how do we know that $\langle\delta\psi_{\perp}|H|\delta\psi_{\perp}\rangle \sim O[(\delta\psi_{\perp})^2]$ ?
Answer: Let $\Bbb I$ denote the identity on the Hilbert space so$$\langle\psi|H|\psi\rangle-E_0=\frac{\langle\delta\psi_\perp|H-E_0\Bbb I|\delta\psi_\perp\rangle}{|1+\alpha|^2+\langle\delta\psi_\perp|\delta\psi_\perp\rangle}.$$The numerator (denominator) is $O\left((\delta\psi_\perp)^2\right)$ ($O(1)$). Your question is about the numerator's behaviour. This $O$ characterization is correct in the sense that, if we scale $\delta\psi_\perp$, we scale $\langle\delta_\perp|M|\delta_\perp\rangle$ the same way for all operators $M$ from the Hilbert space to itself, including $\Bbb I$.
Comment: Is this $O[(\delta\psi_{\perp})^2]$ characterisation due to the fact that we can write $\langle\delta\psi_{\perp}|M|\delta\psi_{\perp}\rangle = \int\delta\psi_{\perp}^*(x)M\delta\psi_{\perp}(x)dx$ ?
Comment: @Nitram RE your comment: this is just a definition that you have written!

The Variational Method


Turn on swap memory on Ubuntu

Question: For some reason on my Ubuntu 9.04 desktop, swap memory is turned off. How can I turn it back on?
Comment: How do you know that "swap memory is turned off"?
Comment: Did you installed with Ext4 as filesystem? I read it somewhere that with ext4 and enough ram it's not necessary to have a swap partition anymore. Can't find the link now though.
Comment: How would a file system be able to avoid swapping?
Comment: the filesystem used and the need of swap is hardly much related
Answer:
Check that you have a swap partition defined in /etc/fstab.

$ grep swap /etc/fstab
  UUID=14a0f7b9-dabb-4296-b0e7-013527a7d82d
  none swap sw 0 0

Check that it is being used by the system

$ swapon -s
  Filename              Type        Size    Used    Priority
  /dev/sda6                             partition   1004020 215532  -1

If it isn't, check that it is formatted as a swap partition.

$ sudo fdisk -l /dev/sda
  [..snipped..]
  /dev/sda5            3842        6595
  22121473+  83  Linux
  /dev/sda6        6596        6720     1004031   82
  Linux swap / Solaris

If it is a swap partition, ready it for use and turn it on. At this point, you might see any errors that prevented its use.

sudo mkswap /dev/sda6
  sudo swapon /dev/sda6

Check that the partition is now being used using the swapon -s command from #2.
Add an entry to /etc/fstab to have this swap partition loaded at bootup. You can replace the "UUID=xxx" part from above with "/dev/sda6" so the entry looks like this.

/dev/sda6       none    swap    sw      0       0

If you didn't define a swap partition earlier, then you'd have to create one, or point swap to a regular file (less efficient).
Answer: If you have a swap partition defined in /etc/fstab already then sudo swapon -a
If you don't have the swap partition listed in /etc/fstab then sudo swapon device
Answer: A really easy way to do it is with these scripts, or even easier still with:
sudo apt install swapspace -y

Which is a dynamic swapping daemon
Answer: Use Disks (gnome-disk-utility) application. Select the partition formatted as swap and push the ▶ button.

Turn on swap memory on Ubuntu


Transaction malleability

Question: I read about transaction malleability and have some questions regarding that, please help:
It states, for transaction malleability a person changes the signature such that the transaction remains valid, so my question is how can any person can see and alter the signature of the sender, although it is a PRIVATE key?
How will the receiver be able to alter the signature?
Comment: It is not like it can be changed arbitrarily, for example https://bitcoin.stackexchange.com/questions/83408/in-ecdsa-why-is-r-%E2%88%92s-mod-n-complementary-to-r-s
Answer: The signature isn't the private key of the sender, but it refers to a message or a transaction that has been signed with the private key of the sender.
And since the miners have to verify the signature of a transaction with the public key of the sender, the signatures have to be visible to everyone in the network.
How to actually alter these signatures without changing its validity is another topic, I think this article for Bitcoin explains it quite well: Transaction malleability for Bitcoin
Comment: As shown in the article above, when you have an ECDSA signature (r,s) you can modify it to (r, -s (mod N)), which is then still a valid signature of the same input.
(But if you then would hash the whole transaction, including the altered signature, it would result in a different tx hash, which could lead to several problems, that's why SegWit was invented for Bitcoin).
Comment: Well, a transaction that spends the output of that altered one, simply uses this modified tx-id, which causes no problems. Like I said, only buggy wallets or exchanges could have their problems. Like it was the case for Mt. Gox, allegedly.
Comment: Thanks for the reply, and how will the next person be able to alter the transaction? Although he does not know anything so how is that possible?
Comment: If transaction malleability is going to be done then it will affect another transaction because hash of the previous block would be changed causing problem for the current one, but the question is why is it causing a problem since someone tempered it when the transaction was unconfirmed then after tempering it got published at blockchain with altered data resulting in different hash so this is the hash(new one) which is on blockchain so the transaction should also take this hash resulting in no problem, so i don't know what is the issue?
Comment: I'm not that sure if I got you right, but after a transaction is included in a block, there is no way of changing its hash/tx-id afterward. And yes, as you said, it is actually not a big problem, only buggy wallets, which check for that specific tx-id, wouldn't display any status for that tx. Vitalik Buterin also answered this question on [reddit](https://www.reddit.com/r/ethereum/comments/3o9ru0/transaction_malleability_does_ethereum_have_this/cvvazon?utm_source=share&utm_medium=web2x).
Comment: I meant how transaction malleability is going to affect other transactions  as the next transaction will take the updated hash, so what is the problem?
Answer: From here

Transaction malleability is a Bitcoin attack that was seen due to a
bug in the Bitcoin implementation. Due to this bug, it became possible
for an adversary to change the transaction ID of a transaction before
it gets "confirmed", thus resulting in a scenario where it would
appear that a certain transaction has not been executed. This can
allow scenarios where double deposits or withdrawals can occur. In
other words, this bug allows the changing of the unique ID of a
Bitcoin transaction before it is confirmed. If the ID is changed
before confirmation without making the transaction invalid, it would
seem that the transaction did not occur at all, which can then give
the false impression that the transaction has not been executed, thus
allowing double-deposit or withdrawal attacks.

Imagine A sends money to B and B sends this unconfirmed funds to C.
 A => B => C

Meanwhile C ships its product to B. After receiving its product, B malleates A's payment. so transaction A to B will be confirmed with a different transaction id. As a result transaction B to C will be now invalid since it relies on id of transaction A to B that now no longer exists because it was altered. So C wont get paid but B would gets its product
You can more here
SegWit resolved this problem: you can read here

Transaction malleability


How Does Gibberish Differ between Languages?

Question: Gibberish spoken by English-speakers, despite being intended to sound unruly, clearly has rules. I'm not a linguist, and can't find a great deal of research into this, but here's a paper linking the "funniness" of a word to the extent that it stands out from normal English, which seems to conform with experience. Experience would also suggest that there are at least two forms of English gibberish, one that attempts to be as flamboyant as possible, such as in Dr Seuss, and another which attempts to mimic sillier-sounding, archaic parts of English, as in Jabberwocky. The former seems to use attention-grabbing techniques, especially prosody. Obviously, one would expect gibberish in other languages to stick to phonemes used in those languages, but I'm wondering about more profound differences. One would expect other forms of gibberish to perhaps mimic their actual corresponding languages, or to use different elements, less likely to appear in the corresponding language. For example, English gibberish uses repetition heavily, we already have the two examples of exact repetition alone, "Jubjub" and "Tumtum" in Jabberwocky. We essentially never repeat the same word in English. However, in other languages such as Indonesian, Malaysian and some Australian Aboriginal languages, repetition is part of standard grammar used for emphasis or to indicate plurals. One might thus expect gibberish corresponding to these languages to have less of an emphasis on repetition.
Comment: There are different kinds of gibberish, and it happens for different reasons. Most Australian languages have auxiliary languages with very strange-sounding words and phrases as important parts of their cultural equipment (like we have clothing, and wouldn't dream of giving it up). Your classification may be correct; I'd have to think about it -- and find many more instances of what you mean -- before I could discuss it, though. It's an interesting question, and leads to questions about what counts as "real" and what doesn't, always an interesting topic.
Answer: First you have to define what you mean by "Gibberish". In the modern era, there has been a huge expansion of varieties of gibberish in the form of con-langs such as Klingon, Na'vi or Dothraki. On the one hand, you might want to exclude "deliberately-constructed languages" from the scope of investigation, on the other hand that could define "gibberish" out of existence. It's also not obvious how you would treat language games (Pig Latin, Ob, Røverspråk – one of them, a transformation of English – is actually called "Gibberish"). Then finally, there is a common process of mock-language creation, whereby a person makes stuff up that they think sounds like a specific language (c.f. Mock Swedish spoken by "The Swedish Chef"; various mock languages in old b-grade movies where they didn't bother to get an actual speaker of Comanche).
In deciding what kinds of things you want to include in your study, you should start by filtering out the most-contrived language transformations, thus eliminating con-langs and also the careful creations of an author, such as Lewis Carroll, who put a lot of thought into Jabberwocky. The reason for eliminating the most-deliberate constructions is that you won't learn anything about the relationship between a particular natural language like English or Swahili and the rules of an intentionally-created code, you will learn about a particular author. (One can also independently study why an individually-created language has the properties that it has, by studying David Peterson or Marc Okrand).
Language games, which are conventionalized filters applied to natural languages, are very wide-spread and also well-studied to the point that we can say what are the rules of Jeringonza (actually a huge collection of similar dialects) or Pig Latin (again, much variation), since these games are largely replicable and well-known. This is the one context where I think one might reasonably try to discern a language-specific effect in the language games used by speakers of that language. I have (had) not heard of an inversion transformation similar to French verlan used in English, though there is this on "back slang". But such transpositions are common enough (and not a general feature of natural language) that any gaps in the English-speaking world are probably accidental.


What did Data throw in the fire?

Question: In "Qpid," Riker and the rest of the senior staff go in search of the captain and Vash, when they find that Picard's execution by beheading is imminent. Riker, noting the number of armed men surrounding them, tells Data that the team needs a diversion. Data then removes a component from the inside of his arm and tosses into a nearby fire, causing a large explosion. Is there any information anywhere what this component was? Obviously it was either unnecessary or replaceable, but I'm not sure if its function was ever stated.
Comment: You should try add a picture, try this site or taking a snapshot.   http://www.trekbbs.com/showthread.php?t=126629
Comment: Data upgrades himself regularly, so it's probably easy to replace...
Answer: The script shows that a line was cut from the finished episode (whether or not it was filmed) explaining that Data removed some "microfusion cells":

RIKER : Data, we need a diversion. Now.
Data opens his left arm, revealing the circuitry and blinking lights
  within. He pulls out three small components and fastens them together.
DATA (to Riker) : Please stand back, Commander. Microfusion cells can be
  somewhat dangerous under high temperatures...
Riker stands back. Data tosses the components into
      the Tinker's fire. The fire FLARES briefly, then there
      is a small explosion and a dramatic pyrotechnic
      discharge which startles the Executioner and the
      onlookers.

What did Data throw in the fire?


How to change the default Slave Select pin (Digital pin 10) on Arduino UNO R3 for SPI communication?

Question: Currently I am working on an Arduino based project. My project require interfacing 6 servo motors and an SD card module to my Arduino UNO.
The problem is that I need all the six PWM pins for six servos (Including pin 10) which happen to be the default Slave Select Pin for SPI communication. I don't want to use software based PWM on a digital pin. I could not find any resource on how to change the default SS pin to any other pin. Any help in this regard will be highly appreciated. Thanks!
Comment: Other than passing a different argument to `SD::begin()`?
Comment: Hmm, I though any GPIO pins could be used for slave selecting.
Comment: pin 10 is CS if Atmega 328 is a SPI slave. if Atmega is master pin 10 must be output otherwise the chip switches to slave. pwm is output
Answer: Just declare it and use it:
<code>byte ssPin = 7; // or any other pin, stay away from 0,1, leave those for Serial()
byte defaultSS = 10; // 53 on a 2560

pinMode (ssPin, OUTPUT);
digitalWrite (ssPIN, HIGH); // typical slave select OFF state
pinMode (defaultSS, OUTPUT);  // 10 MUST be an output for device to be SPI master (328P)
SPI.begin(); // default is 4 MHz speed, MSBFIRST
// takes care of SCK, MISO, MOSI, don't need define/declare those

digitalWrite (ssPin, LOW);
SPI.transfer (ledData, 0xAA); // example data going to a device
digitalWrite (ssPin,  HIGH);
</code>
Comment: " The problem is that I need all the six PWM pins for six servos" The Servo.h library can drive 12 Servos on an Uno, and on any pin,not just PWM pins. Check it out. Servos need a 1-2mS (1000 to 2000  uS) wide pulse occurring every 20mS (50 Hz), which is not really PWM. (1mS =  full turn one direction, 1.5mS = centered, 2mS =  full turn the other direction, give or take a few uS).  I bet that could be created using Blink without Delay technique even, 50 Hz is pretty slow.


Magento 1 Enterprise to Magento 2 Open Source Migration

Question: We are looking my migrate a site from Magento 1 Enterprise to Magento 2 Open Source. I am aware of how complicated a process this is and was just wondering if anyone knows of any tools to do this. Has anyone used Cart2Cart for this migration(if so how was their service?).
Answer: Do not use other service for Data Migration Process. Magento Provides Data Migration Tool in that you can migrate your Magento 1 store into Magento 2.
Read and understand how Data Migration Process will work.
https://devdocs.magento.com/guides/v2.4/migration/migration-tool.html
https://www.cloudways.com/blog/migrate-from-magento-1-to-magento-2/
You can Migrate your Magento 1 Enterprise store into Magento 2 Open Source Edition.


Angular momentum quantum mechanics operator

Question: In classical mechanics the angular momentum is given as $\bf L = r \times p$ and when going  to quantum mechanics you replace $\bf r$ and $\bf p$ by their respective quantum operators, namely $\bf \hat{r} = r$ and ${\bf \hat{p}} = -i \hbar \bf{\nabla}$, that is $${\bf \hat{L}}= -i \hbar {\bf r} \times \nabla.\tag{1}$$ Shouldn't one use a symmetrised form for $\bf\hat{L}$, i.e. $${ {\bf \hat{L}} = -i \hbar \frac{1}{2} (\ \bf r \times \nabla  - \nabla \times r )}?\tag{2}$$
Comment: It is exactly the same thing, thanks to the $\frac12$ factor of your definition.
Answer: No, because by definition of the vector product, it is antisymmetric and thus your definition of L would be 2 times the "normal" L. (check it by computing each component!)
L is defined by the correspondance principle (+ its commutation relations).
Comment: They've included a half in their post, and their operator is just the usual one. What they're probably worried about is that if they hadn't explicitly anti-symmetrised it it may not be Hermitian, but in fact the cross product only mixes components that commute so the naive approach is fine.
Comment: you're right, read too quickly, didn't see the half ^^. but it does stay the same anyway
Answer: To give an explicit answer with a calculation, consider the product: $$\vec{r}\times\nabla=\hat{i}(y\partial_z-z\partial_y)+\hat{j}(z\partial_x-x\partial_z)+\hat{k}(x\partial_y-y\partial_x)$$
Notice that since $[r_i,\partial_j]=0$ for $i\neq j$, you can rewrite this: $$\vec{r}\times\nabla=\hat{i}(\partial_zy-\partial_yz)+\hat{j}(\partial_xz-\partial_zx)+\hat{k}(\partial_yx-\partial_xy) = -\nabla\times\vec{r}$$
So that finally: $$-i\hbar\vec{r}\times\nabla = -i\hbar\frac{1}{2}(\vec{r}\times\nabla-\nabla\times\vec{r})$$
So the two operators are actually the same.
Answer: No, because when expanding $L_k$ you see that only components $X_k$ and $P_h$ with $h \neq k$ enter the formula, and they commute. So you can safely use the classical definition also in QM and the symmetrised formula would produce the same result.
Answer: The canonical commutation relations (CCR) are $$[X_i, P_j] = i\hbar \delta_{ij}$$ so for example $X$ commutes with $P_Y$ and $P_Z$.
When expanding the cross product, its components are $$ L_k = \epsilon_{ijk} X_i P_j$$ but notice the Levi-Civita symbol vanishes when two indices are equal. Hence you never have terms $X_i P_i$, so you are never actually multiplying observables that do not commute.
Hence no need to symmetrize.


What's better: to record or develop tests via CodedUI?

Question: I must create test automation framework for web application with CodedUI. MSDN advises to record all steps. But recording via CodedUI generates a lot of code and it is not very clear.
I think that it will be more useful to record only locators of elements on the page and then write code for interaction with these elements. Can somebody answer: which approach is better - record steps or implement тэм by myself?
Answer: In all the automated UI frameworks that I have worked with thus far (Winrunner, QTP and CUIT) I have found that record and playback is good for small, mostly throwaway type items.
If you want to build a large suite that is managable for you, try each of the approaches in a POC and see what works for for your project.
In my current case, I tried the record and playback with CUIT and the Object Map/code method. Then I found CUITe and the layout of that made a lot more sense to me based on what I had previously worked on, so I went with that.
That said, a lot people in my org still do record & play and/or use the UIMaps + hand coded UI tests.
Answer: i recommend you to develop your own test, and not to record.
for best practice you should record and then investigate the code for better understanding.
Answer: Working in generic way it's always better then working in un generic way. I recommend to you to develop the tests becouse you will learn better and you can find easly more bugs in your code then a generate code by CUIT. I also recommend to record just the main window of the application and to navigate inside the apllication by functions. when you reach to an object you can get and set a lot of properties then you just record him. for example: you can ask if the object exist before you start using him, somthing that you can't do when you record.


Alkali metal enolates

Question: Why do lithium enolates add to an electrophile in direct addition manner, while the sodium and potassium enolates tend to add in conjugated additions? The sodium and potassium enolates are well dissociated, making oxygen a hard base (which is why these enolates participate easily in O-acylations), but still, the alpha carbon atom is made softer, to react well in conjugated additions. This seems to me like a contradiction.
Answer: I'll assume we're talking about aldol reactions, ie. the electrophile is a aldehyde, or less commonly, a ketone. Being a more strongly coordinating cation, lithium can actually coordinate to both the enolate oxygen atom AND the electrophile oxygen. This serves to "pre-organise" both reactants for a direct addition via a six-membered, cyclic transition state. The favoured transition states are often chair-like. This is known as the Zimmerman-Traxler model.

The model explains diastereselectivity when that is possible, ie. E enolates give predominantly anti products, while Z enolates give mainly syn products.
Lithium also stabilises the initial aldolate product, by chelation via both oxygens.

The more highly dissociated Na and K cations presumably don't greatly facilitate reaction via a cyclic transition state, nor form a stable chelate of the product. The reaction is also more likely to be reversible, and the products of conjugate addition more stable.
Sent from my Samsung Note 8
Answer: Lithium has a very high affinity for oxygen (strong bonding interaction). For the larger (i.e. ion radius) more polarized alkali metals down the periodic table, most notably sodium and potassium, the bonding is more dissociated and hence the reaction of the enolate is more reversible. Usually the conjugated addition product is the thermodynamic product, while the aldol product is the kinetic product. More reversibility will increase reaction time and possibly yield. Therefore sodium and potassium bases are preferred over lithium bases when the conjugated product is needed.
The above was more or less paraphrased from Clayden et Al. Organic Chemistry textbook (p. 752, chapter 29).
Comment: Could it be also because oxygen coordinates better to lithium, so the carbonyl group of Michael acceptor will be close for direct addition?
Comment: I expanded the question a bit.
Comment: @Marko I understand what you are saying. Potassium and sodium will indeed harden the nucleophile and this effect is used sometimes, but reversibility is much more important here, since most direct addition product will be converted back as it is only the kinetic product.
Answer: Because the lithium enolates are more strong than sodium or potassium enolates. The lithium enolates addition is under kinetic control, instead the other addition is under thermodinamic control.

Alkali metal enolates


VNC over SSH tunnel between Ubuntu Desktops 12.04 ¿All three 22, 5900 and 6000 ports open?

Question: Ok, finally I got VNC over SSH tunnel working on LAN, but the objective is to use it on Internet, so I'm a little worried about the open ports the server has. Scanning the ports, I can see these ports open: 22, 5900 and 6000.
The steps I've given so far are these:

Installation of 'vnc4server' on server.
Edit /etc/init/vnc-server.conf so it looks like this:
<code># vnc-server.conf

start on runlevel [2345]
stop on runlevel [016]

post-start script
        su remote_user_name -c '/usr/bin/vnc4server :0 -geometry 1024x768'
end script

post-stop script
        su remote_user_name -c '/usr/bin/vnc4server -kill :0'
end script

#End of File
</code>
Set the VNC password by executing:
<code>$ su remote_user_name -c 'vnc4server :0 -geometry 1024x768'
</code>
Edit xstartup so it looks like this:
<code>#!/bin/sh

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
gnome-session --session=gnome-classic  &
</code>
Finally I restart the VNV server (start -vnc-server, stop -vnc-server).
On the client side, I'm using Remmina to make the connection, with this configuration on SSH tab:
<code>Enable SSH tunnel <- checked
Tunnel via loopback address <- unchecked

SSH port: 22 (I'ts my mind to change it, but later)
SSH Auth: Password (I know how to make it with Pub-key; I'll do it later)
</code>

Well... I want to have the server on a remote LAN, and I don't like having 5900 and 6000 ports open...
Should I? Is that the way it must be configured?
Answer: Ok, solved: Obviously 5900 and 6000 can't be accesible from any IP but localhost.
Perhaps it will help someone a bit confused as me, so I'll leave the post.


How do i reduce and split hvac duct from 8" round into two rooms

Question: Hi  i have small minisplit  with 350 cf/m i attached a plenum with 8 inch ridgit round duct attached to it  now i need to run it into a bulkhead  where one register goes into a small room aprox 12x12  and the second one into a master bedroom aprox  20x12 and i cant run one 8 inch and split at the end into each rooms divided by 1 wall because you would hear the noice through . what is the best way to duct? I had it 8 inch into 1 big room and 3 inch into small room  thru the ceiling before but it was too far from the window and i had bad heating
Comment: Get a two zone mini split and don't run ducts.  That's the whole point of them.
Answer: There are split systems and mini split systems these are different creatures.
A split system with an air handler/ plenum in your case is a small split.
A mini split has all the controls in the head unit and are not designed to be in a plenum.
If you have a small split you can divert some of the air flow to another zone but remember there also needs to be a way for the air to return to the handler or that room will pressurize and then have no real flow.
As for voices being to be heard at vents this flaw is in all central heating or air systems the type of ducting or baffles can reduce the sound transmission but this is an art all its own because baffles cause resistance. And without a diagram of the existing plenum it would be hard to guess at the best method.


Can I make my own commands?

Question: I was wondering whether I could make my own commands as in if I were to type in 'music' at the command line, my vlc should open up and start playing my playlist. The vlc thing is just an example but the question remains.
Can I make my own commands? If yes, how?
Comment: you can make scripts, if that is what you want?
Answer: Yes - create a file named music and put the following inside it:
#!/bin/bash
echo "Hello world"

Next, type chmod +x music - this makes the file executable. You can now type ./music to run this script.
It's a good idea to type echo $PATH and copy the script into one of those directories. I would suggest creating $HOME/bin and adding that to your PATH via ~/.bash_profile or ~/.profile. This can be done by adding (to one of those files): export PATH="$HOME/bin:$PATH". You will then need to run source .bash_profile (assuming you put that in that file) to reload it.
Another alternative would be to add the command you want to run as a bash alias. You can do this by adding the following to a file named .bash_aliases in your home directory:
alias music='vlc --some-option --foo'

Run source ~/.bash_aliases or logout and login and it should work :-)
Answer: The best way to do this is to modify (or create) a file called .bash_aliases in your home folder.
The Syntax is fairly simple:
alias install='sudo apt-get -y install'

With this command, if you type install in a terminal, it will instead be interpreted as
sudo apt-get -y install
However, these commands will not work anywhere outside of a terminal.
Answer: Any executable file in a directory in your path can be a "command".  It can be a script as suggested in other answers, but it could also be a compiled program in any supported language you know.
Aliases will also work, but are limited because they are "one-liners" so that doing anything intricate with them quickly generates code that is very difficult to read.  Also, since they execute in the same variable scope as the shell you type them into, they can easily have unintended side effects like leaving you in another directory or leaving variables defined that are only needed by the task the alias performs.  (Of course, sometimes you might want to use an alias precisely because it does have desirable side effects.)
If you put your new commands in a directory in your path, they can be found by the shell and executed.  The most common place to put them is in $HOME/bin.  If this directory exists, it will often be automatically added to your path.
Two things to keep in mind when setting this up are:
1) It's usually best to use unique names for your commands that do not match any that are already defined on your system.  There's a lot of debate on this, but the main point is that familiar commands should not have unexpected results if someone else is using your system and that getting used to a common command doing something special can get you in trouble when you work on another system where it isn't defined that way.
2) You can add $HOME/bin to the beginning or end of your path (or anywhere in between, but that's not usually done).
Adding it to the front of your path is the most convenient choice because your version of a command will always be the one that executes and it will be found faster.  It is also a security vulnerability because anyone who can get write permission to your $HOME/bin (a lot easier than getting root access) can replace common commands with potentially malicious code very easily.  Also, if you ever need to ask for help from someone who doesn't know your system, then they are likely to be tripped up by the special behavior of your custom commands unless you spend a lot of extra effort explaining everything on top of just asking your question.
Adding it to the end of your path statement is a little safer because any command with the same name as your command that's already in your path will be found first and run instead - and anything else that relies on that command working as expected will still work.
To avoid all of this (at the expense of a little extra typing), you can also put your command in a directory that's not in your path so it will almost never be run unintentionally because you'll have to type it's full path name to run it.
Like most things in Linux, there are many ways to create and use new commands and they each have their own advantages and limitations.

Can I make my own commands?


SSIS with variable excel connection manager

Question: I am trying to do automatic package execution with a WMI Event Watcher Task within SSIS. The functionality I want is automatic package execution when excel files are dropped into a certain folder. However, these excel files will be the connection managers for populating a database.
Currently SSIS will not allow me to do this because my excel connection manager does not have a path when I run the program, and only exists once the files are dropped in the folder.
Is there a way for variable excel connection managers or the value of the connection string to be a variable?
Also, how do I implement the usage of this variable in an expression?
Answer: You can use a variable for the connection string of you excel source:

Click on your Connection manager of your excel source
In properties window, add an expression(1) ConnectionString(2) and assign a variable(3)

There are alot of different things you can do with variables. They are used alot in combination with for each loop containers and file system tasks. Your normally do something like this

create a variable in variable window
Set a static value or one that gets changed during the package flow
Map the variable to an expression

There are alot howtos on the web, maybe have a look at this to get warm with it:
http://www.simple-talk.com/sql/ssis/working-with-variables-in-sql-server-integration-services/
http://www.rafael-salas.com/2007/03/ssis-file-system-task-move-and-rename.html
Comment: Could you elaborate on what is possible with expressions? You also might want to check out my next question.
Comment: What if I used ExcelFilePath instead of the connection string? What is the high level process? For example, I had to set my connection managers to a default file. Once the files are dropped into the folder, a script sets the values of my file path variables. My excel connection managers each have an expression that associates the ExcelFilePath with the respective variable. **How does the connection manager work with the ExcelFilePath**? It is currently not working correctly.
Comment: See this: http://bidn.com/blogs/kylewalker/ssis/997/setting-up-an-ssis-package-with-a-dymanic-excel-source You basically just do the same and add the script you told above to set the ExcelFilePath. This way you should be fine.
Answer: The fastest way i know to achieve this is by creating an excel connection manager and setting its connection string through a variable. In order to do so you will need to make the connector first by pointing it to an excel file. It doesn't matter which, since you will be dynamically setting the new file in runtime. Then, select your excel connection manager and check its properties. You have a ConnectionString property, which you can set through an expression.

However, you must make sure that your package will only use the Excel Connector after it has been filled with the correct connection string!
For further information on SSIS variables check this link: Variables in SSIS


Installing tiles in a basement kitchen on concrete floor, existing kitchen in place, how can I tile under the existing cabinets?

Question: I have a kitchen basement that is L shaped
On one side of the L I have a stove and a dishwasher so those are easy to move and tile under
On the other side there is a sink and counter two cabinet, some old laminate countertop
The cabinets are decent but old then they match the wall cabinets above the counter so no plans to change that for now (we do not use this kitchen)
The two bottom cabinets sit on a toe kick board
Not sure if I should tile around this kickboard or I should remove and reinstall the cabinets
The biggest issue is probably to adjust the plumbing for the sink)
Answer: Customarily, cabinets sit on the subfloor and the finished floor only goes up to/around them.  Appliances can be moved, so you move those and replace the flooring underneath, but I have never seen finish floor extend underneath cabinets.
If there is base trim around the cabinets, remove that and replace after the tile is laid.  If there isn't, you can either use a bead of caulk or add base trim after depending on how you want it to look.
Answer: Mainly with cabinets they are considered fix in place, so most flooring goes up to them.
Either remove the kick board and trim it to fit back in, or use moulding(base or quarter round) on the kick board to hide minor space between tile and kick board, if not perfect.
Comment: Though there are some situations where if it's an empty room to begin with, it makes sense to put all of the flooring down first, rather than having to do a lot of cuts and fittings around cabinets, islands, etc.
Answer: I am wanting to clarify a point untouched by these other answers. Yes, you can put your flooring around the cabinets rather than under them as long as you raise the cabinets by shimming them up with material the same height as your finish flooring. Otherwise there can be problems- especially with fitting dishwashers under the countertops.
So yes, you can floor around the cabinets and do as suggested in the other answers by either removing the toe-kick boards at the cabinet base or adding a small trim there (or a grout line) after your flooring install. Just first be sure and check that your DW will still fit in under the cabinets with the added thickness of your new flooring.
Comment: the dishwasher has some room between it and the countertop. The stove is installed with the adjustable legs fully retracted (screwed in) and right now it is a quarter of an inch below the counter level. cement + tile will add another half of an inch so it will end up 1/4" above the counter line :-(


How to use the phrase "尝一尝"?

Question: Recently I encountered the phrase "尝一尝" in a sentence. I need some advice on the way to use it and when to use it. And is 尝一尝 similar to 试一试?
Answer: 尝 basically means to taste something.

尝一尝 = to have a taste of something

Usually it is used quite literally, i.e.: to do with flavors and tastes of edibles.
Here is an example sentence from New Century E-C:

很多人出于习惯往食物里加盐, 都不先尝一尝。
  Many people add salt to their food out of habit, without even tasting it first.

You can find a bunch of examples from TV show subtitles here:

Yeah? Take a taste.
  尝一尝

you can taste it
  你可以尝一尝

etc.

试 on the other hand means try.

试一试 = to have a try at something

Here is an example sentence from New Century E-C:

这有点儿不靠谱, 但我想我会试一试。
  It's a bit far-fetched but I thought I would give it a shot.
Answer: 尝一尝 literally means 'take a taste'
user3306356 already stated the difference between '尝一尝'(take a taste) and  '试一试' (take a try) in his answer.
However '尝一尝/ 一尝'(taste once = have a taste )  can also be used metaphorically for "to experience once/ to have an experience of"
Example:
尝一尝铁窗生涯 = have a taste of prison life / have an experience of prison life
尝一尝清闲之乐 = have a taste of leisure life / have an experience of leisure life
When 尝一尝 is used metaphorically for "to have an experience of", it is more common to omit the first 尝 and use '一尝' instead
一尝铁窗生涯
一尝清闲之乐
Note:

'尝' (taste) itself is often used metaphorically for 'to experience'
Example: 尝尽人间辛酸 - 'taste the bitterness and sourness of life' = 'experience the heartache of life'
Answer: 1、to have a taste of something
for example
①这个沙拉我能 尝一尝 吗?
②我做了烤牛排,你们来 尝一尝 味道怎么样。
2、exceptional case
让他尝一尝我拳头的厉害   =  打他,教训他
Answer: At some time and some environment, 尝一尝 is similar to 试一试.
Generally, when you want someone to try the taste of some food or experience with taste. They are the same meaning.
But sometimes when you want to try a car. You cannot say taste the car.

How to use the phrase "尝一尝"?


If someone is using JNI then are they are true user of NDK (c++)?

Question: As someone involved in the hiring of engineers that must have experience using NDK (I work for Unity and support the VR/graphics groups), I see quite a few resumes of people who claim to be using NDK and c++ but at the same time reference the use of JNI.  I thought JNI basically made it possible to use NDK using java without using c++.  Any thoughts?  ( I know I am a recruiter but I am not using stack overflow to recruit, rather, better understand the very technologies I am working around every day.  I appreciate your help in advance )
Comment: If you're looking for a C++ developer, why would you even consider hiring Java developers? They aren't inferchangeable
Comment: If you're asking for details beyond the [Java JNI vs. Android NDK](https://stackoverflow.com/questions/36231614/java-jni-vs-android-ndk) post SO, please clarify. Might disagree with @Bálint - knowing JNI doesn't preclude experience with NDK. That being said, if NDK experience is 'must have' advertise accordingly. Some of job seekers fear aggressive keyword filters & tend toward over inclusion; then again, some get real loose with the truth in an attempt to get in the door. Hiring is difficult.
Comment: we arent considering hiring java developers. My questions wasnt if the two languages are interchangeable.  Pikalek- Hiring is difficult but you answered my question...much thanks :)
Comment: @AnimErin Glad it helped. I hadn't meant to answer per say in comments (which is less than good form), so I've provided a proper answer.
Answer: Hiring is difficult. I commend that you are taking the extra step to familiarize yourself with these sorts of software engineering details.
As you observed, the two languages aren't interchangeable. However, knowing JNI doesn't preclude experience with NDK, or vice-versa. In fact, it might be preferable to note applicants that are familiar with both. For instance, most high level language programmers don't strictly need knowledge of assembly level programming, but those who do may be more versatile. Having some awareness of what happens outside your required knowledge domain can give you insight toward performing better inside your knowledge domain.
Ultimately, if NDK experience is 'must have' requirement, advertise accordingly.  Some of job seekers fear aggressive keyword filters & tend toward over inclusion in an attempt to avoid being screened out. On the other hand, some applicants get real loose with the truth in an attempt to get in the door. Clearly signalling the job requirements (I.E. 'must have NDK experience') is probably the best way to avoid losing qualified candidates. After that, advertising time/space/$ permits, stating that 'JNI by itself is not sufficient' may help focus your candidate pool.
.


Can I substitute sambucca in my pie crust instead of vodka?

Question: I accidentally put sambucca in my pie crust instead of vodka. Will it ruin the taste of my pie crust
Comment: Welcome to SA!  I need to hear the story of how you accidentally substituted these.  Just for my own education.
Answer: It will add a taste of sambuca (as opposed to vodka's neutral flavour) and lots of sugar, which might affect the texture of the pastry a little. But if the dough came together and felt normal it should still bake decently. The vodka's role in the recipe is to reduce gluten formation, and the alcohol in the sambucca means it will still achieve that purpose.
Whether it will 'ruin' the taste depends on your preferences and what else you are putting in this pie.
Comment: @ReneeLennon It will be an apple pie with a crust that probably tastes somewhat of sambuca. I, and other users here, are not the ones eating it, so our opinions are not the relevant ones (and StackExchange doesn't take opinion-based questions anyway).
Comment: It's an apple pie. Will that be ok? Thank you for your answer.
Comment: @ReneeLennon If you found the answer helpful, you can upvote it using the upwards arrow to the left, and if you feel it answered your question you can mark the question as 'answered' using the checkmark (but normally it's good to wait a while before accepting an answer, to give other people time to write).


jenkins pipeline docker build on docker agent

Question: I've got a jenkins declarative pipeline build that runs gradle and uses a gradle plugin to create a docker image. I'm also using a dockerfile agent directive, so the entire thing runs inside a docker container. This was working great with jenkins itself installed in docker (I know, that's a lot of docker). I had jenkins installed in a docker container on docker for mac, with -v /var/run/docker.sock:/var/run/docker.sock (DooD) per https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/. With this setup, the pipeline docker agent ran fine, and the docker build command within the pipeline docker agent ran fine as well. I assumed jenkins also mounted the docker socket on its inner docker container.
Now I'm trying to run this on jenkins installed on an ec2 instance with docker installed properly. The jenkins user has the docker group as its primary group. The jenkins user is able to run "docker run hello-world" successfully. My pipeline build starts the docker agent container (based on the gradle image with various things added) but when gradle attempts to run the docker build command, I get the following:
<code>* What went wrong:
Execution failed for task ':docker'.
> Docker execution failed
  Command line [docker build -t config-server:latest /var/lib/****/workspace/nfig-server_feature_****-HRUNPR3ZFDVG23XNVY6SFE4P36MRY2PZAHVTIOZE2CO5EVMTGCGA/build/docker] returned:
  Cannot connect to the Docker daemon. Is the docker daemon running on this host?
</code>
Is it possible to build docker images inside a docker agent using declarative pipeline?
Answer: Yes, it is.
The problem is not with Jenkins' declarative pipeline, but how you're setting up and running things.
From the error above, looks like there's a missing permission which needs to be granted.
Maybe if you share what your configuration looks like and how your're running things, more people can help.


Can I run perl unit tests under ant jUnit task? How can I handle perl unit tests errors within ant build script?

Question: I'd like to deploy my set of perl scripts by ant.
I'm going to run perl test scripts in the ant build.xml and I want to handle perl errors.
That's why I wonder, how does  ant task work?
Does junit parse output of tests?
In this case I can transform TAP output within TAP::Formatter::JUnit CPAN module.
http://search.cpan.org/dist/TAP-Formatter-JUnit/lib/TAP/Formatter/JUnit.pm
Or, may be,  ant task handles some system messages.
In this case I will not be able to conjugate perl testing and junit handling.
To say simplier, how can I "implant" perl module installing procedure (I use Module::Build) into my Apache Ant build script to handle perl tests errors?
Answer: The testing step returns a non-zero exit code if it failed.


Ubuntu 19.04 + Gnome 3.32 = How to get dynamic transparency to dock and top bar back?

Question: Can somebody help with getting dynamic transparency to dock and top bar back please? I found some gnome extensions but only for top bar and I want it to work for both (dock and top bar). In Ubuntu 18.10 + Gnome 3.30 this already worked quite well. Why is this nice feature removed?
Answer: Edit 2019-05-17: as of Ubuntu 19.04, the Dynamic transparency feature of Dash To Dock does not seem to work. You can set a custum, fixed opacity only.
end edit
As the feature has been removed, you will need to adjust transparency separately for the dock and for the top bar, and play with the settings for each of the items to make them match
Dock
The easiest way is to install the Gnome Shell extension Dash to Dock. Ubuntu Dock is based on Dash to Dock and uses the same settings. However, Dash to Dockexposes plenty of configuration options that allow you, among others, to set dynamic transparency. You can easily install Dash to Dock with the terminal commandsudo apt install gnome-shell-extension-dashtodock`.
To enable the extension and access the configuration settings, make sure you have Gnome Tweaks (or just "Tweaks") installed. On the extensions tab of Tweak, you can enable or disable the installed extensions. Click on the cog next to an extension to customize.
In the Dash to Dock options, you will find the option to customize transparency (or opacity) on the "Appearance" tab. Next to "Custom opacity", you can turn on dynamic opacity.
Finally, make sure you disable either Dash to Dock or Ubuntu Dock. Otherwise, you will be running two docks.
Top bar
Because it is a feature removed from the stock Gnome Shell, one can bring the feature back in with a Gnome Extension. The fully updated Gnome Shell extension Dynamic Panel Transparency will fill your needs.
As the extension is not included in the default software source, you need to install it from the website. This is not possible in a default Ubuntu install. As I did not locate another Askubuntu post that may describe how to enable the installation of extensions from the Gnome extensions website, I mention it briefly here:

Install the host connector. You can do this easily in de terminal with the command sudo apt install chrome-gnome-shell
Install the gnome shell integration in your browser. The procedure depends on the browser you use.

Now, you should be able to install an extension merely by clicking the "On/Off" button on the extension's site.
Comment: Thank you for your answers, Dash to Dock and Dynamic Panel Transparency together are the best workaround for this feature (not perfect because Dash to Dock seems not supporting dynamic transparency in Gnome 3.32 - when I choose it allways switch back to fixed transparency itself while on The top bar dynamic transparency works just perfect). So finaly this two extensions give me best possible solution for now. Thank you.
Comment: Indeed, in 19.04 dynamic transparency of Dash To Dock does not appear to work as expected!
Answer: Dock transparency
This helped me:
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode 'FIXED'

This command will set transparency to 80% (change it as you need):
gsettings set org.gnome.shell.extensions.dash-to-dock background-opacity 0.2

To reset default settings:
gsettings reset org.gnome.shell.extensions.dash-to-dock background-opacity
gsettings reset org.gnome.shell.extensions.dash-to-dock background-opacity

Comment: Works great for me with Ubuntu 19.10
Answer: The ubuntu dock is a customised verion of the dash to dock extension. You can install it to tweak various things among which the dynamic transparency for the dock.
Comment: This is not making the top bar transparent? Because that is also what the user asks.
Comment: That is correct, but OP said that he already found an extension for the top bar so I thought it redundant to include the information again. If needed I'll expand the answer though.
Comment: Thank you for your answers, Dash to Dock extension is almost perfect but on Ubuntu 19.04 I cannot use Dynamic transparency because it always switch back to fixed itself. So I set transparency to nice compromis and now I can live with it.


OSS Chrome Extension - Should I check-in pem file?

Question: I am working on an open source Chrome extension. Should I check in the .pem file to the public repo?
Answer: If you are willing to post your app in the Google Chrome Extension Gallery you don't need a private key or to sign your extension. You just zip your extension folder and upload it there.
Otherwise, if you are planning to host (see external extensions for more details) or distribute it by sharing the packed extension you will need a private key (.pem). The main purpose is to legitimize the origin of the extension. If someone tries to install your application signed with other key it would not be recognized as yours.
In that case, I'd not recommend checking in the .pem file because if your account gets compromised, an attacker can upload or distribute a tampered version of your extension (maybe with malicious code). By doing that, you are not closing the source of your extension by any means. You are only ensuring that you are in complete control of what it gets published (and that your reputation as a publisher of extensions is left intact).
Answer: A possible problem occurs when you want to create an extension with a public API for other extensions to use. Since the Chrome's messaging API uses the id of the extension to route the message to the destination, and the id is based on the key of the extension, other people won't be able to create derivative extensions that are compatible.
I think Google's engineers simply didn't consider the possibility that people might want to write open source extensions. I have notified Google of the issue, but for the moment http://code.google.com/chrome/extensions/packaging.html doesn't seem to contain any extra guidance.