I am trying to change an extension for a file, and I got two options.   os.path.splitext(os.path.basename(g_filename))[0] + ".new"  os.path.basename(g_filename).split('.')[0] + ".new"  Both gives the same output. So i am getting a new file called oldfile.new from oldfile.old  No possibility of having too many '.' in the file name.  Which is better of these two? What is the thumb rule (if any)?
In , the votes clearly show that the os.path.splitext function is preferred over the simple .split('.')[-1] string manipulation. Does anyone have a moment to explain exactly why that is? Is it faster, or more accurate, or what? I'm willing to accept that there's something better about it, but I can't immediately see what it might be. Might importing a whole module to do this be overkill, at least in simple cases?  EDIT: The OS specificity is a big win that's not immediately obvious; but even I should've seen the "what if there isn't a dot" case! And thanks to everybody for the general comments on library usage.
I need to upgrade my existing Ubuntu system, and I also want to install Ubuntu on a new laptop.  I would like to have an installation CD or DVD to do both of these.  Where exactly I can order or request an Ubuntu installation CD/DVD/USB? How do I use multirow in LaTeX? How do I code a table to look like this? I'm not the best at LaTeX and can't seem to wrap my head around \multirow. I checked other examples prior to posting but they used \multicolumn and it just confused me even more. Thanks in advance!    \begin{center} \begin{tabular}{ |c|c|c|c|c|}   \hline  TextA &amp; TextB &amp; TextC &amp; TextD &amp; TextE\\  \hline  A &amp; TextF &amp; TextG &amp; TextH &amp; TextI\\  B &amp; TextJ &amp; TextK &amp; TextL &amp; TextM\\  C &amp; \multirow{2}*{TextF} &amp; TextG &amp; TextH &amp; TextI\\  \cline{3-3}  &amp; TextJ &amp; TextK \\ \hline \end{tabular} \end{center}   I was trying something like this.. I'm starting to have problems as I'm trying to multirow within a multirow? I'm not sure of the process here. I would like TextG to be split into 2 and TextH and TextI to be the cells which are split in 3 but not sure how to go about it. Will then TextJ and TextK be the contents of the split TextG cell? Speed of light travel I have just started special theory of relativity. The limiting speed known as speed of light fascinated me most. I asked my teacher:      Consider two massless objects moving in the same direction at the speed of light. What would be their relative velocity w.r.t each other?   My teacher tells me that their relative velocity would be zero. But then the speed of light is universal constant regardless of the motion of its frame of reference, so shouldn't their relative velocity be $c$? What is their relative velocity and how? Do objects moving at the speed of light obey law of addition of velocities? Take the following two lines of code:  for (int i = 0; i &lt; some_vector.size(); i++) {     //do stuff }   And this:  for (some_iterator = some_vector.begin(); some_iterator != some_vector.end();     some_iterator++) {     //do stuff }   I'm told that the second way is preferred. Why exactly is this? If shuffle-playing playlist &times;100 resulted in [10 13 10  3  2  2] different songs being repeated [1 2 3 4 5 6] times, what is the estimate for the total number of songs? (assuming shuffle play was completely random)  Update: (R code)  k &lt;- 50 # k number of songs on the disk indexed 1:k n &lt;- 100 # n number of random song selections m &lt;- 20 # m number of repeat experiments colnum &lt;- 10 mat &lt;- matrix(data=NA,nrow=m,ncol=colnum) df &lt;- as.data.frame(mat) for(i in 1:m){   played &lt;- 1+floor(k*runif(n)) # actual song indices (1:k) selected    freq &lt;- sapply(1:k,function(x){sum(played==x)})   # = number of times song with index x is being played   histo &lt;- sapply(1:colnum,function(x){sum(freq==x)});   for(j in 1:colnum){    df[i,j] &lt;- histo[j]   } } df   Resulting in: e.g. 20 distributions (V1=number of single plays, V2=number of double plays, etc):     V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 1  15 13 11  1  2  2  0  0  0   0 2  15 12 10  1  4  0  1  0  0   0 3  12 14  7  6  3  0  0  0  0   0 4  17 16  6  4  2  0  1  0  0   0 5  17 10 12  5  0  0  1  0  0   0 6  13 15 11  6  0  0  0  0  0   0 7  10 14  9  3  2  1  1  0  0   0 8  12 17  5  6  3  0  0  0  0   0 9   9 19  8  3  1  2  0  0  0   0 10 13  9 11  6  1  0  1  0  0   0 11 16  9 12  5  2  0  0  0  0   0 12 15  9 11  6  2  0  0  0  0   0 13 19  9  7  4  4  1  0  0  0   0 14 17 11  4  7  3  1  0  0  0   0 15 11 20  8  1  3  1  0  0  0   0 16 14 12 10  5  0  2  0  0  0   0 17  9 12  8  7  3  0  0  0  0   0 18 10 15  9  4  2  0  1  0  0   0 19 14 11 12  7  0  0  0  0  0   0 20 16 14 11  3  1  1  0  0  0   0   Now I need to get from here to the Poisson modelling--my R is a bit rusty (?lmer)...--Any help would be appreciated...  Attempted Poisson modelling: disappointing fit?!  plot(1:colnum,df[1,1:colnum],ylim=c(0,30),    type="l",xlab="repeats",ylab="count") for(i in 1:m){   clr &lt;- rainbow(m)[i]   lines(1:colnum,df[i,1:colnum],type="l",col=clr)   points(1:colnum,df[i,1:colnum],col=clr) }  df.lambda=data.frame(lambda=seq(1,5,0.1),ssq=c(NA));df.lambda for(ii in 1:dim(df.lambda)[1]){   l &lt;- df.lambda$lambda[ii]       ssq &lt;- 0       for(i in 1:20){         for(j in 1:10){           ssq &lt;- ssq + (df[i,j] - n*dpois(j,l))^2         }       }       print(ssq)       df.lambda$lambda[ii] &lt;- l   df.lambda$ssq[ii] &lt;- ssq     }     df.lambda     lambda.est &lt;- df.lambda$lambda[which.min(df.lambda$ssq)] lambda.est # 2.4 points(x &lt;- 1:10, n*dpois(1:10,lambda.est),type="l",lwd=2)  100*dpois(1:10,3) n/lambda.est   the estimated lambda stays around 2.3, with an n estimate of around 43; the fitted curve seems very discrepant, and seems to worsen with rising n !?  Doesn't this have to do with the fact, that our repeats are different from the 'classical' Poisson distributions: it's not just ONE event that repeats itself x number of times, but the sum of repeats of different items (songs)?! How does the "this" keyword work? What is a suitable image resolution for canvas prints? I would like to create a 60 inch x 20 inch canvas print using an image with a resolution of 4759x1798 (240 pixels per inch) and I would like to know if the image quality will still be good at that size.  To generalise the question, what is the recommended maximum size of an enlargement at varying image resolutions?  e.g. 3 megapixel, 5 megapixel, 8 megapixel, etc Let $$S=\sum_{n=1}^{\infty}x^{n^2}, \quad|x|&lt;1.$$  It is convergent and the sum is definitely less than $1/(1-x).$   Is there any closed form for $S$ ? Do I have to pay taxes in the US if my online store sells to US customers even though I don't live in the US? I  own a website and I sell digital content. I'm a nonresident alien with the US. Most of my customers are US based so I was wondering will I have to pay any taxes to the US?  I have read that      For nonresidents, taxable income is separated into two categories:         Income that is effectively connected with a U.S. trade or business, after the deductions that are allowed, is subject to U.S. income tax   at graduated rates - the same rates that apply to U.S. citizens and   residents - or lower rates if the provisions of a tax treaty apply.   Income that is subject to U.S. income tax, for being U.S. source income, but that is not effectively connected with a U.S. trade or   business, is subject to a flat 30% tax      Is this true and do I belong to any of these categories?  If I form an LLC or C corp am I liable for this withholding tax?  My customers are based in the US and I believe all income is considered FDAP income according to the IRS:     Fixed, Determinable, Annual, or Periodical (FDAP) income is all   income, except:         Gains derived from the sale of real or personal property (including market discount and option premiums, but not including original issue   discount)   Items of income excluded from gross income, without regard to the U.S. or foreign status of the owner of the income, such as tax-exempt   municipal bond interest and qualified scholarship income      The thing is the IRS also says:     Effectively Connected Income, after allowable deductions, is taxed at   graduated rates. These are the same rates that apply to U.S. citizens   and residents. FDAP income generally consists of passive investment   income; however, in theory, it could consist of almost any sort of   income. FDAP income is taxed at a flat 30 percent (or lower treaty   rate) and no deductions are allowed against such income. Effectively   Connected Income should be reported on page one of Form 1040NR. FDAP   income should be reported on page four of Form 1040NR.   In the last quote, it’s like they say it only applies to passive income but if they feel like it, they can apply this to all income?? Question from HNQ widget on Android doesn't load, showing last viewed question instead I have found myself in an uncomfortable situation after clicking the Hot Network Question widget.   I click the widget, it opens Stack Exchange app and doesn't refresh. That causes me seeing the question I haven been reading a while ago. Fact is that I haven't killed the app since using it last time.   Is there any known workaround to prevent this bug occurring every time I want to read a question opened from a widget? Killing the app/deleting data every time is not a convenient option.   It happens on all Android devices, so device specs aren't relevant, I guess.   Edit: it isn't reproducible 100% of the time. Sometimes it works. Are there any free/open source alternatives to Adobe After Effects? I've been a illustrator and graphic designer for a number of years and now I'm looking to go more into motion graphics and visual effects. Is there anything that is open source/free (not a demo, education version or trial) that is as complex and feature-rich as Adobe After Effects but for Linux? I've tried Cinlerra, kdenlive, openshot and Blender and whilst they are good at video editing (and 3d modelling in Blender's case) they fall short in effects and compositing features.  I've also tried , but the project recently closed and the last update was quite buggy.  Also,  doesn't work and hasn't been updated in many many years, so don't mention it ;-) Which types of particles are affected by the wave-particle duality? Read/write to Windows registry using Java How is it possible to read/write to the Windows registry using Java? Shuffling questions in exam Place label in middle of line with TikZ What is the best way to place a label in the middle of a line with TikZ? I mean smack dab in the middle of the line, not above or below it. The following is close  \begin{tikzpicture} \draw[|-&gt;, color=red] (-4cm, 0.5cm) -- (2.5cm, 0.5cm) node[midway, color=black] {$\tau_{r}$}; \end{tikzpicture}   But the line crosses right through the node and its text, which is bad.  I don't know if there is an option to choose the background color of a node, which I think would solve the problem (e.g. background=white). fill doesn't seem to work. Combining the second elements of a set of ordered pairs based on their first element In the standard PrintDialog there are four values associated with a selected printer: Status, Type, Where, and Comment.  If I know a printer's name, how can I get these values in C# 2.0? Why is Euler's Totient function always even? How to resize partitions? If $\sum_{n=1}^{\infty} a_n$ is absolutely convergent, then $\sum_{n=1}^{\infty} (a_n)^2$ is convergent