woensdag 28 oktober 2015

python setup.py cython

Content of setup.py


from setuptools import setup, find_packages,Extension, Command

try:
    from Cython.Distutils import build_ext
except ImportError:
    from distutils.command.build_ext import build_ext
    sources=['midistream.c']
else:
    sources=['midistream.pyx']

setup(
    name ='midistream',
    version='1.0',
    packages=find_packages(),
    cmdclass = {'build_ext': build_ext},
    ext_modules=[
    Extension('midistream', ['midistream.pyx'])
    ],
   
)


Rename midistream.py midistream.pyx 


run:

sudo python setup.py build_ext --inplace
sudo python setup.py install

midistream.o and midistream.so are made


woensdag 7 oktober 2015

emacs packages

 in scratch press C-j


install el-get
(url-retrieve
 "https://raw.githubusercontent.com/dimitri/el-get/master/el-get-install.el"
 (lambda (s)
   (goto-char (point-max))
   (eval-print-last-sexp)))

zondag 31 mei 2015

kivy / python game server handling high score

server.py:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import SocketServer
import json

class MyTCPServer(SocketServer.ThreadingTCPServer):
    allow_reuse_address = True

class MyTCPServerHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        try:
            data = json.loads(self.request.recv(1024).strip())
            # process the data, i.e. print it:
            print data
            # send some 'ok' back
            self.request.sendall(json.dumps({'return':'ok'}))
        except Exception, e:
            print "Exception wile receiving message: ", e

server = MyTCPServer(('127.0.0.1', 13370), MyTCPServerHandler)
server.serve_forever()
kivy client.py:
1
2
3
4
5
6
7
8
9
10
11
import socket
import json
def send_data(score):
  data = {'message':'This is my kivy app', 'score':score}

  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  s.connect(('127.0.0.1', 13370))
  s.send(json.dumps(data))
  result = json.loads(s.recv(1024))
  print result
  s.close()
buildozer.spec
# (list) Permissions
android.permissions = INTERNET



zaterdag 31 januari 2015

emacs packages



For a specific package

Where to place the el file
After placing it, say myplugin.el to your ~/.emacs.d/ directory, add the following in your .emacs file:
(add-to-list 'load-path "~/.emacs.d/")
(load "myplugin.el")
Also, in many cases you would need the following instead of the second line:
(require 'myplugin)


for normal emacs packages 

add to init.el

(when (>= emacs-major-version 24)
  (require 'package)
  (add-to-list
   'package-archives
   '("melpa" . "http://melpa.org/packages/")
   t)

  (package-initialise))


In emacs type: MetaX list-packages.

woensdag 21 januari 2015

sonic pi short reference




3.times { puts "Hello!" }       Hello 
[0.5, 2, 1, 4].choose
play_pattern_timed [59,64,68],[0.5]  play 59,sleep .5 play 64 sleep .5

zondag 14 december 2014

making a hidden directory

attrib +s +h “C:\Users\Me\Desktop\hidden dir”

cls
@ECHO OFF
title Folder Locker
if EXIST “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}” goto UNLOCK
if NOT EXIST Locker goto MDLOCKER
:CONFIRM
echo Are you sure u want to Lock the folder(Y/N)
set/p “cho=>”
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Locker “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
attrib +h +s “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
echo Folder locked
goto End
:UNLOCK
echo Enter password to Unlock folder
set/p “pass=>”
if NOT %pass%==YOUR PASSWORD HERE goto FAIL
attrib -h -s “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}”
ren “Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}” Locker
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Locker
echo Locker created successfully
goto End
:End
* Change the “YOUR PASSWORD HERE” with your password.
Save it as batch file ( with extension .bat ) For eg. Locker.bat
Now you will see a batch file. Double click it to create a folder locker ( A new folder named Locker would be formed at the same location )
Double click the batch ( As created above ) file to lock the folder namely Locker.

woensdag 5 november 2014

hoogte van snaren bij gitaar

De standaard volgens Cumpiano
Vrije ruimte tussen onderkant 6de snaar en 12de fret = 4 mm bij klassieke.

Voor lage actie = 3.2 mm 
Voor hoge actie = 4.8 mm

De treble snaar moet 0.8 mm minder hoog.

Meet de 6 snaren hun actuele hoogte boven de 12de fret

Standaard klassieke = 
E6 = 4.0
A = 3.8
D = 3.6
G = 3.6
B = 3.4
E1 = 3.2