Monday, August 19, 2013

Brief review of Competitive Strategy course on Coursera

Week 1
Review of simultaneous games in a form of payoff matrix. Definition of a dominating strategy (no other strategy can do better) and domination strategy elimination as a solution for the game. Nash equilibrium (a combination of strategies no player can deviate unilaterally from his current strategy to improve his payoff). Prisoner's dilemma as example. Sequential games in a form of decision tree, backward induction as a way to solve game. Credible threats and how to make threats credible.
Week 2
Reasons for cooperation. Sometime competition is not a in best interest of firm. Ways to ensure cooperation infinite repetition and commitment. Factors enhancing cooperation: high value of a future payoffs. Factors hindering cooperation: large number of competitors, low punishment. Aggressive commitment. Cooperative commitment in a form of reputation building (make the company known as reliable cooperator, make it known that you treat others fairly), self-binding commitment (make investment that convinces potential partners that one is committed to act cooperatively), most favored customer clause (promises the customer that it will get refunded if another customer i charged a lower price in the future - so price reduction become not an option)
Week 3
Complements. Reason to support others. Reasons to produce complements -  cross subsidies, bundling, increase lock-in.Strategic partnership in a form of organisational or/and economical integration.
Week 4
Choice of market: Market attractiveness, structural and strategic barriers.
Entry strategies: Commitment/Value chain reconfiguration, Judo economics/Niche market.
Entry Deterrence: Structural entry barriers/Commitment, Limit pricing/Predatory pricing. Pre-emption.
Week 5
Stages of R&D. Types of innovations: process and product, drastic and incremental. Initiatives to innovate:  competitive market, monopolist, monopolist in a threat of entry.
Week 6
Bertrand paradox,. Vertical and horizontal differentiation. Generic strategies: cost leadership, differentiation, focus.

Friday, August 31, 2012

CUDA on Fedora 17

Finally have CUDA toolkit running on my Fedora 17 box.

Download Dev driver, Toolkit and SDK from http://developer.nvidia.com/cuda/cuda-downloads
Additional instructions are here http://www.r-tutor.com/gpu-computing/cuda-installation/cuda4.2-fc14
Tried to compile example from SDK - got gcc version incompatibility. Workaround is found here http://fedoraproject.org/wiki/Cuda#Fedora_17 :
Some compatibility problems appeared with gcc-4.7. You will have to install a compatibility version:
su -c 'yum install compat-gcc-34 compat-gcc-34-c++'
Create a symbolic link to make Cuda point to gcc-3.4:
su -c 'ln -s /usr/bin/gcc34 /opt/cuda/bin/gcc'
 Build shared libraries in ~/NVIDIA_GPU_Computing_SDK/shared
Build ~/NVIDIA_GPU_Computing_SDK/C/src/deviceQuery and run it in ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/deviceQuery
Finally got deviceQuery.txt with:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Found 1 CUDA Capable device(s)

Device 0: "GeForce GT 430"
  CUDA Driver Version / Runtime Version          5.0 / 4.2
  CUDA Capability Major/Minor version number:    2.1
  Total amount of global memory:                 1023 MBytes (1072889856 bytes)
  ( 2) Multiprocessors x ( 48) CUDA Cores/MP:    96 CUDA Cores
  GPU Clock rate:                                1400 MHz (1.40 GHz)
  Memory Clock rate:                             800 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 131072 bytes
  Max Texture Dimension Size (x,y,z)             1D=(65536), 2D=(65536,65535), 3D=(2048,2048,2048)
  Max Layered Texture Size (dim) x layers        1D=(16384) x 2048, 2D=(16384,16384) x 2048
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 32768
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1536
  Maximum number of threads per block:           1024
  Maximum sizes of each dimension of a block:    1024 x 1024 x 64
  Maximum sizes of each dimension of a grid:     65535 x 65535 x 65535
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and execution:                 Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Concurrent kernel execution:                   Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support enabled:                No
  Device is using TCC driver mode:               No
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Bus ID / PCI location ID:           1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.0, CUDA Runtime Version = 4.2, NumDevs = 1, Device = GeForce GT 430
Ready to roll :-)

Thursday, October 7, 2010

3D Android

Just a list of resources for preliminary studies:

Getting Started in Android Game Development

Want to start building 3d games, pointers?

http://developer.qualcomm.com/dev/augmented-reality/developer-challenge

OpenGL ES Tutorial for Android – Part I – Setting up the view

Getting Started in Android Game Development

Light Racer 3D - Days 1-2 - Learning OpenGL ES

Android 3D game tutorial – Part I

OpenGL ES Implementations, Tutorials and Sample Code

Application Fundamentals

http://java.dzone.com/news/3d-model-interaction-java-3d

http://code.google.com/p/min3d/

http://www.rozengain.com/blog/2010/05/26/cloning-animated-3d-objects-min3d-framework-for-android/

http://potatoland.org/glart/

http://code.google.com/p/jocode/source/browse/trunk/src/#src/jomodel

http://local.wasp.uwa.edu.au/~pbourke/dataformats/obj/

http://people.sc.fsu.edu/~jburkardt/data/obj/obj.html

http://www.java-tips.org/other-api-tips/jogl/several-spheres-are-drawn-using-different-material-characteri-2.html

http://jerome.jouvie.free.fr/OpenGl/Tutorials/Tutorial12.php

http://www.iphone4gnew.com/opengl-es-from-the-ground-up-part-3-viewports-in-perspective.html

http://glprogramming.com/red/chapter05.html

http://www.java-tips.org/other-api-tips/jogl/several-spheres-are-drawn-using-different-material-characteri-2.html

http://jerome.jouvie.free.fr/OpenGl/Lessons/Lesson8.php

http://jogamp.org/deployment/jogl-next/javadoc_public/

http://code.google.com/p/jocode/source/browse/trunk/src/jomodel/JOOBJImporter.java

http://jogamp.org/jogl-demos/src/demos/hdr/HDR.java

http://gpwiki.org/index.php/OpenGL_Tutorial_Framework:Adding_Depth_and_Color

http://www.angelikalanger.com/index.html

http://code.google.com/p/android-gl/source/browse/#svn/trunk/AndroidGL/src/edu/union

http://insanitydesign.com/wp/projects/nehe-android-ports/

Saturday, August 14, 2010

DC Circulator Gadget

The Circulator API dies silently, so nothing is updated on the map anymore.

Friday, August 13, 2010

The Rackspace Cloud

I want to have a "playground" for Java-based project hosting . I want something cheap, easy accessible and it's ok to have some downtime, it's kind of self-education, hobby project after all.


  1. Host at home, using DynDns or similar service

  2. Google App Engine

  3. The RackSpace Cloud servers

  4. Amazon EC2

The first option looks good, the two only objections are need in new comp (old one is noisy and energy inefficient) and I'll be forced to use non-standard http port because Verizon block incoming traffic on port 80. Also unclear what will happens if I'll switch to another Internet provider.


I like GAE, my current playground at http://wayponts.appspot.com/, however fighting with limitations of GAE makes me crazy (sometimes), database design for Datastore is unusual, data updates consume a lot of CPU, so it's very easy to get all free CPU quota. So, what is Google provide for free is almost perfect for my purposes but... (unavoidable "but" :-) )


Third option will cost me about $10-15/month (cost of my lunch, I can definitely skip one :-) ) and give me a very basic Linux server with 256M RAM and 10G of disk space. Not too bad.


Amazon EC2 is good, but small image starts from $60-70/month and reserved $270 (1 year term) one time plus $20-25/month in case of 100% utilization. Cheap but not enough cheap for hobby project.


It's possible to find another options like [DE]Systems loaded with pre-installed services. However, in sake of simplicity, The Rackspace Cloud Servers is a winner.

PS
I still want a silent nettop as development server.