|
|
Showmedo is proud to publish:[1780] Pygame tutorial – Installation, a video-tutorial by Kenny X This video is part of the series Using Pygame for Games
In this tutorial screencast you will learn how to install pygame on Linux, Mac, and Windows. I explain what you can find on http://pygame.org/download.shtml and how to find out if pygame wasn’t installed correctly.
One of the nice things about the web and coding in general is the occasional little distraction thrown up in the space of toolsets, coding-practice and the like. Today those eddies in cyberspace have brought fonts to the fore, after a while in which I really hadn’t given it too much thought. But the fact is, for someone hacking code all day a good font, while maybe not as critical as a good editor (VIM btw), is important. In the same way as buying a good bed is important, you’ll have been staring at this font for a good few life years, when time comes to cash in your programming chips. So is worth some consideration.
I generally go for a good, reliable mono-space default which is less likely to go horribly wrong (VIM sometime gets confused with widths) and is cross-platform and easy. Andale Mono tends to do the job, without feeling particularly classy. Anyway, the Consolas font crops up a lot in various programming contexts, e.g. Slashdot, Reddit, Stackoverflow.
So my curiosity has finally been piqued and I’m going to give it a try. I certainly don’t have the balls to try a proportional font, even if readability is improved by 18% or so. Here is today’s Slashdot thread, that undoubtedly gets to the heart of the issue. And a nice post from Hive-Logic about the top ten programming fonts, which suggests I should give Inconsolata a go. Which I probably will. The accompanying Reddit thread, that undoubtedly gets to the heart of the issue.
I’ll buzz back with an opinion when I’ve had time to absorb the changes. Exciting times…
Oh, and for linux bods such as myself, here’s a little hack to get them into VIM.
Getting Flowplayer up and running on the site was not quite as smooth as the nice web-site and clean API suggested. I’ll be documenting the whole gory process in the ‘Building a Website (with Python, jquery etc..)’ series, but in the meantime I’ll mention the hideous hackery needed to get over the final hurdle that is Internet Explorer 7.
Somewhere along the line I was looking to pass a web-address, as part of an html overlay, into the flash-player. This has the standard form:
"http://showmedo.com/videotutorials/video?name=1470110&fromSeriesID=147"
Now if one tries to pass that string into a flashplayer, all hell will break loose. Some of those symbols are going to be interpreted as controls rather than nice, neutral characters. For this reason they need to be ‘escaped’, and Turbogears provides a nice little function “quote_plus”, via Python’s urllib, to do just this. The result is this rather scary looking string:
"http%3A%2F%2Fshowmedo.com%2Fvideotutorials%2Fvideo%3Fname%3D1470110%26fromSeriesID%3D147″
This string makes it through the flash-player in all the browsers we’re interested in at Showmedo and produces a clickable flash-overlay which, strangely enough, takes one through to the page in question. Er, except (and twas ever thus), IE7 (not 8 <sigh>), where, when all the escape-artistry has taken place, we find ourselves directed to this non-existent page:
"http://showmedo.com/http://showmedo.com/videotutorials/video?name=1470110&fromSeriesID=147"
which is a very poorly URL indeed.
Now I’m guessing that somewhere at the heart of this is the issue of absolute and relative web-addresses. The second ‘http://…’ should be interpreted as an absolute address, but those unicode escape-characters have confused the system, making it treat the URL as relative, thus adding another root-url.
If I had time to explore this horror I would probably spend it doing something else, but in these time-starved times I just did a little bit of playing around and added a hack-function which undoes the ‘:’ and ‘/’ escapes of “quote_plus”, producing this:
"http://showmedo.com/videotutorials/video%3Fname%3D1470110%26fromSeriesID%3D147″
Which makes it through the browser minefield, but, as seems so often the case with this messed up web-development world, at the cost of some serious inelegance.
If this gets through, the soon to be awesomeness of this blog will be seeping through to twitter automatically. Or crashing something somewhere. Going to keep on writing to hit the 140 limit – and see what it does with that.
It’s been much more work than anticipated (a definite screencast or three in there somewhere) but we’ve finally moved to the open-source flowplayer Chief benefits are:
- much cleaner jquery-like API
- far greater control over the video-player area. Which means…
- innovative ways of directing users to new content and…
- with luck much more interactivity with the video-player
p.s. the commenting on-site is getting a much-needed overhaul. With a bit of cookie-magic we should be able to get some dialogues going and vanquish those nasty anonymous comments (mea culpa).
Showmedo is proud to publish:[1452] Closing remarks and using dictionaries effectively for scientific computing, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this final segment, we highlight concepts important for new scientific Python programmers, especially those coming from a Matlab environment. We discuss effective use of Python dictionaries and the timeit profiling module. We also discuss the defaultdict object for quick and easy database creation useful for keeping track of data in multiple parameter runs.
Showmedo is proud to publish:[1451] Garbage Collection in Python – Part II -, a video-tutorial by gasto This video is part of the series Python from zero.
How to instantiate the previously created class ( Foo ) is shown, using IDLE (the Integrated Development Environment , that comes with the standard CPython distribution). 2 referrers are created to understand that up until all referrers are deleted, the Python garbage collector may claim the associated instance (destruct it, deallocate it).
variables in Python are simple names associated to an instance (it could be a value). Examples are shown to enforce this concept.
Showmedo is proud to publish:[1443] Working with an OpenDocument Format (.odt) file, a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users
Now let’s look at a native document – OpenOffice works with .odt files (OpenDocument Text). Normally these are zipped structures that contain xml and binary data – here we look at what’s inside an .odt file.
If you’re curious, you can poke inside your own .odt files using my instructions.
You’ll find more tips at at 3monkeyweb.
Showmedo is proud to publish:[1442] Working with Word (.doc) files, a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users
An early hurdle when switching to OpenOffice will be the question of whether you can still share documents with MS Office users. Of course you can! Here we edit a document in both MS Word 2003 and OpenOffice 3.1 Writer to show that all formatting is preserved.
You can read a bit more about MS Office and OpenOffice.
Showmedo is proud to publish:[1441] Installing OpenOffice 3.1 on Windows XP (Free), a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users
In just over 2 minutes we run you through the installation of OpenOffice 3.1 on Windows XP. We also show you how you can download a version of OpenOffice for Windows, Mac or Linux in different languages.
Visit OpenOffice.org to get started.
Showmedo is proud to publish:[1440] Series Overview in 4 minutes (OpenOffice 3.1 for Word users) (Free), a video-tutorial by Ian Ozsvald This video is part of the series OpenOffice Writer 3.1 for Microsoft Word users
In this series we help you move from Microsoft Word (2003 is our example) to OpenOffice 3.1. We show you how to use both Word and Office to edit the same document and how to do all the usual functions in OpenOffice, as well as where to go to get your questions answered.
Visit OpenOffice.org to get started, see the live download counter and read more background at WikiPedia.
Showmedo is proud to publish:[1439] Case Study: Robust Regression Methods Using Python and Parallel IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we continue with the case study of robust regression methods, but here we show how to use generators and the parallel computing features of IPython to accelerate the computation.
Showmedo is proud to publish:[1438] Case Study: Robust Regression Methods Using Python continued, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss how the least-median estimate can be computed from the sample dataset using generators.
Showmedo is proud to publish:[1437] Case Study: Robust Regression Methods Using Python , a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this case study, we pull together everything we have learned so far in order to compute the least MEDIAN squared estimate of a line given data with outliers present. This segment describes the fundamental problem.
Showmedo is proud to publish:[1435] Finer Control for Parallel Computing in IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss the push, pull, and push_function, features of IPython that allow finer control over individual namespaces of remote nodes and over the computations that run on them.
Showmedo is proud to publish:[1434] Distributing Parallel Computations Using IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss the map feature to distribute computations across the available nodes, how to use targets to specify which nodes to use, and how to use blocking to avoid waiting for long computations to finish.
Showmedo is proud to publish:[1433] Basic Parallel Computing Using IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss cover importing modules for the remote nodes and how to distribute data (i.e. scatter, gather) to and from these nodes.
Showmedo is proud to publish:[1432] Getting Started with Parallel IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
IPython provides excellent interactive parallel computing tools. In this segment, we discuss how to set up remote computational engines using ipcluster and how to use special magic commands in IPython to use these remote engines.
Here we show how to run the IPython interpreter on the Windows PC (as usual), but connect to and interact with remote computational engines.
Showmedo is proud to publish:[1431] Garbage Collection in Python – Part I -, a video-tutorial by gasto This video is part of the series Python from zero.
We view an animated illustration of how the garbage collector collects objects under Python 3.0 . That is, two referrers are created by being associated to the Foo class instance, and the Foo class instance itself its created when at least one referrer is left, destroyed when no referrers to it are left.
the weakref being associated to the Foo instance, at the end of the animation, is not accounted for the reference count (as seen in the refcount counter at the top-right side of the animation).
I type in the class Foo that we will be using in further videos, to explain garbage collection.
Note : the class created here is not intended for any practical purpose. It is just of use for the exercise on learning the concepts behind garbage collection in Python.
Finally we’ve finished the Python Beginners über-series in our Club. In total the Club has 118 videos over 15 series all focused on teaching new Python skills. Now we’re done with Python beginners we’ll be expanding our scope.
In just under 30 minutes in the File I/O Tutorial I cover reading text files, writing textfiles, using binary files (with Python Imaging Library as the example) and persisting data with the pickle module.
Now that we’re finished with the raw episodes and our Learning Paths are usable I’m tying together all the Python videos (free+Club) into paths-of-learning that teach you about topics including:
- Starting to Program with Python
- Getting Python Installed
- Walking through fully-written programs (long step-by-step series)
- Python development environments and tools
- Python GUI development
- Django
- Web-application development
The learning-paths, and learning how to use them effectively, are very much a work in progress. As ever we welcome any and all constructive feedback.
Once we’re done with the Python learning paths we’ll start to tie together all the other topics in ShowMeDo (heck – we have well over 1000 screencast tutorials now!) to make learning much easier.
Showmedo is proud to publish:[1435] Finer Control for Parallel Computing in IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss the push, pull, and push_function, features of IPython that allow finer control over individual namespaces of remote nodes and over the computations that run on them.
Showmedo is proud to publish:[1433] Basic Parallel Computing Using IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
In this segment, we discuss cover importing modules for the remote nodes and how to distribute data (i.e. scatter, gather) to and from these nodes.
Showmedo is proud to publish:[1432] Getting Started with Parallel IPython, a video-tutorial by unpingco This video is part of the series Scientific and parallel computing using IPython
IPython provides excellent interactive parallel computing tools. In this segment, we discuss how to set up remote computational engines using ipcluster and how to use special magic commands in IPython to use these remote engines.
Here we show how to run the IPython interpreter on the Windows PC (as usual), but connect to and interact with remote computational engines.
Showmedo is proud to publish:[1431] Garbage Collection in Python – Part I -, a video-tutorial by gasto This video is part of the series Python from zero.
We view an animated illustration of how the garbage collector collects objects under Python 3.0 . That is, two referrers are created by being associated to the Foo class instance, and the Foo class instance itself its created when at least one referrer is left, destroyed when no referrers to it are left.
the weakref being associated to the Foo instance, at the end of the animation, is not accounted for the reference count (as seen in the refcount counter at the top-right side of the animation).
I type in the class Foo that we will be using in further videos, to explain garbage collection.
Note : the class created here is not intended for any practical purpose. It is just of use for the exercise on learning the concepts behind garbage collection in Python.
|