<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2609785926227057881</id><updated>2024-10-06T22:58:30.475-06:00</updated><category term="mac os x"/><category term="opensuse"/><category term="python"/><category term="condor"/><category term="cheminformatics"/><category term="comp chem"/><category term="eclipse"/><category term="django"/><category term="openeye"/><category term="subversion"/><category term="general"/><category term="red hat"/><category term="cruisecontrol"/><category term="izpack"/><category term="java"/><category term="literature"/><category term="mediawiki"/><category term="pycharm"/><category term="ant"/><category term="aws"/><category term="iphone"/><category term="perl"/><category term="weka"/><category term="compile"/><category term="google"/><category term="ios"/><category term="ipad"/><category term="junit"/><category term="machine learning"/><category term="php"/><category term="pycon"/><category term="starcluster"/><category term="ubuntu"/><category term="wordpress"/><title type='text'>Chemistry in silico</title><subtitle type='html'>A technical slant on the tools required for the trade.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cheminsilico.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>72</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-2843025388145977879</id><published>2014-11-10T15:30:00.000-07:00</published><updated>2014-11-10T15:30:09.720-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="starcluster"/><title type='text'>Tag your AWS resources in StarCluster</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTSExBbrhWN4TZ6KnEKonvav513rtzkKkILJDF-XyVLWNNlubs-lknaYsY8imXwAl31Tq5CLlyilTcn4Wuun8g-xPzClavYzDJprNRPPu0opRYRK7I7vny37MvnEHQCAcQ61iu_oK_8YlZ/s1600/starcluster_logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;StarCluster logo&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTSExBbrhWN4TZ6KnEKonvav513rtzkKkILJDF-XyVLWNNlubs-lknaYsY8imXwAl31Tq5CLlyilTcn4Wuun8g-xPzClavYzDJprNRPPu0opRYRK7I7vny37MvnEHQCAcQ61iu_oK_8YlZ/s1600/starcluster_logo.png&quot; title=&quot;StarCluster logo&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;http://star.mit.edu/cluster/&quot; target=&quot;_blank&quot;&gt;StarCluster&lt;/a&gt; is a convenient way to manage HPC clusters on &lt;a href=&quot;https://aws.amazon.com/&quot; target=&quot;_blank&quot;&gt;Amazon Web Services&lt;/a&gt; (AWS). If you use &lt;a href=&quot;http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html&quot; target=&quot;_blank&quot;&gt;Billing&lt;/a&gt; docs.&lt;/div&gt;
the same AWS account for multiple tasks such as hosting your web servers and its associated databases, running StarCluster how can you tell how much of your bill is from StarCluster? AWS lets you tag your detailed billing information, this can be used to get a feel* for how much you spent on a specific tag. You need to enable detailed billing and pick your allocation tags, start by reading the &lt;br /&gt;
&lt;br /&gt;
There is also another reason to tag your resources in StarCluster - to utilize IAM &lt;a href=&quot;http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html&quot; target=&quot;_blank&quot;&gt;resource-level permissions&lt;/a&gt; to restrict access, e.g. a IAM StarCluster user can only start/stop StarCluster, not terminate every EC2 instance in your account. This is a topic for another blog post, but requires tagging to help restrict permissions.&lt;br /&gt;
&lt;br /&gt;
There are three steps to enable tagging within StarCluster:&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Save a custom plugin&lt;/li&gt;
&lt;li&gt;Configure the plugin in your config&lt;/li&gt;
&lt;li&gt;Add the plugin to your cluster stanza&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
First, save this custom plugin, which we call tagger, to&amp;nbsp;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$HOME/.starcluster/plugins/tagger.py&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/craigbruce/e4dfd57a0f4970746197.js&quot;&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Second, at the bottom of your StarCluster configuration (typically &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$HOME/.starcluster/config&lt;/span&gt;) define the tags you want to attach. Take care in picking your tags, you want everyone using the same tag key/values.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/craigbruce/5a4dd46cb3c589ffd06d.js&quot;&gt;&lt;/script&gt;

&lt;br /&gt;
Finally, get your cluster to call the new plugin, by editing your cluster stanza:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;[cluster smallcluster]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;# Various other settings&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;# Enable the following plugins&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;PLUGINS = tagger&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Now when you launch your next cluster you will see a few extra lines in the output confirming tagger has run and you can check on the AWS Management console that EC2 instances and ELB volumes are now tagged.&lt;br /&gt;
&lt;br /&gt;
*It is not possible to tag every resource or the resource is shared so how do you split the cost? The actual cost will likely be higher than just the resources you tag.&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/2843025388145977879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/2843025388145977879'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2014/11/tag-your-aws-resources-in-starcluster.html' title='Tag your AWS resources in StarCluster'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTSExBbrhWN4TZ6KnEKonvav513rtzkKkILJDF-XyVLWNNlubs-lknaYsY8imXwAl31Tq5CLlyilTcn4Wuun8g-xPzClavYzDJprNRPPu0opRYRK7I7vny37MvnEHQCAcQ61iu_oK_8YlZ/s72-c/starcluster_logo.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-973489326670976610</id><published>2014-09-14T15:22:00.000-06:00</published><updated>2014-09-14T15:23:52.049-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>DjangoCon 2014: Top tips for developing and deploying on AWS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii1nPl_TpeEMWemDplFa4JqfiW3XajnCWrRh0jq3S62AApx3Jx5h4hWWO4FDnfOC3LN8kzqNCAprrdAWeP3gP7Vc0obZCmyqJvJ2WZGixCkCL-PIeuPukP7aCWNDNuF3asORL1bGUKQWkE/s1600/image2014-9-4+11-44-54.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii1nPl_TpeEMWemDplFa4JqfiW3XajnCWrRh0jq3S62AApx3Jx5h4hWWO4FDnfOC3LN8kzqNCAprrdAWeP3gP7Vc0obZCmyqJvJ2WZGixCkCL-PIeuPukP7aCWNDNuF3asORL1bGUKQWkE/s1600/image2014-9-4+11-44-54.png&quot; height=&quot;196&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I was at my third DjangoCon earlier this month. As with the previous DjangoCon&#39;s it was a lot of fun. For the first time I was speaking, which was a first for me, at a tech conference, traditionally I&#39;ve spoken at science conferences. My talk was entitled &lt;i&gt;&quot;Top tips for developing and deploying on AWS&quot;&lt;/i&gt;, granted more to do with AWS than Django. However, deploying your shiny new site is just as important as writing it, it&#39;s a rather poor website if no one can view it! With the rise of DevOps there has been a push for developers to deploy as well. You can read more on &lt;a href=&quot;http://www.fullstackpython.com/&quot; target=&quot;_blank&quot;&gt;Full Stack Python&lt;/a&gt;, an excellent resource maintained by &lt;a href=&quot;http://www.mattmakai.com/&quot; target=&quot;_blank&quot;&gt;Matt Makai&lt;/a&gt;.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Unlike my previous talks this was the first one to be recorded. I&#39;ll be honest I was dreading seeing the recording (as I don&#39;t like seeing/hearing myself on video). However, I was pleasantly surprised and actually the talk sounded much better that I thought it went! Most importantly for me it will be useful to improve my presentation technique and with video evidence I can track my progress (hopefully anyway).&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can review the slides and videos below - I hope you find it useful.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;script async=&quot;&quot; class=&quot;speakerdeck-embed&quot; data-id=&quot;73d0ab00168101321031426a91aead3e&quot; data-ratio=&quot;1.29456384323641&quot; src=&quot;//speakerdeck.com/assets/embed.js&quot;&gt;&lt;/script&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.youtube.com/embed/gT4oC6QyN2Q?feature=player_embedded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/973489326670976610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/973489326670976610'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2014/09/djangcon-2014-top-tips-for-developing.html' title='DjangoCon 2014: Top tips for developing and deploying on AWS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii1nPl_TpeEMWemDplFa4JqfiW3XajnCWrRh0jq3S62AApx3Jx5h4hWWO4FDnfOC3LN8kzqNCAprrdAWeP3gP7Vc0obZCmyqJvJ2WZGixCkCL-PIeuPukP7aCWNDNuF3asORL1bGUKQWkE/s72-c/image2014-9-4+11-44-54.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8222251817192225295</id><published>2013-12-15T14:39:00.000-07:00</published><updated>2013-12-15T14:39:34.080-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Install NumPy and SciPy without Fortran</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://www.numpy.org/&quot; target=&quot;_blank&quot;&gt;NumPy&lt;/a&gt; and &lt;a href=&quot;http://www.scipy.org/&quot; target=&quot;_blank&quot;&gt;SciPy&lt;/a&gt; are two great Python packages for scientists, as is the popular &lt;a href=&quot;http://matplotlib.org/&quot; target=&quot;_blank&quot;&gt;Matplotlib&lt;/a&gt;. However, installing NumPy and SciPy is not for the faint hearted if you install your Python packages via &lt;a href=&quot;http://www.pip-installer.org/&quot; target=&quot;_blank&quot;&gt;pip&lt;/a&gt;. Assuming you have fortran, blas, lapack and atlas already installed it is actually quite a slow installation, especially SciPy. NumPy took 46 seconds to install, whereas SciPy took 6 mins and 50 seconds on my MacBook Pro. So what if you install once and forget? Two problems with that. First I use &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;mktmpenv&lt;/span&gt; when debugging issues. Second I also use &lt;a href=&quot;http://tox.readthedocs.org/&quot; target=&quot;_blank&quot;&gt;tox&lt;/a&gt; to test against multiple version of Python and/or Django. All of a sudden 6 build configurations is 42 minutes of SciPy compilation!&lt;br /&gt;
&lt;br /&gt;
Let&#39;s not forget Windows users, Fortran - I don&#39;t think so and they should be able to enjoy pip and virtualenv as much as any Python developer.&lt;br /&gt;
&lt;br /&gt;
The obvious solution is for SciPy to be packaged with &lt;a href=&quot;http://wheel.readthedocs.org/&quot; target=&quot;_blank&quot;&gt;wheel&lt;/a&gt;, the new Python binary distribution format. However, I appreciate that would be very hard for the authors, but hopefully one day.&lt;br /&gt;
&lt;br /&gt;
In the meantime &lt;a href=&quot;https://store.continuum.io/cshop/anaconda/&quot; target=&quot;_blank&quot;&gt;Anaconda&lt;/a&gt; might be of interest. It is like apt-get/yum for scientific Python, but a new feature has just been announced, you can pip install anaconda itself then take advantage of the binary distributions it provides for you.&lt;br /&gt;
&lt;blockquote class=&quot;twitter-tweet&quot; lang=&quot;en&quot;&gt;
Want easy installation of NumPy stack in *your* Python? pip install conda now works! Then conda init, then conda install scikit-learn&lt;br /&gt;
— Travis Oliphant (@teoliphant) &lt;a href=&quot;https://twitter.com/teoliphant/statuses/401868707913158656&quot;&gt;November 17, 2013&lt;/a&gt;&lt;/blockquote&gt;
So try this (assuming you have pip, virtualenv and virtualenvwrapper installed)&lt;br /&gt;
&lt;br /&gt;
&lt;script async=&quot;&quot; charset=&quot;utf-8&quot; src=&quot;//platform.twitter.com/widgets.js&quot;&gt;&lt;/script&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ mktmpenv&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ pip install conda&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ conda init&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;$ conda install scipy&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
SciPy plus NumPy and numerous dependencies are installed in under a minute! Obviously, you can not convert this to a requirements.txt per se, but using &lt;a href=&quot;http://fabfile.org/&quot; target=&quot;_blank&quot;&gt;Fabric&lt;/a&gt; you can make a task to install conda and then the conda packages all with a one liner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8222251817192225295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8222251817192225295'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/12/install-numpy-and-scipy-without-fortran.html' title='Install NumPy and SciPy without Fortran'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8112691201430283038</id><published>2013-11-19T10:00:00.000-07:00</published><updated>2013-11-19T10:00:07.460-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><title type='text'>New comments, but not like YouTube</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdJl5t2GYfDxZP-vBSwAaFh9uIIJffkMdW6uaP-3nPahI4pXEKjIa9mERH_ibMkQ-mrdN7sqDPdRlcAi_MIYzRny04dkNeaOuoGusggx_9kRFD9bSxZDQh_WQmXwYw1RJau3Tib2Vg9q-/s1600/4191979465_8bf39cbcb4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdJl5t2GYfDxZP-vBSwAaFh9uIIJffkMdW6uaP-3nPahI4pXEKjIa9mERH_ibMkQ-mrdN7sqDPdRlcAi_MIYzRny04dkNeaOuoGusggx_9kRFD9bSxZDQh_WQmXwYw1RJau3Tib2Vg9q-/s320/4191979465_8bf39cbcb4.jpg&quot; width=&quot;226&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I have switched the comments on this blog to &lt;a href=&quot;http://disqus.com/&quot; target=&quot;_blank&quot;&gt;Disqus&lt;/a&gt;&amp;nbsp;(pronounced &quot;discuss&quot; as their engineers have corrected me on numerous occasions). I have nothing against the former Blogger comments or more recent Google+ comments, but Disqus is leagues ahead as a commenting platform. Plus, it is built on some of my favorite technologies: Python &amp;amp; Django.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Image credit:&amp;nbsp;&lt;a href=&quot;http://flic.kr/p/7oqZs2&quot;&gt;http://flic.kr/p/7oqZs2&lt;/a&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8112691201430283038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8112691201430283038'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/11/new-comments-but-not-like-youtube.html' title='New comments, but not like YouTube'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsdJl5t2GYfDxZP-vBSwAaFh9uIIJffkMdW6uaP-3nPahI4pXEKjIa9mERH_ibMkQ-mrdN7sqDPdRlcAi_MIYzRny04dkNeaOuoGusggx_9kRFD9bSxZDQh_WQmXwYw1RJau3Tib2Vg9q-/s72-c/4191979465_8bf39cbcb4.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8985690217156184816</id><published>2013-11-18T22:00:00.000-07:00</published><updated>2013-11-18T22:00:01.585-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>GDG DevFest now includes Albuquerque</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.gdgabq.com/gdg_badge5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.gdgabq.com/gdg_badge5.png&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Courtesy of&amp;nbsp;http://www.gdgabq.com/&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Albuquerque just had it&#39;s first &lt;a href=&quot;http://www.gdgabq.com/&quot; target=&quot;_blank&quot;&gt;GDG DevFest&lt;/a&gt; (translation - Google Developer Group meetup). Where a selection of Google employees and enthusiasts met to share their experiences and insight to a few Google products (let&#39;s be honest there are quite a few now). Google Glass was out in force, six pairs, which is presumed to be the greatest concentration of them in New Mexico! I attended the following talks:&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Google Drive Realtime API&lt;/h3&gt;
The challenge for Drive is collaboration. Everything is stored as structured data - JSON. Due to the structured nature mutations can be created, which reflect a specific change, but not the actual data itself. Mutations are kept forever until the file is deleted. In fact the mutations make up the file, a snapshot describes the summary of changes to give the current file, save having to process all the mutations, which could be numerous. Mutations are saved on the server and the client (your browser) otherwise collisions when collaborating can easily occur, having the transformation manager on the client allows the reconciling of the incoming mutations and your local mutations, which are then pushed back to the server to the other collaborators. This technique is also how you can work offline, as the mutations are stored and reconciled later.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Welcome to Android&lt;/h3&gt;
I have never done any Android programming, suffice to say it looks like a regular Java project with a touch of HTML (e.g. storing multiple resolutions of your images etc). Interestingly the IDE of choice, Eclipse with a plug-in is shifting to Android Studio. This is based on JetBrains IntelliJ - perhaps the gold standard of Java IDE (in cost as well), but free for Android developers.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
ChromeCast - In Love&lt;/h3&gt;
The instant success of the ChromeCast (nothing to do with that free Netflix subscription I&#39;m sure) has a API available now. The ChromeCast is a receiver which runs web pages and you build the sender in your app (desktop, mobile, browser etc) to pair establish a connection with the ChomeCast. It looks surprisingly simple (famous last words).&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
AngularJS - Life changing tech&lt;/h3&gt;
Google&#39;s latest JavaScript library which is receiving much love both within and outisde the company. While many Google products are built on Closure, it seems new sites are being built with AngularJS. AngularJS lets you extends the HTML vocabulary and is a powerful MVC aide.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
HTML5 in the Movies&lt;/h3&gt;
Since ABQ is now the center of the film universe directors look to local talent to fill various facets, which now include computer props. We saw numerous demonstrations of easy to use demos (single click for the actors) that make it appear as they type emails, send and receives replies all with a few random clicks. No surprise making the demos foolproof and loop-able was highly desirable, as was avoiding Windows for stability.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Startup Weekend Panel&lt;/h3&gt;
For the final session we got a taste of what the the startup weekend events are like. A surprising amount of these events are cropping up around the state, not just in ABQ. We were given two disconnected words and had 10 minutes to come up with a business and 1 minute pitch, certainly a good ice breaker!&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Summary&lt;/h3&gt;
Overall it was an enjoyable day, my thanks to the GDG ABQ for taking the time to organize it and the sponsors (who doesn&#39;t want to see a 3D printer in action?) for making it possible. I think almost everyone left with a prize as well, I won an O&#39;Reilly book in the raffle (worth more than the cost of the ticket). I was really impressed with the ChromeCast API and think I have found my next Hack Day project for work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8985690217156184816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8985690217156184816'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/11/gdg-devfest-now-includes-albuquerque.html' title='GDG DevFest now includes Albuquerque'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-598274332647072090</id><published>2013-09-25T18:37:00.000-06:00</published><updated>2013-11-03T13:04:00.174-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="php"/><category scheme="http://www.blogger.com/atom/ns#" term="wordpress"/><title type='text'>My first WordCamp</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://2013.albuquerque.wordcamp.org/files/2013/07/mountains_banner_340.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;66&quot; src=&quot;http://2013.albuquerque.wordcamp.org/files/2013/07/mountains_banner_340.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://2013.albuquerque.wordcamp.org/&quot; target=&quot;_blank&quot;&gt;ABQ WordCamp&lt;/a&gt; is not the sort of conference I normally attend (think PyCon, DjangoCon and AWS Re:Invent are my regular haunts). Apart from being written in PHP the WordPress community is more diverse as you can develop and use it out of the box, with Django you need to build your site first before it gets a more CMS feel.&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We have adopted WordPress for our company blog so it seemed sensible to meet some WordPress folk. I followed the user/publisher track, even though I&#39;m more of a developer so it was refreshing to get a more SEO and social media slant. Some top tips:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;WordPress handles most of your SEO for you&lt;/li&gt;
&lt;li&gt;Building your blog is an active role, find like minded individuals/communities and get involved (comment on their blogs)&lt;/li&gt;
&lt;li&gt;Comments are hugely important for an active and engaging blog&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://disqus.com/&quot; target=&quot;_blank&quot;&gt;Disqus&lt;/a&gt; is the best commenting platform (plus it is powered by Django)&lt;/li&gt;
&lt;li&gt;If traffic spikes for a particular post then repeat/stick with that topic&lt;/li&gt;
&lt;li&gt;Introduce series for these popular topics&lt;/li&gt;
&lt;li&gt;Be smart on social media, there are numerous WordPress plug-ins to make sharing easy&lt;/li&gt;
&lt;li&gt;Google+ is the single best thing for SEO, even if you don&#39;t use it, post to it for instant indexing&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://bit.ly/&quot;&gt;bit.ly&lt;/a&gt; is perhaps the only URL shortener that is indexed by Google&lt;/li&gt;
&lt;li&gt;Getting to page one on Google does require time and money (AdWords, potentially) via a trial and error approach, pick keywords, evaluate, update then repeat repeat repeat&lt;/li&gt;
&lt;li&gt;You must have frequent new content (easier said than done) to get high search rankings&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
During the Developer Diversity Panel a common theme in tech popped up, that of women. Having heard similar talks at PyCon, WordPress is indeed well ahead of the curve in terms of the number of women present, which is great to see.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Yesterday I found out that Google are running &lt;a href=&quot;http://www.gdgabq.com/&quot; target=&quot;_blank&quot;&gt;DevFest ABQ&lt;/a&gt;, so maybe I&#39;ll be attending more conferences in ABQ in the future.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/598274332647072090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/598274332647072090'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/09/my-first-wordcamp.html' title='My first WordCamp'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-324953562174543784</id><published>2013-05-05T00:28:00.001-06:00</published><updated>2013-05-05T00:28:33.607-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics"/><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="red hat"/><title type='text'>Book chapter on the use of open source software in the pharmaceutical industry</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;a href=&quot;http://ecx.images-amazon.com/images/I/51VfSopovaL.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://ecx.images-amazon.com/images/I/51VfSopovaL.jpg&quot; width=&quot;211&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
During my final year at AstraZeneca I was asked to contribute a chapter to &quot;Open source software in life science research: Practical solutions to common challenges in the pharmaceutical industry and beyond&quot;. Given this work would be very hard to publish in JCIM, JMC etc and I have never written a book chapter before it was the perfect opportunity. The chapter was entitled: Design Tracker: an easy to use and flexible hypothesis tracking system to aid project team working. It was coauthored by Martin Harrison, who wrote Design Tracker. The abstract sums up best what it covers:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Design Tracker is a hypothesis tracking system used across all sites and research areas in AstraZeneca by the global chemistry community. It is built on the LAMP (Linux, Apache, MySQL, PHP/ Python) software stack, which started as a single server and has now progressed to a six-server cluster running cutting-edge high availability software and hardware. This chapter describes how a local tool was developed into a global production system.&lt;/blockquote&gt;
Design Tracker has been mentioned in a few external presentations before but I believe this is the first firm details about it. We talk about its use and how it came to be a global chemistry tool from a prototype at one site. As the book topic suggests we also cover the open source technologies we used to power it. While LAMP is not new, it is not exactly mainstream in the corporate&amp;nbsp;environment&amp;nbsp;for many pharmaceutical companies. We had to harden our setup to make it suitable for 24/7 use, so in addition to the regulars on LAMP we added &lt;a href=&quot;http://www.redhat.com/products/enterprise-linux-add-ons/high-availability/&quot; target=&quot;_blank&quot;&gt;Red Hat Cluster Suite&lt;/a&gt;, &lt;a href=&quot;http://www.continuent.com/&quot; target=&quot;_blank&quot;&gt;Continuent Tungsten&lt;/a&gt; and &lt;a href=&quot;http://nginx.com/&quot; target=&quot;_blank&quot;&gt;NGINX&lt;/a&gt;. We also took the opportunity to move away from apache/mod_python to apache/&lt;a href=&quot;https://code.google.com/p/modwsgi/&quot; target=&quot;_blank&quot;&gt;mod_wsgi&lt;/a&gt;. The end result was a service which is available 24/7 and future proofed compared to our previous solution.&lt;br /&gt;
&lt;br /&gt;
The worlds most dynamic and frequently&amp;nbsp;visited websites are powered by similar technologies so they have clearly proven themselves to be suited for the relatively modest needs of a single pharmaceutical company.&lt;br /&gt;
&lt;br /&gt;
The book is available on Amazon UK &amp;amp; US and probably your favourite book reseller as well (ISBN:&amp;nbsp;978-1907568978). I hope you enjoy our chapter and the many others interesting topics covered.&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/324953562174543784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/324953562174543784'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/05/book-chapter-on-use-of-open-source.html' title='Book chapter on the use of open source software in the pharmaceutical industry'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-5129092816625571844</id><published>2013-03-09T23:24:00.003-07:00</published><updated>2013-03-09T23:24:58.192-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pycon"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Getting ready for PyCon 2013</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhomCGlT41CqKoP6VvXp3aSu4qDvSy98kgGdODO0ROM7gVKXS9QbJOcP4v8KlggVmcKaF0w2tsMHsuYdS3ibuZT-nnSEp78ksdYABPH1v8Ug_K7xQvp4cZFXg2qdaxH80bMCCjoozUz3Ger/s1600/pycon2013.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;107&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhomCGlT41CqKoP6VvXp3aSu4qDvSy98kgGdODO0ROM7gVKXS9QbJOcP4v8KlggVmcKaF0w2tsMHsuYdS3ibuZT-nnSEp78ksdYABPH1v8Ug_K7xQvp4cZFXg2qdaxH80bMCCjoozUz3Ger/s400/pycon2013.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
PyCon US 2013 is nearly upon us. This is my first PyCon and completes my&amp;nbsp;attendance&amp;nbsp;at both major US Python conferences (after attending DjangoCon last September). So thanks to my employer for letting me attend.&lt;br /&gt;
&lt;br /&gt;
I haven&#39;t left for Santa Clara yet but I already feel part of the conference because of several factors:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;The conference schedule has been made available via &lt;a href=&quot;http://guidebook.com/&quot;&gt;Guidebook&lt;/a&gt; and &lt;a href=&quot;http://lanyrd.com/&quot;&gt;Lanyrd&lt;/a&gt;. Guidebook is an excellent medium for keeping track of your schedule across tutorials, talks, poster sessions and more. Plus the organizers can (and already have) update the information making it the goto source of information. &amp;nbsp;The only gripe I have is I can not find a way to sync my schedule between multiple iOS devices.&lt;/li&gt;
&lt;li&gt;I&#39;ll check back with Lanyrd later to collect the slides from &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;SlideShare&lt;/a&gt; for talks I attended and importantly those I couldn&#39;t.&lt;/li&gt;
&lt;li&gt;Various events outside the regular talks have been posted on &lt;a href=&quot;http://www.eventbrite.com/&quot;&gt;Eventbrite&lt;/a&gt;&amp;nbsp;(which also features Passport integration on iOS now).&lt;/li&gt;
&lt;li&gt;Of course you can follow everything on Twitter via the &lt;a href=&quot;https://twitter.com/search?q=%23pycon&quot;&gt;#pycon&lt;/a&gt; hashtag and &lt;a href=&quot;https://twitter.com/pycon&quot;&gt;@pycon&lt;/a&gt; feed.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Attending a conference with thousands of attendees feels much more personal when these tools are available. I may not be able to catch speakers after their talks (or even attend the talk at all) but I can tweet them to seek answers and potentially arrange to meet or I can grab their slides from SlideShare. I would encourage all speakers to share a contact medium of their preference and post their slides online.&lt;br /&gt;
&lt;br /&gt;
All that is left for me to do now is try and pick my schedule from the plethora of interesting talks and other sessions running!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5129092816625571844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5129092816625571844'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2013/03/getting-ready-for-pycon-2013.html' title='Getting ready for PyCon 2013'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhomCGlT41CqKoP6VvXp3aSu4qDvSy98kgGdODO0ROM7gVKXS9QbJOcP4v8KlggVmcKaF0w2tsMHsuYdS3ibuZT-nnSEp78ksdYABPH1v8Ug_K7xQvp4cZFXg2qdaxH80bMCCjoozUz3Ger/s72-c/pycon2013.png" height="72" width="72"/><georss:featurename>Santa Fe, NM, USA</georss:featurename><georss:point>35.6869752 -105.93779899999998</georss:point><georss:box>35.4806117 -106.26052249999998 35.8933387 -105.61507549999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8674454525438873187</id><published>2012-09-24T21:27:00.002-06:00</published><updated>2012-09-24T21:28:04.017-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="pycharm"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>DjangoCon US 2012</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iTtjBIR-x_jhFWUWwo_Rz97BJWq7ICb5KY9VIzM52X-QPumAOaBjSVOdu0wejR8kxUpyOp1VllR-RsUlUmzai2GjsyenHJGfE4D4gCegjylPvf1cZB0zGiHQ4yFMEduPKK_CgnVsRakv/s1600/djangoconus2012.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;116&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iTtjBIR-x_jhFWUWwo_Rz97BJWq7ICb5KY9VIzM52X-QPumAOaBjSVOdu0wejR8kxUpyOp1VllR-RsUlUmzai2GjsyenHJGfE4D4gCegjylPvf1cZB0zGiHQ4yFMEduPKK_CgnVsRakv/s320/djangoconus2012.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;I was lucky enough to attend DjangoCon earlier this month. It was a great experience, I&#39;m still following up on the new tips and tricks I picked up.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
This was my first purely software focused conference, they are normally scientific. There are some stark differences.&amp;nbsp;Notably&amp;nbsp;I&#39;m not the only person tweeting! Thanks to the wonders of &lt;a href=&quot;http://lanyrd.com/&quot;&gt;lanyrd.com&lt;/a&gt; and &lt;a href=&quot;http://slideshare.net/&quot;&gt;slideshare.net&lt;/a&gt; I was able to leave DC with all the&amp;nbsp;presentations I attended. Although I took&amp;nbsp;copious&amp;nbsp;notes during the talks it is handy to double check details. Plus it was dual track so I missed half the talks, some of which I would of liked to of seen.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
So scientists, why don&#39;t you tweet and share your research more? You have gone to the effort of writing (thus getting approval to disclose your work) and&amp;nbsp;attending&amp;nbsp;a conference - that is the hard part. Uploading to slideshare.net and sharing on twitter and/or LinkedIn is the easy step! By the same token I will follow my own advice too.&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8674454525438873187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8674454525438873187'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/09/djangocon-us-2012.html' title='DjangoCon US 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9iTtjBIR-x_jhFWUWwo_Rz97BJWq7ICb5KY9VIzM52X-QPumAOaBjSVOdu0wejR8kxUpyOp1VllR-RsUlUmzai2GjsyenHJGfE4D4gCegjylPvf1cZB0zGiHQ4yFMEduPKK_CgnVsRakv/s72-c/djangoconus2012.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-1248794370731836175</id><published>2012-07-17T23:27:00.002-06:00</published><updated>2012-07-17T23:28:07.611-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="pycharm"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Using Gunicorn with PyCharm</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://gunicorn.org/images/large_gunicorn.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;69&quot; src=&quot;http://gunicorn.org/images/large_gunicorn.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;The Green Unicorn&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
When you develop projects with Django it comes with a handy &lt;span style=&quot;font-family: inherit;&quot;&gt;runserver&lt;/span&gt; which is a lightweight webserver bundled with Django, see more &lt;a href=&quot;https://docs.djangoproject.com/en/1.4/ref/django-admin/#runserver-port-or-address-port&quot;&gt;here&lt;/a&gt;. It goes without saying you would never want to deploy any production code with this as it doesn&#39;t scale nor is it particularly secure. It does not get much attention from the Django developers, lets face it there are better things to work on. So a few alternatives have popped up. The one which caught my eye is &lt;a href=&quot;http://gunicorn.org/&quot;&gt;gunicorn&lt;/a&gt;. Now gunicorn can be used on preprod or production sites as well, but I stick to development here (what I use for production will feature in another post).&lt;br /&gt;
&lt;br /&gt;
Gunicorn is actually a fork of &lt;a href=&quot;http://unicorn.bogomips.org/&quot;&gt;Unicorn&lt;/a&gt; which is designed for use with Ruby. It is a WSGI webserver, WSGI is &lt;i&gt;the&lt;/i&gt; way to run webservers. It also features integration with Django so can be a drop in replacement for &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;runserver&lt;/span&gt;. Installation is a breeze, &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;pip install gunicorn&lt;/span&gt; and add &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;gunicorn&lt;/span&gt; to your INSTALLED_APPS in your&amp;nbsp;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;settings.py &lt;/span&gt;- Easy.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;From the command-line you might do &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;./manage.py runserver 192.168.1.1:9000&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; with the Django runserver. To use Gunicorn simply run &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;./manage.py run_gunicorn 192.168.1.1:9000&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;. Again straight forward. Within PyCharm you need edit your django run configuration and tick the &quot;run custom command&quot; box. Add run_gunicorn and run that. run_gunicorn is a helper function that gunicorn adds to manage.py.&amp;nbsp;&lt;/span&gt;Unfortunately,&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;I found not all gunicorn options can be&amp;nbsp;&lt;/span&gt;specified&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;via this, which can be annoying. &amp;nbsp;To access all gunicorn options you need to run gunicorn direct and feed it a wsgi application, handily django is wsgi ready and from 1.4 includes a wsgi file when you create a new project (look for wsgi.py in your project directory). When using gunicorn direct you do not need to list gunicorn in your INSTALLED_APPS. From your virtualenv run &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;gunicorn -b 192.168.1.1:9000 myproject.wsgi:application&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;, where myproject is your Django project name. You can drop in any gunicorn options you like as well. As for running in PyCharm you need to create a Python run configuration, not Django, and provide the following information:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: inherit;&quot;&gt;Script -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;/Users/craig/.virtualenvs/blogenv/bin/gunicorn (your virtualenv of choice)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Script parameters: -b 192.168.1.1:9000 myproject.wsgi:application&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Working directory: /Users/craig/PycharmProjects/MyDjangoApp&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
There is another reason to use gunicorn directly - you can use it with &lt;a href=&quot;http://supervisord.org/&quot;&gt;supervisor&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
You may come across the &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;gunicorn_django&lt;/span&gt;&amp;nbsp;application as well. That is fine to use if you are not on Django 1.4, otherwise use the gunicorn application direct, as shown above.&lt;br /&gt;
&lt;br /&gt;
There is also &lt;a href=&quot;https://github.com/dcramer/django-devserver/&quot;&gt;devserver&lt;/a&gt; from David Cramer. I&#39;ve not used it personally but the other projects that David works on are top rate, so I imagine this is too.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/1248794370731836175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/1248794370731836175'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/07/using-gunicorn-with-pycharm-or.html' title='Using Gunicorn with PyCharm'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><georss:featurename>Santa Fe, NM, USA</georss:featurename><georss:point>35.6869752 -105.937799</georss:point><georss:box>35.583801199999996 -106.0957275 35.7901492 -105.7798705</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-5779073404833951319</id><published>2012-07-12T20:14:00.000-06:00</published><updated>2012-07-12T22:55:16.022-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="pycharm"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>PyCharm for Django development</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvZyQHn799SNU-NZKBuzP-MOjlawP8RkCmYFmwqQK4RN1p28Bt7FEJ9Aj4M4OnZbjcqn1zXJi3Uzp69UX2PIMzJdfzH_SDaKGffhWUA-sZJAlfhd2vhzB13t2RiR_Mmim_4xAjZQKyfqp/s1600/Screen+Shot+2012-05-24+at+2.48.08+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvZyQHn799SNU-NZKBuzP-MOjlawP8RkCmYFmwqQK4RN1p28Bt7FEJ9Aj4M4OnZbjcqn1zXJi3Uzp69UX2PIMzJdfzH_SDaKGffhWUA-sZJAlfhd2vhzB13t2RiR_Mmim_4xAjZQKyfqp/s1600/Screen+Shot+2012-05-24+at+2.48.08+PM.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
I have been dabbling with Django for a few years now. Previously, I always used Eclipse for this. Eclipse by itself doesn&#39;t support Python or Django but add &lt;a href=&quot;http://pydev.org/&quot;&gt;PyDev&lt;/a&gt; or &lt;a href=&quot;http://www.aptana.com/products/studio3&quot;&gt;Aptana Studio&lt;/a&gt; and it merrily understands what is going on. This was great when I worked on multiple projects in multiple languages. I now find myself working solely in a Python/Django environment. PyCharm was getting rave reviews from my former work&amp;nbsp;colleagues, but I did so little Django it didn&#39;t seem worth making the&amp;nbsp;transition. However, with a new role I thought now was the time and I haven&#39;t looked back. If you have ever used IntelliJ IDEA for Java you&#39;ll be familiar with PyCharm as it is built upon the same framework. Being written in Java also means you are able to code on your Mac, Linux and Windows devices.&lt;br /&gt;
&lt;br /&gt;
For once PyCharm is fully aware of Django, not just syntax highlighting (which was also hit and miss especially in templates mixing HTML/CSS/Django template syntax in Eclipse). &amp;nbsp;Truth be told I have barely touched the surface of features that PyCharm packs in. See&amp;nbsp;&lt;a href=&quot;http://www.jetbrains.com/pycharm/features/index.html&quot;&gt;http://www.jetbrains.com/pycharm/features/index.html&lt;/a&gt; for a full run down. Each release, of which updates are frequent, either refine or add more features. In the 2.5 release virtualenv support was added, it worked with manual intervention before, but now PyCharm automatically detects them. In addition the support at JetBrains is superb.&amp;nbsp;Admittedly&amp;nbsp;this is a&amp;nbsp;commercial&amp;nbsp;product, although they license&amp;nbsp;favorably&amp;nbsp;for open source project - free.&lt;br /&gt;
&lt;br /&gt;
Just like IntelliJ various plugins are available. A whole host ship by default, Git, CoffeeScript and JavaScript to name a few. More are available online at the &lt;a href=&quot;http://plugins.intellij.net/&quot;&gt;plugin repository&lt;/a&gt;. The nginx support and NodeJS plugins caught my eye.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.jetbrains.com/pycharm/features/screenshots/tour/framed/PC_Manage_tasks.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.jetbrains.com/pycharm/features/screenshots/tour/framed/PC_Manage_tasks.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
One of my&amp;nbsp;favorite&amp;nbsp;features is suport for running &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mange.py&lt;/span&gt; tasks from within the IDE, no need to setup the environment and run from there, as shown (image courtesy of &lt;a href=&quot;http://www.jetbrains.com/pycharm/features&quot;&gt;JetBrains&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
In fairness I did look at other Python IDEs with Django support, but feel they fall into the same camp as Eclipse. The Django support is just tacked on and is limited. With PyCharm you can see Django support was core to the design and features implemented. I see the PyCharm team will be at &lt;a href=&quot;http://www.djangocon.us/&quot;&gt;DjangoCon US&lt;/a&gt;. This is great for two reasons a) I can congratulate them on a great IDE and b) they will be bring a new update (&lt;a href=&quot;http://blog.jetbrains.com/pycharm/2012/06/pycharm-at-djangocons-around-the-world/&quot;&gt;http://blog.jetbrains.com/pycharm/2012/06/pycharm-at-djangocons-around-the-world/&lt;/a&gt;).&amp;nbsp;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5779073404833951319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5779073404833951319'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/07/pycharm-for-django-development.html' title='PyCharm for Django development'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUvZyQHn799SNU-NZKBuzP-MOjlawP8RkCmYFmwqQK4RN1p28Bt7FEJ9Aj4M4OnZbjcqn1zXJi3Uzp69UX2PIMzJdfzH_SDaKGffhWUA-sZJAlfhd2vhzB13t2RiR_Mmim_4xAjZQKyfqp/s72-c/Screen+Shot+2012-05-24+at+2.48.08+PM.png" height="72" width="72"/><georss:featurename>109 E San Francisco St, Santa Fe, NM 87501, USA</georss:featurename><georss:point>35.6869752 -105.937799</georss:point><georss:box>35.583801199999996 -106.0957275 35.7901492 -105.7798705</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-6725570106448244</id><published>2012-05-01T00:43:00.000-06:00</published><updated>2012-05-01T00:44:52.728-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac os x"/><title type='text'>Homebrew</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://si0.twimg.com/profile_images/409396080/machomebrew.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://si0.twimg.com/profile_images/409396080/machomebrew.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Courtesy of&amp;nbsp;https://twitter.com/MacHomebrew/&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Homebrew, the OS X package manager, not the beverage, is the third package manager I&#39;ve used on OS X. I started in 2005 with &lt;a href=&quot;http://www.finkproject.org/&quot;&gt;Fink&lt;/a&gt; and &lt;a href=&quot;http://www.macports.org/&quot;&gt;MacPorts&lt;/a&gt;. MacPorts seemed to be more active, especially with the flurry of Leopard releases. Indeed it also has some advanced features including dependencies to let you install &lt;a href=&quot;http://en.wikipedia.org/wiki/MAMP&quot;&gt;MAMP&lt;/a&gt; stacks. However, I find I prefer to have control of my MAMP stack especially in my&amp;nbsp;volatile development&amp;nbsp;environments, upgrades can be particularly painful with MacPorts.&lt;br /&gt;
&lt;br /&gt;
Homebrew has quite a different approach. There is no need for sudo, all binaries get symlinks in &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/usr/local&lt;/span&gt;, but point to &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;/usr/local/Cellar&lt;/span&gt; which controls the formula (aka package) version. The formula scripts are ruby based, so adding your own is very easy.&lt;br /&gt;
&lt;br /&gt;
If you don&#39;t want to search forumlae via the command-line then head to&amp;nbsp;&lt;a href=&quot;http://braumeister.org/&quot;&gt;http://braumeister.org/&lt;/a&gt; (another GitHub project).&lt;br /&gt;
&lt;br /&gt;
Installation is pretty simple. If you are a developer, e.g. you have Xcode installed it is probably a &lt;a href=&quot;https://github.com/mxcl/homebrew/wiki/installation&quot;&gt;one-liner&lt;/a&gt;. Installation alongside MacPorts is not&amp;nbsp;recommended, but to check you can get everything you need from Homebrew it will probably not cause too many problems.&lt;br /&gt;
&lt;br /&gt;
Now you have &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew&lt;/span&gt; in your path lets explore some use cases:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew list&lt;/span&gt; - list installed formulae&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew search wget&lt;/span&gt; - search for formula called wget&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew info wget&lt;/span&gt; - get information about the formula wget&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew install wget&lt;/span&gt; - install wget&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew uninstall wget&lt;/span&gt; -uninstall wget&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew update&lt;/span&gt; - update homebrew (effectively a git pull)&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew outdated&lt;/span&gt; - list formulae which are out of date&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;brew upgrade&lt;/span&gt; - upgrade all outdated formulae&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
For more features see the &lt;a href=&quot;https://github.com/mxcl/homebrew/wiki/FAQ&quot;&gt;FAQ&lt;/a&gt;&amp;nbsp;and follow&amp;nbsp;&lt;a href=&quot;https://twitter.com/#!/MacHomebrew&quot;&gt;@MacHomebrew&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Now I wonder if I can convince &lt;a href=&quot;http://puppetlabs.com/&quot;&gt;puppet&lt;/a&gt; to use Homebrew over MacPorts...&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/6725570106448244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/6725570106448244'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/05/homebrew.html' title='Homebrew'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-6286010111787292872</id><published>2012-03-04T00:35:00.002-07:00</published><updated>2012-03-04T00:35:45.622-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Python Virtual Environments</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrnBGcFG1S0_GBFL96AEGjQGsu1R3LlJUu9XXiRer1GLz5QwBKGVyogYgIWtOCLJcKm2Vhf74odBMyVKG3eI71cYtM1o9PJpsDMDTdce8Dso9FeX88400DgzZmcDrw6zTs__n6QIdfo-_/s1600/2312382347_50808d7237.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrnBGcFG1S0_GBFL96AEGjQGsu1R3LlJUu9XXiRer1GLz5QwBKGVyogYgIWtOCLJcKm2Vhf74odBMyVKG3eI71cYtM1o9PJpsDMDTdce8Dso9FeX88400DgzZmcDrw6zTs__n6QIdfo-_/s320/2312382347_50808d7237.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Anyone who uses Python regularly will soon encounter the need to install an extra package be it &lt;a href=&quot;http://pypi.python.org/pypi/MySQL-python&quot;&gt;MySQLdb&lt;/a&gt;, &lt;a href=&quot;http://pypi.python.org/pypi/numpy&quot;&gt;numpy&lt;/a&gt; or &lt;a href=&quot;http://pypi.python.org/pypi/Django&quot;&gt;Django&lt;/a&gt;. Thanks to tools like &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;pip&lt;/span&gt; and &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;easy_install&lt;/span&gt; this is very trivial to do (as long as you have internet access from your command-line. Those of you behind corporate firewalls might want to try &lt;a href=&quot;http://cntlm.sourceforge.net/&quot;&gt;cntlm&lt;/a&gt; to help). Typically they will install the package into your home directory for only you to use. If you are root they will install into the system installation for all users to use. In both&amp;nbsp;scenarios&amp;nbsp;it is hard to mix and match multiple versions of packages. As a developer this becomes very important, I might want to try the lastest version of a package, but for my production code I want to remain on the stable release. The&amp;nbsp;easiest&amp;nbsp;way to manage this is using virtual environments. &lt;a href=&quot;http://www.virtualenv.org/&quot;&gt;Virtualenv&lt;/a&gt; is a python package that allows you to manage multiple python instances with different combinations of packages. It is easy to mix python and package versions for development and production code. Virtualenv is great and has been extended with &lt;a href=&quot;http://www.doughellmann.com/projects/virtualenvwrapper/&quot;&gt;virtualenvwrappers&lt;/a&gt;, which adds even more functionality.&lt;br /&gt;
&lt;br /&gt;
To get started run the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;easy_install virtualenv&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;easy_install virtualenvwrappers&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Next you need to alter your environment slightly in&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp;~/.bashrc&lt;/span&gt; or equivalent add:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export WORKON_HOME=$HOME/.virtualenvs&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export PROJECT_HOME=$HOME/projects&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;source /usr/local/bin/virtualenvwrapper.sh&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Fire up a new terminal or run &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;source ~/.bashrc&lt;/span&gt; and the new commands are now available to you. Lets create our new virtual environment with&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mkvirtualenv test&lt;/span&gt;. This creates and loads the new virtual environment called test. Your command prompt will indicate you are using test as well. Now run easy_install to install your packages. You can see what packages are available with &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;lssitepackages&lt;/span&gt;. To leave this environment run &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;deactivate&lt;/span&gt;. Create another environment and list your packages, there will be none. Switch back to test with &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;workon test&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
You can tie this virtual environment to Eclipse by pointing at the python for the test environment, which can be found at &lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;~/.virtualenvs/test/bin/python&lt;/span&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
See all the commands available for virtualenvwrappers at&amp;nbsp;&lt;a href=&quot;http://www.doughellmann.com/projects/virtualenvwrapper/&quot;&gt;http://www.doughellmann.com/projects/virtualenvwrapper/&lt;/a&gt;. Enjoy your new virtual python environments!&lt;br /&gt;
&lt;br /&gt;
Image courtesy of&amp;nbsp;&lt;a href=&quot;http://www.flickr.com/photos/ptshello/2312382347/&quot;&gt;http://www.flickr.com/photos/ptshello/2312382347/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/6286010111787292872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/6286010111787292872'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/03/python-virtual-environments.html' title='Python Virtual Environments'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWrnBGcFG1S0_GBFL96AEGjQGsu1R3LlJUu9XXiRer1GLz5QwBKGVyogYgIWtOCLJcKm2Vhf74odBMyVKG3eI71cYtM1o9PJpsDMDTdce8Dso9FeX88400DgzZmcDrw6zTs__n6QIdfo-_/s72-c/2312382347_50808d7237.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-5631527955825778816</id><published>2012-02-20T22:31:00.000-07:00</published><updated>2012-02-20T22:31:25.851-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ios"/><title type='text'>Notes and more everywhere</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpnivUNQSI3OYn1r1KvefgbvOP-kL1LPa8hdugtExfCXbYNBM6HxYltnahqH_7vrt6ea_I4aODyA5sIxptv3yEmAw6px9QVbybMXHpXWIm344y-YZdr1GsJlE0UdfWLgXNYyUPuUrMR_-/s1600/evernote-logo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;
&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpnivUNQSI3OYn1r1KvefgbvOP-kL1LPa8hdugtExfCXbYNBM6HxYltnahqH_7vrt6ea_I4aODyA5sIxptv3yEmAw6px9QVbybMXHpXWIm344y-YZdr1GsJlE0UdfWLgXNYyUPuUrMR_-/s1600/evernote-logo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I download lots of iOS apps, mainly out of&amp;nbsp;curiosity. Some I grow to use others just disappear. One which I use more and more and has got better and better is &lt;a href=&quot;http://www.evernote.com/&quot;&gt;Evernote&lt;/a&gt;. With the tagline &quot;Remember Everything&quot; you use Evernote via the web, iOS,&amp;nbsp;Android, BlackBerry etc. You can do simple notes, todo lists, upload files or images. I started to use it for making notes at conferences. The Evernote ecosystem has grown and a great feature is the web clipper. This add-in for your&amp;nbsp;favorite&amp;nbsp;browser clips all or part of a web site and saves it as an evernote note. Once in evernote it is easy to search through it via tags; my google searches even checks my evernote account now (with permission).&amp;nbsp;&lt;a href=&quot;http://www.evernote.com/skitch/&quot;&gt;Skitch&lt;/a&gt;&amp;nbsp;is a recent&amp;nbsp;acquisition&amp;nbsp;but makes annotating images dead easy on your desktop, iPad or&amp;nbsp;Android&amp;nbsp;device (and then saves the results to Evernote).&lt;br /&gt;
&lt;br /&gt;
It works on a freemium model. You get everything with some restrictions (60MB upload a month, no offline data on mobile devices). They get you hooked then you can pay for unlimited access, which I&#39;m giving serious consideration to. Why not give it a try at your next conference? I hear &lt;a href=&quot;http://www.eyesopen.com/events/cup13&quot;&gt;CUP XIII&lt;/a&gt; should be good fun.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://chrome.google.com/webstore/detail/pengoopmcjnbflcjbmoeodbmoflcgjlk&quot; style=&quot;font-size: 13px;&quot;&gt;&#39;via Blog this&#39;&lt;/a&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5631527955825778816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5631527955825778816'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/02/notes-and-more-everywhere.html' title='Notes and more everywhere'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRpnivUNQSI3OYn1r1KvefgbvOP-kL1LPa8hdugtExfCXbYNBM6HxYltnahqH_7vrt6ea_I4aODyA5sIxptv3yEmAw6px9QVbybMXHpXWIm344y-YZdr1GsJlE0UdfWLgXNYyUPuUrMR_-/s72-c/evernote-logo.png" height="72" width="72"/><georss:featurename>Santa Fe, NM, USA</georss:featurename><georss:point>35.682525450800526 -105.98303600000003</georss:point><georss:box>35.611009950800529 -106.07188600000002 35.754040950800523 -105.89418600000003</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8679552910368075104</id><published>2012-02-19T23:07:00.000-07:00</published><updated>2012-02-19T23:07:14.264-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mac os x"/><category scheme="http://www.blogger.com/atom/ns#" term="red hat"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Operating systems which are current for now</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjter_0q1xBPSEnCe2YMkG0Mzu0AnbAfvbxIKHSljGuPrnAyyj43k-NA1fZ97QJsb4_rnEZ4p89sulC1_gYla5cABioRLLRgmfPR5YYnH5IfojKZmh-hHVA_zcA8yj2EchE2atyJrVi1BaF/s1600/overview_callout_osx.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjter_0q1xBPSEnCe2YMkG0Mzu0AnbAfvbxIKHSljGuPrnAyyj43k-NA1fZ97QJsb4_rnEZ4p89sulC1_gYla5cABioRLLRgmfPR5YYnH5IfojKZmh-hHVA_zcA8yj2EchE2atyJrVi1BaF/s1600/overview_callout_osx.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
After switching employer I&#39;m no longer tied to Windows Vista &amp;amp; Red Hat. Truth be told I&#39;m quite happy on Red Hat, Vista less so. Anyway, my new setup is Mac OS X Lion &amp;amp; Ubuntu. I use Lion on my personal computer so that is no problem. Although from a developer perspective OS X isn&#39;t Linux like Red Hat, but once you learn the tweaks it does play ball.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNkT1KAwky_YfrJM8ScPCsd2Kod7_urqEU0jR1ICEXF6e3JFRD0ytGl4_wdKWKVwlUtR7y45zt569Pks6R8lNe8hp5XsF1N8XxTvnK518drbAPSdl-UA_tY8Cg82iZsv_L9FP5hLH7Ncj/s1600/200px-Logo-ubuntu_no(r)-black_orange-hex.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUNkT1KAwky_YfrJM8ScPCsd2Kod7_urqEU0jR1ICEXF6e3JFRD0ytGl4_wdKWKVwlUtR7y45zt569Pks6R8lNe8hp5XsF1N8XxTvnK518drbAPSdl-UA_tY8Cg82iZsv_L9FP5hLH7Ncj/s1600/200px-Logo-ubuntu_no(r)-black_orange-hex.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
As for my new Linux workstation I was encouraged to use Ubuntu. I tried Ubuntu briefly at University and didn&#39;t really see what the fuss was about. If anything I found it really annoying as everything I wanted (developer/sysadmin tools) were not installed. However, a new job means an open mind and I&#39;ve landed with Ubuntu 11.10. I had heard about Unity and indeed it is an impressive desktop, which has been a pleasure to use. Ubuntu&amp;nbsp;12.04 is out in a matter of weeks and will feature &lt;a href=&quot;http://www.markshuttleworth.com/archives/939&quot;&gt;HUD&lt;/a&gt;, which again is very nice, but is nothing new over one of my&amp;nbsp;favorite&amp;nbsp;Mac apps: &lt;a href=&quot;http://www.alfredapp.com/&quot;&gt;Alfred&lt;/a&gt; (Like &lt;a href=&quot;http://qsapp.com/&quot;&gt;QuickSilver&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.apple.com/macosx/mountain-lion/&quot;&gt;Mountain Lion&lt;/a&gt; has just been announced as well. So there will be plenty of activity for my operating systems this year, just after I&#39;ve got them both setup the way I want them!&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8679552910368075104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8679552910368075104'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/02/operating-systems-which-are-current-for.html' title='Operating systems which are current for now'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjter_0q1xBPSEnCe2YMkG0Mzu0AnbAfvbxIKHSljGuPrnAyyj43k-NA1fZ97QJsb4_rnEZ4p89sulC1_gYla5cABioRLLRgmfPR5YYnH5IfojKZmh-hHVA_zcA8yj2EchE2atyJrVi1BaF/s72-c/overview_callout_osx.png" height="72" width="72"/><georss:featurename>Santa Fe, NM, USA</georss:featurename><georss:point>35.6869752 -105.93779899999998</georss:point><georss:box>35.6154597 -106.02664899999998 35.758490699999996 -105.84894899999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-650654251240995186</id><published>2012-02-19T22:24:00.000-07:00</published><updated>2012-02-19T22:24:23.212-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="openeye"/><title type='text'>All change</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQbfnkebTCh0uequDRMwC-N_0Ot3JhEo2JU38hd2QXfIn_WebfahQayslR0PrS7pYy5P5h_ZhsROZtsgHP6OpN25RZm_lUNujpVBa3W5buM4KfV10ub8D1qGumK98hbCDMsRsTmC4bzbSI/s1600/oelogo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQbfnkebTCh0uequDRMwC-N_0Ot3JhEo2JU38hd2QXfIn_WebfahQayslR0PrS7pYy5P5h_ZhsROZtsgHP6OpN25RZm_lUNujpVBa3W5buM4KfV10ub8D1qGumK98hbCDMsRsTmC4bzbSI/s1600/oelogo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;After three years at a AstraZeneca I decided it was time for a change. So instead of Manchester I opted for Santa Fe, New Mexico. I&#39;ve been here for nearly two weeks now and in terms of culture, food and weather it couldn&#39;t be more different to Manchester. Thankfully, I&#39;m loving every minute of it. In no small part that is thanks to my new employer - &lt;a href=&quot;http://www.eyesopen.com/&quot;&gt;OpenEye&lt;/a&gt;. I&#39;ve had a week at work so far and am immersing myself in the startup like culture that OpenEye has.&lt;br /&gt;
&lt;br /&gt;
I&#39;m speaking at &lt;a href=&quot;http://www.eyesopen.com/events/cup13&quot;&gt;CUP XIII&lt;/a&gt;&amp;nbsp;next month on some of my work from AstraZeneca entitled, &quot;Keepalive with OEChem 24x7x365&quot;. Given I work for a software company now I expect (though I won&#39;t promise) to actually post more to this blog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/650654251240995186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/650654251240995186'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2012/02/all-change.html' title='All change'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQbfnkebTCh0uequDRMwC-N_0Ot3JhEo2JU38hd2QXfIn_WebfahQayslR0PrS7pYy5P5h_ZhsROZtsgHP6OpN25RZm_lUNujpVBa3W5buM4KfV10ub8D1qGumK98hbCDMsRsTmC4bzbSI/s72-c/oelogo.png" height="72" width="72"/><georss:featurename>Santa Fe, NM, USA</georss:featurename><georss:point>35.6869752 -105.93779899999998</georss:point><georss:box>35.6154597 -106.02664899999998 35.758490699999996 -105.84894899999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-4876713121203098630</id><published>2011-12-28T08:26:00.000-07:00</published><updated>2011-12-28T08:26:50.874-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics"/><category scheme="http://www.blogger.com/atom/ns#" term="comp chem"/><title type='text'>Computational Chemistry sandwich placement available</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8jILVj6-bOPr4FhzSKiJRV0ED8-ExVDb8oW91Ftc5btgpG1LVt32S8l7lLNDpz_4qZ6uJaNNzBvnYT_nNcym7-0RZ5rNnmEm622ePFPmN7yDqzoxro_PGCtfuinvdJ2MbBDoAFfNU0AQg/s1600/5645102295_e4a6279691_m.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8jILVj6-bOPr4FhzSKiJRV0ED8-ExVDb8oW91Ftc5btgpG1LVt32S8l7lLNDpz_4qZ6uJaNNzBvnYT_nNcym7-0RZ5rNnmEm622ePFPmN7yDqzoxro_PGCtfuinvdJ2MbBDoAFfNU0AQg/s1600/5645102295_e4a6279691_m.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;It&amp;nbsp;is that time of year again when I can announce my group at AstraZeneca has a new position available. We are looking for a Sandwich Student to join us in September 2012. We successfully rebooted our sandwich student program last year. The ideal candidate will currently be in the second year of their chemistry or computer science degree. No experience is required, but a willingness to learn is&amp;nbsp;crucial&amp;nbsp;as you will learn about cheminformatics and computational chemistry.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I personally will not be&amp;nbsp;involved&amp;nbsp;with this student, apart from the recruitment process for reasons which are subject to another blog post.&lt;br /&gt;
&lt;br /&gt;
If you are interested find out more here:&amp;nbsp;&lt;a href=&quot;http://www.ideas.astrazeneca.com/sandwich-and-summer-placements/&quot;&gt;http://www.ideas.astrazeneca.com/sandwich-and-summer-placements/&lt;/a&gt; and search for reference: TRES DS 12. Closing date for applications is 25th Jan 2012. Good luck!&lt;br /&gt;
&lt;br /&gt;
Photo courtesy of&amp;nbsp;&lt;a href=&quot;http://www.flickr.com/photos/53921113@N02/5645102295/&quot;&gt;http://www.flickr.com/photos/53921113@N02/5645102295/&lt;/a&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/4876713121203098630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/4876713121203098630'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2011/12/computational-chemistry-sandwich.html' title='Computational Chemistry sandwich placement available'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8jILVj6-bOPr4FhzSKiJRV0ED8-ExVDb8oW91Ftc5btgpG1LVt32S8l7lLNDpz_4qZ6uJaNNzBvnYT_nNcym7-0RZ5rNnmEm622ePFPmN7yDqzoxro_PGCtfuinvdJ2MbBDoAFfNU0AQg/s72-c/5645102295_e4a6279691_m.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-283120568633367725</id><published>2011-01-15T11:30:00.002-07:00</published><updated>2011-01-15T11:31:49.833-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheminformatics"/><category scheme="http://www.blogger.com/atom/ns#" term="comp chem"/><title type='text'>Computational Chemistry sandwich placement available</title><content type='html'>I&#39;m delighted to&amp;nbsp;announce&amp;nbsp;we have a 12 month placement available for a sandwich student. Typically the third year of a four year undergraduate degree. It has been a while since my department has had a placement student, but I firmly believe the experience is valuable for both the student and us. I did a placement during my undergraduate degree and thoroughly enjoyed it. Seemingly my employer agreed as they later sponsored my PhD.&lt;br /&gt;
&lt;br /&gt;
The ideal candidate would be a chemist or computer scientist. The only skill you need to bring is a desire to learn. We don&#39;t expect you to know all about drug discovery or be an amazing programmer. During the placement you will have to the opportunity to pick up the skills&amp;nbsp;required&amp;nbsp;to make a meaningful&amp;nbsp;contribution&amp;nbsp;to our department.&lt;br /&gt;
&lt;br /&gt;
If you are interested find out more here,&amp;nbsp;&lt;a href=&quot;http://www.ideas.astrazeneca.com/sandwich-and-summer-placements/&quot;&gt;http://www.ideas.astrazeneca.com/sandwich-and-summer-placements/&lt;/a&gt; and search for reference:&amp;nbsp;TRES DECS 11. Closing date for applications is 15th Feb 2011. Good luck!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/283120568633367725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/283120568633367725'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2011/01/computational-chemistry-sandwich.html' title='Computational Chemistry sandwich placement available'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-3524347278753365840</id><published>2010-09-23T03:37:00.018-06:00</published><updated>2011-01-15T11:32:10.741-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="red hat"/><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><title type='text'>Subversion Edge</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivrgN9J-YqUqeGNaWQmWflPP2sSlzEOVy89Obw-VVid7GzjdxFJ4UUJEEO8cNfO4WtATGv99QIp9RXAM6FZFr-LV8fh9eWYWrgHZxawjCxYAUSCuLDqE2FxvAVJQRiJHQqS4Lff4JMat8U/s1600/csvn.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivrgN9J-YqUqeGNaWQmWflPP2sSlzEOVy89Obw-VVid7GzjdxFJ4UUJEEO8cNfO4WtATGv99QIp9RXAM6FZFr-LV8fh9eWYWrgHZxawjCxYAUSCuLDqE2FxvAVJQRiJHQqS4Lff4JMat8U/s320/csvn.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Subversion is an excellent version control system. It is mature enough to have all sorts of integration - with Apache and Python amongst others. This enables easy communication via the HTTP protocol&amp;nbsp;and language bindings, such as python to form web interfaces for repositories.&lt;br /&gt;
&lt;br /&gt;
With&amp;nbsp;subversion&amp;nbsp;being a server-client model the version of the server is the most important component as it determines what features you can actually use. No good having a 1.6 client if the server is 1.2 as only 1.2 features are available. Depressingly this was the&amp;nbsp;situation&amp;nbsp;I was in. Unsurprisingly, the good folk at CollabNet have added lots of useful new features, which I need to use.&lt;br /&gt;
&lt;br /&gt;
Compiling subversion is actually dead easy (as I have discussed&amp;nbsp;&lt;a href=&quot;http://cheminsilico.blogspot.com/2008/09/install-and-setup-subversion.html&quot;&gt;previously&lt;/a&gt;, plus lots of binaries are available). So what is Subversion Edge? Essentially a bundle of Apache, Subversion and ViewVC server in a&amp;nbsp;convenient&amp;nbsp;tarball. Then throw in a bonus admin web interface as well. Upgrading your server version becomes slightly more tricky when Apache and Python are tied to it.&amp;nbsp;No worries with Subversion Edge as it has a built-in update mechanism.&amp;nbsp;One of my pet&amp;nbsp;peeves&amp;nbsp;is multiple usernames/passwords. Another freebie from Subversion Edge is LDAP support so plug straight in your authentication system - nice. One less&amp;nbsp;component&amp;nbsp;to ensure you compile against.&lt;br /&gt;
&lt;br /&gt;
I started using the beta over the summer and have had no problems. The 1.2.1 release is now happily serving many repositories for me. &amp;nbsp;If you run a very large and complicated setup you may find Subversion Edge is too restricted for you, but for a large number of users it will meet your needs.&lt;br /&gt;
&lt;br /&gt;
If you maintain subversion repositories I strongly&amp;nbsp;recommend&amp;nbsp;you give Subversion Edge a go today. Did I mention it was free as well?&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Useful links:&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://ctf.open.collab.net/sf/projects/svnedge&quot;&gt;Project homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://ctf.open.collab.net/sf/projects/svnedge&quot;&gt;Screenshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://subversion.open.collab.net/ds/viewForumSummary.do?dsForumId=3&quot;&gt;Mailing list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://help.collab.net/nav/12&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3524347278753365840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3524347278753365840'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2010/09/subversion-edge.html' title='Subversion Edge'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivrgN9J-YqUqeGNaWQmWflPP2sSlzEOVy89Obw-VVid7GzjdxFJ4UUJEEO8cNfO4WtATGv99QIp9RXAM6FZFr-LV8fh9eWYWrgHZxawjCxYAUSCuLDqE2FxvAVJQRiJHQqS4Lff4JMat8U/s72-c/csvn.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-743173946010863029</id><published>2010-09-20T17:11:00.000-06:00</published><updated>2010-09-20T17:11:21.385-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="mac os x"/><title type='text'>iOS apps for Science</title><content type='html'>I was going to list interesting iPhone/iPad apps months ago, but there is already an excellent list available&amp;nbsp;&lt;a href=&quot;http://homepage.mac.com/swain/Macinchem/iPhone/mobile_apps.html&quot;&gt;here&lt;/a&gt;&amp;nbsp;and I see no point in reinventing the wheel.&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
If you fancy hunting through the App Store, which isn&#39;t that great a search you&#39;ll generally find science apps under Books, Education, Reference or Utilities.&lt;br /&gt;
&lt;br /&gt;
Now I have slightly more free time I might have a dabble with the iOS SDK.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/743173946010863029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/743173946010863029'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2010/09/ios-apps-for-science.html' title='iOS apps for Science'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-5897008253113922142</id><published>2010-08-30T12:08:00.000-06:00</published><updated>2010-08-30T12:08:40.483-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><title type='text'>Blog spring clean</title><content type='html'>Admittedly&amp;nbsp;this is late for a spring clean, but Blogger has introduced a host of updates since I last looked. One being this nifty new template.&lt;br /&gt;
&lt;br /&gt;
Also, something I&#39;ve wanted to try out is a decent syntax highlighter and this one looks good. See &lt;a href=&quot;http://alexgorbatchev.com/SyntaxHighlighter/&quot;&gt;http://alexgorbatchev.com/SyntaxHighlighter/&lt;/a&gt;. The instructions I followed for Blogger can be found&amp;nbsp;&lt;a href=&quot;http://www.cyberack.com/2007/07/adding-syntax-highlighter-to-blogger.html&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So now I can&amp;nbsp;easily&amp;nbsp;publish code like this:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:html&quot;&gt;&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Tutorial: HelloWorld&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;HelloWorld Tutorial&amp;lt;/h1&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
(You have escape angular brackets)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:python&quot;&gt;print &quot;Hello, World!&quot;
&lt;/pre&gt;&lt;br /&gt;
&lt;pre class=&quot;brush:java&quot;&gt;// Outputs &quot;Hello, world!&quot; and then exits
public class HelloWorld {
   public static void main(String[] args) {
       System.out.println(&quot;Hello world!&quot;);
   }
}
&lt;/pre&gt;&lt;br /&gt;
Don&#39;t use the Blogger WYSIWYG editor for this, switch to HTML else it will get very confused. I have used the pre method over script. I imagine if you switch templates this may break, but a quick copy and paste should bring the functionality back.&lt;br /&gt;
&lt;br /&gt;
Fingers crossed it comes out ok through RSS readers as well!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5897008253113922142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/5897008253113922142'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2010/08/blog-spring-clean.html' title='Blog spring clean'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-4429006060091172678</id><published>2010-04-03T10:58:00.001-06:00</published><updated>2010-04-03T10:58:00.076-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><title type='text'>New content... part II</title><content type='html'>I&#39;ve finally submitted my PhD thesis! Therefore, I now have spare time, it might take a while to get used to. I&#39;ve neglected this blog because of writing up but will start to post new content soon.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/4429006060091172678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/4429006060091172678'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2010/04/new-content-part-ii.html' title='New content... part II'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-3100867093107539124</id><published>2009-06-28T12:07:00.002-06:00</published><updated>2009-06-28T12:08:16.593-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><title type='text'>Eclipse Galileo</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg-anZ-aU-xp-Ql7KalvNa-N3nm8b_MNQ0sBUaiIDJ8CpDWlXdmHmqs-FKMbrDd-q_qlBjfpdFDho2rJv4Er4C_iSNl4Hb_n-qrLe0FxCs3HfqdTvEmg5vwsK-iiCG4aNlIupcypFSJFWe/s1600-h/here.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 52px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg-anZ-aU-xp-Ql7KalvNa-N3nm8b_MNQ0sBUaiIDJ8CpDWlXdmHmqs-FKMbrDd-q_qlBjfpdFDho2rJv4Er4C_iSNl4Hb_n-qrLe0FxCs3HfqdTvEmg5vwsK-iiCG4aNlIupcypFSJFWe/s400/here.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5351638445884623762&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Eclipse continues it&#39;s annual eclipse release, this year with Galileo. Available to download from &lt;a href=&quot;http://www.eclipse.org/downloads/&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;33 projects have released new updates, so something for everyone. Of particular note for Mac users, is the option for Cocoa, the successor to the Carbon API. (Pick when you download).&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I&#39;ve tried a handful of plugins and they all seem to work fine:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Subclipse&lt;/li&gt;&lt;li&gt;CDT (new release)&lt;/li&gt;&lt;li&gt;PyDev&lt;/li&gt;&lt;li&gt;Aptana Studio&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can find numerous reviews  on the eclipse &lt;a href=&quot;http://www.eclipse.org/galileo/blogathon/reviews.php&quot;&gt;website&lt;/a&gt;.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3100867093107539124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3100867093107539124'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2009/06/eclipse-galileo.html' title='Eclipse Galileo'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg-anZ-aU-xp-Ql7KalvNa-N3nm8b_MNQ0sBUaiIDJ8CpDWlXdmHmqs-FKMbrDd-q_qlBjfpdFDho2rJv4Er4C_iSNl4Hb_n-qrLe0FxCs3HfqdTvEmg5vwsK-iiCG4aNlIupcypFSJFWe/s72-c/here.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-3403956559381101463</id><published>2009-06-14T12:29:00.001-06:00</published><updated>2009-06-14T12:29:58.369-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="django"/><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Eclipse with Django</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4s-FHgX0AfD_RxBKFzDgsDpDpHUtn6MIe6CunSBkv4iXUepOFAxl5sqP4W1cZCsF1z4uqEYp-MDT100K3SjH5BI1k1HsIs8YwI8RU_IzUgCW0vY9tZm8wRUtm4hzbhc5LwikjnKhYB9j/s1600-h/hdr_logo.gif&quot;&gt;&lt;img style=&quot;float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 117px; height: 41px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4s-FHgX0AfD_RxBKFzDgsDpDpHUtn6MIe6CunSBkv4iXUepOFAxl5sqP4W1cZCsF1z4uqEYp-MDT100K3SjH5BI1k1HsIs8YwI8RU_IzUgCW0vY9tZm8wRUtm4hzbhc5LwikjnKhYB9j/s400/hdr_logo.gif&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5347248735994585442&quot; /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; is popular web framework written in Python. For Python users it is an obvious choice to deploy web applications. Once again I return to my favourite IDE to develop with Django - &lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Two plugins are needed to bring Django support to Eclipse. The second handles the Django template &lt;a href=&quot;http://docs.djangoproject.com/en/dev/topics/templates/#topics-templates&quot;&gt;language&lt;/a&gt;. Grab the plugins:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://pydev.sourceforge.net/&quot;&gt;PyDev&lt;/a&gt; (Python)&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://aptana.com/studio/download/thanks?platform=plugin&amp;amp;os=false&amp;amp;ev=3.4&quot;&gt;Aptana Studio&lt;/a&gt; (Python + Django)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Both plugins are from Aptana, PyDev is a plugin to their IDE. Thankfully, both work through Eclipse as well.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3403956559381101463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/3403956559381101463'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2009/06/eclipse-with-django.html' title='Eclipse with Django'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgM4s-FHgX0AfD_RxBKFzDgsDpDpHUtn6MIe6CunSBkv4iXUepOFAxl5sqP4W1cZCsF1z4uqEYp-MDT100K3SjH5BI1k1HsIs8YwI8RU_IzUgCW0vY9tZm8wRUtm4hzbhc5LwikjnKhYB9j/s72-c/hdr_logo.gif" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-2609785926227057881.post-8438992065142160155</id><published>2009-06-01T08:10:00.005-06:00</published><updated>2009-06-01T08:30:43.463-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="openeye"/><title type='text'>Eclipse with C++/OEChem</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX71hT89ZfCzuhdaDeSGAQ93NH_UMJB0OZTeklwFr18iie7u9W9WAWzSKZeIR9eF0fdP0LmIfjYrKFRVJ72jc5af6yzbF1SZjcBzMTdl8WpBS0Q7GMPDoT1mEnvD_Rd_SMY_YKuFz7NqIt/s1600-h/CDT2.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 280px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX71hT89ZfCzuhdaDeSGAQ93NH_UMJB0OZTeklwFr18iie7u9W9WAWzSKZeIR9eF0fdP0LmIfjYrKFRVJ72jc5af6yzbF1SZjcBzMTdl8WpBS0Q7GMPDoT1mEnvD_Rd_SMY_YKuFz7NqIt/s400/CDT2.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5342365569760721666&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The final post in this series, allowing you to develop your OpenEye applications using Eclipse.&lt;br /&gt;&lt;br /&gt;First off you will need to ensure the &lt;a href=&quot;http://www.eclipse.org/cdt&quot;&gt;CDT&lt;/a&gt; plugin is installed, or download Eclipse for C++ developers.&lt;br /&gt;&lt;br /&gt;Now we are set to go. Create a new C++ Project (Executable &gt; Hello World). Edit/Add C++ files to the source folder. Next we need to inform the project about OpenEye.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open your project properties (Project &gt; Properties).&lt;/li&gt;&lt;li&gt;Pick C/C++ Build &gt; Settings&lt;/li&gt;&lt;li&gt;Edit [ All Configurations ] (by default Debug and Release)&lt;/li&gt;&lt;li&gt;Set include paths (&lt;span style=&quot;font-family: courier new;&quot;&gt;-I&lt;/span&gt;) under GCC C++ Compiler &gt; Directories &gt; Include paths&lt;/li&gt;&lt;li&gt;Add &lt;span style=&quot;font-family:courier new;&quot;&gt;$OE_DIR/toolkits/includ&lt;/span&gt;e&lt;/li&gt;&lt;li&gt;Set library paths (&lt;span style=&quot;font-family: courier new;&quot;&gt;-L&lt;/span&gt;) under GCC C++ Linker &gt; Libraries &gt; Library search path&lt;/li&gt;&lt;li&gt;Add $OE_DIR/toolkits/lib&lt;/li&gt;&lt;li&gt;Set specific libraries (&lt;span style=&quot;font-family: courier new;&quot;&gt;-l&lt;/span&gt;) under GCC C++ Linker &gt; Libraries &gt; Libraries&lt;/li&gt;&lt;li&gt;Add &lt;span style=&quot;font-family:courier new;&quot;&gt;oeplatform&lt;/span&gt;, &lt;span style=&quot;font-family:courier new;&quot;&gt;oesystem&lt;/span&gt;, &lt;span style=&quot;font-family:courier new;&quot;&gt;oechem&lt;/span&gt;, &lt;span style=&quot;font-family:courier new;&quot;&gt;m&lt;/span&gt;, &lt;span style=&quot;font-family:courier new;&quot;&gt;z&lt;/span&gt;, &lt;span style=&quot;font-family:courier new;&quot;&gt;pthread&lt;/span&gt;&lt;/li&gt;&lt;li&gt;You can set further Makefile details from this panel (optimisation etc)&lt;/li&gt;&lt;/ul&gt;If you have multiple versions of the toolkit you can create a configuration for each one.&lt;br /&gt;&lt;br /&gt;Between C++/Java/Python you should be able to code away happily within Eclipse.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8438992065142160155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2609785926227057881/posts/default/8438992065142160155'/><link rel='alternate' type='text/html' href='http://cheminsilico.blogspot.com/2009/06/eclipse-with-coechem.html' title='Eclipse with C++/OEChem'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/10324108795238445454</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX71hT89ZfCzuhdaDeSGAQ93NH_UMJB0OZTeklwFr18iie7u9W9WAWzSKZeIR9eF0fdP0LmIfjYrKFRVJ72jc5af6yzbF1SZjcBzMTdl8WpBS0Q7GMPDoT1mEnvD_Rd_SMY_YKuFz7NqIt/s72-c/CDT2.png" height="72" width="72"/></entry></feed>