Posts

Android's VideoView doesn't always stretch video.

Creating a full screen simple video player on Android 2.4.x(GingerBread), I've been annoyed by the problem that VideoView doesn't always stretch videos to full screen(keeping aspect ratio). Reading VideoView's code, I finally found a solution to this. Point is to call getHolder().setFixedSize in onMeasure. class StretchVideoView(context:Context, attr:AttributeSet) extends VideoView(context, attrib) { def measure(measureSpec:Int):Int = { val specMode = View.MeasureSpec.getMode(measureSpec) View.MeasureSpec.getSize(measureSpec) } override def onMeasure(widthMeasureSpec:Int, heightMeasureSpec:Int) { val (w,h) = (measure(widthMeasureSpec), measure(heightMeasureSpec)) getHolder().setFixedSize(w,h) super.onMeasure(widthMeasureSpec, heightMeasureSpec) } } By the way, the above code is written in Scala, so please write in Java if you're not Scala guy (Usually not).

Using FLAG_FULLSCREEN and TYPE_KEYGUARD together.

To create a lockdown application on Android, I tried to use FLAG_FULLSCREEN and TYPE_KEYGUARD simultaneously, however using only one of them worked fine but no luck using them together. To avoid this problem, full screen feature seems to be done by AndroidManifest.xml. To do so, add android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" to activity node in AndroidManifest.xml and add following code to Activity class override def onAttachedToWindow() { getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD) super.onAttachedToWidnow }

part of .vimrc not activated.

Finally, I fixed some of settings (nnoremaps) of .vimrc have not been activated. It was over written by an other plugin which I believe having uninstalled. Be aware of ~/.vim/after/plugin/*.vim !

start-emulator or start-device fails for missing "dx.jar"

If you try to "start-emulator" or "start-device", but fails on dx error, and if you found "cannot find dx.jar", you can fix it by putting symbolic like ln -s $ANDROID_SDK_HOME/platform-tools $ANDROID_SDK_HOME/platforms/android-7/platform-tools It seems this happens when using old android-7 project with new SDKs like r14.

Installing old formula on Homebrew(Homebrewで古いFormulaをインスール)

Since sbt is very diffrernt between 0.7.7 to 1.x, I needed to install old sbt(0.7.7), but it was not obvious how. However, it turns out to be very easy. To do that, simply put file sbt77.rb to /usr/local/Library/Formula as following content. require 'formula' class Sbt77 < Formula JAR = 'sbt-launch-0.7.7.jar' url "http://simple-build-tool.googlecode.com/files/#{JAR}" homepage 'http://code.google.com/p/simple-build-tool/' md5 '0cce0d5ade30a41b91e05705a9346b71' def install (bin+'sbt77').write <<-EOS.undent #!/bin/sh if test -f ~/.sbtconfig; then . ~/.sbtconfig fi exec java -Xmx512M ${SBT_OPTS} -jar #{libexec}/#{JAR} "$@" EOS libexec.install Dir['*'] end def caveats <<-EOS.undent You can use $SBT_OPTS to pass additional JVM options to SBT. For convenience, this can specified in `~/.sbtconfig`. For example: SBT_...

Calendar Maker Script (for Python) Pythonでカレンダーを作る

Image
My wife pushed me to create a calendar of her design, but I couldn't find a good image, so I decided to make one as a programmer! Here is the image. And this is a code. #Attention! Holidays are Japanese ones. To know which day is holiday, I got "jholiday.py" from here . Thank you "AddingBox"!! Also you need to install PIL(Python Image Library). """ CREATE LARGE CALENDER IMAGE This code is created by tiid (http://makerwannabe.blogspot.com/) This work is licensed under the Creative Commons Attribution 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. """ import Image from PIL import ImageFont, ImageDraw from jholiday import holiday_name from datetime import timedelta import datetime class CalenderImage() : def __init__(self, width, height): self.image ...

Source code for slide puzzles of DevQuiz 2011(Google Developer Day)

Is it too late to public source code for DevQuiz? First purpose is to solve over 1000 puzzles in a day and this code got 1130 correct answers which was good enough for me. If anybody has a comment, please feel free to do so! (もちろん日本語でも) from heapq import heappush, heappop, heapreplace from copy import copy from random import seed class Board: def __init__(self, w, h, situation): self.w = w self.h = h self.length = len(situation) self.firstSituation = situation self.goal_str = self.createGoalMap() self.scoremap = self.createScoreMap() print "Board:",w,h,self.scoremap def move(self, situation, pos, i): assert(situation[pos]=="0") i = {0:0, 1:1, 2:2, 3:3, 'U':0, 'D':1, 'L':2, 'R':3}[i] def switch(i,j): if(i&ltj): left,right=i,j else: left,right = j, i s = situation return s[:left] + s[right] + s[left...