Remote MySQL Connections - security implications
Tiger Technologies: Remote MySQL Connections: "Unfortunately, remote access to MySQL is not very secure. When your remote computer first connects to your MySQL database, the password is encrypted before being transmitted over the Internet. But after that, all data is passed as unencrypted 'plain text'. If someone was able to view your connection data (such as a 'hacker' capturing data from an unencrypted WiFi connection you're using), that person would be able to view part or all of your database.In particular, never store any sensitive data such as credit card numbers in unencrypted format within the database. Such data should always be encrypted, even if it's never going to be transmitted over the Internet. Encrypting the data will ensure that it stays confidential even if the raw database file is ever stolen or compromised."
S3 with django
basic class for using S3 with djangodavid / django-storages / source — bitbucket.org: "Support for many storages (S3, MogileFS, etc) in Django."
Chicago Web Designers - Patrick Algrim / P41 Studios
Since this blog is ostensibly the Chicago Web Design blog, I'll mention a Chicago Web Designer whose work I like:Patrick Algrim, the proprietor of P41 studios.
Labels: chicago
Slicehost and Linode have affiliate programs
Are they good affiliate programs? I don't know but they have them.lethain's lifeflow -- django blog software
lethain's lifeflow at master - GitHub: "A full featured and opinionated blogging solution using Django"Which is best for Django? Nginx or Apache?
Which is best for Django? Lighttpd or Nginx? Or maybe something else? - Server Fault: "mod_wsgi is recommended way to get Django application into production. Apache's mod_wsgi is much better than nginx. You can't find official package (in current Linux distributions) for nginx's mod_wsgi and You need to compile it by yourself. I like nginx but if You want to play safe, play with Apache mod_wsgi."Using nginx with Djagno
how to nginx virtual servers fcgi for django? - Stack Overflow: "There have been two pretty good blog posts lately about setting up nginx, but both are using nginx to serve static (or cached) content and apache mod_wsgi to serve Django. I prefer this myself because mod_wsgi makes process management so much easier than fcgi (among other advantages)."How to Install WordPress on Nginx
HOWTO: Install WordPress on Nginx | ElasticDog.com: "Apache is a very well-establish web server that can handle just about any situation. Unfortunately, that flexibility comes at the cost of size and relatively high demands on server resources. Nginx (“engine x”) is a lightweight web server/reverse proxy that is very efficient and perfect for hosting WordPress. Read on to see how that can be done…"Using nginx to serve cached files from WP Super Cache
Using nginx to serve cached files from WP Super CacheHow To Speed Up Wordpress With Nginx And WP Super Cache | tech.nocr.at: "What we have essentially done is taken the load of serving static files like images, css, and js files off of apache and passed it on to Ngnix which runs a lot faster and leaner than apache for serving static content. All requests for any dynamic content like php still gets passed on to apache. Clean and simple.
In closing let me mention that this is just what works for me, i’m sure that there might be a better way to use WP Super Cache and Ngnix to speed up Wordpress, but what you see above has really helped with the load on both of the tech.nocr.at front-end web servers."
Rails development on Windows Vista is too slow!
Have you ever said that before? I'm sure you have. ANyway check this out:Speed up slow Rails development in vista
Labels: rails, windows, windows vista
Free website monitoring service: Montastic
find out when your site goes downFree website monitoring service: Montastic: "Website monitoring made cool:
Get an email when your site goes down
Get an email when it goes back up
Read statuses via RSS or Mac & PC widgets
Fun, easy and elegant user interface
Up to 100 websites monitored
NEW! Support for https and port number"
Free Websites Performance, Availability, Traffic Monitoring
free website uptime monitoringFree Websites Performance, Availability, Traffic Monitoring: "Monitor 24x7 websites, network devices and more
Instantly reports your site outage and response time.
Ensure ultimate web experience"
wp_cron - how does it work?
wp_cron � simonwheatley.co.uk: "This is where the pseudo come in, with the WordPress pseudo-Cron we’re relying on a constant flow of visitors to trigger WordPress into checking for scheduled tasks. The upshot of this is that we cannot rely on WordPress to precisely schedule events, but the system is good enough for most things. (We can always increase the frequency of visitors artificially by targetting the site with five minute checks by Pingdom or similar, with the added benefit that the site is now monitored for downtime.)"Django Blog Apps
Here are some Django blog apps for those who are looking for blogging software written in Django / Python:Byteflow
MightyLemon
Django basic apps
Labels: django
The Cherokee Webserver with Django
Steven Harms' Blog � The Cherokee Webserver: "The project I am working on has a web browser on kiosk machines, and runs Django on the backend. I was in need of a fast, secure web server. I have always used Apache in the past, and have used Nginx, so I figured I should investigate Cherokee.Enter the Cherokee Web Server
Cherokee has performed great as an embedded webserver which serves my django project. It takes about 12Mb of ram, and deals with multiple simultaneous requests near instantly. This allows me to add features using Jquery that I would usually be afraid to bog down the system with."
Optimize your Apache VPS for WordPress
Optimize your Apache VPS for WordPress | Jestro: "If you made the decision to move your WordPress install from shared hosting to a shiny new VPS you should consider optimizing Apache by making some tweaks to your httpd.conf file. Apache is a fast, reliable, and flexible server but is heavy on resources by default. If you are running a small VPS, and using it just for WordPress, you can make some small tweaks to your configuration and get some significant performance gains."Hosting Git Repositories on Dreamhost | tail -f development.log
Hosting Git Repositories on Dreamhost | tail -f development.log: "First, if you take a look at the DH wiki entry for Git, you will see the very first method described is to run Git on your DH account using WebDAV. If you’re like me, thinking about doing Git over WebDAV probably just left you scratching your head. I think the reason why this is advocated, is because of the way DH setups SSH accounts. By doing git over SSH to a DH account, only one person would be able to remotely push changes, which is fine for my needs. But, if you need to give multiple users access for pushes, then WebDAV would technically work for you. But, I opted not to go down this route."How to Set Up Linux Distribution for Newbies
YouTube - How to Set Up Linux Distribution for Newbies - VPS BIBLE Pt 2: ""A Django deployment guide for Ubuntu | Ventanazul
A Django deployment guide for Ubuntu | Ventanazul: "This is an easy to follow and very focused guide for developers who know how to handle their servers so I won't consider security issues, memcached, Django installation, databases or basic GNU/Linux, Apache and DNS settings. Of course all of those subjects are important and you should take care of them."Byteflow - a Django Blog App
Byteflow is a django blog application.
Byteflow is a blog engine, written on Python, using Django. Why should you choose it over competitors? It has very clean codebase and developers, which are struggling to keep it so (that ease learning code and adding features for python programmers and those who sympathize ;). It has a lot of cool features, which you can't get in other blog engines or will get with difficulty (consider feed by union of tags, eh?). And of course it is actively developed so release are not that far away (we'll base on Django 1.0.1, which was released in November).
Labels: django
mightylemon - a django blog app
MightyLemon is a django blog app.Check out the readme.Labels: django
pysmell - python/django autocompletion for vim
pysmell -Google Code: "PySmell is a python IDE completion helper.
It tries to statically analyze Python source code, without executing it, and generates information about a project's structure that IDE tools can use.
There is currently support for Vim, Emacs and TextMate. Feel free to contribute your own favourite editor bindings, or to improve the existing ones."
Django on Cherokee Web Server
Apparently a 3x gain in speed is possibleCherokee Web Server: "Django & Cherokee 0.6 x3 speed"
Django Benchmark between mod_python / mod_wsgi / aspen and runserver
mod_wsgi is faster than mod_python, but not by that much.Django an Unscientific Benchmark between mod_python / mod_wsgi / aspen and runserver: "Tests are executed with Apache's ab2 tool running on the same machine as the server was. There is no explicit caching done in Django. CachingMiddleware was not enabled and otherwise default settings where used.
Test System, workstation:
core2duo 6700 2 x 2.66GHz
2GB Internal Memory"
MSI Specs X-Slim X320, X340 and Wind U123
In the market for some netbooks? Here's a review of the MSI Specs X-Slim X320, X340 and Wind U123They're very thin laptops!
Labels: laptops
Turn off auto escaping (HTML) in Django
use the |safe filterDjango | The Django template language | Django Documentation: "To disable auto-escaping for an individual variable, use the safe filter:
This will be escaped: {{ data }}
This will not be escaped: {{ data|safe }}
Think of safe as shorthand for safe from further escaping or can be safely interpreted as HTML. In this example, if data contains '', the output will be:"
Exclude fields from the Django admin | Django Documentation
Exclude fields from the Django admin form.Django | The Django admin site | Django Documentation: "ModelAdmin.exclude
This attribute, if given, should be a list of field names to exclude from the form.
For example, let's consider the following model:"
Customizing form for Django's Admin (example)
Minor customization of Django admin form.brad's blog: A Custom form for Django's Automatic Admin.: "The problem here is that when I create or edit a Book object using the Automatic Admin, the author field is represented by a select element, whose options contain ALL User objects... listed by username! Wouldn't it be nice if we could have that listed as 'firstname lastname' or even as 'lastname, firstname'? You can! And here's how:"
Using WYMeditor widget with Django
Good little tutorialJannis Leidel - A WYSIWYM editor widget for Django's admin interface: "Although it’s more or less the defacto standard, I’m not going to use TinyMCE this time, partly because it feels a bit like bloatware and partly because it’s not based on jQuery — the JavaScript framework of choice of the project where I also want to use it: django-page-cms. The editor I’m going to use is WYMeditor because it provides authors some helpers to write sane (X)HTML instead of hiding it away while not leaving them with a blank�textarea."
WYMeditor - wysiwyg
A fair alternative to markitup, tinymce, etc.WYMeditor: "WYMeditor integration example"
Most firms unaware of Web domain changes - survey | Technology | Reuters
Generic domain extensions can be worth a fortune. $185,000 is not a high price to register and own something that can be worth millionsMost firms unaware of Web domain changes - survey
| Technology
| Reuters: "The price of $185,000 will initially limit applications to the largest corporations and organisations, said Tom Savigar, Strategy and Insight Director at The Future Laboratory.�"
amCharts: flash charts, stock charting software
Very nice, flash-based stock charts.amCharts: flash charts, stock charting software: "Stock Chart's main purpose is to display financial charts. However, it can also be used for visualizing any date-based data. Line, column, candlestick, OHLC, step line and area - all these types of charts can be displayed with this application. The features include a very comfortable scrollbar, data grouping into longer periods, displaying of data at irregular intervals, etc."
Matplotlib Thumbnail gallery
Extensive thumbnail gallery of all you can do with matplotlib. Impressive!Thumbnail gallery — Matplotlib v0.98.6svn documentation
candlebar chart in python with matplotlib
candlebar chart in python with matplotlibpylab_examples example code: finance_demo.py — Matplotlib v0.98.6svn documentation
ChartDirector stock charts
ChartDirector license is $99. Looks pretty good...ChartDirector Chart Gallery - Finance Charts
Matplotlib for stock charts (Python)
Matplotlib can make nice stock charts.Screenshots — Matplotlib v0.98.6svn documentation: "matplotlib.ticker"
flash-based wysiwyg editor (GPL)
GPL licensedDemo - SOLMETRA: "Below is a demonstration of SPAW Editor PHP Edition v.2 with�standard core features (except floating toolbar). Click here to see an advanced demonstration of SPAW Editor .NET Edition v.2.�You need Microsoft Internet Explorer v.5.5 or higher, Firefox 1.x or�higher (or other Gecko engine based browsers like Mozilla or Netscape), Opera 9 or higher or Safari 3 or higher�to�use SPAW Editor in WYSIWYG mode.�It falls back to standard textarea fields in other browsers."
amMap: Interactive flash maps
very nice flash maps, but not free or open sourceamMap: Interactive flash maps: "AmMap is a tool for creating interactive Flash maps. You can use this tool to show locations of your offices, routes of your journeys, create your distributor map, etc. Photos or illustrations can be used as layers and backgrounds of maps, so you can make different presentations, e-learning tools and more."
Open Flash Chart - free, open source charts (Flash)
This is version 2 of Open Flash Chart. Looks great.Open Flash Chart - Home: "Hello, this is the Open Flash Chart project.
Note: 'Open Flash Chart 2' is LGPL.
OK, Open Flash Chart 1.x was great and it works like a dream. But I made some little mistakes which over time grew and anyoyed me and made the source code weird. So I decided it was time to re-jigger the code and make it pretty again. The big change is moving the data format to JSON. This has made a big difference and has allowed some pretty cool new features.
While I was hacking away at the source code I m"
iTrade - Trading and Charting System (Python)
Last update on this project was 1/3/08, but the screenshots look good.
SourceForge.net: iTrade - Trading and Charting System: "Trading system written in Python including Quotes Management, Historical and live data, Import/Export data, Charting, Candlestick, Technical analysis, automated alerts, portfolio management, risk management, currency exchange, and much much more ."
Online Stock Quotes - Using Python S60
Example of accessing Yahoo's stock prices with Python.Weekend Projects of a Geek: Online Stock Quotes - Using Python S60: "The Yahoo! finance service http://quote.yahoo.com/d/quotes.csv is a very simple yet powerful service. The user can control the fields in the stock quote data through a format string. The return data contains stock data fields in CSV format. The fields and their order is based on the format string. This is another example of the usage of this service."
matplotlib: plotting charts in python
Look like a good general purpose charting library for Python.matplotlib: python plotting — Matplotlib v0.98.6svn documentation: "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala matlab or mathematica), web application servers, and six graphical user interface toolkits.
matplotlib tries to make easy things easy and hard things possible. You can generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, etc, with just a few lines of code."
wxGlade - UI designer for wxWidgets
Looks like a drag and drop UI designer sort of like Microsoft Visual Studio, but used for wxWidgets, including wxPythonwxGlade - Wikipedia, the free encyclopedia: "wxGlade is a program for creating wxWidgets GUIs. It can generate layout code for C , Python and Perl.
wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython which helps create wxWidgets/wxPython user interfaces. At the moment it can generate Python, C , Perl and XRC (wxWidgets' XML resources) code.
It is not a full featured IDE, but simply a 'designer': the generated code does nothing apart from displaying the created widgets."
Most efficient way to concatenate strings in Python!
The most efficient way is to use a list comprehension like so:
def method6():
return ''.join([`num` for num in xrange(loop_count)])
See the whole rundown on the 6 possible ways to do it and their relative efficiency.
I sort of like method 4...
Labels: python
Python Eggs tutorial
Here's a good introduction and tutorial on python eggs.Labels: python
Django CMS - FeinCMS
Need to give this a try sometime.matthiask's feincms at master - GitHub: "FeinCMS is an extremely stupid content management system. It knows
nothing about content -- just enough to create an admin interface for
your own page content types. It lets you reorder page content blocks
using a drag-drop interface, and you can add as many content blocks
to a region (f.e. the sidebar, the main content region or something
else which I haven't thought of yet). It provides helper functions,
which provide ordered lists of page content blocks. That's all.
Adding your own content types is extremely easy. Do you like textile
that much, that you'd rather die than using a rich text editor?
Then add the following code to your project, and you can go on using the
CMS without being forced to use whatever the developers deemed best:"
Git vs. Mercurial
Mercurial has no --amend option!Git vs. Mercurial: Please Relax � Important Shock: "In contrast to git’s philosophy of providing a flexible platform built out of individual components, Mercurial is monolithic and (relatively) inflexible. Developers who like to keep their system clean will probably appreciate the fact that hg installs one binary in contrast to the 144 that make up git, and developers who think that git’s ability to edit your previous commits is moronic, unnecessary, and dangerous will appreciate the simplicity hg provides by omitting that particular feature.
Compared to git, hg’s branching, merging and tagging systems are equally powerful and only slightly slower. The only current flaw in Mercurial’s branching system – and sweet crouching Jesus, is it ever a huge flaw – is that deleting named branches is unbelievably difficult: as far as I can tell, the only way to do so is to learn and enable the patch-queuing system (about which I have heard raves, but have not had the time yet to sit down and grok) and use the hg strip command, or install the local-branches extension. Selenium currently recommend you use tags instead of branches, which practically redefines the concept of a half-assed solution."
Mercurial hosting — bitbucket.org
Github for Mercurial distributed version control system.Mercurial hosting — bitbucket.org: "Bitbucket.org is a premium platform for doing just that. See why over 10200 users already signed up, and be more productive, today."
How to Write Reusable Apps in Django
Django and Pinax.How to Write Reusable Apps for Pinax and Django | Code Spatter: "My example will be to create a list of books and allow them to be tied to any object using Django’s ContentType framework. The books could be recommended reading for the members of a tribe (pinax group), a class, or anything in your project and will include title, description, and tags (requires django-tagging). In another post I’ve shown how to create template tags to make it easy to show the list of books and a form to add a book. Obviously, there is a lot more that could be done with this app, but I will leave it out of the example to keep it simple."
django-photologue documentation
This page contains most of the documentation for django photologue.ImageModel -
django-photologue -
Google Code
django-imagekit - Photo and image resizing for Django
Newer versions of django-photologue will be using this.jdriscoll / django-imagekit / wiki / Home — bitbucket.org: "Automates image processing for Django models. Resize, process and cache multiple versions of your image files. Access newly created files with a standard API. Supports alternate storage schemes such as Amazon S3."
Caught an exception while rendering: Reverse for 'pl-photo' with arguments...
If you get an error like this when using Django-Photologue, it's probably beucase you forgot to add photologue's urls to your urls.py
"TemplateSyntaxError at /admin/photologue/photo/
Caught an exception while rendering: Reverse for 'pl-photo' with
arguments '(u'starter-9',)' and keyword arguments '{}' not found.
Reusable Django Apps and Forking (versioning of reusable apps)
I've been wondering about this issue of using reusable apps and what to do when you need a new version. Forking is one way to deal with it:Reusable Django Apps and Forking | Django Web Development - Lincoln Loop: "Since then, I’ve started forking many of my apps for individual projects. While at first I thought I was losing all the benefits of reusable apps, I quickly realized they were still there. I can still get a site up and running rapidly by reusing open source and personal code libraries/applications, but now I have the added benefit of being able to customize them to my heart’s content without worrying about past projects. Things that improve the app go into the main repository for reuse in the next project."
Pinax - faster way to build Django sites?
I guess this is sort of a framework on top of a framework (Django)Pinax: "Pinax is an open-source platform built on the�Django Web Framework.
By integrating numerous reusable Django apps to take care of the things that many sites have in common, it lets you focus on what makes your site different.
Video of Talk on Pinax at PyCon 2009
Video of Talk on Pinax at DjangoCon 2008
While our initial development was focused around a demo social networking site, Pinax is suitable for a wide variety of websites. We are working on number of editions tailored to intranets, event management, learning management, software project management and more.
If you have any questions about the Pinax project, please contact James Tauber."
django-friends - Django App to handle friend features
django-friends -Google Code: "django-friends
Many websites allow users to assert relationships between other users, to upload contacts and to invite their contacts to become users.
The project aims to provide a Django app for this sort of functionality. This includes:
relationships between users (possibly with different types of relationship)
sending and acceptance/rejection of invitations
management of contacts who are not yet users (and notification when they become users)
generation of FOAF files
import of vCard and other means of importing contacts"
Django - versioning apps in your project
Interesting tidbit here on how to keep versions of apps used in your Django project.Django, Pluggable Apps, and Code Re-Use - O'Reilly ONLamp Blog: "My thoughts on code reuse were to create a repository of apps that you can just plug in. For example, for stuff that I work on, I'll probably create a 'jeremymjones.apps' package and have something like jeremymjones/apps/gallery/work/ and jeremymjones/apps/gallery/release/ directories in an SVN repository. I'd then probably create a Makefile (or something comparable - looking at scons right now) for the project and tell it which revisions of which apps it should include. And when you build a release for a project, it'll pull down the versions of the apps you want. Anyway, I know that's clear as mud. We use something like that here at work. Maybe if I hammer out the process (especially using scons), I can blog about it or write an article or something."
Introduction to Functional programming
Here's an introduction to functional programming called Why Functional Programming Matters (pdf).Apparently, it can give you more concise code and you get as much done in half as much code. The basic idea is that there's no state so you don't have to worry about issues that come out of that.
Here's a thread on Stack Overflow that answers the question about why would you would care about stateless programming.
Here's another introduction to functional programming.
Labels: languages
RantRave - Get Paid to Post
RantRave - Get Paid to Post: "Revenues are paid utilizing Google Adsense. If you don’t already have a Google AdSense account, you’ll need to sign up for one. (learn more more about Google Adsense accounts here). Four types of AdSense slots are available on each Rant or Rave post. These slots are shared equally between RantRave and you, alternating with each page view."Processing 1.0 - computer programming language for artists and designers
Processing 1.0: "Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is an alternative to proprietary software tools in the same domain.Processing is free to download and available for GNU/Linux, Mac OS X, and Windows. Please help to release the next version!
Processing is an open project initiated by Ben Fry and Casey Reas. It evolved from ideas explored in the Aesthetics and Computation Group at the MIT Media Lab. The project is currently improved and maintained by a small team of volunteers."
Breadcrumbs in Django apps
newbie question about breadcrumbs -Django users |
Google Groups: "The breadcrumbs for your own apps should not involve pulling anything
from the admin. �Just put the top two breadcrumbs (/ and /mysite) in
your site-wide base.html, then pull that into your app templates using
{{ block.super }} and append the app-specific breadcrumbs.
Carl"
That sounds ike a good idea.
This one looks way more complicated than it needs to be.
Here's an option for flatpages:
Custom template filter to generate a breadcrumb trail for a flatpage. Say you have a series of flatpages with URLs like /trunk/branch/leaf/ etc. This filter looks at the URL of a given flatpage, figures out which of the leftwards text chunks correspond to other flatpages, and generates a string of anchored HTML.
Usage:
{% load make_breadcrumb_trail %}
{{ flatpage.url|crumbs:flatpage.title }}
This one also seems a bit complicated.
This is a fairly simple way to do it.
And this is the simplest way to do it I think:
{% block breadcrumb %}{{ block.super }} » {{ object.title|title }}{% endblock %}
How to implement breadcrumbs in a django
how to implement breadcrumbs in a django template? - Stack Overflow: "In most cases, a well-defined URL can be trivially broken into a nice trail of breadcrumbs. Indeed, that's one test for good URL design -- the URL can be interpreted as breadcrumbs and displayed meaningfully to the users.For a few view functions, where we present information that's part of a 'many-to-many' join, for example, there are two candidate parents. The URL may say one thing, but the session's context stack says another.
For that reason, our view functions have to leave context clues in the session so we can emit breadcrumbs."
Processing 1.0 - computer programming language for artists and designers
Processing 1.0: "Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is an alternative to proprietary software tools in the same domain.Processing is free to download and available for GNU/Linux, Mac OS X, and Windows. Please help to release the next version!
Processing is an open project initiated by Ben Fry and Casey Reas. It evolved from ideas explored in the Aesthetics and Computation Group at the MIT Media Lab. The project is currently improved and maintained by a small team of volunteers."
Windmill Testing Framework
Windmill is a web testing tool designed to let you automate and debug your web application thoroughly and efficiently.
Originating at the Open Source Applications Foundation Windmill was built to help QA keep up with the rapid release cycles of the Chandler Server Web UI (Cosmo) project. As the Cosmo client is heavy in JavaScript and AJAX functionality, Windmill makes the communication between the service and the client code a priority.
Sort of interesting, but I'm not sure what this does that you can't do using your regular unit tests.
Labels: testing
Lard - Wikipedia, the free encyclopedia
Lard - Wikipedia, the free encyclopedia: "However, despite its reputation, lard has less saturated fat, more unsaturated fat, and less cholesterol than an equal amount of butter by weight.[2] Unlike many margarines and vegetable shortenings, unhydrogenated lard contains no trans fat."Copy more than one thing to the clipboard
Wouldn't it be cool if you could just copy more than one thing to the clipboard?So for example if I need to copy two things on a website and paste it into two separate fields on another website, I would be able to copy both of those things and then paste each of those into their own fields on the other site.
Unfortunately, there's no way to do it, barring software that does way more than that and is unwieldy and otherwise not worthwhile.
I found this discussion, which didn't produce any good leads.
If anyone else knows how it might be done, please leave a comment.
Labels: windows, windows vista
The Mutopia Project - free open source sheet music
Mainly classical sheet music. Free open source, creative commons.The Mutopia Project: "The Mutopia Project offers sheet music editions of classical music for free download. These are based on editions in the public domain, and include works by Bach, Beethoven, Chopin, Handel, Mozart, and many others. A team of volunteers are involved in typesetting the music by computer using the LilyPond software. Why not join them?! See the page on how to contribute for more information."
Django shopping cart (Satchmo)
Found an open-source (BSD) Django shopping cart application called Satchmo. Haven't tried it out yet but looks intriguing. I like the stores it's powering including this cool tote bag store.Here are instructions for installing Satchmo on WebFaction.
Labels: django
Yola - Free Website Hosting
Free web hosing on Yola, but they require a link back to their site apparently.Yola | Build a Free Website: "SynthaSite is now Yola.
Over a million of you know us as SynthaSite. We now go by Yola. It's short. It's easy to remember. It also includes all the great features you're used to."
Mosso - web hosting in the cloud
Never heard of this web hosting service before, but sounds interesting. Sort of like Amazon web services. Not sure how they differ on pricing. Will have to look into it later. Have heard some good things about Mosso.Cloud Solutions, Cloud Service, Clustered Servers @ Mosso: "Backed By Rackspace
What we wanted to do was pretty complex, so luckily, we had the support of Rackspace, an industry leader that currently manages over 30,000 servers for customers all over the world. (Well, it wasn't all luck, really. We both worked at Rackspace as our day jobs, so we knew those folks well.)
We took the Mosso vision to Rackspace's leadership team, who agreed to fund development of the new venture, and lend Rackspace's expertise towards engineering and perfecting the platform.
Because Mosso | The Rackspace Cloud needed to cluster servers in a very unique way, the partnership with Rackspace proved invaluable. They have a large amount of expertise with advanced Windows and Linux configurations, and their Zero-Downtime Network has lived up to its name for over four years."
Efficient String Concatenation in Python
Efficient String Concatenation in Python: "Building long strings in the Python progamming language can sometimes result in very slow running code. In this article I investigate the computational performance of various string concatenation methods.In Python the string object is immutable - each time a string is assigned to a variable a new object is created in memory to represent the new value. This contrasts with languages like perl and basic, where a string variable can be modified in place. The common operation of constructing a long string out of several short segments is not very efficient in Python if you use the obvious approach of appending new segments to the end of the existing string. Each time you append to the end of a string, the Python interpreter must create a new string object and copy the contents of both the existing string and the appended string into it. As the strings you are manipulating become large this proces becomes increasingly slow.
What other methods are available and how does their performance compare? I decided to test several different approaches to constructing very long strings to see how much they vary in efficiency."
Network icon grayed out, vanished from system tray - (Windows Vista)
This may fix it or a simple reboot.Network icon vanished from system tray - Vista Forums: "The following steps worked for me
Delete the 2 keys as per the screenshot
[HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify]"
$100M in sales for top Facebook application maker
Wow, I had no idea you could make that much money on Facebook applications.FT.com / Companies / Media - Facebook brings in payment system: "Users are increasingly spending real money buying virtual goods and credits on the applications that run on Facebook’s platform. Zynga, the largest applications developer on Facebook, with 42m users of its games, is reported to be nearing annual sales of $100m. Together, developers working on Facebook’s platform are expected to make more than $500m this year – perhaps more than Facebook itself."
The question of how Facebook will monetise its significant traffic has dogged the company of late. But last week Mark Zuckerberg, Facebook chief executive, said his company had been profitable before interest, tax, depreciation and amortisation for five quarters and was expecting revenue growth of 70 per cent this year. He said Facebook would be cash flow profitable sometime next year. Outside estimates put 2009 income at about $500m.
Wow, $500M revenue and they can't eke out a profit on that?
Vim toggle buffers
To toggle between the last edited buffer in Vim, the keyboard shortcut is control-shift-6Alt-b-p and ALT-b-n don't work for toggling.
15 Must-Have Bookmarklets For Web Designers And Developers
15 Must-Have Bookmarklets For Web Designers And Developers: "Bookmarklets are a great way of saving time when used regularly. With just a click, they can provide so much information / help.Here is a list of 15 very handy web designer / developer bookmarklets which includes:"
Pixlr - A web-based Photoshop alternative
Good basic photo editor for those who don't have Photoshop. Surprisingly loads much faster than Photoshop as well...kwout | An easy screen capture bookmarklet
Awesome way to clip out parts of a website without having to use snagit or an image editor. Just wish it had a way to upload to Flickr or other sites.kwout | A brilliant way to quote: "'kwout' is a way you quote a part of a web page as an image with an image map.
To use this service, all you need is to add our bookmarklet to your favorite browser."
Send screenshots and captures direcltly to Flickr from Snagit
In order to send screen captures directly from snagit to Flickr, you need to install the Snagit Flickr profiles.Snagit Profile for Flickr: "How the Snagit to Flickr Profiles Work
The Snagit to Flickr profiles are contained in a single, free download for current Snagit users.
Once the profiles are installed, choose a Snagit to Flickr profile to take a capture, and then click the Done button in the Preview Window. Snagit uploads the capture to Flickr, and also pastes the link (URL) for the image to your Clipboard. From there, you can paste the image link into an e-mail message or an IM conversation.
If you want to share the image on a Web page, rather than by e-mail or IM, you also have the option to copy the image’s HTML to your Clipboard, so you can insert it into the source code for your Web page."
gtkShots is a python/GTK application to capture screenshots continuosly
"gtkShots is a python/GTK application to capture screenshots continuosly.gtkShots is a python/GTK application to capture screenshots continuosly. It is a hand tool to automatically save the screenshots in a (un)specified period of time, with the possibility to schedule it and to choose options for each screenshot to be saved, such as the size, the parent folder and the time interval between them.
gtkShots could be used for a lot of different aims, for instance to create presentations, to monitor desktop activity, or for any other scope that needs a screenshots sequence.
gtkShots is actually a GUI frontend to pyshots, my command-line python script to do the same job. Thus, if you need to work on the terminal sessions, you could take advantage of this.
gtkShots / pyshots are completely FOSS, free and open source software, released under the terms of GNU GPL 2 license or (at your option) any later version."
Download gtkShots 0.1 for Linux - gtkShots is a python/GTK application to capture screenshots continuosly. - Softpedia:
LFlickr and WebImager (LifeHacker)
Lifehacker - Download of the Day: Flickr and WebImager - Downloads: "Free program Flickr and Webimager takes screen captures and uploads them directly to your Flickr account.Capture a section of your screen, rotate and resize and insert a cursor on the image with Flickr and WebImager. Once you're done editing, click on the upload arrow and the image is off into your Flickr account. Flickr and WebImager is a free download, Windows only."
Upload screen captures to flickr and WEBIMAGER
Quick way to take screen captures or screenshots and upload them to Flickr apparently...flickr and WEBIMAGER
Annotate screenshots with FireShot :: Firefox Add-ons
This looks cool.FireShot :: Firefox Add-ons: "FireShot is a Firefox extension that creates screenshots of web pages (entirely or just visible part).
Unlike other extensions, this plugin provides a set of editing and annotation tools, which let users quickly modify web captures and insert text annotations and graphical annotations. Such functionality will be especially useful for web designers, testers and content reviewers.
The captures can be:
- uploaded to FREE public screenshot hosting
- saved to disk (PNG, GIF, JPEG, BMP)
- printed
- copied to clipboard
- e-mailed
- sent to configurable external editor for further processing.
Take a screenshot via a python script. [Linux] - Stack Overflow
Take a screenshot via a python script. [Linux] - Stack Overflow:
import ImageGrab
img = ImageGrab.grab()
img.save('test.jpg','JPEG')
Create screenshots of a web page using Python and QtWebKit
Cybso. � Blog Archive � Create screenshots of a web page using Python and QtWebKit: "From time to time you may want to create a screenshot of a web page from command line, for example if you wish to create thumbnails for your web-application. So you might search for such a program and find tools like webkit2png, which is for Mac OS X only, or khtml2png, which requires a lot of KDE stuff to be installed on your server.But since Qt Software, formerly known als Trolltech, integrated Safari’s famous rendering engine WebKit (which is based on Konqueror’s khtml engine) into it’s framework, we are now able to make use of it with the help of some Python and PyQt4."
Grab screenshots using Python
Browsershots is done in Python and is an open source project apparently. Let's you grab screenshots of websites programmatically using Python.Check Browser Compatibility, Cross Platform Browser Test - Browsershots: "Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server here."
Cost to render a computer-animated movie is $22,000
Since I was looking at Blender recently. I thought it would be interesting to see what the actual cost of making a feature-length computer animated movie would be.Using the calculator on this render farm's website, I found the cost for rendering a 90-minute movie is $22,000
So computer-generated movies can be sort of expensive to produce. Even though you're not using cameras or dealing with film processing, rendering a movie is fairly expensive. And who knows how many times you may need to render it...
Then you need voice actors and so on, so it's pretty much as expensive as making a non-animated feature film, and probably takes much longer.
Labels: computer animation
Open a new tab (Bookmarklet Development)
Whether opening a new tab or new window, you use window.open()A Quick Tutorial on JavaScript Bookmarklets: "If you wanted to create a bookmarklet to open a new window or tab, you’d do it like this:
javascript:(function(){ window.open(’http://www.cnn.com/’); })();
so the actual bookmarklet link that would appear in your HTML as
CNN"
PLEAC - Python cookbook
This is a good way to compare different programming languages, because it includes recipes for the same thing done in multiple languages.Don't know how up-to-date this project is though because they are saying the latest version of Python is 2.4.
ActiveState is another place for recipes. That's the main source for the Python Cookbook.
PLEAC-Python: "Following the Perl Cookbook (by Tom Christiansen and Nathan Torkington, published by O'Reilly) spirit, the PLEAC Project aims to gather fans of programming, in order to implement the solutions in other programming languages.
In this document, you'll find an implementation of the Solutions of the Perl Cookbook in the Python language."
Photoshop Fake Crop Circles
Just a basic way to do crop circles using Photoshop. Still on the hunt for a better tutorial that produces a more realistic alien crop circle made by UFOs.Photoshop Fake Crop Circles
render_to decorator instead of render_to_response
I saw this on Stack Overflow. The render_to decorator seems handy.offline / django-annoying / wiki / Home — bitbucket.org:
This is django application that try to eliminate annoying things in Django framework.
Features
render_to decorator - reduce typing in django views.
signals decorator - allow use signals as decorators.
ajax_request decorator - returns JsonResponse with dict as content.
autostrip decorator - strip form text fields before validation
get_object_or_None function - similar to get_object_or_404, but returns None if object not found.
get_config function - get settings from django.conf if exists, return default value otherwise.
AutoOneToOne field - creates related object on first call if it doesnt exists yet.
HttpResponseReload - reload and stay on same page from where request was made.
StaticServer middleware - instead of configuring urls.py, just add this middleware and it will serve your static files when you in debug mode
Make charts and graphs in Python with PyGraphviz
The example I saw of this used it for making model diagrams. Not sure if it's the best solution for financial charts and so on.Overview — PyGraphviz v0.99.1 documentation: "PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz graph data structure and layout algorithms. PyGraphviz is independent from NetworkX but provides a similar programming interface."
django-command-extensions - Google Code
These are extensions for Django, including command extensions (for commands issued in the shell), model field extensions, model extensions and admin extensions.Has significant number of people on the project.
django-command-extensions -
Google Code
Jinja2 - A template language for Python
Jinja2 is similar to the templating language used by Django but is said to be more flexible and powerful.Jinja2 Documentation: "This is the documentation for the Jinja2 general purpose templating language. Jinja2 is a library for Python 2.4 and onwards that is designed to be flexible, fast and secure.
If you have any exposure to other text-based template languages, such as Smarty or Django, you should feel right at home with Jinja2. It’s both designer and developer friendly by sticking to Python’s principles and adding functionality useful for templating environments."
Top Django Tips & Features
Some good tips for working in Django and Python.Favorite Django Tips & Features - Stack Overflow
How to disable mailto links in Firefox
Glad there's a solution for Firefox at least:Johan: Disabling mailto links in Firefox: "Set network.protocol-handler.external.mailto to false in about:config to disable mailto links. Works in Firefox 2 and 3."
How to Write a Bookmarklet tutorial
This is a pretty good introduction to writing a bookmarklet.Juhu Kinners � How to Write a Bookmarklet: "What are Bookmarklets?
All web browser support the special “javascript” URL protocol. If you type “javascript:” followed by JavaScript code into a browser’s location bar, the JavaScript will be evaluated in the context of the active web page (host page). Such strings are handled by the browsers just like any other URL. You can set them as “href” of a link tag and of coarse bookmark them. To get a feeling of this try typing this in the URL bar:
javascript:alert(document.getElementsByTagName('title')[0].innerHTML);
This will alert the document’s title. The bookmarklet’s JavaScript has full access to the document’s DOM and is run in the same JavaScript namespace as all other JavaScript in the host page."
How To Make a Bookmarklet
How To Make a Bookmarklet For Your Web Application | BetterExplained: "Bookmarklets are javascript code that the browser runs on the current page, and they’re marked by “javascript:” instead of “http://”."Good basic introduction to writing a bookmarklet.
Edit Any Web Page with a Bookmarklet - Fun
Lifehacker - Edit Any Web Page with a Bookmarklet - Fun: "The Edit Web Site bookmarklet turns all of the content of any web site into a editable text. Using it is simple: Just drag the Edit Web Site bookmarklet into your browser's bookmark toolbar, and then click it on any web site you feel like editing. Obviously the changes are purely local, but it's a good way to tweak the day's events exactly to your liking, have a little fun with co-workers, or test out a web site. If you want to give it a quick try, just click the link above to edit this post."This must be how people make fake screenshots!
Using Vim folds - Vim fold commands
Using folds in Vim or gvim can be very helpful. Here are the commands to remember.Vim folding commands:
zf#j creates a fold from the cursor down # lines.
zf/string creates a fold from the cursor to string .
zj moves the cursor to the next fold.
zk moves the cursor to the previous fold.
zo opens a fold at the cursor.
zO opens all folds at the cursor.
zm increases the foldlevel by one.
zM closes all open folds.
zr decreases the foldlevel by one.
zR decreases the foldlevel to zero -- all folds will be open.
zd deletes the fold at the cursor.
zE deletes all folds.
[z move to start of open fold.
]z move to end of open fold.
More at:
Linux.com :: Vim tips: Folding fun:
Google to Sell e-Books, Move into E-Commerce
Move Over, Amazon? Google Aims to Sell e-Books - BusinessWeek: "The plan to sell e-books is the latest indication of Google's attempt to expand beyond online advertising and gain a toehold in e-commerce, where Amazon.com (AMZN), eBay (EBAY), and Wal-mart.com (WMT) hold sway. 'Google's core growth rate is slowing, and it's starting to look for the next big growth driver,' says Laura Martin, an analyst at Soleil Securities Group. In February, Google's YouTube said it is testing ways to let people sell video through the Google Checkout online payment system. Google is also testing Google Product Search, which lets consumers locate the cheapest products at various online stores. Google also runs Android Market, a store that sells mobile-phone applications."This is a troubling development because Google has an essential monopoly on search and can use their search supremacy to drive customers to their own e-commerce and content sites. They can lock out everybody else.
The FTC needs to regulate the activities of online search providers. Not just Google, but other ones as well, and make sure that their businesses remain limited to search so that they do not infringe on competition in the online space.
Google is great, but it would be terrible if it becomes the monopolist of the 21st century.
Hide toolbar - Vim Tips Wiki
Hide toolbar - Vim Tips Wiki: "Here is how to remove the toolbar from gvim, if you don't use it."Handy tip that can open up some screen real estate. In conjunction with hiding the Windows taskbar, it can give you a lot more screen space.
Toggling Windows Taskbar using Brightrev's Taskbar Autohide utility
This can be very handy. It will give you more screen real estate by allowing you to toggle the visibility of the Windows taskbar (the dashboard bar thing at the bottom of the screen).Brightrev's Taskbar Autohide utility: "Taskbar Autohide is a compiled AutoHotkey application that toggles the Windows taskbar auto hide setting on and off by:
1. Pressing the WIN A key combination
2. Double-clicking the tray icon
3. Right-clicking the tray icon and choosing Toggle taskbar autohide."
Make Windows shortcuts with AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText
AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText: "AutoHotkey is a free, open-source utility for Windows. With it, you can:Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder.
Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey.
Expand abbreviations as you type them. For example, typing 'btw' can automatically produce 'by the way'.
Create custom data-entry forms, user interfaces, and menu bars. See GUI for details.
Remap keys and buttons on your keyboard, joystick, and mouse.
Respond to signals from hand-held remote controls via the WinLIRC client script.
Run existing AutoIt v2 scripts and enhance them with new capabilities.
Convert any script into an EXE file that can be run on computers that don't have AutoHotkey installed."
It takes 1-5 years to render a computer-animated movie!
I was taking a look at Blender and was curious about CG rendering in general, and what the budget would be for making a computer-animated movie. In particular I was wondering about the rendering expense. I looked at the Wikipedia article on computer-animation and found that it takes 1-5 years to render a movie!!
A large number of workstations (known as a render farm) are networked together to effectively act as a giant computer. The result is a computer-animated movie that can be completed in about one to five years (this process is not comprised solely of rendering, however).
Wow, that's a long time!
Labels: computer animation
Make Firefox better than Google Chrome - more screen space!!
I got some ideas from this post on LifeHacker. but didn't find it necessary to use everythng they did and went further to get more screen real estate.What I like about Chrome is the fact that there's more space for you to see the web page. The excess "chrome" ironically has been removed. The Window's title bar is gone, the status bar is gone, and so that opens up a lot of space.
So all I wanted to do was get the same amount of real estate in Firefox, but I ended up with more!
How?
First, under the Firefox View menu, uncheck Status Bar. That gives you a bunch of extra space at the bottom of the window. And now you're getting close to emulating Chrome.
Of course you wont' see the status of the page as it loads, but that's the price you pay. BUT you can install Firebug, in which case you would have much better status information accessible anytime by pressing F12.
Second you need to install
Personal Menu by Merci Chao (Version 4.1pre)
What that does is allows you to hide the menu bar, which is what Chrome does, that gives a bunch of space at the top of the page. After installing Personal Menu make sure you go back into View and unselect Toolbars > Menu Toolbar
Now that hides the Menu bar, which you can still get to by pressing ALT.
Now you're almost there.
Next, you go back into View > Toolbars and unselect Navigation Toolbar.
Now, lo and behold you have more space in Firefox than you have in Chrome!!!
Isn't that awesome? Do you really need the navigation bar? No, because if you want to type something there, you press the CTRL-L shortcut anyway, and that continues to work.
You can also install this:
https://addons.mozilla.org/en-US/firefox/addon/8769
That will allow you to toggle the navigation bar using the F2 keyboard shortcut. Very handy!!
That's the one feature I wish Chrome would have-the ability to toggle the navigation bar. If Chrome did that, the amount of screen real estate would expand tremendously.
ps, You can use this theme if you want your Firefox to look more like Chrome:
Chromifox by Falconer (Version 1.0)
Labels: browsers, chrome, firefox
"Too new browser" fix for UPEK password bank (Firefox 3)
Very soon after I bought my Dell laptop which has a fingerprint reader by upek. And it's convenient password bank, I upgraded to Firefox 3 and it immediately stopped working. It's a bummer that the UPEK fingerprint reader password bank doesn't work with Google Chrome, but it's nice at least to have it working on Firefox.The error that you get after upgrading Firefox is:
“Following browsers were found, but not supported in Password Bank
Too new browsers:
Firefox 3.0 (en-US)”
To fix it you need to find out what version of UPEK fingerprint reader suite you have running. If you're lucky, it's a version that has a download available on the UPEK site which will sort of patch your installation. If you're not lucky they tell you to go beg your hardware vendor for the download.
Welcome To UPEK - Support - Customer Support - Knowledge Base: "Firefox 3.0.x is supported by following versions of Protector Suite QL:
PS QL 5.6.2
build 4447 and higher (Native support - extension is a part of the installer. Go to Control Center -> PasswordBank to enable the support.)
any older build (Updated libraries has to be installed. See instructions below.)
PS QL 5.8.2
build 4445 and higher (Native support - extension is a part of the installer. Go to Control Center -> PasswordBank to enable the support)
build 4024 for Toshiba (PasswordBank extension has to be installed manually. See instructions below.)
any older build (PasswordBank extension has to be installed manually. See instructions below.)
PS QL 2009
native support in all available builds (Go to Control Center -> Applications -> PasswordBank -> Settings to enable the support.)"
To install:
- intended for PS QL 5.6.2 only
- for Firefox 3.0
To install updated libraries for PasswordBank, please close psqltray.exe process using Microsoft ProcessExplorer (Ctrl+Shift+Esc) and copy contents of the ZIP file to the Protector Suite QL installation directory (usually C:\Program Files\Protector Suite QL\ or C:\Program Files\Fingerprint Reader Suite\). You need to overwrite two files:
1) pwdbank.dll in PS QL's root directory (C:\Program Files\Protector Suite QL\pwdbank.dll)
2) pbgk1_9.dll in "browser" sub directory (C:\Program Files\Protector Suite QL\browser\pbgk1_9.dll)
Once files are replaced, please reboot your computer! After reboot, please check, that Firefox support is enabled in PS QL (right-click on PS QL tray icon -> Control Center -> Settings -> User Settings -> PasswordBank).
group() function in Python re Module - Use Regular Expressions with Python - Regex Support
Python re Module - Use Regular Expressions with Python - Regex Support: "m.group() returns the part of the string matched by the entire regular expression. m.start() returns the offset in the string of the start of the match. m.end() returns the offset of the character beyond the match. m.span() returns a 2-tuple of m.start() and m.end(). You can use the m.start() and m.end() to slice the subject string: subject[m.start():m.stop()]."Python re Module - Use Regular Expressions with Python - Regex Support
Python re Module - Use Regular Expressions with Python - Regex Support: "re.sub(regex, replacement, subject) performs a search-and-replace across subject, replacing all matches of regex in subject with replacement. The result is returned by the sub() function. The subject string you pass is not modified."The other option is to use the sub() function:
sub( replacement, string[, count = 0])
Returns the string obtained by replacing the leftmost non-overlapping occurrences of the RE in string by the replacement replacement. If the pattern isn't found, string is returned unchanged.
The optional argument count is the maximum number of pattern occurrences to be replaced; count must be a non-negative integer. The default value of 0 means to replace all occurrences.
Single-pass Multiple Replace (Python)
Single-pass Multiple Replace � ActiveState Code: "This recipe shows how to use the Python standard re module to perform single-pass multiple string substitution using a dictionary."Myriad Pro is not web-safe!
Myriad Pro - Web Safe? � FreelanceSwitch Forum: "Myriad Pro is not a web safe font. You web safe fonts are: Arial, Helvetica (Mac), Times New Roman, Verdana, Georgia, and Courier New. Any others you risk computers, no matter how old they are, not having them. Keep in mind that Macs have more standard fonts than PC's.Also, just for the record, the resolution is going to vary no matter what computer you are on, and you must accommodate older and newer computers. This is why flexible, liquid based layouts are becoming more popular."
"There are a few more safe fonts than amberturner mentioned (like Lucida Grande/Lucida Sans Unicode, Palatino Linotype (almost safe), Trebuchet, Tahoma, etc.) , but she's definitely right that Myriad Pro is not one of them. Check out this article for some good tips on using font stacking for the web. http://unitinteractive.com/blog/2008/06/26/better-css-font-stacks/. You could do Myriad Pro as the first choice font with fallback(s) to something more safe. Of if you absolutely have to use Myriad Pro look at options like sIFR 2."
Is Myriad Pro a "web-safe" font?
Is Myriad Pro a "web-safe" font? That is, do both Windows and Mac users have it installed?Myriad (typeface) - Wikipedia, the free encyclopedia: "Since the launch of the eMac in 2002, Myriad replaced Apple Garamond as Apple Inc.'s corporate font. It is now used in all of its marketing and on its products (See Apple typography). More recent iterations of the iPod (from the iPod photo onward) have used Podium Sans, which has similarities with Myriad (as opposed to Chicago), for its user interface. A different humanist sans-serif typeface, Lucida Grande, is used as the system font for Apple's Mac OS X operating system. Myriad was included with third generation of iPod.[3]
Myriad is also used in the corporate identities of Wells Fargo, bragster, and Modern Telegraph, as the primary headline typefaces of those companies."