<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Latest Comments for lebigot</title><link>http://disqus.com/by/lebigot/</link><description></description><atom:link href="http://disqus.com/lebigot/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 10 Jun 2021 16:37:15 -0000</lastBuildDate><item><title>Re: Unicode &amp; Character Encodings in Python: A Painless Guide</title><link>https://realpython.com/python-encodings-guide/#comment-5415461300</link><description>&lt;p&gt;Congratulations on this!&lt;/p&gt;&lt;p&gt;Now, just to nitpick: UTF-8 &lt;i&gt;is&lt;/i&gt; actually part of the Unicode standard.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Thu, 10 Jun 2021 16:37:15 -0000</pubDate></item><item><title>Re: Installing Python Packages from a Jupyter Notebook</title><link>http://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/#comment-4353174882</link><description>&lt;p&gt;Thanks: this is interesting and clear.&lt;/p&gt;&lt;p&gt;Now, it is actually meaningful to sometimes do "*sudo* pip install…": when you want to add a package to the Python of the computer's *package manager* (like MacPorts on MacOS): this is mostly as safe as using your package manager, as there is no clobbering of the system Python.&lt;/p&gt;&lt;p&gt;Also, technically it's not the "operating system" that finds executables but the shell that you're using (typically through its $PATH environment variable). The operating system mostly launches the executable determined by the shell.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Mon, 25 Feb 2019 05:44:20 -0000</pubDate></item><item><title>Re: Python Code Quality: Tools &amp; Best Practices</title><link>https://realpython.com/python-code-quality/#comment-4014515649</link><description>&lt;p&gt;This is a useful reference, thanks!&lt;/p&gt;&lt;p&gt;A small correction: according to PEP 8, global variables are *not* supposed to be in uppercase letters. Constants (which are typically global) are.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 31 Jul 2018 04:50:18 -0000</pubDate></item><item><title>Re: Let’s stop copying C</title><link>https://eev.ee/blog/2016/12/01/lets-stop-copying-c/#comment-3033337317</link><description>&lt;p&gt;Thanks Eevee. About returning multiple values in Python 3: mentioning the extended tuple unpacking is interesting:&lt;/p&gt;&lt;p&gt;x, *_ = f()&lt;/p&gt;&lt;p&gt;extracts the first value and is not tripped by a change in the number of return values. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sat, 03 Dec 2016 14:50:45 -0000</pubDate></item><item><title>Re: R vs Python: head to head data analysis</title><link>https://www.dataquest.io/blog/python-vs-r/#comment-2946741409</link><description>&lt;p&gt;Nice post, thanks! I think that it is important to point out (in the summary) that the object-oriented vs function approach has a serious practical impact: when performing analyses interactively (through a REPL/language shell), the object-oriented approach combined with completion *lists all the methods that you can apply to your (e.g. dataframe) object*. This is very useful, as it speeds up the analyst's work (object-orientation + completion makes finding relevant methods faster than if having to browse a long documentation that contains many functions that do many things on many different kinds of objects).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 12 Oct 2016 11:27:46 -0000</pubDate></item><item><title>Re: Pro Tip - Pip Upgrade All Python Packages</title><link>http://mikegrouchy.com/blog/2014/06/pro-tip-pip-upgrade-all-python-packages.html#comment-2933393132</link><description>&lt;p&gt;Instead of "pip freeze --local", "pip list --outdated" seems more adapted, no?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 04 Oct 2016 16:20:26 -0000</pubDate></item><item><title>Re: Moving to Singapore</title><link>http://www.expatinfodesk.com/expat-guide/deciding-on-the-right-country/top-expatriate-destinations/singapore/#comment-2183554270</link><description>&lt;p&gt;An important, practical point about the climate is that it is arguably not really nice: a 5 minute walk in the humid heat is OK, and a 10 minute one is about as far as one can get without feeling too uncomfortable. This has implications on family life (no outings for many hours during the day) and connections with the metro (a metro stop more than 10 minutes away is "far").&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sun, 09 Aug 2015 19:42:05 -0000</pubDate></item><item><title>Re: Petabyte-Scale Text Processing with Spark - Grammarly Lab Journal</title><link>https://tech.grammarly.com/blog/petabyte-scale-text-processing-with-spark#comment-2150301193</link><description>&lt;p&gt;Thank you so much for sharing the hard earned fruits of your investigations!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 22 Jul 2015 00:00:57 -0000</pubDate></item><item><title>Re: Threading and Multiprocessing Tutorial for Python | Toptal</title><link>https://www.toptal.com/python/beginners-guide-to-concurrency-and-parallelism-in-python#comment-1920643149</link><description>&lt;p&gt;Good job: it is rare to see bloggers who write good Python code! :)&lt;br&gt;Now, you share the speed up obtained with threads: what do you get with multiprocessing?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sat, 21 Mar 2015 21:29:36 -0000</pubDate></item><item><title>Re: The Top Mistakes Developers Make When Using Python for Big Data Analytics</title><link>https://www.airpair.com/python/posts/top-mistakes-python-big-data-analytics#comment-1821293905</link><description>&lt;p&gt;Indeed, I was thinking of the way Epoch time handles leap seconds. There are also related problems with some imperfect (POSIX) implementations. Depending on the application, it can be a detail or not.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 28 Jan 2015 07:26:40 -0000</pubDate></item><item><title>Re: The Top Mistakes Developers Make When Using Python for Big Data Analytics</title><link>https://www.airpair.com/python/posts/top-mistakes-python-big-data-analytics#comment-1821058013</link><description>&lt;p&gt;Interesting points: they are not all found everywhere (yet :). Some of the mistakes are really basic (like not even knowing that the standard library contains a csv module), but some are indeed more subtle, or learned by experience, which is useful.&lt;br&gt;Now, you might also want to mention that Epoch time is not continuous and unambiguous, and can therefore yield to surprises. About fromtimestamp(): you might want to mention the existence of utcfromtimestamp(), as it gives a way of avoiding the local timezone mistake.&lt;br&gt;Very good advice, at the end.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 28 Jan 2015 02:33:34 -0000</pubDate></item><item><title>Re: Invaders</title><link>http://www.meoplesmagazine.com/2014/03/31/invaders/#comment-1703344120</link><description>&lt;p&gt;Thank you so much for this review: it's one of the best ones out there. :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Thu, 20 Nov 2014 10:17:56 -0000</pubDate></item><item><title>Re: Try / Except Performance in Python: A Simple Test</title><link>http://paltman.com/2008/01/18/try-except-performance-in-python-a-simple-test/#comment-1382547173</link><description>&lt;p&gt;The tests are not comparing comparable things: the `try` tests get the value (get=…) while the `if` tests do not.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 13 May 2014 05:13:57 -0000</pubDate></item><item><title>Re: Try / Except Performance in Python: A Simple Test</title><link>http://paltman.com/2008/01/18/try-except-performance-in-python-a-simple-test/#comment-1382543766</link><description>&lt;p&gt;Using the standard timeit module would be a more robust way of performing the timings. It would make the conclusions more robust too.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 13 May 2014 05:08:25 -0000</pubDate></item><item><title>Re: The Kitchin Research Group</title><link>http://jkitchin.github.io/blog/2013/07/05/Uncertainty-in-polynomial-roots#comment-1004704120</link><description>&lt;p&gt;While np.sqrt does not work with numbers with uncertainties, the uncertainties.unumpy module offers many uncertainty-aware NumPy functions. Here, you can you for example do "from uncertainties import unumpy as unp" and use unp.sqrt(…). More information is available at &lt;a href="http://pythonhosted.org/uncertainties/numpy_guide.html" rel="nofollow noopener" target="_blank" title="http://pythonhosted.org/uncertainties/numpy_guide.html"&gt;http://pythonhosted.org/unc...&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sat, 17 Aug 2013 09:54:37 -0000</pubDate></item><item><title>Re: Numba vs. Cython: Take 2</title><link>http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/#comment-991276172</link><description>&lt;p&gt;I'd like to mention that Numba is also available on OS X through MacPorts: this is quite convenient.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 07 Aug 2013 06:32:00 -0000</pubDate></item><item><title>Re: The Kitchin Research Group</title><link>http://jkitchin.github.com/blog/2013/03/07/Another-approach-to-error-propagation#comment-873194534</link><description>&lt;p&gt;Thank you for this review of the uncertainties package!&lt;/p&gt;&lt;p&gt;The fsolve() case does not work because func() returns a number with uncertainties, and fsolve() has no idea of how to find the root of a function that returns a number with uncertainties. (The error message returned by version 2.3 of the package raises an exception from inside SciPy.)&lt;/p&gt;&lt;p&gt;The way of finding the uncertainty on the root is to write a function func2(Ca, v0, k, Fa0, V) with the same code as your func(); the idea is that this function returns a *float* (when given floats), because fsolve() knows how to find the root of a function that returns floats. The solver that can be wrapped is then def Ca_solve(v0, k, Fa0, V): return fsolve(func2, 0.1*Fa0/v0, args=(v0, k, Fa0, V))[0]; again the important point is that this is a function that yields a float when given floats. wrap() can handle such function: wrap(Ca_solve)(v0, k, Fa0, V) returns the desired solution with uncertainty (0.005+/-0.000167764330589 mol/L).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 23 Apr 2013 08:59:21 -0000</pubDate></item><item><title>Re: Communication Between Processes - Python Module of the Week</title><link>http://pymotw.com/2/multiprocessing/communication.html#comment-539748359</link><description>&lt;p&gt;Thanks! this does make sense, indeed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sun, 27 May 2012 09:37:08 -0000</pubDate></item><item><title>Re: Communication Between Processes - Python Module of the Week</title><link>http://pymotw.com/2/multiprocessing/communication.html#comment-539517372</link><description>&lt;p&gt;Thanks for your answer, but I still can't see why a JoinableQueue seems to be *needed*. Why not simply using a simple Queue (not Joinable) of producers and wait for the processes to finish with a join() on each of them?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sat, 26 May 2012 22:05:58 -0000</pubDate></item><item><title>Re: Communication Between Processes - Python Module of the Week</title><link>http://pymotw.com/2/multiprocessing/communication.html#comment-536412102</link><description>&lt;p&gt;Could you elaborate on why you use a JoinableQueue in the poison pill example? Would it be reasonable to use a simple Queue instead and wait for the consumers to finish with a join() on each of them?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Wed, 23 May 2012 04:47:01 -0000</pubDate></item><item><title>Re: &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;multiprocessing&lt;/span&gt;&lt;/tt&gt; Basics - Python Module of the Week</title><link>http://pymotw.com/2/multiprocessing/basics.html#comment-535360433</link><description>&lt;p&gt;Thank you for yet another interesting entry.&lt;/p&gt;&lt;p&gt;I would like to mention that the output of the last join() example (the one with a daemon process) is missing a "Starting: daemon" line.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 22 May 2012 04:53:16 -0000</pubDate></item><item><title>Re: Angular Size and the Height of a Space Balloon</title><link>http://www.wired.com/wiredscience/2012/05/angular-size-and-the-height-of-a-space-balloon/#comment-529089595</link><description>&lt;p&gt;Calculations with uncertainties can be done directly in Python with the uncertainties Python package (available on the Python Package Index: &lt;a href="http://packages.python.org/uncertainties/)" rel="nofollow noopener" target="_blank" title="http://packages.python.org/uncertainties/)"&gt;http://packages.python.org/...&lt;/a&gt;. Disclaimer: I am the author of this package. :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 15 May 2012 02:01:14 -0000</pubDate></item><item><title>Re: Why I&amp;#8217;m not on the Julia bandwagon (yet)</title><link>http://wesmckinney.com/blog/?p=475#comment-521319814</link><description>&lt;p&gt;Thank you for this interesting point of view.&lt;/p&gt;&lt;p&gt;I looked at a couple of Python benchmarks from the Julia site, and some benchmarks are arguably not Pythonic and, as a consequence, much slower than they have to be (the pi_sum code is an example: a for loop is used, ala C, where Python coders would certainly use the built-in sum() function with an iterator).&lt;/p&gt;&lt;p&gt;So, my take is the Julia is indeed fast, but that at least some Python benchmarks are arguably not representative and, therefore, useful.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sun, 06 May 2012 22:15:32 -0000</pubDate></item><item><title>Re: How I Develop Things and Why </title><link>http://www.kennethreitz.com/how-i-develop-things-and-why.html#comment-422961182</link><description>&lt;p&gt;I would like to point out that OneNote is not only available for Windows, but also for iOS (iPhone).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Sat, 28 Jan 2012 10:24:14 -0000</pubDate></item><item><title>Re: Homebrew vs. MacPorts | Ted Wise</title><link>http://tedwise.com/2010/08/28/homebrew-vs-macports/#comment-331900775</link><description>&lt;p&gt;Just a correction: Fink actually also lets you compile from source, very much like MacPorts.  With this option, you get more up to date versions of the programs, compared to the Fink binaries.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eric O LEBIGOT (EOL)</dc:creator><pubDate>Tue, 11 Oct 2011 15:02:07 -0000</pubDate></item></channel></rss>