tag:blogger.com,1999:blog-48368124232168324472024-03-05T18:53:12.386-08:00Joel's LinuxThings that I've found, done, liked, hacked, or forgotten in Linux / PerlAnonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.comBlogger57125tag:blogger.com,1999:blog-4836812423216832447.post-54436571223939297802012-05-21T15:01:00.000-07:002012-05-21T15:23:18.083-07:00TeXlipse is again my favorite LaTeX environmentI have always enjoyed <a href="http://texlipse.sourceforge.net/">TeXlipse</a> for writing LaTeX. It has some snazzy features like context menus of your label and cite tags and automatic insertion of end tags and close braces. It even manages the build for you when you save a source file.<br />
<br />
I used it for a long time, but finally its one annoying problem finally took over; its hard to start a new project. Not really hard, but harder than your typical LaTeX editor. The problem is that <a href="http://www.eclipse.org/">Eclipse</a> is a generic developer environment and many languages need so much boilerplate that it kinda assumes that you LaTeX project will need it too. This means you have workspaces and configuration and everything, every time you start a new little project. <br />
<br />
So I started getting lazy; I was using a text editor and the brilliant <a href="http://www.phys.psu.edu/~collins/software/latexmk-jcc/">LaTeXmk</a> to manage the build (much like TeXlipse did for me). It was just that much easier to create a new text file and start editing. Of course the difference between one click and five clicks to start a new document is a bad reason to choose an editor.<br />
<br />
I am working on my <a href="https://github.com/jberger/Thesis">Thesis</a> now and finally was getting tired of the small potatoes environment. So I went to install TeXlipse on my new box and to my delight I found that they had added a sub-project called <a href="http://borisvl.github.com/Pdf4Eclipse/">Pdf4Eclipse</a>. This finally brings that last piece of the puzzle that many LaTeX environments have been missing, an inline pdf previewer with full forward/reverse search capability. Its great, one more window in the environment and now I can edit and preview easily, moving back and forth with a few simple clicks.<br />
<br />
Once I had gotten this far I decided to add the pièce de résistance, git integration! The last time I tried to version control within eclipse I was back when I was using Bazaar. Now I have nothing against Bazaar in concept, but it never felt natural to me, I didn't grok the workflow. Git has been a revelation to me and possibly better, GitHub has made hosting my development so easy. So I installed the EGit/JGit plugins in my shiny new TeXlipse enabled eclipse editor and ... wow!<br />
<br />
I cannot describe how easy this rig is now. The best development features now paired with inline PDF preview AND GitHub integration. Simply excellent! Congrats to all the devs on all these projects, you have won me back in a big way. Cheers!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih8yTQp7zo8ox6pjO3kXp5b7_MNoPTvt8kmDy4Iv5N-nFd8iweZ5bCwgE3lpZV0xgVty5k-DAP_a2sWLsW3y4SLF4N-3U8jurhyphenhyphennTbZxG8oJQlCMtU4FOl3xU2gzsRP5GXbU2rfukLASE/s1600/texlipse.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="225" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih8yTQp7zo8ox6pjO3kXp5b7_MNoPTvt8kmDy4Iv5N-nFd8iweZ5bCwgE3lpZV0xgVty5k-DAP_a2sWLsW3y4SLF4N-3U8jurhyphenhyphennTbZxG8oJQlCMtU4FOl3xU2gzsRP5GXbU2rfukLASE/s400/texlipse.png" /></a></div>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com2tag:blogger.com,1999:blog-4836812423216832447.post-91307148372963396592011-10-17T08:19:00.001-07:002011-10-17T08:20:11.156-07:00ExtJS for webapp frontendsAnother little "remember me" note: ExtJS looks like a cool way to build a webapp. <a href="http://www.sencha.com/products/extjs/">http://www.sencha.com/products/extjs/</a>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-15831158922340370262011-09-30T08:00:00.000-07:002011-09-30T08:03:11.902-07:00Pithos -- Gnome Padora ClientOne reason that I hadn't used Pandora in a while was that I most want to listen to music when working at the computer, however when I work at the computer I use the processor, hard! Unfortunately Pandora's webclient (flash based) sucks up processor power. Thankfully Kevin Mehall created a native Gnome client called <a href="http://kevinmehall.net/p/pithos/">Pithos</a>! I'm just trying it right now but it seems to do the trick!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-66622408571185431142011-09-13T09:32:00.000-07:002011-09-13T09:34:14.232-07:00The Joy of For-Loops in Making FiguresI love TikZ, the "vector" graphics package for LaTeX. One of the biggest reasons is that I can programmatically create the drawing. For example the nested foreach loops in this code saved me lots of work:<br /><br /><script src="https://gist.github.com/1214259.js"> </script>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-1277687029250552812011-08-30T11:52:00.001-07:002011-08-30T11:52:35.925-07:00Pretty printing to consoleAnother little self-reminder, pretty print data structure to console with Data::Format::Pretty::ConsoleAnonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-5876988117956383542011-08-28T13:19:00.000-07:002011-08-28T13:21:19.049-07:00xdotool for programmatic x eventsJust a little self-reminder. I just learned about xdotool, with which one can send keystrokes or other x interactions to programs programmatically.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-74361226583401076362011-08-20T19:31:00.001-07:002011-08-20T19:38:00.413-07:00Learning Perl from PerldocToday I found myself thinking about the best documents in the <a href="http://perldoc.perl.org">perldoc collection</a>. I end up thinking that one could learn learn almost all you need of Perl simply by reading <a href="http://p3rl.org/intro">perlintro</a> (the basic introduction), <a href="http://p3rl.org/reftut">perlreftut</a> (the tutorial on references and how to use them) and <a href="http://p3rl.org/toot">perltoot</a> (Tom's Object-Oriented Tutorial).
<br />
<br />The last could be omitted if you wanted to use Moose OO, however reading it still gives insight into how a hashref-based object works. Moose objects are still constructed in this way even if you don't see it.
<br />
<br />Of course there is far more to learn from perldoc and once you include the documentation from modules this pool of knowledge is endless. I know documenting your modules is a pain, but good documentation is one of Perl's great strengths!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com1tag:blogger.com,1999:blog-4836812423216832447.post-15777685110797392222011-07-31T21:38:00.001-07:002011-07-31T22:07:34.694-07:00Alien::GSL releasedVersion <s>0.01</s> 0.02 has been released on CPAN. After some successful tests show up from CPANtesters I hope to upload a new version of Math::GSLx::ODEIV2 which uses it to check for the GSL library and install it on supported platforms.<br /><br />Please comment and ideas for non-Linux platform support will be welcomed whole-heartedly.<br /><br />See <a href="https://metacpan.org/module/Alien::GSL">https://metacpan.org/module/Alien::GSL</a> soon!<br /><br />UPDATE: Ooops forgot the MANIFEST file and the whole thing fouled up. Version 0.02 has been uploaded to fix that. Version 0.01 will be deleted as soon as PAUSE allows. Sorry about that!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-88848415898814213212011-07-29T13:03:00.000-07:002011-07-29T13:08:15.711-07:00Request for comment: on Alien::GSLdagolden asked recently on his blog for suggestions on which libraries should have Alien:: modules. I recently wrote Math::GSLx::ODEIVE2 which needs not only the GSL libraries but the newest (1.15) version, so these things have been on my mind.<br /><br />I have started mocking up Alien::GSL at my <a href="https://github.com/jberger/Alien-GSL">GitHub repository</a>. Take a look and please let me know ANY thoughts.<br /><br />Here is what I posted on dagolden.com:<br /><br />Ok so I have been working on an Alien::GSL module. Since the magic is supposed to go in the Makefile.PL, I worry that I use the functionality without any testing first. However it is a simple module so not much testing is needed perhaps (none is written yet). How do people find the workflow? Suggestions are welcome ... <br /><br />I close by soliciting comment here. Thanks for any thoughts!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com3tag:blogger.com,1999:blog-4836812423216832447.post-2271888496439513512011-07-10T20:30:00.000-07:002011-07-10T20:46:58.443-07:00Solve ODEs with Math::GSLx::ODEIV2In investigating the GSL library for solving Ordinary Differential Equations (ODEs) I noticed that a new interface (gsl_odeiv2) that hadn't yet been exposed in a Perl module. Further I noticed that some of the existing ODE modules for Perl are a little hard to use.<br /><br />Along with those considerations I had wanted to make a Perl/XS module in preparation if I ever get my FLI camera module finished I will need this skill. <br /><br />Put it all together and now I am here to introduce my very Perl-ish (in my opinion) <a href="http://p3rl.org/Math::GSLx::ODEIV2">Math::GSLx::ODEIV2</a>. Yes the name is bad, but it is descriptive.<br /><br />I also learned (hopefully) how to prevent installation when the library is not present in the system. Normally this would have involved Devel::CheckLib but since GSL comes with a utility (gsl-config) I was able to avoid that.<br /><br />Anyway I hope some people find it useful and I am happy to hear comments and work to improve the module on its <a href="https://github.com/jberger/Math-GSLx-ODEIV2">github page</a>.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-79941975828785422282011-06-28T20:26:00.000-07:002011-07-23T15:17:47.632-07:00[Non-Linux] Purchasing Power ParityA description on why I can buy a hot dog in London for $8 (also what is a New York Style Hot Dog?). <a href="http://economics.about.com/cs/money/a/purchasingpower.htm">Purchasing Power Parity theory</a>.<br /><br />Also a handy chart featuring the venerable <a href="http://www.oanda.com/currency/big-mac-index">Big-Mac Index</a>.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-23191046359605254202011-06-21T08:17:00.000-07:002011-06-21T13:55:26.753-07:00Use strict AND warnings!StackOverflow has had <a href="http://stackoverflow.com/q/6421671/468327">several</a> <a href="http://stackoverflow.com/q/6395999/468327">questions</a> in the last few days about strict and warnings. Let me say it here definitively:<br /><br />ALWAYS. USE. STRICT. AND. ALWAYS. USE. WARNINGS.<br /><br />Until you KNOW when to turn of some fraction of these (e.g. `no warnings 'once'`) and why you are doing it (e.g. `no strict 'refs'), should you do anything except `use strict; use warnings;`!<br /><br /><hr /><br />You really should stop reading here, but if you must, here is some small explaination.<br /><br />The short reason is, Perl lets you do ANYTHING, and this truly is too much power. These commands save you from the power and from yourself. Don't try to be a hero, you will do something wrong and your code won't work.<br /><br />ALWAYS. USE. STRICT. AND. ALWAYS. USE. WARNINGS.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-29931561880373198642011-06-18T11:38:00.000-07:002011-06-18T12:28:55.599-07:00Canon's hidden Linux supportI know that many companies don't feel that it would be "worth it" to support Linux, however I have now seen a new one: a company that hides its Linux support. I just bought a Canon wireless printer (PIXMA MG5220) and of course saddled up to fight the driver battle. I googled and found that others had already found that Canon provides a driver, but only on their Asian site (<a href="http://support-my.canon-asia.com/P/search?model=PIXMA+MG5270&menu=download&filter=0&tagname=g_os&g_os=Linux">all drivers (including scanner)</a> and <a href="http://support-my.canon-asia.com/contents/MY/EN/0100301702.html">linux debian package!</a>).<br /><br />I wrote the Canon support to tell them that they should post these (working!) Linux drivers on their North American site, to which they replied that they do not support any operating systems other than Windows and Mac. Why not tout Linux support WHEN IT IS ALREADY PROVIDED??Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-45299049580254450642011-06-13T07:36:00.000-07:002011-06-13T07:55:53.971-07:00Regexp::Grammars for more DWIM regexesPerl is famous for its emphasis on DWIM (do what I mean, otherwise known as the principal of least surprise). Unfortunately one of Perl's other great features is its Regex powers, which are dramatically "Do exactly what I say". Now its not a silver bullet and it still only does what you say, but <a href="http://search.cpan.org/perldoc?Regexp::Grammars">Regexp::Grammars</a> goes a long way to making regexes look like what you mean.<br /><br />For example, on SO <a href="http://stackoverflow.com/q/6315515/468327">this post</a> was looking for a way to implement a rather pathological parse on each line of text. The OP didn't seem to understand that the specification was rather odd (though several other posters didn't hesitate to inform him). It appeared to me that the OP trying to recover code that had been serialized to single lines. This is complicated by the fact that it appeared to contain line comments started with a `//` and ended by multiple spaces. To me this seemed to be an excellent time to pull out regexes that are more DWIM. <br /><br />By defining the types of structure I hoped to match and then having them automatically parsed into a hash structure (%/) the job becomes far less painful and far more readable. Certainly this would have to be expanded and debugged to fully to what the OP probably needs, but it is a nice example of a more modern Perl for more modern Perl programmers.<br /><br /><script src="https://gist.github.com/1022879.js"> </script>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-78155648869883853322011-06-08T11:14:00.000-07:002011-06-08T11:23:42.090-07:00[Non-Linux] WunderMap WeatherPartially because some computer geeks are weather geeks too, partially because it is a cool interface and partially just so I can save this link: wunderground.com has a really cool <a href="http://www.wunderground.com/wundermap/">interactive weather map</a>. I found it from the Tom Skilling / WGN (Chicago) <a href="http://blog.chicagoweathercenter.com/">weather blog</a>.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com2tag:blogger.com,1999:blog-4836812423216832447.post-58279942627907520702011-06-07T07:24:00.000-07:002011-06-07T07:37:01.405-07:002D CAD for LinuxI have long been using <a href="http://www.qcad.org/">QCAD</a> for my 2D drafting, and I am still waiting for <a href="http://sourceforge.net/apps/mediawiki/free-cad/index.php?title=Main_Page">FreeCAD</a> to be a little more usable for 3D, but in the meantime <a href="http://blogs.solidworks.com/solidworksblog/2011/03/hey-linux-fans-your-draftsight-wishes-have-been-granted.html">I saw</a> an interesting new (commercially developed?) entry into the Linux 2D CAD world: <a href="http://www.3ds.com/products/draftsight/free-cad-software/">DraftSight</a>.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-59467228154890288012011-05-20T11:39:00.000-07:002011-05-20T12:12:47.455-07:00PDL::IO::Export2D now uses Dist::ZillaMy module (<a href="http://search.cpan.org/perldoc?PDL::IO::Export2D">PDL::IO::Export2D</a>) has made the switch to <a href="http://dzil.org/">Dist::Zilla</a> and I am impressed with how easy it makes authoring modules for CPAN!<br /><br />My <a href="http://github.com/jberger/PDL-IO-Export2D">source tree</a> now only consists of the actual module, the test scripts, the Changes file, (yes, there is the README.pod, but that is generated by D::Z for github's benefit) and the dist.ini file for Dist::Zilla. This file contains the distribution metadata and the plugins / plugin configuation to be used in the build process. <br /><br /><pre class="brush: plain"><br />name = PDL-IO-Export2D<br />version = 0.030<br />author = Joel Berger <joel.a.berger@gxxxx.com><br />license = Perl_5<br />copyright_holder = Joel Berger<br />abstract = Provides a convenient method for exporting a 2D piddle.<br /><br />[GatherDir]<br />[MetaYAML]<br />[MakeMaker]<br />[Manifest]<br />[PruneCruft]<br />[License]<br />[Readme]<br />[PkgVersion]<br />[AutoPrereqs]<br /><br />[ReadmeAnyFromPod / pod.root ]<br /> filename = README.pod<br /> type = pod<br /> location = root<br /></pre><br /><br />... yep thats all. It makes my other files (meta, readme, etc), it even puts the version number in the module file for me!<br /><br />Now if I want to make a small change and publish it, all I need to do is make the change, increment the version number in dist.ini then do<br /><br /><pre class="brush: bash"><br />dzil build<br />dzil test<br /></pre><br /><br />and finally upload to PAUSE. Simple, convenient.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-53136200079198873642011-05-19T13:10:00.000-07:002011-06-22T08:22:59.813-07:00Installing PDLThe PDL <a href="http://sourceforge.net/apps/mediawiki/pdl/index.php?title=Installing_PDL_Manually">wiki</a> has an instruction set to install PDL from CPAN, however I find it is missing a few things so here are my instructions (also my instructions use CPAN when possible):<br /><br />Step 0) If installing over SSH (if not go to Step 1)<br /><br />If you are installing over an SSH shell be sure you used the -X (and/or the -Y) flag when connecting (ssh -X host.name.etc). Then execute <br /><pre class="brush: bash"><br />export LIBGL_ALWAYS_INDIRECT=y<br /></pre><br />to allow OpenGL to work correctly.<br /><br />Step 1) Install system packages<br /><br /><pre class="brush: bash"><br />sudo apt-get install libxi-dev \<br />libxmu-dev freeglut3-dev libgsl0-dev \<br />libnetpbm10-dev libplplot-dev \<br />pgplot5 build-essential gfortran<br /></pre><br /><br />Step 2) Install Perl modules<br /><br />I use cpanm, one may also use cpan, but it makes you hit 'y' many more times<br /><br /><pre class="brush: bash" title="One command per line:"><br />cpanm Term::ReadLine::Perl Inline Astro::FITS::Header ExtUtils::F77<br />cpanm -v PGPLOT OpenGL<br />cpanm -v PDL<br /></pre><br /><br />I like to use the -v on the graphical modules and PDL because they have tests where it helps to read the output that cpanm suppresses. If you don't need that, you may omit the -v. <br /><br />Also if it seems that any of those hang, try hitting the enter key to continue. Some of the plotting tests require you click around, do so, sometimes hitting the right mouse button as well. You may need to close the PGPLOT server window at some point as well (black window that doesn't seem like its doing anything).<br /><br />Step 3) Test the tricky modules<br /><br /><pre class="brush: bash"><br />perl -e '<br />use PDL; <br />use PDL::Graphics::PGPLOT; <br />use PDL::Graphics::TriD; <br />print "success\n"'<br /></pre>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com1tag:blogger.com,1999:blog-4836812423216832447.post-32694045647606824502011-05-18T07:42:00.001-07:002011-05-20T07:18:43.566-07:00Perl in Go!I have been meaning to learn a compiled language and Google's <a href="http://golang.org">Go</a> language has intrigued me. It's a new compiled language with high-level features. Finally though I think I have found a reason to try: <a href="https://github.com/bradfitz/campher">Campher</a>, it's Perl in Go! Now I have all the security blanket of a language I know and love in a new one!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-21067190432225481952011-05-07T19:35:00.000-07:002011-05-07T19:37:39.747-07:00Dynamic vs Static scopingFinally an explaination I can understand<br /><br /><blockquote>In other words, the dynamically-scoped (local) variable $x is resolved in the environment of execution, rather than the environment of definition (my).</blockquote><br /><br /><a href="http://en.wikipedia.org/wiki/Scope_%28programming%29#Dynamic_scoping">... from wikipedia</a>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-62139032107239073772011-05-06T11:10:00.000-07:002011-05-06T11:23:26.909-07:00On using PERL -- The "Print Evaulate Read Loop"Anyone who has gotten deep enough into Perl programming has been asked questions about PERL. Supposedly this is another programming language related to Perl, but only used by newcomers.<br /><br />I submit however that this is the natural course of events with the Perl noob. It is the PERL flow -- Print Evaluate Read Loop.<br /><br />Many people are familiar with the REPL (Read Evaluate Print Loop) mechanism of program interaction. This simply is a program that Reads a line of code, Evaluates what that line does, and Prints the response, Looping in order to do it all over again.<br /><br />PERL is very similar. The noob Prints out some Perl code, perhaps amending some totally unrelated and possibly aweful old code found online somewhere, Evaluates it on some poor shmucks on say Stack Overflow, asking why it isn't doing some task (which it had no earthly possibility of doing), Reads what he should have read in the documentation, and finally Loops, doing the cycle over again. <br /><br />In truth I am happy to help the Perl noobie from PERL to Perl, but every now and again you would think they would learn to capitalize it properly. I cannot figure out how they can all say Python (never PYTHON) but not Perl.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-86679566060021833052011-04-24T19:56:00.000-07:002011-04-24T19:57:08.942-07:00OpenGL over SSHJust a quick note, if one needs to use OpenGL over an SSH X Forward, you may need to do "export LIBGL_ALWAYS_INDIRECT=y" on the remote computer. FYIAnonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-3808910487764196982011-04-18T18:20:00.000-07:002011-04-18T18:27:17.867-07:00Published my first CPAN module!Well I have jumped in finally, I have published <a href="http://search.cpan.org/perldoc?PDL::IO::Export2D">my first CPAN module</a>, a PDL export tool. Beyond being useful it was a good first opportunity to publishing something simple before doing something more involved, like the Physics modules that I might end up publishing, or the FLI camera Perl module/driver that I have been working on.<br /><br />I have set up a <a href="https://github.com/jberger">github repository</a> to host my work. If you want, you can follow the development of this and other future work there.Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-63361419076547650952011-04-15T09:04:00.000-07:002011-04-15T09:08:08.886-07:00Scientific Data Crunching on Perl (PDL)A good primer on PDL for those of us who know Perl but find it a little hard to use the PDL documentation.<br /><br /><a href="http://www.perlmonks.org/?node_id=598007">http://www.perlmonks.org/?node_id=598007</a>Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0tag:blogger.com,1999:blog-4836812423216832447.post-38340842787341505202011-03-26T08:53:00.000-07:002011-03-26T08:55:16.979-07:00Math font in BeamerI have always wondered why Beamer messed with my math fonts, turns out its not hard to get it back. <span style="font-weight:bold;">\documentclass[mathserif]{beamer}</span> and you're done!Anonymoushttp://www.blogger.com/profile/14862225320062725186noreply@blogger.com0