Wednesday, April 13, 2011

Prezi

Favorite presentations from Prezi:



Monday, April 11, 2011

Monads

Sunday, April 10, 2011

Arc

A new dialect of Lisp
http://arclanguage.org

Quote:
"Arc is designed for exploratory programming: the kind where you decide what to write by writing it. A good medium for exploratory programming is one that makes programs brief and malleable, so that's what we've aimed for. This is a medium for sketching software.Arc is unfinished. It's missing things you'd need to solve some types of problems. But it works well for basic web apps.

The first priority right now is the core language. We're trying to continue McCarthy's axiomatic approach all the way up to a complete language for day to day programming."

Thursday, April 7, 2011

Performance of comparing arrays

For the test I have used 2.3 mb file, being read to a byte array before all tests, and each test is run 100 times.

Release, ms


Debug, ms


MemCmp and UnsafeBytesCompare8Step are the fastest
UnsafeBytesCompareMs is used in .NET to compare Strings.

Performance of MemCmpFromPtr is as much as the MemCmp performance if initializing of IntPtr
is implemented outside the function.

MemCmp uses memcmp



Source code:

Tuesday, April 5, 2011

Python resource and extensions


Tutorials:
Installing:

http://webnewage.org/2009/06/23/what-is-pip
http://pypi.python.org/pypi/distribute#distribute-setup-py
http://pypi.python.org/pypi/pip
http://pypi.python.org/pypi/setuptools#files
http://www.komtet.ru/lib/plangs/python/easy-install-zagruzka-i-ustanovka-paketa
http://www.crummy.com/software/BeautifulSoup/#Download
http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
http://stackoverflow.com/questions/1213690/what-is-the-most-compatible-way-to-install-python-modules-on-a-mac
http://stackoverflow.com/questions/452283/how-can-i-install-the-beautiful-soup-module-on-the-mac

Sources:

http://developer.berlios.de/softwaremap/trove_list.php?form_cat=76

Extensions:
http://pypi.python.org



1. C-Extension for Python: http://cython.org

Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.
The Cython language is very close to the Python language, but Cython additionally supports calling C functions and declaring C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code.
This makes Cython the ideal language for wrapping external C libraries, and for fast C modules that speed up the execution of Python code.


2. Mathematics open source library: http://sagemath.org
3. http://www.pythonxy.com
4. http://www.enthought.com/products/epd.php
5. SciPy
6. PyCuda: http://mathema.tician.de/software/pycuda
7. Mrjob: https://github.com/Yelp/mrjob
    Run Hadoop Streaming jobs on Amazon Elastic MapReduce or your own Hadoop cluster
8. CRC: http://crcmod.sourceforge.net
9.Twisted: http://twistedmatrix.com/trac
     An event-driven networking engine written in Python
10. Requests: http://pypi.python.org/pypi/requests
11. MatplotLib: matplotlib.sourceforge.net
http://www.matplotlib.com
12. Py-LLVM: http://www.mdevan.org/llvm-py/index.html
13. Kalman filtering: http://www.scipy.org/Cookbook/KalmanFiltering
14. OpenGL: http://pyopengl.sourceforge.net
15. MapReduce on Python: http://me.lt/4xP7k
16.  Natural language toolkit http://www.nltk.org/download
17. Astronomy http://www.astropy.org

Open Source Python Tools for Classification (http://amundblog.blogspot.com)

  • Monte - less comprehensive than Orange, written purely in Python (i.e. noSWIGed C++). Looks interesting (has several classifiers algorithms), but the APIs seems to be in an early phase (relatively new tool in version 0.1.0)
  • libsvm - Python API for most popular open source implementation of SVM.Note: libsvm is also included with Orange and PyML. (I used this tools during my PhD a few years ago)
  • RPy - not exactly a classification tool, but it is quite useful with a statistics tool when you are doing classification (it has a nice plotting capability, not unlike matlabs), check out the demo.
  • PyML - also less comprehensive than Orange (specialized towards classification and regression, it supports SVM/SMO, ANN and Ridge Regression), but it has a nice API. Example of use: 
    from PyML import multi, svm, datafunc
    # read training data, last column has the class
    mydataset = datafunc.SparseDataSet('iris.data', labelsColumn = -1)
    myclassifier = multi.OneAgainstRest(svm.SVM())
    print "cross-validation results", myclassifier.cv(mydataset)
My recommendation is to either go with Orange or with PyML.

Catalogue:
http://www.java2s.com/Open-Source/Python/CatalogPython.htm
http://blogs.msdn.com/b/somasegar/archive/2011/08/29/python-tools-for-visual-studio.aspx

Harshad numbers

http://www.harshad-numbers.com
http://en.wikipedia.org/wiki/Harshad_number
http://en.wikipedia.org/wiki/1729_(number)

Inverse Symbolic Calculator
P.S. Infinity

Online encyclopedia of integer sequences

http://offline.computerra.ru/print/offline/1998/235/1098

Examples:
1. A019460: 2, 3, 3, 5, 10, 13, 39, 43, 172, …
2. A006567: 13, 17, 31, 37, 71, 73, 79, 97, 107, …
3. A001462: 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, …
4. A005228: 1, 3, 7, 12, 18, 26, 35, 45, 56, 69, …
5. A006751: 2, 12, 1112, 3112, 132112, 1113122112, …
6. A004000: 1, 2, 4, 8, 16, 77, 145, 668, ...
7. A007449: 7, 9, 40, 74, 1526, 5436, 2323240, 29548570, …
8. A006933: 2, 4, 6, 30, 32, 34, 36, 40, 42, 44, 46, 50, …

Tiny OS

http://www.tinyos.net

TinyOS is an open source, BSD-licensed operating system designed for low-power wireless devices, such as those used in sensor networks, ubiquitious computing, personal area networks, smart buildings, and smart meters


To be continued....

Powered by Blogger.