Speech synthesis requiring very little CPU performance?

Question: Back in the days of 1 MHz 8-bit CPU personal computers (Apple II, Atari 800, et.al.), there were software programs that could do comprehendible arbitrary text-to-speech synthesis on those PCs.  What published speech synthesis algorithms might be suitable for implementation on micro-controllers with similarly limited performance and memory?  (If any...)
Comment: Don't know how they did it, but [here's](http://www.sparkfun.com/products/9578) an allophone-to-audio IC called the SpeakerJet and [here's](http://www.sparkfun.com/products/9811) the associated text-to-allophone generator. You might ask the folks at http://www.speakjet.com/ how they did it...
Comment: @KevinVermeer - Why didn't you post this as an answer? You would have got an upvote from me at least as it would make an excellent complement to my own answer.
Answer: The methods I played with on 8-bit home computers back in the 80's involved having a small set of phonetic samples and then having the text you want to speak defined in terms of those samples.
Since I didn't know about IPA at the time, I just used two sounds per letter and allocated the short sound to lower case letters and long sounds to the uppercase. This did leave quite a few gaps though, o for /ɒ/ (hot) and O for /oʊ/ (open) were easy, but /uː/ (the oo sound in moon) couldn't be represented in my system, which was a problem for me, given my name (/buːð/ rhymes with /smuːð/, try them in itinerariums phoneme synthesis web page).
These days, you could do much more clever stuff. For a start you could use lookup techniques to translate known words in orthographic text into your known phonetic symbols, and for unknown words, implementing Phonics as an algorithm should do a reasonable job.
After getting your phonetic stream, you could then probably use DMA techniques to stream individual phoneme samples from memory to your DAC, with less overhead to your CPU.


Are there any editors that does syntax highlighting for Django templates?

Question: Like of I put my cursor on an opening forloop tag the closing forloop tag will be highlighted like most IDEs?
Preferably free.
Answer: Off the top of my head I know Vim, Emacs, Textmate and PyCharm all support Django's template syntax, and I'd imagine many more do as well. They all support customizable syntax highlighting/completion. I've been particularly impressed with PyCharm's Django support, but there are many good IDEs/Editors out there. Pick one, and then look around a bit.
Answer: Pydev author's post here says pydev featured in Aptana Studio 3 has it.
Answer: KomodoEdit should have not only syntax highlighting, but even autocompletion for django templatetags and filters. Also, it highlights syntax (and autocompletes) in files with mixture of languages which is especially useful when working with django templates, where you frequently need to edit code in three or four languages (django/html/css/javascript).


Reusing bottlecaps

Question: How often do people reuse bottlecaps, if at all? Given the slight crease that's introduced when removing the cap, I'm a little nervous about reusing them -- though it seems that there shouldn't be a problem if they're washed and sanitized, and if there's no leakage when the bottle is held upside-down after capping.
Comment: This desire was at least in part a result of the problems I had with my capper, which had the bad habit of snapping the necks of bottles I was trying to cap. The failure rate was lower with pre-used bottlecaps, probably because less force was required to apply the cap.
Comment: I'm going to continue to reuse caps for kombucha, which differs from beer by having much lower (non-cap) COGS and far less sensitivity to infection.
Comment: In the late 1960's my dad sealed his home-brew beer bottles with firm plastic (propathene?) re-usable beer bottle caps. If he'd overdone the priming sugar the bottles would still explode. These caps had a 3/8" lever moulded into them so you could pry off the cap with your thumb. Child-proof as kid's thumbs weren't strong enough to push the plastic caps off. He used these caps for several years without them losing their ability to hold pressure. I believe the patent on these has been bought out so that crown caps are not replaced ... like when gas mantle factories went bust as electric light gl
Answer: I've never done it, and I wouldn't recommend it.  I suspect that the seals inside the caps are really only good for one use.
It doesn't make sense to me to try to save money there.   You just spent a bunch of time and energy making a tasty beer:  you don't want to ruin it by using faulty or contaminated caps.  Even if they don't leak beer, they may still leak CO2 once they're under pressure.
Comment: +1: bottle caps are one-time-use consumables.  Your beer is worth the $0.02 for a new cap (assuming the $2.99 for 144 caps at Brewmasterswarehouse).
Answer: Or you could go with swing-top bottles.  Although after some time you will have to replace the red rubber seals on those as well.  But much less waste than with caps.
http://www.northernbrewer.com/shop/ez-cap-bottles-brown-16-oz-with-flip-tops.html
http://www.northernbrewer.com/shop/ez-cap-bottles-brown-1-liter-with-flip-tops.html
http://www.northernbrewer.com/shop/wire-bales-for-flip-tops.html
Answer: If you want "recyclable" caps, you could consider bottling to 1/2 gallon growlers... 38mm "polyseal" caps are machine washable and make a decent seal.
Comment: I'm not sure I'd trust a growler cap to hold up to the pressure required for carbonating in the bottle.
Comment: I do it all the time, it works great and really cuts down on bottling time.
Answer: There are also twist close plastic bottles and caps, the kind that come with the "Mr. Beer" kit, that are reusable.
Answer: I have reused them with NO troubles! Just re-sanitize. I don't make it a regular practice though. Only when I run out of caps when bottling!!!!

Reusing bottlecaps


What are the benefits of guitars with fanned frets?

Question: I've seen fanned frets on some extended-ranged classical and electric guitars. What are the benefits of guitars with fanned frets? Are there any drawbacks?
Comment: See this related answer on scale length; brief discussion of fanned frets at the bottom: http://music.stackexchange.com/a/1091/36
Answer: Multi-string guitars
The idea of fanned frets is, in essence, to combine the baritone or bass guitar with the regular guitar in one instrument. Fanned frets enable strengthening the tone of the lower strings by giving them a longer speaking string length. They can also enable a high string that can be tuned higher than is possible on a conventional guitar by giving it a shorter vibrating length, enabling a higher-tuned string that won't break under the tension.
Classical
In the modern era the technique was first used on an 8-string guitar designed by classical guitarist Paul Galbraith and built by luthier David Rubio. Galbraith wanted an instrument where he could play notes one 5th lower than on a standard 6-string, and one 4th higher as well, adding a full extra octave to the instrument. He called his design the "Brahms guitar" because he found he could play convincing arrangements of Brahms solo piano repertoire on his instrument. He then built up his own repertoire of arrangements where he plays solo classical guitar with lower bass parts and a fuller sound.

Bartolex 8-string fanned-fret classical guitar
Low "A" to high "a"
Jazz
Next up came Charlie Hunter, who worked with luthier Ralph Novak to create an 8-string electric guitar that has the range of the regular 6-string but also adds a full octave lower. (This design has a longer scale length enabling the extra bass range, but doesn't enable any higher notes). Charlie Hunter plays in a style where he covers the range of both the bass guitar and the electric guitar all by himself (Ralph Novak's slogan is "Fire you bass player"). Hunter usually performs with just himself and a drummer.

Novax Charlie Hunter 8-string fanned-fret jazz guitar
Low "E" to high "e"
Metal
Now progressive heavy metal and djent guitarists are getting into the game. Strandberg Guitarworks makes a Misha Mansoor model.

Strandberg Misha Mansoor 7-string fanned-fret guitar
Low "B" to high "e"
Here are some luthiers that build 8-string fanned-fret classical guitars.

Bartolex

Here are some luthiers that build 8-string fanned-fret jazz guitars.

Wes Lambe Guitars
Ralph Novak (Novax)

A well-known company that makes more hard-rock oriented guitars

Conklin Guitars

Six-string guitars and bass guitars that use fanned frets
The technique of fanned frets has also been applied to the conventional 6-string guitar and the conventional 4, 5 and 6-string bass guitar. The theory here is that the lowest strings and the lowest notes make a stronger, fuller sound by giving them extra vibrating length, and the upper strings get a brighter, clearer sound by giving them a shorter vibrating length.
The best example is Dingwall bass guitars, whose low "B" string has a scale length of 37 inches (940 mm), while a conventional bass guitar with a low "B" string has a scale length of 34 or 35 inches (864 mm or 889 mm)

Dingwall Leland Sklar signature 5-string fanned-fret bass guitar
Low "B" to high "G"
Comment: I have never owned a fanned-fret guitar. I have just played one or two for a few minutes at trade shows. It seems to me that one could become accustomed to it with time. But making use of extra strings, different tunings and an extended range would certainly require practice to develop new techniques.
Comment: As a commentary on tuning... I thought I'd heard that Charlie Hunter's 8-strings are the lowest 3 bass strings + the top 5 Guitar strings... E, A, D + A, D, G, B, E (low to high); and a commentary on 7-string "metal/shred" is often a low A rather than B (look at me! one finger power chords!), dropping everything another half-step is not unheard of either (Ab, Eb, Ab, Db, Gb, Bb, Eb)... I even had one guy in the studio that dropped it another half step (but that low of a tension get's floppy on too short a scale length and leads to intonation problems).
Comment: what about drawbacks? is playability affected?
Comment: What are "djet guitarists"?
Comment: @DavidAxtellMooreII I've used low tunings on acoustic guitars, you can compensate somewhat with bigger strings to pull it back from being flabby. With acoustics, sometimes the wood resonates better in a different range. (I imagine that's somewhat true for electric as well, but I haven't experimented with this and cannot confirm.)
Answer: As luthier Chris Larkin explains for this 9 string bass monster -  To get suitable tension on the huge variation of string sizes it required different scale lengths for each string and so needed fan frets.

I managed to find a 7-string fanned fret guitar I really liked (The Ormsby HypeGTR), so I thought I'd buy it and experiment to see exactly what the benefits are.

The tension benefits have already been discussed - no need for a flappy bottom string to get those low notes. I have been using a low A or B on this, but I have also taken it down to a really low E without too much slap.
But another real improvement not previously mentioned: I no longer need to perform that annoying wrist twist and scrunching of fingers to play up at the top end. I can now easily play barre chords above the 20th fret! This makes a huge difference to my playing technique.
Answer: The question of: "What are the benefits of guitars with fanned frets?" is a good question. The correct answer depends on what your intentions are. If all you ever want to do is strum chords to back up your singing voice or play along with others, then you'll do just fine on your standard six string guitar.
However, if your ambitions run far beyond playing backup with other instruments to soloing on one guitar, then you've got a world of trouble. It's been said the guitar is an easy instrument to play, but a difficult instrument to play well. And so it is. Why is that? It's because great music is the range of the Grand Staff and then some. That's the nature of the beast. So there are only three options! Either 1) start or join a band or an orchestra, 2) increase the string count, or 3) possibly do many additional practice sessions trying to do what the human hands were never designed to do.
There are three things that can trouble great guitar playing: 1) String count. 2) String length. And 3) Choice of tuning. If you can bring all three of these parameters together in the correct order, you can make many many technical problems go away.
How many strings should the guitar have? Ten strings seems to work well when tuning in 4ths, which is what medium sized guitars are usually tuned to. I tune my fan fretted ten string classical in fourths with my third right in the middle between my 5th and 6th string. This allows me to preserve six string chord shapes. In fact it opens up another useful chord shape not found on six stringers.
I play five wound bass strings and five unwound treble strings. This configuration works really well and allows me to chase music I wouldn't otherwise go after. In fact: There's very little music I can't chase after. I like to call my guitar a Grand Staff guitar because it makes sense to write music for it using the Grand Staff as opposed to how it's usually done.
It may surprise some people I play a fan fretted ten stringer, and as far as I know it's the only one so far in existence. What surprises me is no one ever thought of it before. In any case I have played six, seven, and an eight stringers before I got the ten stringer. So I know a few things about string count, string length and choice of tunings. This works and it works very well.
Any specific questions to playing a fan fretted ten stringer, I'll be happy to answer.
Comment: Any chance of a picture?!
Comment: @Bob Broadley I've only have gotten around to posting one video of myself on YouTube playing 'O Mio Babbino Caro'. You can get a fairly good look at it there.
Comment: Awesome, I'll take a look!
Answer: The second most obvious difference (advantage?) is that fanned frets accommodate the human construct better (than parallel frets). If one simply moves the left hand away from the body, the elbow being the pivot point, the hand naturally tilts or fans away from the body. As the hand moves to the right, the angle of the hand the moves (pivots) in the other (towards the body). Fanned frets accommodate the natural ergonomics of the player's hand, angle causing less stress on the fretting hand as it contorts less. Of this I have no doubt as I have "A-B (d)" the two side by side.
Comment: This is IMO the only real advantage of fanned frets. All that fuzz about string tension is unsubstantiated, because to that end you could simply give _all_ strings the long scale and merely tune the upper strings lower than standard. What fanned frets give you is just better playability than such an extended-scale guitar.
Comment: Another way to consider... The wrist is more relaxed with fan frets as it compensates less for the changing angles imposed by the differing fret positions (imposed by the elbow) as the hand moves across the board. Less stress on the wrist means the left hand tires at a slower rate.
Answer: Two things: one, this is nothing new.  The orpharion- a kind of lute with metal strings in the Renaissance- had fanned frets.
http://photos1.blogger.com/blogger2/1788/785959171655748/1600/barley_orpharion_lighter_800.jpg
The other thing: yes, the idea is to get longer bass strings (or shorter treble strings).  But if you look at the difference in length fanned frets give you, it's not much at all- barely a semitone if even that.  Thus, I suspect that fanned frets are more about appearance than actual acoustical advantage, which is negligible.
Comment: I have the intuition that it makes intonation a little easier, but I'm not sure I can back that up. Certainly I got the fan fret 7-string I bought recently because it was beautiful and I was curious about the feel, rather than any idea that the tone would be better.
Comment: Another advantage of fanned frets is ergonomic: they require less flexion of the wrist as you go down the neck.


Does updating the firmware as required by a Linux distribution alter the machine for use with a different OS? (i.e., Windows)

Question: I'm trying Lubuntu and seeing the same error as here in version 16.04 (Ask Ubuntu question):
*starting configure network device
[ 110.081458] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
[ 110.081669] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
[ 110.081870] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware
and download the correct firmware for driver version. Please carefully read all
instructions on the website.

Does this modification change something for the Windows 7 OEM?
Answer: Short answer: No
Firmware in this context is more akin to what windows would refer to as a driver, more specifically wifi card driver. It will therefore only affect the linux aspect of using the device. It's a source of confusion, as firmware often refers to software running on the hardware, independent of the OS in use.
Answer: The other answer is correct that this won't directly affect the Windows operation of this device, but not for exactly the reason you'd suspect.
Some devices have firmware that is an EEPROM, so when you perform an update everything that uses it gets the benefits and any issues that may arise from an update. Your system's BIOS is a prime example, you can upgrade (and sometimes downgrade), but once you perform an update it sticks.
Other devices like the wireless card operate on a per OS basis with a just in time firmware loading/initialization. Wireless cards typically do this because there are different legal frequency bands for different countries and until the system loads the firmware the card isn't sure which to use. You could theoretically run two different firmware versions for one card between Windows and Linux or between multiple Linux variants, but keeping them in sync speeds up the initialization because it doesn't have to reload with the right version every time.
In your specific case there is a package called linux-firmware that contains the binary blob required to operate your wireless card. These aren't always installed by default because they are "non-free" as in they aren't open source. Installing this package via sudo apt-get update; sudo apt-get install linux-firmware on a wired connection should get your wireless working. If it says package not found try sudo apt-get update; sudo apt-get install linux-firmware-nonfree as occasionally the package names change between versions.


How to detect laser line position on an mm graduated ruler

Question: Hi I am trying to identify the best method to capture the laser mark on a mm graduated ruler located a few feet away from the laser / optical camera (static state - not moving). I wonder if I should: 1)  use an object (maybe the ruler) as a "pixel size" reference to derive the length from the "zero" ruler edge to the laser mark or 2) use ocr or 3) blob recognition (mm lines) and counting these lines between zero and the laser mark to interpret where the laser is aiming e.g. the 85mm line on the attached image.  Does anyone can shed some light as to what would be more precise or easier? Any help on figuring this out is appreciated.  drawing example of laser line on ruler
Comment: What have you tried so far? What is the actual problem you're trying to solve? Any other constraints or requirements? Do you have some sample images? In short - please elaborate :) | If the scene is static (only the laser spot moves), then you don't really need to detect the ruler at all -- after removing distortion, calibrate it with the spot at several known locations and then interpolate the position. Picking out the spot ought to be simple with correct exposure, just threshold and find the centroid.
Comment: Thanks Dan. This is an alignment tool I am trying to build. It will be placed 8-9 feet from a target inside or out (some sort of mm graduated 1 meter ruler). The 2 constraints I have are: 1) shoot for 1-2mm accuracy 2) the target may not be 100% square with the cam,  it may be a 1-2 degree off.  I could use the ruler as a reference object to do pixel to length conversion but I wondered if I could use some form of blob/ocr recognition to return the actual laser line - ie I can see with my eye that it is aiming at the 128mm mark - can I train the detection engine to see it as well?
Comment: I would cut off the ruler just a bit longer than the widest item I wanted to measure and then detect its ends which is easier than OCRing the digits. And, with a nice, long reference length, your accuracy will be higher.
Answer: Al tough your question is very general I'll recommend a possible solution using some assumptions:

your camera is fixed, so is the ruler/reference area you're using
your ruler is mainly horizontally aligned (a few degrees won't hurt much, use triangulation to get the math)
the laser pointer is strong enough to have a bright and contrasted representation on your cam's image
the laser beam is almost vertical. If so, it's not important to measure exactly at the rulers markers (they actually disturb more than they can help)

I'd definitely discourage any use of OCR here- even if some or all above assumptions are wrong. It's hard to get it working anyways and most probably if not an overkill a simple killer for your project.
With the assumptions above I'd try the following:
Preparation:

First: calibrate zero by the number of pixels (from left to right) where the ruler's zero line is. As long as the ruler isn't moved this needs to be done only once, the number can even be hard-coded.
Then: calibrate some known distance, e.g. use the last visible digit on the ruler, count the pixels and divide by that digit. Now you know the number of pixels per digit. The more pixels per digit you have the better measures you can later make.

Measuring:

extract only one horizontal line of the image - best option would be the center where we have no disturbing content - just the laser beam and the reference area
drop/remove/ignore all pixels up to the zero- calibrated pixel
find the pixel with the highest brightens value. If you can identify the line but with some width take the mean value (the middle of the line).
count the pixels form zero to this highest value and divide by pixels per digit.
DONE


In the Catholic Church, does the private Act of Contrition require a specific prayer?

Question: I'm aware that there is a specific act of contrition read in confession. However, when one seeks to make a private act of contrition (such as in the case where a mortal sin has been committed but a priest is for some reason unavailable), is there a specific prayer taught by the Church, or is it just a prayer expressing sorrow and penance?
Answer: In the Catholic Church, does the private Act of Contrition require a specific prayer?
The short answer is no. In fact one is free to say an act of contrition of one's own inspiration. You are not obliged to pray a specific act of contrition, when going to confession. They are written down in confessionals now-a-days as an aid for penitents in confession.
However, the Act of Contrition in absence of the ability of going to confession, especially if one is in the state of mortal sin should be a form of Perfect Act of Contrition, with the appropriate dispositions.
Not all acts of contrition are equal. Here follows some acts of contrition listed by the USCCB:

Act of Contrition
O my God, I am heartily sorry for having offended Thee, and I detest all my sins because of thy just punishments, but most of all because they offend Thee, my God, who art all good and deserving of all my love. I firmly resolve with the help of Thy grace to sin no more and to avoid the near occasion of sin. Amen.
(A traditional version)
or:
My God,I am sorry for my sins with all my heart. In choosing to do wrong
and failing to do good, I have sinned against you
whom I should love above all things. I firmly intend, with your help, to do penance, to sin no more, and to avoid whatever leads me to sin.
Our Savior Jesus Christ suffered and died for us.
In his name, my God, have mercy.
(from the Rite of Penance)
or:
Lord Jesus, Son of God, have mercy on me, a sinner.
(from the Rite of Penance)

One can find many more acts of contrition the world over!
But what is the difference between perfect and imperfect contrition?

Contrition may be either perfect or imperfect. While perfect contrition forgives all sins, it does not relieve us of the obligation to go to confession. The Catechism explains:
When [contrition] arises from a love by which God is loved above all else, contrition is called "perfect" (contrition of charity). Such contrition remits venial sins; it also obtains forgiveness of mortal sins if it includes the firm resolution to have recourse to sacramental confession as soon as possible.
The contrition called "imperfect" (or "attrition") is also a gift of God, a prompting of the Holy Spirit. It is born of the consideration of sin's ugliness or the fear of eternal damnation and the other penalties threatening the sinner (contrition of fear). Such a stirring of conscience can initiate an interior process that, under the prompting of grace, will be brought to completion by sacramental absolution. By itself, however, imperfect contrition cannot obtain the forgiveness of grave sins, but it disposes one to obtain forgiveness in the sacrament of penance. (CCC 1452–53)

According to Catholicism, those you have committed mortal sin, must confess their sins in kind and number to the best of one's ability, to a priest in the sacrament of confession. Catholicism belief in the ability of ordained minister's to absolve serious sins come from Our Lord's own words.

Whose sins you shall forgive, they are forgiven them; and whose sins you shall retain, they are retained. - John 20:23

Is any man sick among you? Let him bring in the priests of the church, and let them pray over him, anointing him with oil in the name of the Lord.
And the prayer of faith shall save the sick man: and the Lord shall raise him up: and if he be in sins, they shall be forgiven him.
Confess therefore your sins one to another: and pray one for another, that you may be saved. For the continual prayer of a just man availeth much. - James 5:14-16

Here follows a simple definition of Catholic sacramental confession:

The auricular confession of one's sins in the sacrament of penance. If they are mortal sins, it is required that they be confessed as to number, type, and such circumstances as affect the gravity of the sins committed.
Comment: It would be great if you could expand on why sacramental absolution is needed for grave sins with some Biblical support to make it more understandable (and therefore more appealing) to a Protestant on the fence.  My hunch is that it has something to do with the visible reality of restoring one to the visible communion in the church (in taking communion during mass) because people not in the state of grace is self-ex-communicated.
Answer: If you were going through religious education as a child, the answer might be a little different (much simpler than Ken's answer). The short answer would be yes, and you would probably learn whatever your priest or teacher thought was a good prayer for kids to learn and for about 10-12 years you would be apt to think that that was the only act of contrition.
In my experience, the words of a prayer you can use as an Act of Contrition are usually printed on a piece of paper inside confessionals. I usually use the one that we taught our kids though because I have that one memorized (which is pretty close to the first one in Ken's answer); and it sounds a little weird because part of it is a firm resolution to "confess my sins" which is what I just did, but I use say it anyway and no priest ever called me out on the inconsistency yet.


Beta Coefficient range?

Question: Is there a table of range for beta coefficients used in multiple linear regression that we can use to interpret if influence is strong, very strong, weak or very weak.
Comment: Faustus is right: beta is between -1 and 1 usually, but not necessarily (it is always between -1 and 1 in simple regression).
Answer: Not directly, it would seem. However, it is these very moments where we would do well to consult with our dear friend Keith.
He advises:

However, if you're like me, you'll still want something reminiscent of Cohen's d, along with a rule of thumb for determining small, medium and large effect sizes. Later he adds:

Keith is such an accommodating fellow that he includes the formulae for calculating Cohen's f2 from R2 and change in R2:

Alternatively, you could try this effect size calculator.
Despite these recommended effect sizes, however, it's important to note that effect sizes are very much dependent upon the discipline in question.
References
1: Keith, T. Z. (2014). Multiple regression and beyond: An introduction to multiple regression and structural equation modeling. Routledge.
Answer: The estimated $\hat\beta$ will range differently depending on your data (depending on both $X$ and $Y$)!
So no, there is no table...
But if you do the regression on standardized variables (zero mean, unit variance), then your coefficients will also be standardized: each $\beta$ will belongs to $[-1,1]$ and will reflect their influence on your dependent variables a bit like a correlation coefficient does. Namely you get the direction of influence in the sign of the standardized $\beta$ and their strength in their magnitude in a standardize fashion (namely a magnitude from 0 to 1).
Moreover you can evaluate how significant each of these coefficients are, by computing their statistics, as shown below.

EDIT: (Below, my old answer that was not exactly about the influence of the coefficients but more on their statistical significance)
However if you used classic least-square to solve the linear regression, under classic assumptions (resiudals normally distributed), you can find statistics for the $\hat\beta$, then p-values, and confidence interval come along.
Namely, for $n$ data points, in the case of a simple linear regression (univariate, scalar dependent variable) the standard errors are:
$$
s^2 = \frac{\sum_{i=1}^{n} (y_i - \hat y_i)^2}{n-2}
$$
$$
SE(\hat\beta_0) = s\sqrt{\frac{\sum_{i=1}^{n} x_i^2}{n\sum_{i=1}^{n} x_i^2-(\sum_{i=1}^{n} x_i)^2}}
$$
$$
SE(\hat\beta_1) = s\sqrt{\frac{n}{n\sum_{i=1}^{n} x_i^2-(\sum_{i=1}^{n} x_i)^2}}
$$
where $s^2$ is the sample variance of $y$. Now each standard error will help you compute the t-statistics and get p-values for testing the hypothesis of having a $\beta \neq 0$ (the normalized t-statistics for e.g. $\hat\beta_1$: $t_{\hat\beta_1} = \frac{\hat\beta_1}{SE(\hat\beta_1)}$ follows a t-distribution with $n-2$ degrees of freedom).
For multiple regression (so dealing with data matrix $X$ and $Y$), you can read the standard errors of each $\beta$ by taking the square root of the diagonal elements of the variance covariance matrix of the joint distribution of all $\hat\beta$s:
$$
s^2(X^TX)^{-1}
$$
See this book chapter for better and detailed explanations.
Comment: This discussion addresses whether standardized rates are between -1 and 1. https://stats.stackexchange.com/questions/120201/magnitude-of-standardized-coefficients-beta-in-multiple-linear-regression/120206
Comment: In many fields, the "beta" coefficients refer to the coefficients in a regression *where all variables have been standardized.*  Therefore they do not depend on the data in the way you seem to suppose.  Moreover, strength of "influence" seems to be a completely different concept than "significance": it won't be measured with a $t$ statistic or its p-value.
Comment: True, but they still depend on the covariance structure between $X$ and $Y$, then in some fields it is also standard to _whiten_ the data anyway you might say, but even though the estimated "beta" are still function of the data. Well, that was my only point to discard the idea of tables... Then indeed, my bad I thought about significance only, forgot the initial matter. Will edit accordingly.
Answer: I believe the values posted by JPMD are comparable with Cohen's recommendations for the Pearson correlation coefficient r rather than d, which is a completely different statistic (where Cohen's recommendations for small/medium/large were 0.3/0.5/0.8).  However I assume they would also apply to other measures of association constrained to the range -1 to +1 such as R, and maybe also standardised regression coefficients which is what this thread is about.
Even though Cohen was a psychologist, my impression of the conventional interpretation of correlations in psychology (my field) is that 0.1 is trivial, ~0.3 is small, ~0.5 is medium, and >0.6 is large.
Comment: Cohen's $d$ is not constrained to $[-1,1].$  $\beta$ can be construed as an effect size in its own right, but Cohen's (loose, heuristic, untested) cutpoints of 0.3/0.5/0.8 don't apply directly to it.
Answer: For simple regression $\beta$ is like R.
Thus I would use R rules of thumb...
I use the follwoing with my Psychology students:

$\beta$ < 0.1 - Small effect size
$\beta \in $ [0.1; 0.5[ - Medium effect size
$\beta \geq $  0.5 - Large effect size

For multiple regression these rules are not that straightfoward, but for Social Sciences they seem to hold (also following Cohen's d suggestions).

Beta Coefficient range?


How do I ask my current company how long they want to keep me around? I'm an independent contractor

Question: How do I ask my current company how long they want to keep me around? I'm an independent contractor. My contract is about to renew they confirmed they want to continue with me, but they are also bringing in someone new and asking me to train him.
Comment: As a contractor you can only go on whats in your contract
Comment: Specifically, the notice period
Answer: "Hello X, you mentioned earlier that the plan is to extend my contract, but since the deadline is coming up I'd like to make a more formal agreement. Without it I will be forced to look for employment elsewhere since I cannot afford to risk being without work."
The key is to avoid any accusatory language and to make it clear that it's about you wanting to minimize a risk. It's not that you don't trust their word that they will extend your contract, you just can't take the any risks, no matter how small.
Answer: I'm always looking to get an renewal in writing at least two weeks before it finishes. If they can't guarantee an extension, then start looking elsewhere.
One company offered to extend me at 3pm on my last day but, it was way too late and I'd already accepted another contract. It's a harsh industry, but you've got to look out for yourself.
The fact that they're bringing in someone for you to train up might suggest that you have one (maybe two) renewals left... but that's contracting, unfortunately!
Comment: Two weeks seems short to  me. Personally I'd like an indication 6-8 weeks in advance.
Comment: @Maarten Yeah, definitely - the longer the better! Though companies are often looking for contractors to start tomorrow and can't wait 2 months for them to finish up... so it can be a waste of time looking so far ahead -- that's my experience, anyway.
Answer: As an independent contractor, you cannot afford to be without work, so if it isn't confirmed in writing, you will have to look for work elsewhere.
It's your decision to tell them that if you don't get an extension in writing, you might suddenly stop working for them, or not. I think it's better to tell them that your finances don't allow you to take a risk. Whether you tell them or not, if you don't have a contract extension in writing, you look for a new position, and if you find something that you like, then you leave.
It is quite possible that some person really wants you to continue working, but doesn't have the power to get the right person to sign the contract. In that case you need to give them arguments to tell their boss "I need X, and if that contract isn't signed in time, he or she might just leave, and that will cost us lots of money. "
Answer: I think everyone agrees that you need to get your contracts and confirmations in writing, and that you need to be responsible to yourself for making sure you have work. Here's how to approach the conversation to clarify your situation (you have confirmation but it looks like they may be preparing to replace you).
Make a short 15 minute appointment with your manager, the one you report directly to. Let him/her know it's about your contract status. You should start the conversation with something like this:

As you know, as a contractor I always need to be mindful of my future. I am happy working here and I am willing to stay on for as long as you need me. Once we get Mary fully trained, what are your expectations for my role here?

Let the manager answer. If it's an answer you like, great. If not, too bad, but also great. You're looking for clarity either way. They may want to transition you to some other task or role. If it looks like they won't need you anymore, you can approach it like this:

Great! I appreciate the clarity. Let's talk timelines and set some goals for Mary's training that will get her up to speed as fast as possible and at the same time let me plan for my future.

Of course, use your own words and personality, but keep a tone of working with the manager to help meet the needs of the company.
I would leave out any talk of personal finances and whether or not you can afford to be out of work for any period of time. It just doesn't come across as professional.
Answer: As you have said, they have confirmed it, but seems like it is from verbally or email.
So you can request to renew it officially. I mean you can asked from them to sign the new / renew contract.


Are all dinilpotent groups solvable, i.e., groups G=AB with nilpotent subgroups A, B ?

Question: The Wielandt-Kegel theorem states that all finite dinilpotent groups G=AB are solvable.
This results extends to many infinite groups, e.g., to finitely-generated linear groups.
In general however, I think there will be a counterexample. I have searched the literature,
but could not find an answer. Is there a (nice, not too pathological ) counterexample  ?
Comment: As far as I know, this is still an open question. Why do you think that there is a counterexample?
Comment: By Ito's theorem, the Wielandt-Kegel theorem holds for all groups $G=AB$ with $A$ and
$B$ abelian,  in particular also in the infinite case. This suggests perhaps to start with the case where $G$ is abelian, and $B$ is 2-step nilpotent.
Answer: As Derek Holt mentioned, the question is open (if either $A$ or $B$ is not Abelian). Ito's theorem has been generalized several times by N. S. Chernikov and others, for example, see  Chernikov, N. S.
On groups that are factorizable by two subgroups with Chernikov commutants. Ukraïn. Mat. Zh. 52 (2000), no. 3, 396--402; translation in
Ukrainian Math. J. 52 (2000), no. 3, 457–463. A typical result showing the current state  of the problem:
 A residually finite group $G$ factorized by two subgroups $A$ and $B$ with finite derived subgroups has a normal subgroup $H$ of finite index the second derived subgroup of which is finite and lies in the center $Z( H)$.
If you allow several (but finite number of) factors: $G=A_1A_2...A_n$, then $SL_n(\mathbb{Z})$, $n\ge 3$, is factorizable by cyclic groups (=boundedly generated), and Muranov proved that there are simple 2-generated groups that are boundedly generated. See Carter, D., Keller, G. (1983). Bounded elementary generation of $SL_n(O)$. Am. J. Math. 105(3):673–687, Muranov, Alexey, Diagrams with selection and method for constructing boundedly generated and boundedly simple groups. Comm. Algebra 33 (2005), no. 4, 1217–1258.


slow speed of ubuntu 12.04 in virtualbox 4.2.6

Question: i am using windows 7 on dell dual core. i have recently installed ubuntu 12.04 on VB4.2.6.
but the speed is very slow at doing everything. opening terminal etc.
any way to improve that?
thanks in advance
Comment: possible duplicate of [Why is my perfomance too bad in Virtual Box?](http://askubuntu.com/questions/287863/why-is-my-perfomance-too-bad-in-virtual-box)
Answer: To speed up any VM, you can:

Enable Hardware virtualization and Nested Paging: VM settings -> System -> Acceleration tab. For this to work you have to make sure that your CPU supports Intel VT-x for Intel processors or AMD-v for AMD processors and that it is turned on in BIOS;
Enable 3d Acceleration: VM Settings -> Display -> Video tab;
Allocate to the VM that much memory and run that many programs on Host together with VM, that your Host OS has enough free RAM left;
The above were primary recommendations that really make a difference and are easily achievable, however there are a lot of other ways to improve performance of virtual machines to a different extent. Here are some examples:

put your VM on a separate hard drive to improve I/O (can be a major performance gain, but requires a separate hard drive);
disable all the unneeded services/programs/visual effects on Guest;
if your Host/Guest filesystem supports defragmentation - use it. There are also tools that can try to defragment a specific file (virtual disk image in our case);
install Guest Additions;
if you have enough RAM you can disable swap file/partition on Host completely or tune it in a way that it is used only when a large portion of RAM (like 90%) is used.
exclude virtual disk images of your virtual machines from Antivirus checklist
and so on.

For a comprehensive list of approaches to increase VM performance, have a look at this article http://www.hanselman.com/blog/VMPerformanceChecklistBeforeYouComplainThatYourVirtualMachineIsSlow.aspx
Answer: Having very slow perform when running Ubuntu 12.10 and 13.04 in virtualbox? It's because Ubuntu can't use graphics card for acceleration, ubuntu uses CPU for rendering graphics trough LLVMpipe. It makes running ubuntu in virualbox really slow.
To check if your Ubuntu 12.10 or 13.04 guest is using 3D acceleration
/usr/lib/nux/unity_support_test -p

You should see something like this
Not software rendered: no
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no

If you see "Not software rendered" and "Unity 3D supported" both say no. This means Unity is using slow LLVMpipe.
To enable 3D supported, fist you will need to update linux-headers
uname -r
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get autoremove
sudo apt-get install build-essential

Now insert vitualbox guest iso from devices and to install manually
cd /media
ls
cd username
ls
cd VBOX*
ls
sudo ./VBoxLinuxAdditions.run

Insert vboxvideo to /etc/modules
sudo nano /etc/modules

Add "vboxvideo" at the end of the file
loop
lp
vboxvideo

Reboot the machine
sudo reboot

Source: http://namhuy.net/951/how-to-fix-slow-performance-ubuntu-13-04-running-in-virtualbox.html
Answer: The other answer is good, but the link with more information seems Microsoft-centric.
This link http://blog.jdpfu.com/2012/09/14/solution-for-slow-ubuntu-in-virtualbox has a Win7 host, Ubuntu Guest solution for VirtualBox with specific VirtualBox settings. It is about running Ubuntu Guests too:
Disk I/O - virtIO, if possible; SATA if no other choice

Allocate the minimal CPU and RAM for the guest workload
Network I/O - virtIO, if possible; Intel PRO/1000 if no other choice
Keep disk storage allocations as small as possible.
Use pre-allocated storage files on spinning disks; avoid sparc files.  If you have SSD, use whatever storage you like - even QCOW2 with compression
Turn down the graphics "cheese" - No 2D or 3D extensions, at least not initially. Unity and Gnome3 suck graphics.  Try them after you have a highly responsive system working with a simple GUI.
Never over-allocate RAM or CPU. Sharing.
1 CPU is usually enough for most guests, even if you have 6, more than 2 CPUs per guest just isn't necessary, even for an email server for 50 people.
Leave 1G of RAM for the hostOS and 1 CPU for the hostOS, if you can.

Anyway, hope this helps.
BTW, How do I improve the performance of my VirtualBox guest? is a similar question with slightly different information.


Best axe for making kindling and little work

Question: I am looking for the best type of axe for being able to chops already split wood into smaller kindling, while also being capable of chopping down small trees.
Answer: Apparently it is called a "carpenters axe" today. My father called it a "boat axe" as one you could reasonably bring in a canoe. Larger than a hatchet, smaller than a regular felling axe and not nearly as heavy.
Comment: Where I come from, a carpenter's axe is specifically referring to one with an (almost) straight blade, and often a nail puller or hammering surface on the back. (Nevertheless, the recommendation is good, I use one for a similar purpuse.)
Comment: In British English the typical "hand axe"s sounds like that ,though a carpenter's axe might have more of a beard. A "hatchet" here tends to be particularly short-handled.


Windows 7 won't boot from GRUB

Question: I am trying to set up a machine to dual-boot Windows 7 and Ubuntu. Installed Windows 7 first, all seemed fine. Installed Ubuntu 10.04 (to avoid having unity installed by default, which many people have mentioned to me is annoying).
Now when selecting Windows 7 from the grub menu, it simply blank-screens and the returns to the grub menu.
Below is the results of the boot info script. Have tried running testdisk, and getting it to check the windows boot sector; it says both the boot sector and backup boot sector are OK and match each other.
But if the windows boot sector is fine, why wouldn't the usual "chainloader +1" approach work??
Have also tried checking forums for similar problems, but they mostly seem to be people who have accidently installed grub to the windows partition instead of the MBR - according to the bootinfo script results we haven't made that particular mistake here.
                  Boot Info Script 0.60    from 17 May 2011

============================= Boot Info Summary: ===============================

 => Grub2 (v1.97-1.98) is installed in the MBR of /dev/sda and looks at sector
    1 of the same hard drive for core.img. core.img is at this location and
    looks in partition 2 for /boot/grub.
 => No boot loader is installed in the MBR of /dev/sdb.

sda1: __________________________________________________________________________

    File system:       Extended Partition
    Boot sector type:  Windows Vista/7
    Boot sector info:

sda5: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:   According to the info in the boot sector, sda5 starts
                       at sector 0. But according to the info from fdisk,
                       sda5 starts at sector 126.
    Operating System:
    Boot files:

sda2: __________________________________________________________________________

    File system:       ext2
    Boot sector type:  -
    Boot sector info:
    Operating System:  Ubuntu 10.04.3 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

sda3: __________________________________________________________________________

    File system:       ntfs
    Boot sector type:  Windows Vista/7
    Boot sector info:   No errors found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sdb1: __________________________________________________________________________

    File system:       vfat
    Boot sector type:  FAT32
    Boot sector info:   According to the info in the boot sector, sdb1 starts
                       at sector 0. But according to the info from fdisk,
                       sdb1 starts at sector 63.
    Operating System:
    Boot files:

============================ Drive/Partition Info: =============================

Drive: sda _____________________________________________________________________

Disk /dev/sda: 300.1 GB, 300069052416 bytes
255 heads, 63 sectors/track, 36481 cylinders, total 586072368 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sda1                  63   217,439,774   217,439,712   5 Extended
/dev/sda5                 126   217,439,774   217,439,649   b W95 FAT32
/dev/sda2         217,439,775   401,753,519   184,313,745  83 Linux
/dev/sda3    *    401,753,520   586,067,264   184,313,745   7 NTFS / exFAT / HPFS

Drive: sdb _____________________________________________________________________

Disk /dev/sdb: 41.2 GB, 41174138880 bytes
255 heads, 63 sectors/track, 5005 cylinders, total 80418240 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes

Partition  Boot  Start Sector    End Sector  # of Sectors  Id System

/dev/sdb1                  63    80,405,324    80,405,262   b W95 FAT32

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/sda2        626bd315-3ecc-4724-96a4-39f00b5f6331   ext2       L
/dev/sda3        457351F40CFFDE49                       ntfs       C
/dev/sda5        7ED4-1FA1                              vfat       Data
/dev/sdb1        001A-9858                              vfat       Internal 40

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/sda2        /                        ext2       (rw,errors=remount-ro)

=========================== sda2/boot/grub/grub.cfg: ===========================

--------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,2)'
search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
set locale_dir=($root)/boot/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-38-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
    linux   /boot/vmlinuz-2.6.32-38-generic-pae root=UUID=626bd315-3ecc-4724-96a4-39f00b5f6331 ro   quiet splash
    initrd  /boot/initrd.img-2.6.32-38-generic-pae
}
menuentry 'Ubuntu, with Linux 2.6.32-38-generic-pae (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
    echo    'Loading Linux 2.6.32-38-generic-pae ...'
    linux   /boot/vmlinuz-2.6.32-38-generic-pae root=UUID=626bd315-3ecc-4724-96a4-39f00b5f6331 ro single
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-2.6.32-38-generic-pae
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd0,2)'
    search --no-floppy --fs-uuid --set 626bd315-3ecc-4724-96a4-39f00b5f6331
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda3)" {
    insmod ntfs
    set root='(hd0,3)'
    search --no-floppy --fs-uuid --set 457351F40CFFDE49
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
--------------------------------------------------------------------------------

=============================== sda2/etc/fstab: ================================

--------------------------------------------------------------------------------
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda2 during installation
UUID=626bd315-3ecc-4724-96a4-39f00b5f6331 /               ext2    errors=remount-ro 0       1
--------------------------------------------------------------------------------

=================== sda2: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

 125.679679394 = 134.947528192  boot/grub/core.img                             2
 125.573421001 = 134.833434112  boot/grub/grub.cfg                             1
 125.532954693 = 134.789983744  boot/initrd.img-2.6.32-38-generic-pae          3
 125.523200512 = 134.779510272  boot/vmlinuz-2.6.32-38-generic-pae             2
 125.532954693 = 134.789983744  initrd.img                                     3
 125.523200512 = 134.779510272  vmlinuz                                        2

Answer: If Windows has any issues like hibernation or needing chkdsk, it often will not boot from grub.
If you resized from the Ubuntu installer the Windows boot sector needs repairs which chkdsk will do. But you can only run chkdsk from Windows or a Windows repairCD.
A few have been able to use f8 from grub boot, but it is so quick that it usually does not work.
There also are third party Windows tools that may be able to run chkdsk if you do not have the Windows repairCD. You should have repair tools CD or flash drive for the current version of every system you have installed.
Also has chkdsk and some other Windows repairs in free version:
http://www.partitionwizard.com/features.html
May be able to run chkdsk from Hiren's boot CD. (mini xp.)
Hiren's Boot CD, and do a chkdsk on the XP
EASEUS Partition Master
http://www.partition-tool.com/personal.htm
Answer: insert your windows 7 disk and choose Repair your computer and then startup repair.
the windows seven bootmenu will be installed then add your ubuntu with easyBCD to windows 7 bootloader.
Answer: Try changing /Boot/BCD to /boot/BCD I think case counts.

Windows 7 won't boot from GRUB


How to get rid of this strange multibrowser CSS-related display?

Question: I'm using Windows 7 and I have multiple browsers installed (Firefox, Firefox Light, Internet Explorer and Chrome).
Since 2 days ago, CSS are not displayed properly on all websites in all browsers except Chrome (no background, no colors, no backround images, only black and white fonts, ...).
superuser.com display on IE 11 :

superuser.com display on Firefox 40 :

superuser.com display on Chrome 45 :

I've tried to reinstall Firefox with no success (with new profile).
I've tried to disable extensions like AdBlock and I've tried to disable all Antivirus/Firewall software who could be the cause of this, but with no success.
I haven't found any suspect process as well in my task manager.
So what should I look at to solve this problem ?
Could it be introduced by the Windows 10 updater to push me to migrate from Windows 7 to Windows 10 ?
EDIT : the problem is affecting other applications like MS Excel : I can't set background color for a cell anymore for example.
Comment: You are right, here it is.
Answer: I tried to restore some previous system backup from a week ago.
The system restore failed, but it fixed all problems.


What are some strong arguments that argue that apriori knowledge doesn't exist?

Question: It seems all or almost every philosopher who addressed the question seem to think that apriori knowledge exist, but I couldn't hear a single good argument that seeks to prove that apriori knowledge doesn't exist. What are some strong arguments that argue that apriori knowledge doesn't exist?
Answer: A priori knowledge can't exist because knowledge comes äfter encountering the reality you want to know about. Knowing how to sing means you have to sing first. Knowing how to use your vocal trackt means using it first. Knowing how to use it means using things first.
More generally, knowing a truth about any subject means that you have to interact with the subject first. Every interaction has it's own method. The knowledge of this method is not a priori known and neither is the knowledge of the subject matter one wants to know about. How could we know a priori? By means of biologically transmitted knowledge? It could be that the reflex to eat and the reflex to go to the mother's nipple are given a priori to the neonato.  It could also be that already while developing this knowledge is aquired. The eye,for example, is already unconsciouly trained in the developing embryo. Cöncentric circles are being transmitted over the developing retina of the embryo to prepare the brain for the world waiting.
So it remains to be seen if a priori knowledge exists and to say honestly, I haven't encountered it personally. But everyone is welcome to make suggestions.
Answer: I am reminded of this passage from the preface to Kant's Critique of Practical Reason:

Nothing worse could happen to these labours than that anyone should make the unexpected discovery that there neither is, nor can be, any a priori knowledge at all. But there is no danger of this. This would be the same thing as if one sought to prove by reason that there is no reason. For we only say that we know something by reason, when we are conscious that we could have known it, even if it had not been given to us in experience; hence rational knowledge and knowledge a priori are one and the same.

As per the SEP article on the subject, there are many concepts/definitions of apriority. One wonders whether any of them are persuasive, either just as definitions or as applicable concepts. One might argue, then, though, that apriority isn't a real epistemic form, because the very distinction between apriority and aposteriority isn't a real epistemic distinction. That is, there isn't any empirical knowledge, either: knowledge is neither "rational" nor "empirical." Personally, I think we can usefully differentiate between a priori and empirical evidence/justification/etc., but this comes down, effectively, to a stipulation in a given system; give a different system and you give a different distinction, if you give one at all.
Answer: A priori knowledge is knowledge whose justification is not empirical in some important sense. The idea is that, with some propositions, once we have grasped what they mean, we know them to be true without having to test them empirically. It should not be confused with innate knowledge, which is knowledge we are born with or which is part of our biological endowment.
Of course, we need some experience of the world in order to have any knowledge at all, but that is not the point at issue. The crucial factor is what justifies it as knowledge. Lots of things have been claimed to be a priori knowable. Most philosophers historically have considered that mathematical knowledge is a priori, because we don't have to test mathematical propositions experimentally. We still need to learn mathematics, and we still need some experience of the world to understand it, but once we do, it is often considered to be a priori.
Some things that have been considered a priori knowable include logical or analytic truths (all squares are rectangles, all emeralds are green), fundamental moral principles (the golden rule), propositions that are guaranteed by the speaker's existence (I am alive, I am here now), and many others.
If you wish to argue against the possibility of a priori knowledge, your main challenge is going to be explain how we have knowledge of such things. It will probably require a piecemeal approach.

Quine has challenged the existence of analytic truths, and his arguments are in effect just as much arguments against a priority as they are against analyticity. That said, Quine still regarded logical truths as inviolable, at least in his later writings.

There are some who regard logical and mathematical truths as ultimately empirical in character. This position is called anti-exceptionalism. The idea is that the truths of logic and mathematics are akin to the laws of nature that we gather from science, but they are more abstract and topic neutral. They do not need to be tested empirically in a simple fashion, but ultimately they are justified by the contribution they make to our understanding of the world.

The a priority of moral principles could be rejected, from an anti-realist, relativist or even a moral naturalist stance on morality.

Propositions that are always true because of the speaker's existence are arguably merely anthropic and not a priori in any interesting sense. A person who says "I am here now" speaks truly, but doesn't say anything of any substance. Also, such a claim loses its a priority if it is de-indexicalised, or if it is used within an intensional context (my wife doesn't know I am here now).


As a Bitcoin Trader, what tools are available to execute trades?

Question: Looking to expand beyond using bitstamp and gox's (ok, well, that one was easy) built-in trading interfaces to something more unified and manageable. RTBTC seems to have a clean interface. What about alerts sent out when a certain price is reached? Are there any tools that track transactions for tax purposes?
Answer: CrypTrader is a website that unifies the exchanges via your API keys, so that you can trade all on one platform.
MyBitAlert lets you set up email alerts when the price reaches a certain level.
CoinReporting lets you enter your trades (or import them automatically) and show your P&L, and can even export trades for your tax declaration.


External content types for specific web applications

Question: Is there any way that we can limit the ECTs are available only for few web applications/site collections rather than across the farm?
Answer: Per this TechNet article, and from my own experience, there is not an explicit way to scope External Content Types (ECT) to a specific web app or site collection:
http://technet.microsoft.com/en-us/library/ee524076%28v=office.14%29.aspx#setpermissions
That being said, within SP Central Admin when you create/edit an ECT, you can through its permissions limit the availability of it to certain users and/or groups (see step 8, 3rd sub-bullet in the linked page). If you don't already have one, perhaps you could create a group, whose membership itself is all the groups that have access to a given web app or site collection, and then set that meta-group as the one with "Selectable In Clients" rights on the ECT.
In effect, the strategy would be to find (or create) a group that encompasses all users of a given web app or site collection, then use said group to restrict access to a given ECT, thus limiting only users with that web app or site collection to see & use it.


How much play time to complete Legend of Zelda: Twilight Princess

Question: Simple question: about how many hours of gameplay are required to complete Legend of Zelda: Twilight Princess?  I know that it depends upon skill and how thoroughly one explores the game, but can I please have a ballpark estimate of how long I should expect to take to finish the game?
Comment: @kotekzot I can see how that answer could be used in answering this one but there's no way it's a duplicate.
Comment: @Studoku The other option is to close (and eventually delete) it.
Answer: This thread contains the completion times for various people,  in response to someone asking the same question you did. The hours for completion ranged from 40-65. The total completion varies - some are for 100%, some for much less.
Another thread asking the same question had an average completion of around 50 hours, although some people took as little as 25 hours (for second playthrough), and one person took 120 hours for their first play through and 242 for their second (I think there numbers might be off though... for obvious reasons). A few other threads have people clocking in around 40-50 hours as well, with a few people going as low as 20 hours for the first playthrough. The last thread also has a poll, with the majority taking 40+ hours.
A few other Q&A sites have times ranging from 40-60 hours as well. This Sorean person took about 20 hours, although not sure if I trust that Stack Exchange site... some pretty shifty folk on there.
IGN's review states:

It'll keep you busy for at least 50
  hours and you could spend double that
  in Nintendo's new Hyrule. So much to
  do and see that you'll be busy for
  weeks, if not months.

In response to a question posed by Kotaku, Nintendo reps stated the game has 70 hours of gameplay.
Howlongtobeat.com has the average for the main quest at 34 hours, and an average of 57 hours to achieve 100%. The average for all players was 48 hours.
As you can see, on average it takes people anywhere from 40-60 hours for their first play through; although some people completed it in half that time, and others over double. In other words, it depends on a combination of your skill level and how much exploration you do.
Comment: The ratio of # references to question simplicity is approaching infinity here. +1
Comment: I wonder if there's a website that documents playtime for all RPG games.
Answer: It took me about 65 hours. I looked for every golden bug, every heart container, and every item as the game progressed. I did not search for every Po. It took me several hours to beat the abominable snowman's wife, Yeta, snow-boarding. She's a dirty, dirty cheater.
Comment: Indeed. Yeta was the single thing that made me curse while playing this game. The rest of the game was full of "how cool is that?" moments.
Answer: You're looking at about 20-25 hours if you do everything and don't die a lot (a few deaths is to be expected).
*First hand experience so take it with a grain of salt.
Comment: Sounds a bit too low for doing everything. I did it all, didn't die much, and clocked around 55 hours.
Answer: -Edit-
Whoops i didnt read the title good enough >.< i had OOT in my head when seeing the playtimes.
But TP took me about 26/28 hours
Answer: I've almost finished the story, and I'm at 40 hours. I have all the golden bugs, all the hidden skills, not all the heart containers (5 PoH per HC, AND there are fewer dungeons in this game than OoT or LttP? They're insane).
Answer: I found this new website today that collects people's play time and average it: How long till I beat Zelda Twilight Princess.


Gmail Recording in Chrome

Question: For a couple days now, Gmail unexpectedly gets its red "using microphone" circle on the tab even if I wasn't using hangouts or my microphone. Any idea why this is happening? This is on a laptop running on Windows 10 (From what I found on the meta, this was the best place to ask questions about Gmail, so sorry if I asked on the wrong SE.)
Answer: Have you considered seeing if an extension has access to your microphone on Google Apps? If it's not a clean install of chrome and you've previously installed chrome extensions the microphone may be in use by one of these extensions.
The only other thing I could think of is if you have a Google Voice or Hangouts conversation open that you are unaware of... but I highly doubt this would be the case with your issue.
Comment: Nevermind about that. I had Google Voice open. Sorry!
Comment: I looked through all of my extensions and none of them had access to my microphone in chrome://extensions/. However, it may have just been my bad and there was a Google Voice or Hangouts conversation open that I was not aware of. Thank you for your response!

Gmail Recording in Chrome


How to show Action Keys in window application always

Question: I have a window application that has a menu that contains some items like 'File', 'Open','Save','Close'. I have added a Action Keys to the every items in menu as given below.
<code>&File, &Open, &Save, &Close
</code>
Now when I run my application the all items visible without underline (Ex. File, Open , Save, Close) and when I press Alt button it appears with underline. And when I press Alt again the underline go invisible.
My problem is how can I set Action Keys to all the menu items that the underline always be visible either I press Alt button or not and when page load first time.
I am using Visual Studio 4.0 and Windows 7.
Comment: Thanks.It is working but how to enable "Underline keyboard shortcuts and access keys" using C#.because it is for full Operating System not for only any application.
Answer: One of the possible solutions is overriding of menu items painting.
For example when using the MenuStrip you can override it painting using the following code:
<code>menuStrip1.Renderer = new CustomMenuStripRenderer();
//
class CustomMenuStripRenderer : ToolStripSystemRenderer {
    protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) {
        e.TextFormat &= ~TextFormatFlags.HidePrefix; // Clear the "HidePrefix" bit
        base.OnRenderItemText(e);
    }
}
</code>


How to download Visual studio 2019 offline installer

Question: I am going to install visual studio 2019 community edition (latest version) in my PC.I have found link in google which has online installer (1376 KB) size.I would like to download offline installer of visual studio 2019 community Edition.Please share me the download link for offline installer
Comment: There is no ready-made offline installer. See [Create an offline installation of Visual Studio](https://learn.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019) for how to create your own image.
Comment: I have check above link,but how can I copy the cache file from one PC to another PC after download
Comment: You just `xcopy` the directory specified with`--layout`, see [Copy the layout to a network share](https://learn.microsoft.com/en-us/visualstudio/install/create-a-network-installation-of-visual-studio?view=vs-2019#copy-the-layout-to-a-network-share).
Comment: @dxiv - yeah... my problem is that bootstrapper (online installer) is unsigned and is blocked by AV and GPO on my system... Usual Microsoft "improvements".
Comment: @AcePL AFAICT the installers at https://learn.microsoft.com/en-us/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2019 are codesigned.
Answer: Microsoft no longer offers offline installers such as .ISO images of Visual Studio -- instead they have  instructions of placing the burden on you to create an offline installer. You need to use the --layout command line argument and then run the downloaded installer.

Download and Cache offline files:
vs_community.exe --layout f:\vslayout.2019 --lang en-US

Run from the cached directory
f:
cd \vslayout.2019
vs_community.exe --noWeb

NOTE: Change drive F to match a drive on your system that has ~35 GB of free space for MSVC 2019.  See the instructions for command line arguments to select just C++, .NET, etc. options.
You can get help on the command line arguments for the installer via:
vs_community --help

The relevant layout commands are:
command-line option     Description
--layout <dir>          Specifies a directory to create an offline install cache.
--lang <locales>        Used with --layout to prepare an offline install cache with resource packages with the specified language(s). See a full list of supported language-locales below.
--add <workload>        One or more workload or component IDs to add. The required components of the artifact are installed, but not the recommended or optional components. You can control additional components globally using --includeRecommended and/or --includeOptional. For finer-grained control, you can append ;includeRecommended or ;includeOptional to the ID (for example, --add Workload1;includeRecommended or --add Workload2;includeOptional).
                        Note: If --add is used, only the specified workloads and components and their dependencies are downloaded. If --add is not specified, all workloads and components are downloaded to the layout.
--includeRecommended    Includes the recommended components for any workloads that are installed, but not the optional components. The workloads are specified either with --allWorkloads or --add.
--includeOptional       Includes the recommended and optional components for any workloads being included in the layout. The workloads are specified with --add.
--keepLayoutVersion     Apply changes to the layout without updating the version of the layout.
--verify                Verify the contents of a layout. Any corrupt or missing files are listed.
--fix                   Verify the contents of a layout. If any files are found to be corrupt or missing, they are redownloaded. Internet access is required to fix a layout.
--clean <paths to catalogs>

Comment: where is vs_community.exe? how do I download it?
Comment: @dangalg I couldn't find vs_community.exe on the "instructions" page either. However, modifying the links that are there seems to work: [https://aka.ms/vs/16/release/vs_community.exe](https://aka.ms/vs/16/release/vs_community.exe)
Comment: "Instructions" page has links.
Comment: .\vs_community.exe --layout f:\vslayout.2019 --lang en-US worked instead of vs_community.exe --layout f:\vslayout.2019 --lang en-US

.\
Answer: I have developed an application using VB.NET to dynamically generate batch (.bat) scripts that can be used to download Visual Studio 2017, 2019, and 2022. You can customize the script using the controls included in the application and download it to a targeted drive. You can download it here.
This is my contribution to the community.


Modbus over TCP concurrency pattern

Question: I'm trying to learn about MODBUS as a free-time project. It is a long standing desire to write my own driver in Golang. That being said, I'm now trying to design the concurrency model for device connections.
I'm using the MODBUS specifications from modbus.org as guidance. Specifically, my question arises after reading the MODBUS Messaging on TCP/IP Implementation Guide V1.0b
section 4.2 TCP CONNECTION MANAGEMENT:

Implementation Rules :

Without explicit user requirement, it is recommended to implement the automatic TCP connection management
It is recommended to keep the TCP connection opened with a remote device and not to open and close it for each MODBUS/TCP transaction,
  Remark: However the MODBUS client must be capable of accepting a close requestfrom the server and closing the connection. The
  connection can be reopened when required.
It is recommended for a MODBUS Client to open a minimum of TCP connections with a remote MODBUS server (with the same IP address).
  One connection per application could be a good choice.
Several MODBUS transactions can be activated simultaneously on the same TCP Connection.
  Remark: If this is done then the MODBUS transaction identifier must be used to uniquely identify the matching requests and responses.
In case of a bi-directional communication between two remote MODBUS entities (each of them is client and server), it is necessary
  to open separate connections for the client data flow and for the
  server data flow.
A TCP frame must transport only one MODBUS ADU. It is advised against sending multiple MODBUS requests or responses on the same TCP PDU.

1. What I normally would do
Use a connection pool. Each request takes a connection out of the pool and define a maximum amount of concurrent connections. If there are no connections available in the pool and N < Max create a new one. Idle connections close after a timeout. Closed and errored connections will be redialed as required. Requests can be done from multiple Go routines.
A Send() method will build and APU and Write() it on an acquired connection. It then attempts to Read(). Until the result comes back, this routine is blocked. On success the resulting APU is parsed into a PDU and returned to the caller. The connection is Put() back into the pool. In case of a connection error during Write() or Read(), the error is returned and the closed & connection is discarded. (Perhaps I'll implement some retrying later)
This method keeps a perfect relation requests, results and potential errors. Its a common used pattern if Go networking application like SQL drivers, HTTP, gRPC and more.
2. If I would follow the spec's advice
Use a single connection. Request PDUs are passed through a channel to a handler. The channel sequences the requests in a concurrent safe way. A handler runs in an infinite loop over the channel. For every PDU it builds an APU, which contains an incremental Transaction ID, as defined by the spec. This ID needs to be stored in a concurrent safe way into the connection object, probably with a return channel attached to it. For example a map[uint16]chan struct{pdu, error}, protected by a mutex.
A second loop iterates over Read(). When a reply arrives, it reads the header and decodes the transaction ID. The return channel is than obtained from the map, over which it sends back the PDU.
In this situation connection error handling and propagation becomes a bit more vague. In case of any error I would somehow lock the Write() loop until redial logic completes. But how to deal with the callers that are still waiting for their Read() results on a channel? It can be considered that their result will never arrive. Should the error be send to all channels currently waiting? Optionally, I can store the original request in the same map and re-transmit.
In any case, this approach feels fragile at best.
My questions
Which way should I go? My preference is clear (1). Will this lead to future problems on embedded devices? Unfortunately I don't have devices to work with yet, nor the experience with them.
Answer: The recommendation for using the minimum number of TCP connections is just a recommendation and not a requirement for conformance. This recommendation appears to be based on servers that have a limitation in the number of connections they can accept, or even a limitation in the number of connections from the same IP address.
I would recommend that you design the software such that you can start with the normal way of using a connection pool, but that you can switch that out later for a single TCP connection if it turns out to be needed.

Modbus over TCP concurrency pattern


How Klogd communicate with syslogd?

Question: On my system I have syslogd writing userpsace log messages into a persistent file on flash. I want to do same thing with my klogd messages. From manpages it seems Klogd by default send messages to console and to syslogd. But I am not able getting any kernel module messages in the same file.
Dmesg give me complete dump of module messages. So I know my module that generate kernel dump is working fine. I am not sure why I am not getting klogd messages. By default we do not have /var/log/messages. For testing I created one but I got partial dump from klogd into /var/log/messages file but that only when I'm restarting klogd.
Seems I am missing something. Do syslog.config control what messages it receive from klogd or it will receive all?
I am using Busybox's syslogd and Klogs implementation and not the standard one.
Answer: klogd -f specifies log file you want to use for kernel logging, have you tried that

How Klogd communicate with syslogd?


Software to visualize pdb file

Question: There is a file called protein data bank (.pdb) which contains the instructions for protein
I found a video in which it shows the visualization of the pdb file.
But I am not sure what software or tools are available to visualize the pdb file.
Answer: As you don't way which sort of visualization you are looking for I am unsure what exactly you need.
You might find rstoolbox (discussed here) useful. The tutorial shows an example of loading a PDB file and produces a number of visualizations:

Biopython can also read PDB files, (amongst others), and can write to OpenSCAD format files which are suitable for 3D visualization or printing on with a 3D printer. (See https://www.thingiverse.com/thing:3957471 for an example)
BioStructMap also looks to be relevant.
Note that Python, Jupyter and all of the other tools mentioned are available free, gratis & Open Source on most platforms.

Software to visualize pdb file


How can I tie up or fasten a pump bottle's nozzle, if it can't be locked?

Question: Unlike this question, I'm assuming here that a pump bottle's nozzle can't be locked. Then how can i stop the nozzle from being accidentally triggered, e.g. if I have it packed in luggage?
Answer: The simplest way would be to remove the pump mechanism altogether and find a screw-cap with the same thread to close up the bottle. Pump the mechanism dry, then pack it separately.
You could try jamming the nozzle open (with cardboard and tape) or closed (pump the nozzle all the way down and put the bottle into a box that is just the right height to not allow the nozzle to return to its usual position), but if anything gives way, be prepared for a mess.
Alternatively, just carry a refill-pack together with an empty pump bottle. Fill the bottle when you arrive.


Retaining information learned in computer science classes

Question: I'm a computer science student currently enrolled in a masters program. I've learned all kinds of interesting technical information this semester, and was wondering what is the best way to keep this information in my brain so I don't forget. I could solve any of the problems in my text books right now, and will probably do great on the final exams, but in a few months from now, I'm not so sure if I would be able to solve as many problems, and I'm not confident I would do as well on the final exams if I had to retake them. Seems like a waste to spend all that money on tuition if I'm just going to forget it all. What's the best way to keep it fresh? If it's not possible to keep it all in my brain, then I would at least like to figure out a system to commit it to a knowledge base where it can easily be recalled as needed.
Answer: In my experience, you have to use it or lose it.  The best programmers I know are the 'total geeks' who love programming.  They write code of all sorts every day.  That C# client might pay the bills, but when they go home they are writing expert systems or contributing to open source projects.
There is some research that indicates it takes 10 years to master something.  Chess, music, whatever.  The difference between people who spend 10 years showing up for work and those who spend the same 10 years mastering their craft is in how those 10 years are spent.  As it turns out, you just can't spend your days doing the same thing - you have to push yourself.  It's through this constant striving that you'll retain what you learned in school (because you'll need it) and you'll be learning much more.
Comment: That 10 years figure is, according to Malcolm Gladwell (in Outliers- the story of genius), of total dedication to a field for absolute mastery. He gives examples of The Beatles, Bach, Bill Gates and a basketball player who I don't remember but is apparently a big deal. Is the questioner aiming for this level or for being good "enough"? On the other hand, 10 years of immersion is also the requirement for fluency in a foreign language, which I guess applies to learning in computer world!
Comment: Thanks for the reference - I could not for the life of me remember the name of that book.  Re: your question: Well, Joe is pursuing a masters degree & one supposes they plan to make it their profession.  I don't know any programmers who tell me they plan to be mediocre.
Answer: I would not worry so much about forgetting what you've learned. I think Richard Feynman said too many people memorize useless facts that could just as easily be looked up in a book.  Concentrate on recognizing problems and knowing where to look up the information on how to solve it.
When you start your programming career, problems aren't going to pose themselves like this:

"Write a program to take a set of
  vertices and edges and compute the
  minimal spanning tree for the graph."

Learn how to look at problems and abstract them so they become something you learned how to solve elegantly in school. Then go to your books and refresh your memory on how to implement the algorithms.
Answer: Ah, If only there were Git for my brains, I could say I haven't lost my mind, its backed up somewhere.
True life alas is not so yet.
However, while you will not recall the method to solve every problem you can work on today,
feel good with the idea that your mind is not like your computer harddisk.
The way it remembers things is (in some ways) more like the content-addressable-memories in there.
So, while you will forget the techniques, the general concepts will be soaked in your brains.
You may use them later in your life to solve completely different problems (ones you never saw in your schooling life).
When you do see problems to solve later, and you take efforts to solve them -- that is when you will continue to 'remember'.
In that sense, you have something no computer manufacturer can afford --
Lots of CAM and Error Correction!
Keep solving them problems...
Comment: Funny you mention that.  Source control & supporting docs is exactly how I keep track of all those old solutions I've worked on in the past.  I'm a huge doxygen fanboy & I tend to write a fair bit of supporting documentation in my code (in part) so that it is easier to find later.  A happy by product is that all the code I write comes with the software design /  API docs built in.  Combine that with good source code control and some searching tools & it's usually easy to find a good solution to an old problem.
Answer: Having finished my CS degree a while ago, I have indeed forgotten much of the details of what I learnt there. I don't really think that's too big a deal though. At uni/college, you're learning core skills in a specific area and you're also learning how to go about learning those skills. The point is not to teach you everything thing you will need to know about various topics important to your career. The career of a (good) programmer is one that involves life-long learning.
As others have said, if you really want to retain as much as possible, the best solution is just to get stuck into practicing the concepts by writing your own software or contributing to open source projects. But don't stress about forgetting details, this is just an inevitable fact of life. When you come across something you've forgotten or never actually learnt, you just look it up and hopefully your foundational skills and competencies that you developed at school and along the way will mean a shorter time in picking it up. It'll probably happen again, and then again, and all of a sudden you find you know this concept backwards.
Of course there's probably a lot of useful tidbits inside all your notes and textbooks that would come in handy. Stuff like little gotchas and useful code snippets that are hard to remember. I keep my own local wiki to try and collect all these sorts of things for quick reference. You might find scouring your notes for these sorts of thing useful.
Also, I like to hold onto my textbooks and course notes for a while. I find that because they happen to be laid out in the way that I learnt these topics for the first time, they reflect better the way the knowledge is structured in my head and I can more readily understand what they're talking about.
Comment: Thanks! What software do you use for your wiki? It would be nice to have something which could render code nicely, like this website can.
Comment: I use Tomboy. It's pretty lightweight, so it may not quite do everything you might want, but it integrates nicely into Gnome (which I use) and lets you just worry about the notes rather than faffing around configuring it. It has a fixed width style which I use for code, but that's it, so no syntax highlighting (unless there's a plugin for it).
Answer: What you should remember isn't the problem solutions, but how you solved them.
That's the real trick; the problems are different almost every single time.
Just keep solving difficult problems.
(What I find useful is to introduce wickedly difficult problems that lie in wait for me for months, then strike without warning on a three day weekend. Keeps me in shape!)
Answer: I recommend a Supermemo type of flashcard software.  I use Mnemosyne.


How to search for similar works

Question: I'm writing a proposal for a book and have been asked to provide examples of similar books and list how my own work is different from them. Unfortunately I don't know how to approach this question because there are possibly many other books that share similar themes/plots/characters/etc that I've never read. How can I go about searching for books that may share such characteristics with mine (or any others I wish to write in the future)?
Answer: The point of this is to help the person judging the proposal know how to position and sell your book.  If there are other books in the same general space, it shows that there is a pre-existing market. This may be harder to demonstrate for a book that is well and truly unique --unfortunately in today's marketplace, no one wants to be a pioneer.  On the other hand, however, even the most experimental book typically has "distant cousins" it may resemble.  The thing to remember is that ultimately the question isn't really what books are like yours?, it's what audience will buy your book?  A book quite different from yours could be a good comparison if it has the same audience.
The only way to do this well is research --at a library, bookstore or on the internet.  A mistake I've personally made in the past is to use too many bestsellers as comparisons.  While it might seem that this would position your book as a future hit, it actually makes it seem like you only know the "greatest hits" among your competitors.
Once you've established that yes, people do in fact buy books like yours, the task shifts to showing why the world needs another entry in that category (in other words, what makes your book special).
Comment: So you're saying it's a more general question about genre and theme as it pertains to the audience, and I don't need to go pick out the closest possible matches, just some that target the same readers?
Comment: My best guess is that by "match" they mean that it matches the audience, not that the plot, characters or style must be identical.  A lot of it usually comes down to wanting to make sure right up front that it's the kind of book they actually publish.
Answer: Unlike Chris Sunami, I suspect that this task was not given to help the agent or publisher better sell the book. They are professionals and (should) know their field. If they don't, you have chosen the wrong publisher.
I rather believe that these professionals want to see if their prospective new author is a professional, too, and knows the context in which he is writing – or if he is ignorant of the literary tradition and artistic context in which he stands and with which his work is in dialogue with. After all, authors of a certain level of literacy are expected to write (give interviews and theorize) in relation to what goes on around him, and not write from and for himself.
Comment: So if I'm understanding you correctly, it's not so much about the mechanical task of finding the closest possible matches and postulating why mine is better/different, but more about showing that I'm not ignorant of my genre and context?
Comment: That's how I understand it, but you'd need to ask the person giving you this task to know why they want you to do it. We are just guessing and cannot read minds.
Comment: Is this something that isn't really standard practice in the publishing world (for fiction anyway)? I haven't published anything before so I'm not sure what to expect.
Comment: @thanby It's standard for *nonfiction.*  I haven't heard of it before for fiction, but I'm unsurprised.  While I wish I could believe *what*'s explantation of the motivation behind this request, the fact is, in today's publishing environment, the writer is expected to take on a large part of the selling and promotion of the book, even when publishing with a reputable publisher.

How to search for similar works


How to start when building a custom map?

Question: I want to build an empty map that I can customize as I like. Now, I know how the whole system works with the tiles and lon/lat coords, but I still dont understand how to contect between my tile's pixels and the lon/lat. I want to have an empty map that shows only my country and that I can edit things the way I like (I work with Android - dont know if it matters).
Answer: Write a class which derives from the Overlay class and override the onTap() method. Then you can add your overlay to the your MapView. A GeoPoint object, which represents the position of you tap, is passed to the onTap() method when you tab somewhere on the map.
You also can use onTouchEvent(). Given the screen coordinates of the touch, you can use a Projection (from getProjection() on MapView) to convert that to latitude and longitude.
Here is a sample project.


How can I manipulate a Sybase datetime string in Perl?

Question: I have a datetime field in a Sybase table, and need to use it in Perl for doing some calculations (differences to make sure I'm picking up the records that are at least 'n' mins apart). Now, if I simply do a select <datetime field>, Sybase returns a human readable field which is no use to me. I was looking at some way to convert this into say, an epoch based time, which will allow me to manipulate them easily in Perl.
I could be wrong but I didn't find an existing function for this in Sybase. The closest I got was datediff, which serves my purpose fine. In fact, I am using that as a workaround for now. The problem with datediff is because of the limitation on integer, it's capped at 68 years. I know my code probably won't be around till that time, but why introduce such a time-based limit on my own?
Is there a way to get around this?
Thanks!
Answer: If you're ok with doing it in the client, the Time::ParseDate module should be able to do the work for you.
Answer: The DateTime modules have served me well when I need to handle date/time calculations.
Use the DBD::Sybase syb_date_fmt() method to control the format, then use DateTime::Format::Strptime to parse your results and generate DateTime objects.  Use the DateTime epoch method to get your epoch time, or better yet do your math using the appropriate DateTime::Duration objects.
Answer: If you can't get Sybase and Perl to cooperate to give you a genuine DateTime object or something similar (like Time::Piece), then the way I usually handle such things is to try to convince the database to give me ISO standard date format (YYYY-MM-DDTHH:MI:SS) and convert from there.