Monday, May 2, 2011

It's true

One of my favorite bloggers said this, which is true even of my mother (who swears she is a democrat, but watches Fox news religously and hasn't voted democrat in I don't know how long). I think these words essentially sum up what most of America thinks right now, "Everybody likes the idea of smaller government until they see it." Bingo.

 

"I keep telling my conservative in-laws that they really don’t want smaller government. They just want to pay less taxes, which I can understand. Everybody likes the idea of smaller government until they see it."

 

 

Wednesday, March 30, 2011

Free citation managers

I needed to make a quick, properly-formatted bibliography and I'm not lucky enough to get one of our corporate Endnote seats. So I turned to Zotero, a project that I've been following but not really using (same with cb2bib). I entered the refs, used the Word 2007 add-in, cited, created the biblio, and feeling proud I called a colleague to show off share this handy tool. Her response was, "Oh, I don't need that, I use Mendeley." Men-what? And so I embark on a new round of research in an attempt to stay up-to-date with a software and data landscape that changes daily.

Looks like both products offer (or are about to offer) a stand-alone desktop tool (e.g, no need for a browser). Mandeley appears to be free, but not Free (proprietary and developed by a company). Zotero appears to be primarily developed by George Mason University. Both offer extensive import/export from the relevant data data types (Bibtex, etc.) but we do some funny things with attributes so I'll have to check our mileage. There seems to be some religious battles regarding usability - and I've struggled with a few citation managers here, so this makes sense. Other than that I need a beer, pizza, and some time without work or kids to compare these two. Until below are some other quick notes. More to follow...

Mendeley
Mendeley is a free reference manager and academic social network that can help you organize your research, collaborate with others online, and discover the latest research.

Features from their website:

General
  • Cross-platform - Mendeley Desktop has full support for Windows, Mac, and Linux.
  • Secure backup - Any documents synced in the desktop client will be backed up on the web.
  • Mobile devices - Read papers anywhere with your iPhone, iPad, or iPod Touch.
  • Install on multiple computers - Install Mendeley on multiple computers and access your entire library.

Organize
  • Full text search - Mendeley Desktop creates a fully searchable database of your papers.
  • Automatic metadata extraction  - We automatically extract metadata from the papers you import.
  • Highlight and annotate - Organise your own notes and highlights and share them with others.
  • Flexible organization - Groups, tags, and filters let you organise your way.
Community

    Research collaboration - Use research groups to collaborate with your peers and colleagues.
    Trends and statistics - Get real-time readership statistics and view trends in your research area.
    Track your own publications - Find out how many people are reading and downloading your own research.
    Related research  - Get personalized suggestions on interesting papers to read.

Integration
  • Microsoft Word / Open Office - Our plugins let you easily insert bibliographies into your documents.
  • BibTeX / Endnote / RIS - Mendeley Desktop can import and export all these formats and more.
  • Zotero / CiteULike - Mendeley Desktop can sync with your Zotero or CiteULike libraries.
  • Mendeley API - Our API allows 3rd parties to build applications using Mendeley's data.

Zotero

Zotero [zoh-TAIR-oh] is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources. It lives right where you do your work—in the web browser itself.

Features from their website:

Collect Everything - Record your online research with one click.
  • Capture Research Data - Collect information on books, journal articles, and other resources with a single click in your location bar
  • Archive the Web - Archive entire web pages in your library
  • Store Anything - Store related PDFs, files, images, and links in your library

Organize Any Way - It has never been easier to organize research.
  • Intuitive Interface - Zotero's iTunes-like interface allows you to quickly organize your research sources
  • Drag and Drop - Drag and drop items into collections and tag them with terms relevant to your needs
  • Take Notes - Easily take notes right alongside your items

Cite Anywhere - You're never more than one click from a bibliography.
  • Drag and Drop Bibliography - Drag and drop bibliographies anywhere: into an email, a blog post, or any word processor
  • Word and OpenOffice Integration - Plugins for Word and OpenOffice make it easy to drop in references on the fly
  • Cite in Style - Zotero comes preloaded with all major styles, and thousands of additional journal-specific styles are freely available

Access Everywhere - Your information is wherever you need it to be.
  • Work Locally, Sync Globally - Get the best of both worlds: Work locally with your research materials and automatically sync your data between multiple computers
  • Browse from Mobile Devices - Even without Zotero, you can access your collection from any web browser. You can even view your collection on mobile devices like the iPhone.
  • Publish Your Process - Share your research with the world and make your library and collections public

Collaborate with Anyone - Opt in to automatic collaboration.
  • Share Group Libraries - Create group libraries to collaborate with other Zotero users
  • Publish Dynamic Bibliographies - Publish shared libraries for your organization, class, or research group
  • Uncover New Connections - Discover other researchers working in your field

Relevant Links
http://chronicle.com/blogs/profhacker/using-mendeley-for-research-management/25627
http://forums.zotero.org/discussion/6174/mendeley/
http://spinuzzi.blogspot.com/2010/03/sxswi-discussion-mendeley.html
http://astuscience.wordpress.com/2010/05/20/the-most-successful-post-paper-versus-mendeley-zotero-and-stuff/
http://earlycj5.wordpress.com/2009/03/20/zotero-vs-mendeley-initial-thoughts/
http://en.wikipedia.org/wiki/Comparison_of_reference_management_software
http://groups.google.com/group/zotero-evangelists/browse_thread/thread/2fc26735b1142acd?pli=1
http://www.slideshare.net/giustinid/ref-works-mendeley-zotero

Thursday, March 24, 2011

Some notes about MySQL configuration

MySQL is so easy to just "get running" and my applications are often quite basic. So, I only get around to actually "configuring" MySQL every couple of years, during which time I've forgotten the guidelines. So this is this year's refresher reading list:

http://www.mysqlperformanceblog.com/2006/05/17/mysql-server-memory-usage/

http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html
http://www.mysqlperformanceblog.com/2011/03/21/what-causes-downtime-in-mysql/
http://www.mysqlperformanceblog.com/2011/02/17/how-to-syntax-check-your-my-cnf-file/
http://fts.ifac.cnr.it/cgi-bin/dwww/usr/share/doc/mysql-server-5.0/examples/my-large.cnf.gz
http://mysqldatabaseadministration.blogspot.com/2005/11/mysql-5-optimization-and-tuning-guide.html
http://brian.moonspot.net/2008/05/06/example-mycnf-files/
http://forge.mysql.com/tools/tool.php?id=138
http://forge.mysql.com/tools/tool.php?id=137
http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/
http://forum.percona.com/index.php/t/1493/

More to follow...


Some notes about MySQL configuration

MySQL is so easy to just "get running" and my applications are often quite basic. So, I only get around to actually "configuring" MySQL every couple of years, during which time I've forgotten the guidelines. So this is this year's refresher reading list:

http://www.mysqlperformanceblog.com/2006/05/17/mysql-server-memory-usage/

http://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html
http://www.mysqlperformanceblog.com/2011/03/21/what-causes-downtime-in-mysql/
http://www.mysqlperformanceblog.com/2011/02/17/how-to-syntax-check-your-my-cnf-file/

More to follow...


Tuesday, February 22, 2011

Even More Mercurial: sub-repos

Even More Mercurial: sub-repos



Even More Mercurial: sub-repos

More Mercurial Reading: Shared Repositories

I did some playing with Hg last night and found the basics to be easy enough. But, we're really gonna need a central repository with many projects running at once -- not something that Hg is really meant to support well. So below are some links to review.

First of course is the Hg guide itself
Man, this is deep stuff.

Here's some more also

"As an alternative, you can use hg-app http://hg.python-works.com it's hgwebdir replacement written entirely in pylons.

  • has it's own middleware to handle mercurial protocol request each request can be logged and authenticated + threaded performance unlikely to hgweb
  • full permissions per project read/write/admin access even on mercurial request
  • mako templates let's you cusmotize look and feel of application.
  • diffs annotations and source code all colored by pygments.
  • mercurial branch graph and yui-flot powered graphs
  • admin interface for performing user/permission managments as well as repository managment.
  • Additional settings for mercurial web, (hooks editable from admin panel !) also manage paths, archive, remote messages
  • backup scripts can do backup of whole app and send it over scp to desired location
  • setup project descriptions and info inside built in db for easy, non file-system operations
  • Full search text on repository codes
  • added cache with invalidation on push/repo managment for high performance and always upto date data.
  • rss / atom feeds, gravatar support
  • based on pylons 1.0 / sqlalchemy 0.6 "



Monday, February 21, 2011

A version of change

You know how you know you need to do something... you want to do that thing... you NEED to do that thing eventually... but the law or inertia just works against you? I know you've been there. Well, our IT development shop has been there for years. We've been rocking CVS as our version control system (VCS) for years (on the same server), and it's actually been OK. But some of us have seen the day of change coming for a long time now... or at least I have. The CVS is now past its prime and with new hardware we are poised to replace software as well.

Our shop often works on small projects and our developers have to work with just about every development technology known to man -- often in the same day. We grew up doing Java/Oracle mostly, but find ourselves living in .Net world these days. So Visual Studio integration would be a nice change for folks. Our guys and gals just want to focus on programming and do not want to deal with learning something ELSE new so a lower learning curve will initially seem more beneficial. In this vane, we currently don't  use a distributed VCS model nor we do likely need one (but, maybe there's some benefit here we're not thinking of).

Our projects range from small to medium-large in terms of code, though we often abuse CVS by sticking non-code in it. So, speed is not a HUGE issue, but I'm sure everyone would appreciate a speed up. Everyone knows we need to improve our tagging/branching/merging, so a VCS that helps us do this easily/safely and doesn't get in our way is desirable. Our company is pretty much Microsoft across the infrastructure board, but we rock the occasional Linux server. Our local backup is being augmented by the enterprise over-the-wire Microsoft solution that sends daily changes back to the HQ. So, we'll likely shift to a VCS that happily (natively?) runs on Windows.

So, tonight I've done more reading (been thinking about this for years) and determining the next CVS lilly pad is going to me more challenging than ever. It seems that all of the leading contenders have matured greatly.

Candidate 1 - SVN

Subversion seems to be adequate. We don't need distributed VCS and there are a lot of tools out there for it. Some of the disk and speed issues seem to have improved over the years, but likely are still issues. SVN likely offers the lowest learning curve for folks, but we also don't gain as much from it. Oh, and the migration from CVS seems to be mature. There do seem to be Windows native installations possible.

Candidate 2 - Hg
 Distributed VCS, decent documentation and rich tool sets. Learning curve will be steeper than SVN. Performance should be better than SVN, but not as fast as Git. Its python based and seems to be Windows native. I need to read more about CVS migration and how simple you can make using it (can you do central version management if you want to?). A little more reading from somewhat older links indicates that we will have a hard time following a centralized model with mercurial (though that may be a good thing).

The Rest - Git and Bzr
Git and Bazaar are both annoyingly compelling and mature. I'm going to ignore them for now however as I can't see anything that they do differently than what Hg does -reletive to our need.

Bzr seems like it is very flexible, but the toolset seems a little behind Git and Hg. Plus, it still seems to support Linux better than Windows given the competition developers seem to focus more on Hg and oddly Git for tool/integration outside of Linux.

Git is powerful and has some huge momentum. But the learning curve sounds like it's steepest here. That said, the existing toolset and mindshare to support them, particularly on Windows, seems to be present and not losing steam.

So, we don't have a decision yet, but I've provided some links below for more information.


Bazaar (bzr)

Subversion (svn)


Mercurial (hg)
Git (Git)

Comparisons

Instructions, Tutorials, Stories



Sunday, February 20, 2011

I've been waiting for..

James Fee called out two topics that I've been waiting for but failed to monitor. One is the maturation of an OpenLayers-eqsue, Flash-based mapping framework called OpenScales. We like building stuff in Flash and I remember being excited when I saw that OpenScales had started on the OpenLayers mailing list. I'm glad to see it achieve such maturity as an alternative to the ubiquitous OpenLayers (which also rocks).

The other topic relates to a running thought that I've had, "This SLD stuff sucks is too complex and time-consuming to produce for 90% of my needs. I wish there was a KML for styling - something that covers most of what I need but is simple to hack on." At the back of my mind I guess I was thinking about CSS for maps, or a something like a Mapserver Mapfile but for broader use.  Behold Carto. It's quite limited now as far as as the platforms its used in. But I hope similarly easy approaches (below) emerge as a wider alternative to SLD.

From the carto page, "We've been actively using and contributing to the Cascadenik project for several years, so it doesn't come as a surprise that Carto is heavily inspired by Mike's pioneering work in Cascadenik. We hope that our work on Carto will contribute to the emerging field of CSS-like map styling which includes projects like GSS and MapCSS and the GeoServers CSS Module"