Where are my "exchange" reminders in mac OS?

Question: I created reminders and lists in exchange section. I remember making some changes in internet accounts in system preference the other day. My notes disappeared after that. Can I recover them?
Answer: When the account is removed on iOS or macOS - the data is not deleted and only the local cache of it goes away. This is true for any sort of exchange or iCloud or google data lives in the cloud. Thus, the best way to find missing items would be to open the web client and look at the data store directly.
Once you verify that the data exists in the cloud - go ahead and add back that account on your Mac and enable the data classes you want (tasks map to reminders).


What drives the multi-screen rating in AdSense scoreboard?

Question: On my AdSense scoreboard, I am getting a one star rating for my multi-screen. however, I am getting five stars for the other categories. My site is validated and compatible for all platforms. What drives the multi-screen rating?
Comment: I am not an expert on this, but for my site, I found that the issue is as a page is scaled, how does it perform in regard to readability? The primary metric I think Google looks at is how fonts scale in pixels. This is something I have to work on for myself, but there are CSS differences that need to be made for smaller screens. While I do not have an answer right now, I can tell you to check how your fonts scale and research how to make them scale properly for smaller screens. The answers are on the net and I think Google has some valuable words on this.
Answer: Your multi-screen rating is based on the number of pages that are optimized for multiple screen sizes. i.e. If a number of your pages are not optimized for mobile/tablet viewers, your performance rating will suffer as a result.
To increase this score:

Use a responsive layout. Pages that force the user to zoom in will negatively impact your score, simply because Google feels as though zooming has a negative impact on the user's experience. Also, make sure that you're using the viewport META tag correctly.
According to Google: The less scrolling, the better.
Make use of Adsense's new responsive ad units. If you're displaying regular Adsense units to mobile users, there's a good chance that the layout will be negatively affected. In some cases, horizontal ad units will widen the layout of your site, leading to horizontal scrolling (I've witnessed this on several "responsive" websites).

Something else that is worth taking into account:

Your score in the multi-screen category will measure what percentage
  of your pages are multi-screen optimized and compare this percentage
  to that of other AdSense publishers.

Source
Answer: The multiscreen score is driven by the visual performance of your pages with ads and how they are displayed to mobile and desktop users.
The multiscreen score factors all page-views across your account, but looking at a page-by-page analysis, you can improve your overall score.
The best tool for evaluating how to improve this is Google's own Page speed tool.
http://developers.google.com/speed/pagespeed/insights/
Check out the User Experience Tab under both desktop and mobile and get optimizing!
Cheers!
Answer:
as you can see my adsense are full score!
here's my  suggestion if you want to get full score!
you need to get score 92 above speed score! or in other words, you need to buy premium themes, but I think you'll need to optimize your themes, from java, css font and etc! if you can do by yourself then its good for you! there free tools everywehere, I am sure you can find it with G Help!
but, here the bad news! even if you already reach max adsense score, it doesnt mean, your income will change dramatically, unless you have ten or hundreds thousand visitor, not page view though! cause for some cases, you can get ten thousand page view with only thousand visitor i.e 1 visitor visit 10 pages!


Vox Populi not awarded

Question: I've casted 40 votes on last saturday, and I didn't receive Vox Populi.
How is this possible? I've received the warning I couldn't cast any vote for the next 10 hours that saturday.
Answer: Badges can take a while to award. The 10 hours wait lets you know when the daiy script will run and post a badge that gets checked but once a day.
Let us know if it's not happened in a dozen minutes after you can vote again.
Comment: I still don't have the badge
Answer: We cannot view your voting page to corroborate your voting numbers - Mods cannot easily see how many times you voted, and certainly not who you voted for.  Once it's more than a day old, the best we can do is see how times you have voted in the current week/month.
In this instance checking your profile page suggests you have made 27 votes this week, but it sounds as though your voting spree took place last week.  Your monthly figure of 127 votes suggests you have made enough votes to potentially receive the badge, but does not confirm that 40 of them were made on the same day.
If you can take a proper look at your own personal voting page at here and count that you definitely made 40 in 1 day, then we can perhaps look into it as a bug etc, but there's not a lot else we can do to explain why you have not received the badge although it is possible that a vote you cast was essentially "voided" if the post it was one was subsequently removed before the daily badge run completed.
Answer: I think some questions/answers I've down or upvoted have been removed. Because if I count the questions and answers right now, it's missing 4.
I think that's why I didn't get the badge.

Vox Populi not awarded


Why should users be allowed to edit cart items directly in the order review step?

Question: The task of going back a few steps in the checkout process to edit a section within the cart is observed to be a cumbersome process. What evidence exists around why allowing the user to edit their cart in one step - not going back to a previous screen - is the best user experience?
Comment: I'm voting to close this question because it's a product/plugin/gadget demand
Answer: If you search on tips and advance on Customer Conversion and Checkout Optimisation, you'll find that there is a lot of focus on creating a very simple and frictionless experience.
For example, look at the Conversation Rate Optimzation Checkout Experience suggested by Shopify:

The checkout experience is one the final steps of every customer's purchasing process, so it needs to be as frictionless and flawless as possible to avoid having frustrated customers abandon their carts at the last moment.

At this point in their journey, your customers display clear intent to make a purchase. You need to make that purchase happen quickly and conveniently without any stress or confusion.

Generally the rule of thumb would be to try and make the user experience as simple and easy as possible, so instead of asking why users should be allowed to do something that would be easier for them, you should ask why users shouldn't be allowed to edit cart items directly in the order review step.


FPGA Power measurement

Question: Are there any methods by which one could measure the current being drawn by an FPGA in real time i.e., when it is actually deployed in a working system? Where can I get some information about them?
Comment: The new FPGAs from Xilinx have an integrated ADC that can be used to check the power, but for that you need to have a resistor in series on all the power sources of the FPGA. IF you just want to get an estimate on how much your board is consuming, I would measure the current of the board before the FPGA is loaded (or when it is reset) and then load the FPGA with your code and measure the current of the hole board, the difference between the 2 is your FPGA power consumption.
Comment: Is this any different than measuring current in the general case?
Comment: I'm not aware of any FPGA specific ways, but would a generic way such as a current shunt / ADC to measure be on the cards? Maybe if you just want to measure a few prototype systems some sort of place to insert the shunt and a generic data acquisition system would be OK.
Comment: Where can I learn more about it?
Answer: The standard way to check power being drawn by a component on a PC board in a system is to open up the DC power paths to the FPGA and then insert a known resistance resistor in series between the FPGA and its power source. You then measure the voltage drop across this resistor through two wires that you connect on each side of the resistor and bring out of the system to a current meter. Two things to consider, the resistor value has to be really low in the less than 100 milliohm range so that the resulting voltage drop does not put the FPGA into an invalid operating scenario.  You also need to carefully consider the wattage rating of the resistor used so it does not burn or change values due to heating.
If you have access to advanced test equipment there are clamp on probes that can measure current in a conductor. If you have that then you can simply replace the series resistor as described above with a short loop of wire. Then clip on the probe. I've used probes that are able to measure DC as well as AC current.
Answer: See there are many possible ways of measuring power(current) used by FPGA. Taking the example of Altera's Cyclone and Arria series, comes with Early Power Estimator excel sheet to calculate the power that will be utilized by FPGA, when implementing a particular code. It asks you about the approximate number of LUT's and internal modules like (GXB Transceivers, DDR interface etc.) being used.
But to have the accurate amount of the power consumption even Altera recommends to first develop your code and run it using their Evaluation Board. Using the Altera Quartus II(power estimator built in) for Arria(an example) check the power being consumed. Generate the .csv file, import in the Early Power Estimator(EPE), to check which particular module is using exact amount of current. Using this recheck the toggle rates usually 12.5%(but can change), you will get to know about the exact amount of power being consumed by FPGA.
Answer: The easiest way is to make the power supply into the FPGA connect through a current sense chip.
Allegro has a number of nice, Hall effect based sensors that have very little power loss.
You can buy them pre-mounted to carrier boards from places like Pololu.com, or you can get the raw chips and design into your own PCB.
The ACS714 senses +/- 5A: http://www.robotshop.com/pololu-5a-acs715-current-sensor.html
The ACS715 senses +/- 30A: http://www.robotshop.com/pololu-30a-acs715-current-sensor.html
The output is analog, which means you can easily put it on the 'scope to see variations in draw.

FPGA Power measurement


Is there a name for a basketball screen on the baseline for a shooter running away from the basket?

Question: In basketball, if you have a screen angled towards the baseline, with the shooter using the screen running up from the baseline, you call that a "pindown". If you have a screen around the top of the key for a shooter running parallel to the baseline out to the slot, you call that a "flare screen". But is there a standard name for a screen on the baseline for a shooter running parallel to the baseline, away from the basket (often to take a baseline jumper)?
Answer: I believe you are referring to a Flex Screen here, which is when that baseline screen is set on the the baseline, usually the opposite side of the floor from the ball, and the recipient cuts along the baseline off the screen (see #10 on this article from BasketballForCoaches.com). You can also see some common names for many common screen tactics on that page.
Comment: Thanks, but it looks like that's a screen for a player cutting towards the basket. I meant for a player cutting away from the basket, often for a jump shot (I've edited to try to make that clearer). I was watching Bucks vs Pacers 2000 and both teams were running this play a fair bit, but you don't see it so much any more
Comment: Though according to the article you posted, maybe you'd call what I'm describing a flare screen, just on the baseline
Answer: In @jros's answer, they link an article from BasketballForCoaches.com where it defines a flare screen as

an off-ball screen that allows a player to cut away from the basketball to a spot somewhere around the perimeter

This fits the situation described, except on the baseline. So I think it would be reasonable to call this kind of screen a "baseline flare screen"


Detect duration of layer

Question: I want to get the time / duration of the layer, when I stretch or lengthen the layer to produce an effect, for example I want the opacity of a layer to go to 0% 5 frames before the end of the layer, and if I lengthen or I cut that layer that those 5 frames are the same at the end of the layer, regardless of the length of the layer
Answer: This YouTube tutorial explains how to do this:
After Effects Quick Tip - How to Add Auto Opacity To Layers and Footage

Add an expression to the layer's Opacity property by alt-clicking the stopwatch.
Paste this expression into the box:

fadeDuration = .5;
Math.min(linear(time,inPoint,inPoint + fadeDuration, 0, 100), linear(time,outPoint - fadeDuration,outPoint,100,0))

The layer will now fade in for half a second, and then fade out for half a second based on its in and out points.
If want to specify the length in frames instead of seconds, change the first line of the expression to be this:
fadeDuration = thisComp.frameDuration * 5;

Now the layer will fade in and fade out over a period of 5 frames.

Detect duration of layer


What is the largest aperture on a commercially available lens?

Question: Out of pure curiosity, what is the largest aperture, or lowest f-stop, a commercially available lens has.  I have seen the 50mm prime lens from canon with 1.2, but not lower than that.  What are the technical problems associated with the size, does it become exponentially more difficult?
Comment: The *answers* to the other one cover non-DSLR lenses too. (They tend towards "well, it's not for a DSLR, but there is this one...")
Comment: first, this is not a duplicate because it is asking about the difficulty, not specific to DSLR (for film as well), and even if it was a duplicate, the answer to the other question is different, as it says 1.0 or 1.2 while answers here say 0.7 and 0.95.  Maybe there should be a new system in which "duplicate" questions are instead marked, "Updated"
Comment: http://fstoppers.com/ultimate-lens-bokeh-from-the-canon-50mm-f1-0
Comment: earlier wasn't there a nikon lens that open at 0.98 on 24x36 roll reflex ? There is a Leica 50mm f/0.95 NoctiluxM  and a pretty unknow Nokton f/0.95 Voigtlander for 4/3 aps-c
Comment: http://kipon.com/en/articledetail.asp?id=60 this is only for APS-C (not full frame) sensors and I'm not sure if it's commercially available _yet_
Comment: I agree it's not really a duplicate - the other question is specifically about DSLRs, the fastest commercially available photographic lenses available right now are all for mirrorless cameras.
Answer: The SLR Magic Hyper Prime is lower than that at f/0.95, and Leica's Noctilux also offers f/0.95. And then there's the brand new IBELUX 40mm f/0.85.
And if rental counts, you can rent the Zeiss f/0.7 lens made for NASA and famously used by Stanley Kubrick - but only attached to a specific camera. That's often claimed to be the largest practically usable aperture ever made.

What are the technical problems associated with the size,

Basically, the larger the aperture is, the larger the angle of light rays on the outside of the lens has to change:

Look at the image and imagine that D increases while f stays the same - it should be clear that the light rays then need to "bend" more. And making optics that refract light rays at large angles without incurring all kinds of distiortions and aberrations is very hard. It requires exotic materials and more lens elements for correction, and of course all of them have to be large because, well, it's all about making that opening larger.

does it become exponentially more difficult?

I don't think the difficulty of lens design can be quantified in a way that would make the expression "exponential" meaningful, but yes, it gets a lot more difficult (which is probably what most people mean when they abuse the term).
Comment: "I don't think the difficulty of lens design can be quantified in a way that would make the expression 'exponential' meaningful": In terms of time and money, surely, as reflected in the price of the lens (even if that information about the design and manufacturing process itself is not necessarily available publicly)? And given that f/0.5 is supposedly a hard physical limit for glass, I think it would be fair to stipulate that the growth in difficulty is even worse than exponential in some respects, and more like hyperbolic.
Comment: Actually, some super-telephoto lenses have a larger aperture. A 50mm f/0.95 lens has an aperture of 53mm. A 600mm f/2.8 lens has an aperture of 214mm, about 4 times the diameter.


What genre is CHVRCHES?

Question: I can't tell if CHVRCHES is pop or electro. It seems like some songs would be for the radio, but some songs by them are more for dancing and I can't decide on what exact genre they are.
Comment: Not a duplicate, but relevant to what 'electro' means : http://musicfans.stackexchange.com/questions/479/where-did-synth-pop-and-electro-pop-come-from-and-what-its-difference
Comment: Your question also inspired http://musicfans.stackexchange.com/questions/2732/what-is-pop-music !
Answer: This answer to another question states - and I would agree - that it's possible for a song or band to be 'pop' and belong to another more specific genre at the same time. As to that more specific label, I don't think 'electro' is necessarily a good fit for Chvrches as it refers specifically to a style of electronic funk originating in the early 80's. (It's also used to describe acts who work in other styles, but not in a way that seems to have found broad agreement). 'Electronic', on the other hand, is a much more general term that would be appropriate.
Although it's another broad genre, synth-pop seems perfect for Chvrches if you need a single label.
Answer: Synth-pop // Indietronica // Indie-pop
It's indie for sure, mixed with electro synths influences.
Comment: Hi! Your answer is probably correct, but it has been marked as Low Quality by the system, due to it's lack of content. It would be nice to expand your answer with links of songs, sources...

What genre is CHVRCHES?


how to restrict users not to login to root by using sudo -i and sudo su - and other if exists

Question: I have tried to restrict user by editing sudoers file M ALL=!/bin/su. I am able to restrict sudo su - but not sudo -i.
Comment: A seasoned user will know how to get around those limitations easily. They are mere annoyances. I would refine better the security model defining wether certain users need or not to have root access.
Comment: A few problems with this approach are mentioned here: https://unix.stackexchange.com/questions/392483/how-to-restrict-some-commands-for-admin-in-linuxcentos
Comment: Trivial to get around `ALL=!/bin/su`. See: `sudo su ## Permission denied` but then `ln -s /bin/su /tmp/ouch; sudo /tmp/ouch ## Succeeds`
Comment: If you're trying to ensure a user can't get a root shell, you need to check that every command you allow users to run via `sudo` doesn't have a way to create a shell.  For example, most editors have a shell escape to allow a user to run a shell.  You also need to make sure any command you do allow users to run via `sudo` doesn't have any holes such as using environment variables controlled by the user.
Comment: I want to allow him in all other activities where as he has to run scripts but not to login as root.
Comment: Adding to @Andrew's comment, the limitations he mentions are why you should use `sudoedit` and the various environment-cleaning features of `sudo`.
Answer: For your original question, you will need to exclude /bin/bash (or whatever is defined as the user's shell in /etc/passwd), like so:
tomk ALL= ALL,!/bin/su,!/bin/bash

However(!!!), as stated already in the comments to your question, even though this will deny the user from running sudo -s or sudo -i, it will not really prevent him/her from getting an interactive shell as root.
From man sudoers:

Limitations of the '!' operator
It is generally not effective to "subtract" commands from ALL using the '!' operator.  A user can trivially circumvent this by copying the desired command to a different name and then executing that.
       For example:
bill    ALL = ALL, !SU, !SHELLS

Doesn't really prevent bill from running the commands listed in SU or SHELLS since he can simply copy those commands to a different name, or use a shell escape from an editor or other program.  There‐
       fore, these kind of restrictions should be considered advisory at best (and reinforced by policy).
In general, if a user has sudo ALL there is nothing to prevent them from creating their own program that gives them a root shell (or making their own copy of a shell) regardless of any '!' elements in
       the user specification.
Comment: this worked for me as well thanks @Tom Klino


What is a cantrip and what page are they on?

Question: I'm making a bard and it says I have 2 cantrips and 4 spells, and I just have no idea where they are and how to establish them at all.
Comment: Lastly (and in reverse order of importance), welcome to the site! When you get a chance go ahead and take the [tour]. I fear you may get some downvotes as other users think this is a question asking someone to read the book to you. I, generally, am sympathetic: D&D is a great game that somehow, through forty years, has never really found a way to explain itself to newcomers!
Comment: I'm assuming since you reference the "page" on which cantrips could be found, that you've got the Player's Handbook. If you're working from some other reference please indicate so, and I'll adjust pointers accordingly.
Answer: Cantrips are Zeroth-level spells
As such you can cast them as often as you'd like. ("Leveled" spells cost spell slots, which are a finite resource.) You can find more about the details of spell levels on pp.201-202, "Spellcasting."
A Bard gets cantrips...
from the "bard list" starting on p.207. The individual spells are then detailed in alphabetical order from pp.211-289.
Answer: If you look in the PhB in the spells chapter (ch 11) it will list all the spells (including cantrips) that your class can learn. Cantrips are just spells you can cast at will and not have to worry about spell slots


Good antonym for "pet peeve"

Question: I'm looking for a pithy and preferably alliterative antonym for "pet peeve". "Pet pleasure" has the benefit of both simplicity and parallelism to "pet peeve", but I'm concerned it may imply a sexual context. Suggestions?
Comment: There are several levels of which the opposite could be created from. Can you describe the meaning of the word you are looking for a bit more precise?
Comment: I think you are safe from 'that' kind of meaning which seems to have faded into oblivion with the print media's abandonment of its "Agony Aunts" in the 21st century. As a spotty adolescent, I used to read Marjorie Proops, the UK's best known 'auntie', for my theoretical introduction to the birds and the bees!
Comment: The amusing irony is that "pet peeve" itself is related to a word with a sexual meaning... pervert.  According to Etymonline, its origins, via "peevish", are uncertain but probably drawing from the same Latin root (perversus) as "pervert", which wasn't recorded as being used with a sexual meaning until 1897. (By referring to homosexuals as ones who had "forsaken a doctrine or system regarded as true".)
Answer: How about soft spot?
From Merriam-Webster:

soft spot: a
  strong liking for someone or something

Given that a pet peeve is something that annoys or bothers a person very much, i.e., is something one dislikes strongly, it would seem that soft spot is an appropriate antonym.
Comment: Merriam-Webster now defines it as "a sentimental weakness", which is what I learned from encountering it in day-to-day use. Not really appropriate if you want an antonym for "pet peeve"'s "strong dislike of" with a meaning more along the lines of "a strong attraction to or preference for". (ie. Sort of like the slang term "[fan wank](https://tvtropes.org/pmwiki/pmwiki.php/Main/Fanwank)", but without the masturbatory allusion and focused more on consuming what you like than creating things which express it.)
Answer: What about a penchant, or even, if you wanted to alliterate, pet or personal penchant?

(UK): /ˈpɑːnʃɑn/, [ˈpɑ̃ʃɑ̃]
  (US): /ˈpɛnt͡ʃənt/
a taste, liking, or inclination (for)
He has a penchant for fine wine.
Comment: Ooo -- "pet penchant" is nice and alliterative AND has that parallelism, too! Thanks!
Comment: As elegant as this is, I have to warn people that, in my social circle, only the "inclination for" meaning was learned by cultural osmosis and there's just too much risk that people will interpret it as "a knack/skill for" rather than "a taste/liking for".
Answer: Perhaps hobby-horse (or hobbyhorse), in the sense of a topic one likes to talk about constantly or keeps reverting to.  Google's definition #2 "a preoccupation; a favorite topic."
At http://www.dictionary.com/browse/hobbyhorse their first dictionary, definition #3 "a pet idea or project."
Comment: @billjamesdev, Pet Peeve is something you find to be a constant annoyance. In a way the two can be used in the same way. Pet peeve can be something that you complain about a lot, and so can hobbyhorse.  But unlike pet peeve, hobbyhorse can also be positive, something you're constantly proselytizing for or talking up.
Comment: How about incorporating your explanatory comment into the answer to make the answer itself stronger?
Comment: Is a pet peeve a topic?  I always thought of it more as an event or action (anecdote)?
Answer: Soft spot is good!  Here are a few more ideas:
Labor of love
True treasures
Delicious delicacies
Particular preferences
Preferred pleasures
best-liked bits
popular preferences
and the best for last:
sweet satisfactions

New:
favorite features
Comment: Nice! Those are really good, especially "sweet satisfactions".
Answer: It's not alliterative, but favorite thing.  Sound clip from the Sound of Music. (Click on My Favorite Things -- Julie Andrews -- You Tube, which appears below the picture. Do not click on the picture of Ms. Andrews.  That click gave me a car commercial.)
The song refers to favorite things (plural) and the OP asked for the antonym of pet peeve (singular), so that is a problem with this answer.
Lyrics of song:
*Raindrops on roses and whiskers on kittens
Bright copper kettles and warm woolen mittens
Brown paper packages tied up with string
These are a few of my favorite things
Cream colored ponies and crisp apple strudels
Doorbells and sleigh bells and schnitzel with noodles
Wild geese that fly with the moon on their wings
These are a few of my favorite things
Girls in white dresses with blue satin sashes
Snowflakes that stay on my nose and eyelashes
Silver white winters that melt into springs
These are a few of my favorite things
When the dog bites
When the bee stings
When I'm feeling sad
I simply remember my favorite things
And then I don't feel so bad
Raindrops on roses and whiskers on kittens
Bright copper kettles and warm woolen mittens
Brown paper…*
Comment: Something doesn't feel right. I think it's that "favourite" is a more exclusive word than "favoured"  and "thing" is too concrete. For example, in fiction, I enjoy stories that explore how gender and related concepts shape our society and sense of self, and one very effective way to do that is contemporary fantasy which uses a transformation thought impossible to shatter people's worldviews so the reader can see what falls out, but it doesn't feel quite right to call gender-bending one of my favourite things. Of all suggestions, "particular preference" is the best fit so far… but not ideal.

Good antonym for "pet peeve"


Linux SCTP Stack deployed with other non OS SCTP Stack on same machine

Question: I am using Linux SCTP Stack. Currently on the same Linux machine I need to deploy a process which uses non OS SCTP STACK. (i.e. it opens a RAW socket and then handles transport level message on its own).
When SCTP Init comes Linux gives the packet to both processes.
Can this be avoided?
I don't want Linux SCTP to handle message which are not used by it. (used by other Non OS SCTP Stack)
Is this possible?
Answer: More generally when faced with this kind of issue there are three options:
1) Stop the Linux SCTP module from being loaded at boot time (Note: it cant be unloaded at run time) and just use the non-OS implementation.
2) Some how preconfigure each SCTP implementation to know which associations it owns and to ignore messages for others.
3) Port the non-OS system to use the Linux implementation.
Any actively supported Linux system using SCTP is going to have issues if it does not offer the third option.
Note: If you are using the Dialogic Non-OS SCTP implementation on Linux then you can easily switch to using their OS wrapped version 'SCTPN'.
Regards
Answer: This may not be an option, but having the non-lksctp process use UDP tunnelling of SCTP works very well for us.  The (commercial) stack we use is configurable for SCTP over UDP, or SCTP over IP (with raw sockets, like you).


How to thin UV sensitive resin

Question: I have some older resin that got a bit thick. I was thinking I could use some paint thinner to thin it a bit and restore it. My thoughts are the paint thinner is made of terpene oils so should be compatible with the resin.
To test, I went ahead and mixed a half capful of paint thinner with about a cup of resin. I mixed it thoroughly and it seemed to mix well and restored proper viscosity. I then filtered it through a paper coffee filter twice. The results were very nice and smooth resin. I did a UV hardening test with a few drops on a strip and into the UV lamp. It still hardens.
Any thoughts, suggestions or OMGs! before I try this in my printer? It's a Pegasus Touch SLA.
Answer: You've covered a couple of concerns "outside the box," but the real tests will come when you pour some of the resin into the vat.
If you don't get a reaction with the release layer, score one for your side. The release layer is a silicone kind of compound, which typically is un-reactive to most substances, but that's not to say the thinner qualifies in that respect.
To be cautious, you could dab a bit on the corner of the vat, especially out of the usual scan area or off the build plate contact surface. If it sits without clouding the release layer, the next test would be a layer test.
You could even remove the build plate, pour the modified resin in the vat and run a model comprised of only one layer, perhaps two. You'd be able to carefully pull the cured resin off the release layer and make a preliminary determination.
If all is well by this point, it's time to create a model, yes?
I hope you'll report back on your results. My Pegasus is still in the box from Kickstarter days. I'm sure my resin is well beyond the "sell-by" date!
Comment: Very good point about the possible interaction with the release layer. I am using the "SuperVAT" (not actually super at all), so it doesnt have a release layer as such. I threw my regular vat out as the resin in there actually ate through it!
Comment: Back when I first got the Pegasus Touch, it had gone though a number of iterations of improvement, a firmware upgrade, some minor hardware and then the supervat. I figured I better jump on that, but it's still in the box. For your sake, I hope the chemical combination works out for you. It's a shame to toss out all that liquid gold.
Comment: I had the part get stuck on the supervat and pick it up and spill the goo all over the Pegasus innards. You can see videos on youtube of supervat doing this. Took 2 days to completely dissassemble the machine and clean everything down to the galvos. FYI I also discovered the control board heat sinks lying on the bottom (melted adhesive stickers) so something not right there but easy fix with proper adhesive.

How to thin UV sensitive resin


What to do with follow-ups to my comment to my own question?

Question: I had a longish follow-up (with Latex code) to a comment I had posted for my own question. It wouldn't fit in the space for a comment, and it seems you can't put Latex code in comments. It wasn't exactly an answer to my question, so I posted it as new "question." But it was closed for not being too vague and not a real question even though I stated it was a follow-up to my previous question, thus cutting off any possibility of a reply! What to do? Maybe you should expand the capabilities for the Comment box.
Comment: Also, you can put LaTeX code in comments - for example,
$$\int_{-\infty}^\infty e^{-x^2}=\sqrt{\pi}$$
Answer: If it's too long for a comment, either edit it into your question or take it to chat. The comment box is a necessary evil and expanding it would distract from the main purpose of the site (this is exactly why chat was created).


MonoDevelop ARMv6 on Raspberry Pi

Question: Will MonoDevelop compile to the ARMv6, mainly so I can get it running on my Raspberry Pi?

I've noted that Debian can run on the Raspberry Pi and Debian has a set of drivers for Mono.
So does this mean we'll be able to develop in Mono?
Comment: I'm hoping you aren't intending to actually run Monodevelop on it. Mono as a platform - of course, no problem, but you'll be hard pressed to fit an X11 environment + Monodevelop + any actual code compilation in 256MB of RAM. Target environment and development environment are two separate things.
Comment: @weston: ARM architecture version numbering is different from ARM core numbering.  ARM11 core uses ARM Architecture v6.
Comment: Please follow the Raspberry Pi proposal on Area51.  You could add your question as an example: http://area51.stackexchange.com/proposals/37041/raspberry-pi-hardware-and-software
Comment: The Original RaspberPi 1 is `ARMv6` architecture as well as the new piZero
Answer: The Mono project supports ARM, so one should be able to build and use MonoDevelop on the Raspberry Pi. At least that's what I'm hoping!

2012-05-16
I got my Raspberry Pi yesterday (yay!) and can confirm that it is possible to compile and run .NET code (I tested with C#) using Mono and its MCS compiler module. This was all done via the shell and not a GUI. It would be great to get the MonoDevelop IDE running if at all possible though.
For those interested, you can install Mono by typing:
sudo apt-get install mono-complete

This also includes the MCS compiler module, so you can simply compile a .cs file thus:
mcs program.cs

and run it like so:
mono program.exe

Answer: Just a note to add to the other answers, it works fine on the Debian install but does not yet work on the Raspbian install because of missing compiler support. More information can be found here:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=11634&start=25
Quoted from what appears to be the most informed answer:

As I understand it, Raspbian uses a different "calling convention", so
  floating point numbers are "transferred" on the CPU in a different
  way. All compilers must create machine code that uses the Raspbian
  calling convention. It's no problem for software compiled with GCC, as
  it is configured to use that calling convention by default.
However, when using less common compilers (like the mono CLI ->
  machine code just-in-time compiler), things are not quite working yet.
  The mono JIT compiler apparently uses the old calling convention for
  everything it compiles, because no one has implemented the new calling
  convention in mono yet. That's fine as long as the mono code doesn't
  call into some non-mono code, but breaks as soon as you use a native
  library.
The details in this are probably wrong, but maybe it describes the
  problem in general.
Edit: And just to make this clear, the "Raspbian calling convention"
  is nothing specially created for raspbian. It's the same as in debian
  armhf and (I think) any other linux that uses armhf.
Comment: Do you know if that's something that will "just get fixed" or will someone need to get on it?
Comment: For the time being at least, it looks like mono no longer has support for Raspbian (ARM hard float). http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=686123
Comment: @Scott Unfortunately I'm not sure, I'm not sure what the development story is like on Mono these days.
Answer: Mono on the Raspberry Pi is possible and reasonably easy to set up. The following assumes you're on Debian. Create your application in MonoDevelop (or Visual Studio with the Mono libraries) and then send it over to the Raspberry Pi. Once on the Raspberry Pi it will run as standard. Because of the nature of C#, .NET and JIT, you don't have to "compile" as such, just have the runtimes available to interpret the code produced by MonoDevelop. I would try not to develop on the Raspberry Pi itself with MonoDevelop as it is fairly heavy for the device.
This is taken from my blog that offers a number of Raspberry Pi tutorials.
Note: the standard Mono runtime currently available only supports up to .NET 3.5 unless you compile from source yourself.

So you want to start developing some applications for your Raspberry Pi but your knowledge of programming is limited to the modern .NET languages such as VB.NET and C#. Not a problem!! Welcome to the world of Mono, an open source cross-platform and compatible version of the .NET framework. By using a development IDE, such as Visual studio or even better MonoDevelop, you can produce EXE files that will run on your Raspberry Pi. All you need to do is to install the Mono run times on the Raspberry Pi. To do that we enter the following lines.

sudo apt-get update

sudo apt-get install mono-runtime

As mentioned in other tutorials the first line is used to update the APT-GET package manager to ensure it is using the latest sources for downloading your packages. The second line installs and prepares the runtimes for use. That's it. Now to run a Mono developed EXE file, just simply prefix the command with the word "mono" as shown below.

mono myprogram.exe

Answer: 2013 notes ---
F# meets the Raspberry Pi
Trying to get F# working on the Raspberry Pi
Comment: Answers should include more than just references to links. Please include a summary of what the link states - in case the referenced site goes down and no click-through is required.

MonoDevelop ARMv6 on Raspberry Pi


Android app which forwards all incoming SMSes to my email address

Question: I am looking for an app that can take all SMS messages received by my phone and forward them to my email address. I need it for Android 4.0+.
Comment: Why do you need this?  Why not just read your SMSes on your phone?  :)
Comment: @unforgettableid: Could be for traceability, or for reading SMS from a phone which is not physically accessible (maybe at work? haha)
Comment: @unforgettableid The reason is because my bank in India sends me a secure password every time I do a transaction and If I do not have my mobile (if I am abroad) it is a pain to do such transactions- I have to call home every time to get it. I requested the bank to send me an email instead of an SMS but they cant.
Answer: SMS gateway does what you need and more.
It is essentially a gateway between SMS and other forms of electronic communication.
What you are trying to do can be done using the forward to smtp option. You would have to configure it with gmail or some other smtp server in the smtp settings of the app.
Answer: My list of SMS Forwarder apps tells me SMS Forwarder should be a good candidate:

Supports Android 4.0+: Yes, 2.3 and up.
Forwards incoming SMS to e-mail: Yes, e-mail and other phonme numbers are supported
Forwards all incoming SMS: Your choice. It even allows to forward messages from selected senders.

Screenshots (source: Google Play; click images for larger variants)
I'm not using this app myself (I rarely deal with SMS), but it has a pretty good rating at Google Play (4.2 stars at over 2,500 votes), so I feel confident this is a good recommendation. And other than SMS Gateway (which was recommended in this answer and had its last update in 6/2012), SMS Forwarder seems to be still maintained actively (last update 5/2015, as of this writing). For alternatives, just follow the first link to my list :)
Answer:
Post My SMS - SMS to Email
SMS Auto Reply and Forward

These use your Google account instead of requiring account details (smtp/email/password).


Help me figure out the profile likehihood given this covariance function

Question: I'm taking a spatial stats class, and I'm on the road so I can't ask the prof for help.  Would appreciate help understanding what is going on here.
The problem is set up with $Y = X_s'\beta + e$ (with $s$ indexing coordinates).  $e$ is assumed to be second-order stationary, with the variogram
$$
\gamma(h) = \left\{\begin{array}{l r}
0 & h=0\\
\tau^2 + \sigma^2\left(\frac{3h}{2\rho}-\frac{h^3}{2\rho^3}\right) & 0 < h \leq \rho\\
\tau^2 + \sigma^2 & h > \rho\\
\end{array}\right.
$$
where $h$ is distance between two points.  For second-order stationary processes, apparently it is true that $C(h) = lim_{h' \rightarrow \infty} \gamma(h') - \gamma(h)$, where $C(h)$ is a covariance function, which is only a function of distance, because the processes is second-order stationary.  This means that the covariance function is
$$
C(h) = \left\{\begin{array}{l r}
\tau^2 + \sigma^2 & h=0\\
\sigma^2\left(1-\left(\frac{3h}{2\rho}-\frac{h^3}{2\rho^3}\right)\right) & 0 < h \leq \rho\\
0 & h > \rho\\
\end{array}\right.
$$
which makes intuitive sense.
Now for the trickier part (for me anyway): we are told to assume that $e$ is a gaussian process.  We are asked if we might calculate a profile likelihood as a function only of $\rho$.
The likelihood function is that of a standard multivariate normal.
My question:  how do I go about the algebra to (either) find a profile likelihood that is only a function of $\rho$, or perhaps a function of $\rho$ and $\tau$?  If the latter, how do I deal with the fact that the parameter $\tau$ will show up on the diagonals of the covariance matrix, but not on the off diagonals?  It seems like it makes the algebra intractable.
Hints appreciated.
Answer: So, the answer to my own question occurred to me after sleeping on it, as it often does.  The covariance function up there in the question is equivalent to
$$C(h) = \tau^2I + \sigma^2\left(1-\left(\frac{3h}{2\rho}-\frac{h^3}{2\rho^3}\right)\right)$$
which can be tractably profiled into a bivariate likelihood function.
For posterity.


Coconut Shrimp-fry ahead for dinner party?

Question: I see a few opinions on my question, from a few years ago. Just wondering if anyone has an updated idea. I want to serve fresh and crunchy coconut shrimp as part of a dinner party for 12 people. I would prefer to not have the smell and time of frying, as my guests are in attendance. Can I fry two hours prior to dinner and have them sit at room temp....with a very quick flash-heat in the oven? If so, how long and at what temp (450 or so)? Wracking my brain to try and come up with the best viable option. Thanks so much!!
Answer: You will never achieve the same texture and doneness after two hours that you will when your shrimp come out of the fryer...unless, of course, you have access to a CVap oven.  The CVap was invented (I believe by Col. Saunders for Kentucky Fried Chicken) to solve the problem you identify.  Shrimp cook very quickly, but without access to a commercial deep-fryer (which I assume), cooking for 12 on your stove will be slow.  Personally, I would save something like this for a small gathering and choose a dish that I could pull off well for a larger group.


Is moving average(sliding window) a smoothing technique or forecasting technique?

Question: The rolling average method is mostly used to produce a smoothed series by removing noise. For ex- 3 window moving average, in general practice, the output for the fourth period is the 3 window moving average of first 3 periods. So in this process we forecast one step ahead by taking average of 3 points.
But in moving average, ma function in R basically produces a smoothed series of the original series. So if if have data points from Jan to Dec 2019, then my moving average series has data points from Feb 2019 to Nov 2019.
So In this case, how do I forecast for Dec 2019.
By using forecast function, it produces ets model, which I don't want.
Answer: A weighted average is what an ARIMA model is Seeking certain type of ARIMA explanation . It is the answer to ...the double question ...1) how many values should I include AND 2) how do I weight/leverage them in order to get a "representative value".
Thus it is BOTH a smoother and a forecaster ..
When you specify a 3 period equally-weighted average for either smoothing or forecasting ...you are specifying an arima model  (3,0,0)(0,0,0) with coefficients = 1/3 , 1/3 and 1/3 WITHOUT a constant. Obviously one might specify a 3 period weighted aveage where the weights are optimized ... as is often the case.
What you may be looking for is a way for your software to determine both "how many" and "how important" the previous values are and not just assume some form of a model like ets.
Also see Identifying Early Indicators Time Series Analysis for an example of a 3 period autoregressive ( really 3 period moving average in common parlance ) in practice.
One final distinction is that smoothing "centers" the result by using the value 1  period before , the current value and the value 1 period in the future period after the current period  whereas forecasting uses the value 3 periods before , 2 periods before and 1 period before to predict the next value.
Comment: so below is my data:                                                                                Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018              59  65  70  83  62  98  63  95  57
2019  57  69  75  80  67  85  79  82 110                                                                               considering 3-period moving average for period Apr, May, Jun 2018 the average is 64.66, I want this average to be the forecast value of July 2018. Please let me know if we have an inbuilt function in R to do so. Thanks
Comment: Your data suggests that you only have 9 months of data for 2018 ....59 65 70 83 62 98 63 95 57   ... is that correct ? if not fill in the last 3 months of 2018 .


Convert a string to an associative array

Question: How would you convert a string like that to an associative array in PHP?
key1="value" key2="2nd value" key3="3rd value"

Answer: You could use a regular expression to get the key/value pairs:
preg_match_all('/(\w+)="([^"]*)"/', $str, $matches);

But this would just get the complete key/value pairs. Invalid input like key=value" would not get recognized. A parser would do better.
Answer: EDIT: Gumbo's answer is a better solution to this.
This any good to you?
Assume your string is in a variable like this:
$string = 'key1="value" key2="2nd value" key3="3rd value"';

First:
$array = explode('" ', $string);

you now have
array(0 => 'key1="value', 1=>'key2="2nd value', 2=>'key3="3rd value');

Then:
$result = array();
foreach ($array as $chunk) {
  $chunk = explode('="', $chunk);
  $result[$chunk[0]] = $chunk[1];
}

Comment: having written this, I prefer gumbo's answer!
Comment: What about `key=" value"` or `key="="`?
Comment: totally - as I said, prefer yours!
Answer: Using the regular expression suggested by Gumbo I came up with the following for converting the given string to an associative array:
$s = 'key1="value" key2="2nd value" key3="3rd value"';
$n = preg_match_all('/(\w+)="([^"]*)"/', $s, $matches);

for($i=0; $i<$n; $i++)
{
    $params[$matches[1][$i]] = $matches[2][$i];
}

I was wondering if you had any comments.


$\frac{1}{\sqrt{2}}$ (|Independent particle Model⟩+ |Strong Interaction Model⟩)?

Question: What is an adequate way to understand this simultaneously. One has the underlying assumption that matter is saturated and has the merit of being able to come up with an accurate formula for the Binding Energy (the SEMF/Bethe-Weizsäcker formula) and the other can explain the magic numbers by building up energy levels in a shell structure similar to atomic orbitals. However, the underlying assumptions appear to be completely contradictory. I am looking for a better perspective on how to understand these two simultaneously.
Comment: Although I have nothing against cheesy titles, this one winds up not being formatted all that well... not that you need to change it or anything, I'm just commenting ;-)
Comment: @David if you have ideas feel free to edit ;)
Comment: The right framework is called Quantum Chromodynamics, QCD. You describe a nucleus with $A$ nucleons as a bound state of $3A$ valence quarks (plus infinitely many other quarks and gluons) interacting via the strong force and creating an environment that is similar to a liquid, you take a supercomputer, and get results that may be accurate but in principle don't teach you much about the nuclei beyond the two phenomenological models.
Comment: @Luboš Motl That clears it a lot. Thanks, as always.
Answer: Here comes an experimentalist point of view.These models are approximations of the real theoretical description of matter in aggregate,which at the moment is not a simple one.
To truly describe nuclear forces in the language of QCD , our current knowledge of the theory of strong interactions, is a formidable many body task.
In the calculational methods that exist now you would need thousands of Feynman diagrams calculated for each specific question. The models, fitted to real data, allow one to describe the behavior of nuclei and have some predictive power  over it.
Qualitatively one can think of the drop model as an approximation to the continuity of force interchanges with gluon exchanges between the quarks of the nuclei within the nuclear bag. At high energies one talks of quark-gluon plasma. This is the liquid phase analogy.
The shell model works as a total approximation to a potential well, similar to the way the Bohr model worked for describing the atom. There is a collective potential well there, created by all the gluon exchanges, and it is  approximated in this simplified form using data to be able to predict further data. It works.


What changed on my question by meta

Question: Active page shows my question as edited, but I could not find what actually the Bot changed. How I could know, I was the author of the question.
Answer: The answers to your question have not been voted on. As such the system doesn't know whether they are any good or not.
The Community Bot bumped your question in order to encourage people to vote on the answers. You can see that if you check the post's timeline
Comment: FWIW, When you have a higher participation score, one of the things you eventually gain is the ability to see what was changed by an edit.

What changed on my question by meta


Prevent users from changing the desktop background on Ubuntu 18.04

Question: How can I prevent users from changing the desktop wallpaper on Ubuntu 18.04?
Comment: Give them a separate login ID from yours.  Just about anything else would involve crippling the system.  It would help if we understood the wallpaper problem... or why it's a problem.  As long as they are using your account, they will have all the same access and control that you have.  The question might best be asked, how to stop you from being able to change your desktop background.
Comment: @L.D.James That's not a comment!  That's an answer!  Enter it and ping me and I'll come back to upvote...   **:-)**
Answer: You can't prevent users from changing your desktop background without preventing your own account from making a change.  If they are using your account, they have the same access that you have.
Solution 1:
Give them their own separate login ID.  This way your environment will never be affected their settings.
Solution 2:
Activate a script that will check for a change and periodically change it back to your preferred background.
You can find an example of such a script in this answer:
How can I get one wallpaper for each day of the week?
Instead of having the script change daily, just have it periodically set the background to your choice.
Comment: There is a new answer posted 2 hours after yours you might be interested in reading.
Comment: @WinEunuuchs2Unix Yes, I read it.  I'll look forward to a comment from the OP.  I didn't get the impressing that he was trying to also lock himself from being able to make changes.  That's why I gave him an alternate solution whereas he could retain his favorite background.  If I'm wrong, I guess he has his reasons.  He might not realize the burden he places on the users who see colors and shades differently than him.
Answer: Yes you can. You need to enforce dconf read-only lock on the background property. I assume you use gnome shell or any destop than use dconf.
So create a file /etc/dconf/profile/user with the content
user-db:user
system-db:local

This defines a user dconf db -which is always defined anyway, but also define a system db that we will use to lock the key we want.
Now create the directory /etc/dconf/db/local.d. This is where reside the keyfile you want to set.
But to lock key, you need to create also /etc/dconf/db/local.d/locks directory. now in that directory any file with a key will be locked.
So create /etc/dconf/db/local.d/locks/00_wallpaper with the content:
# prevent changes to the wallpaper
/org/gnome/desktop/background/picture-uri

Now run sudo dconf update
Then users can't change the wallpaper anymore !

dconf admin guide
incomplete answer
Comment: `systemd-db` is a typo, should be `system-db`.
Comment: not working for me on 18.04 ... is `user-db:user` supposed to be `user-db:` ?


how to combine two reports using salesforce report api

Question: How can we create a single report of two unrelated objects using report api?
Answer: Salesforce doesn't allow to combine two unrelated objects either from UI or through API for reporting purpose.
Even if in Joined report works on the relations.

A joined report can contain data from multiple standard or custom report types. You can add report types to a joined report if they have relationships with the same object or objects. For example, if you have a joined report that contains the Opportunities report type, you can add the Cases report type as well because both have a relationship with the Accounts object

You can create a single report freshly and try to implement those logic (filter or field display or grouping) into new report.


Is it safe to allow domain.com/username?

Question: Are there any security risks if we create pathauto roule so that the user account pages are at domain.com/username
Comment: I usually try my best not to expose user names on a Drupal site since that is typically half of a login for a default install of Drupal. Then its just a guessing game for passwords. Example, user/1 gets aliased and now the world knows your super user username. Some may think thats okay, some may not. I don't.
Comment: Please don't add things like _please don't downvote_ to posts - members of the community are trusted to use their votes as they see fit (within normal bounds of course), and the question itself isn't a place for commentary on the question. Many thanks!
Comment: To add to that, one thing you can add is Rabbit Hole so you can set per user if their profile page is accessible or not to the public. But I still would not expose usernames.
Answer: On a site that is not using a mechanism like the one implemented from the Two-factor Authentication (TFA) module, letting visitors know usernames of existing accounts is giving out half of the credentials. It doesn't mean it is easier to log in on somebody else's account, though.
Somebody who got my password for a site could probably try to use the same password for another site's account where I am using the same username. If I were using the same credentials for more sites, that could work, but somebody could argue it is my fault for using the same credentials on different sites.
On my experience on Drupal.org, the bigger issue was not the username being publicly available, but third-party software used on the server, which caused  unauthorized access to account information to emails, usernames, and hashed passwords.
That said, Drupal 8 core code is being changed to use the output of User::getDisplayName() every time links to user accounts are given in a page. User::getAccountName() should be used when displaying the name to administrator users, the user who owns the account, or for the username in the login context.
Using domain.com/username for the user account pages is going on the opposite direction. I would rather use the output of User::getDisplayName() to build the path alias of user accounts pages.
As you are asking for a Pathauto pattern, this would mean using the [user:display-name] token when creating the pattern on admin/config/search/path/patterns.

Instead of domain.com/username, I would rather use domain.com/users/username or domain.com/u/username to avoid conflict with existing routes, or other path aliases.
To make an example of what could happen, I created a test site on simplytest.me where the user #1 is set with admin as username. I installed the Pathauto module and its dependencies, and I created a pattern for user entities using [user:display-name]. The result is that the URL for the user #1 became (after I bulk-updated the path aliases) https://dqth.ply.st/admin-0. (See the -0 part added not to create conflicts between the registered route and the path alias).
This is happens when the route is already defined when the path alias is created. I cannot predict what would happen when a module using a route with a path that already exists as path alias is installed.
Also, if you look at the code of User::getDisplayName(), you will notice that by default it returns the username (the output of User::getAccountName()). It will return something different only if there is a module that implements hook_user_format_name_alter() and that module does alter the value of the $name parameter it gets.
$name = $this
  ->getAccountName() ?: \Drupal::config('user.settings')
  ->get('anonymous');
\Drupal::moduleHandler()
  ->alter('user_format_name', $name, $this);
return $name;

This means that you need to use the [user:display-name] token in the Pathauto pattern, but also install a module that implements hook_user_format_name_alter(). For example, you could use the Real Name module which adds a Real name field to user entities, containing the value Drupal 8 will use as display name. You can also implement a custom module for that.
Comment: +1 on using the display name (which would be the display-name token when using pathauto IIRC), but note that by default, the value from those two methods is the same, *unless* a module actually implements hook_user_format_name_alter() and e.g. uses the first + lastname field to make up the actual username. Additionally, pathauto should also make sure to never allow overridding a system path, e.g. with a display name of "admin" or "frontpage". So if you're ok with the whatever information you are using to build that path exposed, then you should be OK.
Comment: @Berdir Yes, I should expand my answer to make clearer those points, and also that using domain.com/username instead of (for example) domain.com/u/username could be cause of conflict with existing routes.


Is there a file size limitation with Powershell Compress-Archive Zip using Windows Server 2016?

Question: I read a bunch of websites (included stack overflow posts and Microsoft website) about the file size limitation of 2GB
Microsoft Docs: Compress-Archive

"The Compress-Archive cmdlet uses the Microsoft .NET API
  System.IO.Compression.ZipArchive to compress files. The maximum file
  size is 2 GB because there's a limitation of the underlying API."

I have a PowerShell script to backup my Azure DevOPS projects using the Azure DevOPS RestAPI 5.0.
I download all my projects directly in zip format with the RestAPI then i use Compress-Archive to consolidate all the zipped projects into 1 "big" zip file
My total zipped projects files all together is equal to 5.19GB
After compressing to 1 big zip file with Compress-Archive, i got a zip file size of 5.14GB
I don't have any issue to uncompress it and I don't get any error although the 2GB limitation on the documentation.
I wonder if it's because i'm using Windows Server 2016 (so 64bits) so I don't have the 2GB file size limitation?
Anyone can confirm that? As the Microsoft documentation doesn't specify anything about it.
Indeed, they stipulate that the issue is due to the API limitation of System.IO.Compression
Microsoft Docs: system.io.compression.ziparchive
As my zip will continue to grow, i would like to be sure that the zip won't be corrupted due to a file size limitation.
I can indeed use a 3rd-party library like Zip64, 7Zip, ... but i would like to only use the built-in compress method from PS/.Net
Comment: I found a vaguely answer here. But How do you know the limitation of each .Net Framework. I would like to know if it's related to the OS or the Framework or both?

https://stackoverflow.com/questions/1153126/how-to-create-a-zip-archive-with-powershell?rq=1#comment70240809_29284372
Answer: The 2GB limitation is for single Files inside the zip.
For example, if you try to Expand a .zip with an 2.1GB file inside it, it will trow an error.


Understanding ratio variable meaning

Question: I have a ratio variable - women's income : men's income, women in the numerator and men in the denominator. This variable is intended to measure income disparity between women and men. In a logistic regression model - a one unit increase in women's income relative to men's means that income disparity is decreasing rather than increasing, correct?
Comment: Suppose the ratio starts at 1:1 and then increases to 2:1.  Wouldn't that be an *increase* in disparity?  The difficulty here is that the ratio does not measure disparity: disparity is a *deviation* between the ratio and the ideal value of 1:1.  It sounds like you may need to reconsider how you define and quantify disparity in your model before you go any further.
Answer: The struggle to interpret ratios evidences their many problems when applied in regression analysis. It is worth repeating, verbatim, the abstract from Kronmal's 1993 paper "Spurious Correlation and the Fallacy of the Ratio Standard Revisited ".
In it he says:

Spurious correlation refers to the correlation between indices that
  have a common component. A 'per ratio' standard is based on a
  biological measurement adjusted for some physical measurement by
  division. Renowned statisticians and biologists (Pearson, Neyman and
  Tanner) have warned about the problems in interpretation that ratios
  cause. This warning has been largely ignored. The consequences of
  using a single ratio as either the dependent or one of the independent
  variables in a multiple-regression analysis are described. It is shown
  that the use of ratios in regression analyses can lead to incorrect or
  misleading inferences. A recommendation is made that the use of ratios
  in regression analyses be avoided.

"Disparity" is a declaration of injustice. A (non-1) ratio is not a disparity per se. Suppose for instance all men worked 50% FTE and all women worked 100% FTE yet the ratio is 0.5. Is that a disparity?
And what is the basis of men's income being the denominator? Women's income is as much a variable as men's income, and yet men's income is being treated as a standardization factor without any account of variability (measurement error). As the paper shows, even adjusting for matching factors does not resolve the issue. The proposed approaches are in increasing order of complexity.

Adjust for men's and women's income (presuming some appropriately paired type of design was even available in the first place), and their interaction. Consider a log transform of the outcome. Observe the direction and trend in the interaction parameter
Fit a fully stratified model with flexible adjustment (splines, polynomial, or other) adjustment for male/female income, possible confounders (education, age, tenure) and observe/comment on trends.
Fit a structural model including possible mediators like number of children, marital status, education, etc. and show post-estimates of predicted outcomes for male and female outcomes.

Understanding ratio variable meaning


nouveau failed to create 0x00 ... after install gtx 1080

Question: I have a system with 4 gtx 1080 cards, (with no integrated graphic chip)
I tried to install ubuntu 14.04 LTS server on my system, but after installation, booting got stuck at "nouveau failed to create 0x00 ..., -22"
Is it a problem with nouveau that it cannot recognize such a newly released card?
Anybody have a solution? or suggestion for other OS (like CentOS)?
Answer: The 'new' NVIDIA GTX 1000 graphics adapters have compatibilty issues with the nouveau drivers.
Add the parameter nouveau.modeset=0 at the end of the linux line before booting the system.
Highlight the Ubuntu entry and press the E key to add the parameter, then press F10 to boot.
To make this solution permanent, add the parameter to GRUB configuration in /etc/default/grub.
Open a terminal and execute the following command : sudo nano /etc/default/grub
Add nouveau.modeset=0 to this line : GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
that it reads : GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0"
Press Ctrl + X and confirm the change you've made by pressing Y.
Then execute : sudo update-grub to update the GRUB configuration.


Distribution of Kinetic energy after an Impact

Question: How does the huge amount of kinetic energy of some fast object like a meteor or rocket etc. gets distributed into various kinds of energy like kinetic, sound, light etc after making an impact with another body. Is there a rule under which this happens or is it TOTALLY random, and if it is random then what kind of random process does it form?
Answer: It is not random. If the exact same meteor strikes with the exact same properties then the results will be mostly the same (barring a small amount of chaos).
So what is the distribution of energy. Well if you drop a ball on carpet and on a wooden floor it will make different sounds and it will bounce differently. So it is in the details of all possible interactions that define the results.
For movement you have work done, for heat you have thermodynamics and for sound you have acoustics. If you can simulate all the interaction of all these fields of physics then you can have an answer, but it will differ when the initial conditions change.
Comment: Ok, so things look to be pretty much determined by the nonlinear interactions at the point of impact.
Answer: If you consider things on a microscopic level, the first thing you see are the atoms at the surface of the meteor colliding with the atoms at the surface of whatever it hits, lets call it "the ground".  There will be a lot of these initial collisions, each one accelerating the atoms at the surface of the ground material.  These atoms in turn accelerate the next layer of atoms, and so on.  At interfaces between materials, the surface atoms on the first collide with the surface atoms os the second.  And so on. In this way, the kinetic energy is distributed to many many objects.
Sound is generated because there are collisions with air molecules.  Light can be generated if enough kinetic energy is deposited in a short time so that the material either catches fire, or electronic transitions occur in the atoms of the "target".
Comment: I understand how the transfer of energies take place but I want to know to what extent these mechanisms play a roll so that they determine what fraction of the initial energy will be converted to sound energy, what fraction to mechanical and so on.


Recording synthesized text-to-speech to a file in Python

Question: I am attempting to find a way to take synthesized speech and record it to an audio file. I am currently using pyttsx as my text-to-speech library, but there isn't a mechanism for saving the output to a file, only playing it directly from the speakers. I've looked into detecting and recording audio as well as PyAudio, but these seem to take input from a microphone rather than redirecting outgoing audio to a file. Is there a known way to do this?
Answer: You can call espeak with the -w argument using subprocess.
import subprocess

def textToWav(text,file_name):
   subprocess.call(["espeak", "-w"+file_name+".wav", text])

textToWav('hello world','hello')

This will write file_name.wav without reading out loud. If your text is in a file (e.g. text.txt) you need to call espeak with the -f parameter ("-f"+text). I'd recommend reading the espeak man pages to see all the options you have.
Hope this helps.
Answer: You can use more advanced SAPI wrapper to save output to the wav file. For example you can try
https://github.com/DeepHorizons/tts
The code should look like this:
import tts.sapi
voice = tts.sapi.Sapi()
voice.set_voice("Joey")
voice.create_recording('hello.wav', "Hello")

Answer: Here is an example which gives you access to the NSSpeechSynthesizer API
#!/usr/bin/env python

from  AppKit import NSSpeechSynthesizer
import sys
import Foundation

if len(sys.argv) < 2:
   text = raw_input('type text to speak> ')
else:
   text = sys.argv[1]

nssp = NSSpeechSynthesizer
ve = nssp.alloc().init()
ve.setRate_(100)
url = Foundation.NSURL.fileURLWithPath_('yourpath/test.aiff')
ve.startSpeakingString_toURL_(text,url)

Answer: use a VB in and out emulator cable with audacity to record whatever engine.play() outputs.
You will need to download the VB Cables, then set them up through windows as default with windows sound settings,then set Audacity's input to Microsoft sound mapper input, hit record on Audacity and play your script. You will notice once's it's finished on Audacity and then export what you need to loop.
This method may be out of the scope is not perfect but works on pyttsx3 and records in better quality than espeak.
Answer: You can use Amazon Polly API as well:
An example using python is available below:
https://aws.amazon.com/blogs/machine-learning/convert-your-text-into-an-mp3-file-with-amazon-polly-and-a-simple-python-script/


Is the chain map linear?

Question: Simple question, but if $f_n$ is a chain map between $A_n$ and $B_n$ is $f_n$ linear as well? Since $f_n$ induces a homomorphism between homology groups, the induced map must be linear.
Comment: It depends on what you mean by "linear", and what structure we assume on $A_n$ and $B_n$. If they are only abelian groups, a chain map is just a group homomorphism. In general if they are from chain complexes of $R$-modules for some ring $R$ then in our definition of chain map typically requires it to be an $R$-module morphism i.e. it is "$R$-linear"; if $R$ is a field then "$R$-module" means "vector space" and a chain map will be a linear function of $R$-vector spaces.
Comment: Assuming our groups are just abelian, can you explain why the chain maps are group homomorphisms?  I though we only have $f_n \circ \delta_A = \delta_B \circ f_{n+1}$ where $\delta_{A/B}$ are the group homomorphisms for $A_n$ and $B_n$
Comment: If $A_\bullet$ and $B_\bullet$ are chain complexes of abelian groups then by definition a chain map $f\colon A_\bullet \to B_\bullet$ is a sequence of group homomorphisms $\{f_n \colon A_n \to B_n \mid n\in \mathbb{Z} \}$ with the extra property that $f_n\circ \delta_A = \delta_B \circ f_{n+1}$. If $A_\bullet$ and $B_\bullet$ are chain complexes of $R$-modules then a chain map is again by definition a sequence of $R$-module homomorphisms. https://en.wikipedia.org/wiki/Chain_complex#Chain_maps
Answer: If by "linear" you mean "a homomorphism" then this the case by any standard definition. If $(A_\bullet, \delta_A)$ and $(B_\bullet, \delta_B)$ are chain complexes of $R$-modules for some ring $R$, then a chain map $f\colon A_\bullet \to B_\bullet$ is defined to be a sequence of $R$-module homomorphisms (aka $R$-linear functions) $\{f_n \colon A_n \to B_n \mid n \in \mathbb{Z}\}$ such that $f_n\circ \delta_A = \delta_B \circ f_{n+1}$ for all $n$, see for example the Wikipedia article. If $R=\mathbb{Z}$ then "$R$-module" just means "abelian group" and "$R$-linear" just means "group homomorphism"; if $R$ is a field then "$R$-module" $\equiv$ "vector space" and "$R$-linear" $\equiv$ "linear".

Is the chain map linear?


Emission of EM radiation from an electron

Question: I have read about an electron making a transition between two energy levels and electromagnatic radiation will be emitted. The problem is how and why e.m radiation is emitted.
Comment: Conservation of energy?
Comment: Sorry, I was answering your question in the form of a question to provoke you to look up the relationship between frequency/wavelength of EM radiation vs. the quantized energy levels.  The energy of the emitted photon must equal the energy change of the electron orbit.
Comment: I think so, electron loses its energy and converted to light spectra. Not so sure.
Answer: When we are calculating the energy levels of an atom (or anything else) we are generally solving the Schrodinger equation to calculate the energy eigenstates. These eigenstates have the property that they are time independant i.e. they do not change with time. So if you consider the ground state and an excited state we end up with the surprising result that since they are both time independant there can be no transition between them.
This is perfectly true, but only as long as we are considering the atom in isolation. If we introduce a photon then the electric field of the photon changes the Schrodinger equation so that the ground state and the excited state that we calculated above are no longer solutions. In that case the excited state gets mixed up with the combined system of the ground state plus a photon and there is now a non-zero probability that the excited state will decay. We calculate this probability using Fermi's golden rule.
To understand exactly how the transition happens requires quantum field theory because it involves the creation of a new particle (the photon) and particle creation is not described by non-relativistic quantum mechanics. Basically the energy of the excited state is transferred to the photon quantum field where the energy appears as the creation of a photon.
Answer: Electrons produce radiation anytime their agitated. They don't need to be in orbit with an atom to do this. Synchrotron radiation is produced anytime a charged particle is accelerated.
Answer:
I have read about an electron making a transition between two energy levels and electromagnetic radiation will be emitted. The problem is how and why e.m radiation is emitted.

An intuitive understanding can come from considering the Bohr atom. Bohr imposed the fixed energy levels for his hydrogen atom to explain why radiation from hydrogen gave distinct lines

An electron falling on a proton by classical electromagnetic theory would radiate continuously because of the acceleration as it was falling, there should not be the distinct lines that are observed. The distinct lines had to be imposed by hand in the model, and a ground level decided upon  so that the electron would never fall on the proton and atoms could exist.
The Schrodinger equation and quantum mechanics gave a solid theoretical framework for the  stability of the energy. Momentum, energy  and angular momentum conservation in electromagnetic boundary conditions identified the energy leaving as a photon .


Rigging: moving the leg moves other parts as well

Question: I just was working on rigging a model I downloaded online. However, when I bound the rigging to the mesh, for whatever reason, moving the leg also moves a part of the armor on the corresponding arm. It's really weird and I have no idea how to fix it. Please help.
Comment: Could you upload the .blend file to be able to help you?
Answer: Ah, this a common issue with automatic weights. It is easily fixable though. Select the armor piece that is moving when it shouldn't be, and enter edit mode. In the properties panel, you should see the Object Data button, which appears as a triangle. In this tab you will see the Vertex Groups menu.

In this menu, select the leg bone in the list that affects the arm to move. Select all the armor mesh in the 3D viewport, then drag the Weight slider all the way down to 0.000. Then click assign. This takes the selected mesh, and sets how much it should move when the leg bone moves (which is now no movement).
Now when the leg bone is moved, the armor piece should not. Repeat this for all occurrences. This should also note that when moved to 1.000 it will move the mesh entirely (and anything in between will move accordingly with the weight value).


Trie complexity and searching

Question: What is the complexity of creating a trie of a list of words and what is complexity of searching other set of word in that trie?
Should I use trie for string searching, when i have hashtable?
Answer: The complexity of creating a trie is O(W*L), where W is the number of words, and L is an average length of the word: you need to perform L lookups on the average for each of the W words in the set.
Same goes for looking up words later: you perform L steps for each of the W words.
Hash insertions and lookups have the same complexity: for each word you need to check equality, which takes O(L), for the overall complexity of O(W*L).
If you need to look up entire words, hash table is easier. However, you cannot look up words by their prefix using a hash table; If prefix-based lookups are of no interest to you, use a hash table; otherwise, use a trie.
Comment: @var Because of widespread use of strings as keys of hash tables, very good hashing functions for strings have been invented. A quick search on the internet would give you a half dozen excellent suggestions. I would go with the one Microsoft uses, or the one built into Java strings, because they have been optimized a lot.
Comment: if i am looking up the entire word in hashtable ,I need some good hash function and its we should be little careful when defining the hash function. Correct me if i m wrong...
Comment: wouldnt time complexity for lookups for hastable be O(1)?
Comment: @lordvcs This is true only if you consider the length of the string to be fixed, or to have a fixed upper limit, i.e. when you treat `L` as a constant, not a variable. The context of this question does not allow you to do so, because trie is sensitive to the length of the string (it influences the height of the trie).

Trie complexity and searching


Can you use Brillo Pads to get slight build up of carbon on spark plugs?

Question: Honda Accord 1999 1.8 injection
Can you use Brillo Pads to get slight build up of carbon on spark plugs?
Answer: I would just replace them for my vehicle, but for my yearly lawnmower tune-up, some brakeKleen solvent, gentle cleaning with steel brush, and emery cloth on the electrode until shiny(2 swipes?) has always worked! Cheers!
Answer: Brillo pads leave dusty, fibrous residue when used. As long as all of it is removed before reinstalling the spark plug in the cylinder, it should be acceptable to use it.
Answer: To properly clean spark plugs your local garage may have a media blasting plug cleaner.. However you can do almost as good a job with a wire brush.. No need for any chemicals etc. The wire brush will get rid of most deposits and leave the plugs in a very usable condition.
Answer: A brillo pad and a wire brush have a similar problem - they don't clean right down in the "valley"  between the body and the insulator.
The sparkplug cleaner / test machine will clean that area and will be able to test the sparkplug for insulation effectiveness under pressure as well.


Why does water taste different after a workout?

Question: I noticed this years ago and it's always intrigued me. When I drink water after an exhausting workout the water tastes different.
Answer: You didn't mention if there is a specific taste you notice; I taste metal during and after an intense workout which apparently is caused by the heart not being able to keep up http://www.livestrong.com/article/322820-metallic-taste-in-the-mouth-during-exercise/.
Answer: I'm not an exercise specialist, so this is somewhat speculation, but I suspect that it's a combination of a) after exercise, you really feel like you need the water, so you're much more aware of it and your body tries to prompt you to drink more by making it a more pleasurable sensation and b) after working out, your body is flush with blood, including inside your mouth, where the constant flow of air has stimulated the tissues there, which means you're simply more sensitive.


Is there anything not good using POST instead of GET?

Question: I know the difference between POST and GET, however if I used POST instead of GET, anything not good besides not up to W3C standards?
Anything inefficiency, insecurity or anything else?
Comment: If you knew the difference, you wouldn't need to ask :-)
Answer: See the answer from deceze:
<code>POST requests can't be bookmarked.
</code>
In all the interviews I've done, all the teaching I've done, this is the best place to start.  There's a lot more, but start with this.
Ignore anything anyone says about security.  A good hacker can change POST to GET easily.
If you get this far, know that POST changes data (adds a membership, or charges a credit card), whereas GET only fetches data (searches for red shirts).  The makers of browsers make their browsers behave differently for the results of POST vs GET.  The results of POST have side effects that you may not want to repeat (such as adding another membership or double charging a credit card).
If you understand THIS, then read about the POST-Redirect-GET pattern, and understand it well.  (Then know that GET has a URL length limit, and that you may need to resort to POST in this case.)
Answer: Never use POST requests for normal view-only pages. POST requests can't be bookmarked, send in an email or otherwise be reused. They screw up proper navigation using the browsers back/forward buttons. Only ever use them for sending data to the server in one unique operation and (usually) have the server answer with a redirect.
Other than that, they're not more or less efficient or secure than GET requests, they're just for a different purpose.


SharePoint Designer 2013 Replacement

Question: So if SharePoint Designer 2013 will be the latest version that Microsoft will be supporting/releasing; any ideas as of what would be replacing SP Designer? I know you can still use SP 2013 64bit with SP 2016 but I'm curious.
Answer: You are right, InfoPath 2013 and SharePoint Designer 2013 will be the last versions of those products meanwhile Microsoft will continue to support custom workflows built with SharePoint Designer and hosted on SharePoint Server 2016 and Office 365.
You should also be aware of the support for InfoPath 2013 and SharePoint Designer 2013 will match the support life cycle for SharePoint Server 2016, running until 2026.
Regarding alternative,
Untile now Microsoft hasn't announced for an explicit alternative for SharePoint Designer.But in SharePoint Online there is PowerApps

PowerApps is a service for building and using custom business apps
that connect to your data and work across the web and mobile –
without the time and expense of custom software development.
PowerApps also introduce a logic Flow to create automated workflows between your favorite apps and services to get notifications, synchronize files, collect data, and more.

For more details check SharePoint Designer 2016 and InfoPath 2016 in SharePoint Server 2016, What's the alternatives ?
Comment: Very cool - I'll have to give that a try. Thanks Qassas.
Answer: As you know you can still use the Sharepoint designer for 2016, because code base for sharepoint 2013 and 2016 is same.
MSFT discouraging us to use SPD for customization rather they recommend us to us the scripting.
As an alternate, mostly people use designer for workflows, you can use power apps or Microsoft flow for it. You can still use visual studio for wf.
For designing you can use dream-viewer.
Answer: Indeed, you can use also PowerApps as an alternative for SPD (it's also the Microsoft family), or consider other options, 3rd party vendors like Nintex, K2 or WEBCON BPS. They are all low-code platforms which enable creating workflows.
Keep in mind that both Nintex and K2 offer separate products for workflow and forms while WEBCON BPS has them both in one.

SharePoint Designer 2013 Replacement


connect wireless access point to wireless modem

Question: At my office we have a wireless modem(D-Link DSL-2750U) and all the clients are connect to it wirelessly with a wireless lan card. at the next floor we have two pc(without wireless lan card) that I want to connect them to this network, I have a switch and a wireless access point(TP-Link TL-WA701ND).
my Question is that how can I connect the WAP to Modem?
I set the operation mode of WAP to client and add the MAC address of it in the table of wireless modem but the clients cant connect to the network.
Answer: Why not just run cables from the two machines to the LAN ports on the D-Link DSL-2750U? If you're going to insist on using wifi, you'll want to use Bridge mode, or possibly WDS/Repeater, but Bridge mode will probably be more compatible one considering the differences in brand.
Answer: This time the connection must be wired from the access point to the switch and then from the switch to the two pc, would be much easier.


Answering crown bail with coronavirus

Question: Meet Bob. Bob has been charged with an either way offence, for which he has elected to undergo a jury trial in crown court when appearing before a magistrate. The magistrate bailed him for another month, to reappear at a crown court after that time to re-enter his plea. However, in the days leading up to his scheduled appearance, he has tested positive for Coronavirus. What  does the law requires Bob to do?
Comment: This question (as edited) is not asking for specific legal advice. It is merely asking what the law permits or requires in a particular circumstance. It should not be closed as a RSLA.
Answer: The very first thing Bob should do is call his doctor to see if he needs medical treatment.
The second thing Bob should do is call his lawyer (solicitor and/or barrister), who will be familiar with the necessary procedure to request an adjournment.
In general, court proceedings can be adjourned if the defendant's presence is required but they cannot attend due to ill health or similar involuntary issues.  A medical certificate may be required, so Bob may need to contact his doctor to see about getting one.  Details about the requirements for a medical certificate are in Section 5C of the Criminal Practice Directions.
In particular, 5C.2:

If a medical certificate is accepted by the court, this will result in
cases (including contested hearings and trials) being adjourned
rather than the court issuing a warrant for the defendant's arrest
without bail. Medical certificates will also provide the defendant
with sufficient evidence to defend a charge of failure to surrender
to bail.
Answer: If Bob is in fact too ill to attended a scheduled court hearing, he (or his attorney) should let the court know as soon as possible. A medical certificate may be required, depending on the court (as mentioned in the answer by  Nate Eldredge). The Clerk of the Court, or the office of the Clerk, will be able to inform parties of the procedures in such cases. This will be particularly useful if Bob is appearing pro se (not represented by any attorney).
But if Bob is well enough to attend a hearing, but has active coronavirus, and does not want to infect others, many courts have developed procedures for remote hearings precisely to cover this case. Again the Clerk or the Clerk's office should be able to inform Bob of the proper procedures, as should Bob's attorney. Again, it is important to notify the court as soon as possible.

Answering crown bail with coronavirus


Is there a Maximum Data Density of a Physical Volume?

Question: Is there an established or proven relationship concerning how much data can fit in a given volume of space / spacetime?
Comment: https://en.wikipedia.org/wiki/Bekenstein_bound
Answer: The limit you want is the https://en.m.wikipedia.org/wiki/Bekenstein_bound bekenstien limit. This limit states that the amount of information a given volume can contain is proportional to the surface area of that volume.  Specifically it is 1 bit of information for every 4 plank areas.
Note that because the limit is a surface area proportional to $r^2$ and the volume is proportional to $r^3$ where r is the radius, large volumes must be less information dense then is possible for some smaller volumes. With the limit of information of the universe identified with the "edge" of the observable universe.
Another way to understand this is if you try to push information smaller then this then you will condense it into a black hole with the event horizon being the correct area.
Comment: Interesting. Maybe it's another question, but can you elaborate on how can two smaller volumes can have greater information capacity than the sum of their volumes? I'd think you could just partition any volume of space into increasingly smaller volumes and see the information capacity grow without bound, based solely on arbitrary definitions of the volumes.
Comment: Additional details http://www.scholarpedia.org/article/Bekenstein_bound
Comment: if to many small information dense volumes come together into to small a large volume then you get a blackhole whose size would be large enough

that is you can only have so many small dense regions in a large volume.
Comment: also to quickly note this is closely related to the holographic principle if you are interested in further reading.


How To Bid A Development Project?

Question: I have landed a side project where a company wants me to develop a database / smart client to track participants in their various programs. This app will be written in C# and MS SQL Server.
I was wondering if there are any tips on how to actually bid out a price for the job?

Should I charge a flat rate (if so how do you charge it?)
Should I charge by the hour (if so what is a going rate?)
Should I enter into some sort of contract?

Any comments or tips would be very helpful, as I am completely new to doing "side gigs" outside of my normal programming job.
Thanks in advance
Comment: duplicate http://stackoverflow.com/questions/113363/setting-an-hourly-rate-for-a-freelance-project and http://stackoverflow.com/questions/200492/consulting-deciding-rates-and-negotiating
Answer: Yes you should enter into a contract, you need to spell out the terms and conditions of the work the expected deliverables and payment. You will also want to indicate who owns the source code.
I prefer Time & Material contracts, that is they pay an hourly rate. This allows them to change the scope without having to renegotiate the terms. If you go with a fixed bid project then as the users starts to learn what they want and change the specification, which they will, you will have to make a choice. Either you do it for free or you negotiate a scope change.
Answer: Your goal is to get the gig, and once you have it, make enough money for it to be worth your while, right?  With that in mind, you can do flat rate if the client demands it, but otherwise try and get it hourly, because there will always be snags, and the client will always throw changes at you from the first day to the last minute that will suck down your time if you let it.  Either way, get a contract that specifies what you are going to deliver and how to handle change requests.
I did a succession of fixed price contracts for a client once, and it worked great.  Then they said they were having a little problem getting a signature on this contract from head-office, but if I were to just do the work they'd make sure I got paid for the work eventually.  So I spent two months working on it, only to be told that they had been turned down by head office and so I wasn't going to get paid.  I'm 90% sure they'd made a copy of my work before I could delete it from their servers, but nothing I could prove in court.  So I'll never work without a signed contract again.  If they don't sign a contract on day one, get the hell out of there.
Comment: +1 Every time anyone has ever, ever, ever convinced me to do work without a down payment/contract I ended up getting burned. This is one of those rules that you really have to never bend on.
Comment: I heard of one person who was willing to do a lot of work up front, but only because he built in a way to back-door the site.  If they refused to pay, he erased everything -- the site, the database (all of their data... fried), and any backup files he could access...
Comment: Yes, that sets up all sorts of extortion scenarios. :) Seriously though, that way lies jail time. And career obliteration. Not a best practice!
Answer: If you're a beginner I'd advise against a flat rate ... unless you are prepared to shoulder the risk of more work than is paid for. It is inherently hard to estimate the effort a project takes.
The rate you can take depends on your market and how you value your time. It might be interesting accepting a low rate gig to get started in a certain market when you have free times at your hand or if you're just interested at the subject.
Answer: Well there are a few things you need to worry about.
Contract, yes, this is 100% needed, otherwise you might not get paid. The details of the contract are what might by challenging, especially about how to charge, which is what you're asking.
If you charge an hourly rate, you have to worry about being fair when you charge, and I'm sure the client will worry about this. If you're on the clock, it's not fair to check your email, YouTube, or even Stack Overflow (gasp!). Then there is also the question about whether you should charge if you need to learn some new skill. For example, if you have to learn library A, is this charged to the client or should it be done on your own time?
With a flat rate, you have to worry about keeping yourself productive so that you don't end up with a lower hourly rate. On the other hand, if the job turns out to be easy, you can finish quickly, and end up with a good hourly rate. This probably would be a lot more fair to both parties since no one would be monitoring you so that you're not goofing off and you wouldn't be doing something unethical if you decided to surf the internet while you're working.
If this is a side project and not a long-term job, I'd highly recommend a flat rate. Make sure you estimate it properly though. Take a guess of how many hours you think it will take you, add 20%, and then multiply this by some reasonable hourly rate. The other party will most likely be much more open to a flat rate since then it will be like they are paying for a finished product, rather than a developer.
Good luck!
Answer: Bidding is a tight rope walking game. Neither too low nor too much. The contract or the hourly rate always drives bidders mad. Be just in your bidding price and do not undercut too much else you might end up working for nothing. Also bid in such sites that hold the project price in escrow once the winning bidder is chosen. One good resource can be found at :- http://www.freelancing-on-net.com/writing_a_successful.php#
Answer: Even if you are bidding hourly, customers always want at least an estimate. Don't forget to account for all the activities that you don't think of when you're thinking of creating software.
Specifically, think of project management, meeting and call times with the client, end user meetings, source code management, testing, and bug fixing. In short, everything that you do for this client that prevents you from making money with another client needs to be billed to this client. You can account for that with the number of hours bid or with the hourly rate (usually a combination of the two).
I used to hear, "Prepare your best estimate. Then double it." Then I heard, "Prepare your best estimate, then times it by Pi." Now I hear, "Prepare your best estimate, then times it by Pi, then double it." :)
Unfortunately, the only way you'll get good at accurately bidding projects is to bid some, complete the project, and see where you were over or under.
You're always motivated to bid low to ensure that you get the project. But if you lose money doing a project for half your cost, getting the project might not have been a good thing.

How To Bid A Development Project?