Sunday, November 20, 2011
Octave Tips, Links, Tutes, Libraries
Collected Tips and Links for GNU Octave
Tips and Links:
Change default prompt and clear on startup:
Edit "C:\Octave\3.2.4_gcc-4.4.0\share\octave\site\m\startup\octaverc" and add:
PS1(">> ")
clc
See also:
http://www.gnu.org/software/octave/doc/interpreter/Customizing-the-Prompt.html
http://www.gnu.org/software/octave/doc/interpreter/Startup-Files.html
Debugging:
The keyboard function returns control to the user
See also:
http://www.gnu.org/software/octave/doc/interpreter/Debugging.html
Useful Commands:
whos - Variables in the current scope with sizes and bytes
Tutorials:
YAGTOM: Yet Another Guide TO Matlab
Libraries:
PMTK supports a large variety of probabilistic models, including linear and logistic regression models (optionally with kernels), SVMs and gaussian processes, directed and undirected graphical models, various kinds of latent variable models (mixtures, PCA, HMMs), etc. Associated textbook.
Thursday, November 17, 2011
New online Stanford courses for 2012
Wow, new free online Stanford courses for Jan 2012! Really enjoying the ML and AI classes offered in 2011 and have heard the DB class is good too.
EDIT: wow they keep coming for 2012...will keep updating...
EDIT 2: even better see: www.class-central.com
and www.online-education.za.org/all_available
Computer Science:
http://www.nlp-class.org Natural Language Processing (23 Jan 2012)
http://www.pgm-class.org Probabilistic Graphical Models (Jan 2012)
http://www.game-theory-class.org/ Game Theory (late Feb 2012)
http://www.hci-class.org/ Human-Computer Interfaces (Jan 2012)
http://www.saas-class.org/ Software Engineering for Software as a Service
http://www.cs101-class.org/ Computer Science 101
http://jan2012.ml-class.org/ Machine learning
http://www.algo-class.org/ Design and Analysis of Algorithms I (23 Jan 2012)
http://www.crypto-class.org/ Cryptography
Entrepreneurship:
http://www.launchpad-class.org/ The Lean Launchpad
http://www.venture-class.org/ Technology Entrepreneurship
Electrical Engineering
http://www.infotheory-class.org/ Information Theory (Mar 2012)
Complex Systems
http://www.modelthinker-class.org/ Model Thinking (23 Jan 2012)
Civil Engineering
http://www.greenbuilding-class.org/ Making Green Buildings
Medicine
http://www.anatomy-class.org/ Anatomy
EDIT: wow they keep coming for 2012...will keep updating...
EDIT 2: even better see: www.class-central.com
and www.online-education.za.org/all_available
Computer Science:
http://www.nlp-class.org Natural Language Processing (23 Jan 2012)
http://www.pgm-class.org Probabilistic Graphical Models (Jan 2012)
http://www.game-theory-class.org/ Game Theory (late Feb 2012)
http://www.hci-class.org/ Human-Computer Interfaces (Jan 2012)
http://www.saas-class.org/ Software Engineering for Software as a Service
http://www.cs101-class.org/ Computer Science 101
http://jan2012.ml-class.org/ Machine learning
http://www.algo-class.org/ Design and Analysis of Algorithms I (23 Jan 2012)
http://www.crypto-class.org/ Cryptography
Entrepreneurship:
http://www.launchpad-class.org/ The Lean Launchpad
http://www.venture-class.org/ Technology Entrepreneurship
Electrical Engineering
http://www.infotheory-class.org/ Information Theory (Mar 2012)
Complex Systems
http://www.modelthinker-class.org/ Model Thinking (23 Jan 2012)
Civil Engineering
http://www.greenbuilding-class.org/ Making Green Buildings
Medicine
http://www.anatomy-class.org/ Anatomy
Thursday, October 20, 2011
Javascript Libraries and Links
Web Client Libraries and Frameworks
jQuery
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
Underscore.js
Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux.
Modernizr
Modernizr is your starting point for making the best websites and applications that work exactly right no matter what browser or device your visitors use.
Knockout.js
Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM)
Backbone.js
Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
JS and CSS Toolkits
Google Libraries API
The Google Libraries API is a content distribution network and loading architecture for the most popular, open-source JavaScript libraries.
CoffeeScript
CoffeeScript is a little language that compiles into JavaScript. Underneath all those awkward braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. Also see: dart
lesscss
LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js and Rhino.
twitter bootstrap
Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.
requirejs.org
JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.
JS InfoVis Libraries
Processing.js
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins.
d3.js
D3.js is a small, free JavaScript library for manipulating documents based on data and visualization framework. (From the authors of the now inactive protovis.)
Flot
Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.
arborjs
Arbor is a graph visualization library built with web workers and jQuery. Rather than trying to be an all-encompassing framework, arbor provides an efficient, force-directed layout algorithm plus abstractions for graph organization and screen refresh handling.
Raphaël
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.
JS Math Libraries
MathJax
MathJax is an open source JavaScript display engine for mathematics that works in all modern browsers.
jStat
jStat is a statistical library written in JavaScript that allows you to perform advanced statistical operations without the need of a dedicated statistical language (i.e. MATLAB or R).
On the Radar
Stripe.js
Stripe.js lets you build your own payment forms while still avoiding most PCI requirements. Credit cards go directly to Stripe's secure environment, and never hit your servers.
three.js
Javascript 3D Engine. The aim of the project is to create a lightweight 3D engine with a very low level of complexity.
speak.js
Enables text-to-speech on the web using only JavaScript and HTML5. A port of the eSpeak speech synthesizer from C++ to JavaScript using Emscripten. Online demo: http://syntensity.com/static/espeak.html
Blog Posts Etc
Knockout.js vs. Backbone.js
Introducing Knockout, a UI library for JavaScript
A re-introduction to JavaScript (mozilla.org)
JavaScript for C# developers: writing a library
20 Fresh JavaScript Data Visualization Libraries
jQuery
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
Underscore.js
Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux.
Modernizr
Modernizr is your starting point for making the best websites and applications that work exactly right no matter what browser or device your visitors use.
Knockout.js
Simplify dynamic JavaScript UIs by applying the Model-View-View Model (MVVM)
Backbone.js
Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.
JS and CSS Toolkits
Google Libraries API
The Google Libraries API is a content distribution network and loading architecture for the most popular, open-source JavaScript libraries.
CoffeeScript
CoffeeScript is a little language that compiles into JavaScript. Underneath all those awkward braces and semicolons, JavaScript has always had a gorgeous object model at its heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way. Also see: dart
lesscss
LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js and Rhino.
twitter bootstrap
Simple and flexible HTML, CSS, and Javascript for popular user interface components and interactions.
requirejs.org
JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like RequireJS will improve the speed and quality of your code.
JS InfoVis Libraries
Processing.js
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins.
d3.js
D3.js is a small, free JavaScript library for manipulating documents based on data and visualization framework. (From the authors of the now inactive protovis.)
Flot
Flot is a pure Javascript plotting library for jQuery. It produces graphical plots of arbitrary datasets on-the-fly client-side.
arborjs
Arbor is a graph visualization library built with web workers and jQuery. Rather than trying to be an all-encompassing framework, arbor provides an efficient, force-directed layout algorithm plus abstractions for graph organization and screen refresh handling.
Raphaël
Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.
JS Math Libraries
MathJax
MathJax is an open source JavaScript display engine for mathematics that works in all modern browsers.
jStat
jStat is a statistical library written in JavaScript that allows you to perform advanced statistical operations without the need of a dedicated statistical language (i.e. MATLAB or R).
On the Radar
Stripe.js
Stripe.js lets you build your own payment forms while still avoiding most PCI requirements. Credit cards go directly to Stripe's secure environment, and never hit your servers.
three.js
Javascript 3D Engine. The aim of the project is to create a lightweight 3D engine with a very low level of complexity.
speak.js
Enables text-to-speech on the web using only JavaScript and HTML5. A port of the eSpeak speech synthesizer from C++ to JavaScript using Emscripten. Online demo: http://syntensity.com/static/espeak.html
Blog Posts Etc
Knockout.js vs. Backbone.js
Introducing Knockout, a UI library for JavaScript
A re-introduction to JavaScript (mozilla.org)
JavaScript for C# developers: writing a library
20 Fresh JavaScript Data Visualization Libraries
Tuesday, September 13, 2011
R Packages
Here is a list of R packages that I find useful:
ggplot2 - is a plotting system for R, based on the grammar of graphics, which tries to take the good parts of base and lattice graphics and none of the bad parts. (Sep 2011)
caret - is a set of functions that attempt to streamline the process for creating predictive models. The package contains tools for: data splitting, pre-processing, model tuning using resampling, variable importance estimation. (short for Classification And REgression Training) (Sep 2011)
randomForest - Classification and regression based on a forest of trees using random inputs. (Dec 2011)
ada - Performs discrete, real, and gentle boost under both exponential and logistic loss on a given data set. The package ada provides a straightforward, well-documented, and broad boosting routine for classification, ideally suited for small to moderate-sized data sets. (Dec 2011)
gbm - Generalized Boosted Regression Models. This package implements extensions to Freund and Schapire's AdaBoost algorithm and Friedman's gradient boosting machine. Includes regression methods for least squares, absolute loss, quantile regression, logistic, Poisson, Cox proportional hazards partial likelihood, and AdaBoost exponential loss. (Dec 2011)
dummies - Create dummy/indicator variables flexibly and efficiently. Expands factors, characters and other eligible classes into dummy/indicator variables.
multicore - Overcome R's inefficient CPU usage. This package provides a way of running parallel computations in R on machines with multiple cores or CPUs. Jobs can share the entire initial workspace and it provides methods for results collection.
ggplot2 - is a plotting system for R, based on the grammar of graphics, which tries to take the good parts of base and lattice graphics and none of the bad parts. (Sep 2011)
caret - is a set of functions that attempt to streamline the process for creating predictive models. The package contains tools for: data splitting, pre-processing, model tuning using resampling, variable importance estimation. (short for Classification And REgression Training) (Sep 2011)
randomForest - Classification and regression based on a forest of trees using random inputs. (Dec 2011)
ada - Performs discrete, real, and gentle boost under both exponential and logistic loss on a given data set. The package ada provides a straightforward, well-documented, and broad boosting routine for classification, ideally suited for small to moderate-sized data sets. (Dec 2011)
gbm - Generalized Boosted Regression Models. This package implements extensions to Freund and Schapire's AdaBoost algorithm and Friedman's gradient boosting machine. Includes regression methods for least squares, absolute loss, quantile regression, logistic, Poisson, Cox proportional hazards partial likelihood, and AdaBoost exponential loss. (Dec 2011)
dummies - Create dummy/indicator variables flexibly and efficiently. Expands factors, characters and other eligible classes into dummy/indicator variables.
multicore - Overcome R's inefficient CPU usage. This package provides a way of running parallel computations in R on machines with multiple cores or CPUs. Jobs can share the entire initial workspace and it provides methods for results collection.
Friday, August 5, 2011
List of Data Mining / Forcasting Competitions
Kaggle
http://www.kaggle.com/Competitions
TunedIT Solutions
http://tunedit.org/challenges/
Causality Workbench (none current as of Aug 2011)
http://www.causality.inf.ethz.ch/home.php
DARPA's Shredder Challenge (document reconstruction)
Closes December 5, 2011
http://www.shredderchallenge.com/
1st International Competition of Time Series Forecasting
Closes 10th of January 2012
http://www.caos.inf.uc3m.es/~jperalta/ICTSF/
if you know of any more sites offering data mining / forecasting / machine learning competitions please leave a comment! Thanks.
http://www.kaggle.com/Competitions
TunedIT Solutions
http://tunedit.org/challenges/
Causality Workbench (none current as of Aug 2011)
http://www.causality.inf.ethz.ch/home.php
DARPA's Shredder Challenge (document reconstruction)
Closes December 5, 2011
http://www.shredderchallenge.com/
1st International Competition of Time Series Forecasting
Closes 10th of January 2012
http://www.caos.inf.uc3m.es/~jperalta/ICTSF/
if you know of any more sites offering data mining / forecasting / machine learning competitions please leave a comment! Thanks.
Friday, May 27, 2011
Free Utilities for a New Machine
NOTE: this is a work in progress, links coming...
Apps
Chrome
Firefox
mRemote
System
Wizmouse (scrolling fix) v1.0.0.5.exe
puretext20_x86.zip
notepad++
7zip
Launchy
VirtualBox + Ubuntu
Xming Xserver
putty
SysinternalsSuite
www.magiciso.com/tutorials/miso-magicdisc-overview.htm
ImgBurn
TreeSizeFree
Generic Development Tools
Reflector / JustDecompile www.telerik.com/products/decompiling.aspx
DiffMerge
WinMerge
Expresso Regex
XPathBuilder v2.0.0.4
LINQPad
Screen Ruler
Tortoise SVN
Specific Development Tools
Eclipse
Python
MonoDevelop
Commercial Software
Visual Studio (2008 and 2010)
ReSharper
SQL Server Management Studio
Redgate SQL Compare adn SQL Data Compare
Microsoft Office
Apps
Chrome
Firefox
irfanview
FoxitReader
mRemote
FileZilla
foobar2000
vlc
Skype
System
Wizmouse (scrolling fix) v1.0.0.5.exe
puretext20_x86.zip
notepad++
7zip
Launchy
VirtualBox + Ubuntu
Xming Xserver
putty
SysinternalsSuite
www.magiciso.com/tutorials/miso-magicdisc-overview.htm
ImgBurn
TreeSizeFree
Generic Development Tools
Reflector / JustDecompile www.telerik.com/products/decompiling.aspx
DiffMerge
WinMerge
Expresso Regex
XPathBuilder v2.0.0.4
LINQPad
Screen Ruler
Tortoise SVN
Specific Development Tools
Eclipse
Python
MonoDevelop
Commercial Software
Visual Studio (2008 and 2010)
ReSharper
SQL Server Management Studio
Redgate SQL Compare adn SQL Data Compare
Microsoft Office
Friday, December 10, 2010
Windows hosted virtual private server (VPS) set up
In early 2010 I migrated my websites from shared web host that had begun to suck to a virtual private server (VPS) provided by Web24.
I did this for performance reasons as the shared web host had degraded over the course of several years, and additionally I wanted control over what was installed on the machine just like when at work.
Due to low traffic and budget constraints I'm running the VPS as a web server (IIS), DB server (SQL Server Express, and MySQL) and an SMTP server. Here are my notes regarding the server installation and configuration so I can do it again fairly quickly if needed.
NOTE: these details were accurate at March 2010, newer versions and service packs are probably available now.
VPS Configuration
Windows Server 2003 R2, 64 bit
IIS 6
1GB RAM
10GB disk space
Parallels Power Panel
Full remote desktop access
General Utilities Installed
7zip, notepad++, Winmerge and Sysinternals Suite
Web Platform Installer
Used the WPI to install: .NET FW 2.0 .NET FW 3.5SP1, MVC 2.0
Database Servers
MySQL:
SQL Server 2008 Express:
I did this for performance reasons as the shared web host had degraded over the course of several years, and additionally I wanted control over what was installed on the machine just like when at work.
Due to low traffic and budget constraints I'm running the VPS as a web server (IIS), DB server (SQL Server Express, and MySQL) and an SMTP server. Here are my notes regarding the server installation and configuration so I can do it again fairly quickly if needed.
NOTE: these details were accurate at March 2010, newer versions and service packs are probably available now.
VPS Configuration
Windows Server 2003 R2, 64 bit
IIS 6
1GB RAM
10GB disk space
Parallels Power Panel
Full remote desktop access
General Utilities Installed
7zip, notepad++, Winmerge and Sysinternals Suite
Web Platform Installer
Used the WPI to install: .NET FW 2.0 .NET FW 3.5SP1, MVC 2.0
Database Servers
MySQL:
- MySQL Community Server
- MySQL GUI Tools 5
- Install guide: Install and Configure MySQL 5 on Windows (non-strict mode)
SQL Server 2008 Express:
- Windows Installer 4.5 Redistributable x64 (Required for SQL 2008)
- Windows PowerShell 1.0 x64 (Required for SQL 2008)
- Microsoft® SQL Server® 2008 Express with Tools
- SQL Server 2008 Service Pack 1
SMTP Mail Server
hMailServer:
- hMailServer Download
- Guide: Setting up your own email server with hMailServer
- Guide: Quick set up
- Docs: Configuration tutorial
- Finally, testing for Anonymous Relay
PHP5 on IIS6
- Download latest PHP For Windows (following notes based on v5.3.x)
- If you are using PHP with IIS you should use the VC9 versions of PHP (Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed)
- Since PHP v5.3 uses FastCGI we should use the non-thread safe version of PHP (php-5.3.2-nts-Win32-VC9-x86.zip)
- Download FastCGI for IIS (Note: can use FastCGI x64 with php x86 ok, see this thread: FastCGI x64 glitch)
- Guide: Installing FastCGI and PHP for IIS 6.0
- Guide: Installing PHP 5 on IIS in 5 simple steps (v5.2 only)
- Guide: How to install PHP 5.x on Windows Server 2003 with IIS 6
- Windows Server x64 specific config: PHP on 64 bit Windows (fixes "%1 is not a valid Win32 application" issue by allowing IIS to run 32 bit apps. Here is the command: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
Web Mail
roundcube (PHP application):
- Download roundcube
- Guide: Install and configure RoundCube Webmail on IIS
- Guide: Install Roundcube with IIS6 and hMs internal DB
- Guide: Installation
- Guide: Configuration
Yep, that's it, too easy really. Overall I'm pretty happy with Web24 - faster than the old shared hosting, and (almost) complete control over the environment. Only downside is a few more sysadmin tasks.
Next thing to do is switch to Server 2008 with IIS 7.
Next thing to do is switch to Server 2008 with IIS 7.
Subscribe to:
Posts (Atom)