March 28, 2012
JokerME dependences
Preparing for porting. Here's list of JokerME sdk deps (link read more below):
[javac] [loading P:\svn\jokersvn\branches\2.1.0.items.refactor\src\mobi\joker\test\flowlayout\VerticalListExpandByWidthLayout.java]
[javac] [loading java\io\ByteArrayInputStream.class(java\io:ByteArrayInputStream.class)]
[javac] [loading java\io\ByteArrayOutputStream.class(java\io:ByteArrayOutputStream.class)]
[javac] [loading java\io\DataInputStream.class(java\io:DataInputStream.class)]
[javac] [loading java\io\DataOutputStream.class(java\io:DataOutputStream.class)]
[javac] [loading java\io\IOException.class(java\io:IOException.class)]
[javac] [loading java\io\InputStream.class(java\io:InputStream.class)]
[javac] [loading java\io\InputStreamReader.class(java\io:InputStreamReader.class)]
[javac] [loading java\io\OutputStream.class(java\io:OutputStream.class)]
[javac] [loading java\io\OutputStreamWriter.class(java\io:OutputStreamWriter.class)]
[javac] [loading java\io\PrintStream.class(java\io:PrintStream.class)]
[javac] [loading java\io\Reader.class(java\io:Reader.class)]
[javac] [loading java\io\UnsupportedEncodingException.class(java\io:UnsupportedEncodingException.class)]
[javac] [loading java\io\Writer.class(java\io:Writer.class)]
[javac] [loading java\lang\Class.class(java\lang:Class.class)]
[javac] [loading java\lang\Double.class(java\lang:Double.class)]
[javac] [loading java\lang\Error.class(java\lang:Error.class)]
[javac] [loading java\lang\Exception.class(java\lang:Exception.class)]
[javac] [loading java\lang\IllegalArgumentException.class(java\lang:IllegalArgumentException.class)]
[javac] [loading java\lang\IllegalStateException.class(java\lang:IllegalStateException.class)]
[javac] [loading java\lang\IndexOutOfBoundsException.class(java\lang:IndexOutOfBoundsException.class)]
[javac] [loading java\lang\Integer.class(java\lang:Integer.class)]
[javac] [loading java\lang\InterruptedException.class(java\lang:InterruptedException.class)]
[javac] [loading java\lang\Math.class(java\lang:Math.class)]
[javac] [loading java\lang\NullPointerException.class(java\lang:NullPointerException.class)]
[javac] [loading java\lang\NumberFormatException.class(java\lang:NumberFormatException.class)]
[javac] [loading java\lang\Object.class(java\lang:Object.class)]
[javac] [loading java\lang\OutOfMemoryError.class(java\lang:OutOfMemoryError.class)]
[javac] [loading java\lang\Runnable.class(java\lang:Runnable.class)]
[javac] [loading java\lang\Runtime.class(java\lang:Runtime.class)]
[javac] [loading java\lang\RuntimeException.class(java\lang:RuntimeException.class)]
[javac] [loading java\lang\SecurityException.class(java\lang:SecurityException.class)]
[javac] [loading java\lang\String.class(java\lang:String.class)]
[javac] [loading java\lang\StringBuffer.class(java\lang:StringBuffer.class)]
[javac] [loading java\lang\System.class(java\lang:System.class)]
[javac] [loading java\lang\Thread.class(java\lang:Thread.class)]
[javac] [loading java\lang\Throwable.class(java\lang:Throwable.class)]
[javac] [loading java\lang\VirtualMachineError.class(java\lang:VirtualMachineError.class)]
[javac] [loading java\util\Calendar.class(java\util:Calendar.class)]
[javac] [loading java\util\Date.class(java\util:Date.class)]
[javac] [loading java\util\Enumeration.class(java\util:Enumeration.class)]
[javac] [loading java\util\Hashtable.class(java\util:Hashtable.class)]
[javac] [loading java\util\Stack.class(java\util:Stack.class)]
[javac] [loading java\util\Vector.class(java\util:Vector.class)]
[javac] [loading javax\microedition\io\Connection.class(javax\microedition\io:Connection.class)]
[javac] [loading javax\microedition\io\Connector.class(javax\microedition\io:Connector.class)]
[javac] [loading javax\microedition\io\ContentConnection.class(javax\microedition\io:ContentConnection.class)]
[javac] [loading javax\microedition\io\HttpConnection.class(javax\microedition\io:HttpConnection.class)]
[javac] [loading javax\microedition\io\InputConnection.class(javax\microedition\io:InputConnection.class)]
[javac] [loading javax\microedition\io\OutputConnection.class(javax\microedition\io:OutputConnection.class)]
[javac] [loading javax\microedition\io\StreamConnection.class(javax\microedition\io:StreamConnection.class)]
[javac] [loading javax\microedition\io\file\FileConnection.class(javax\microedition\io\file:FileConnection.class)]
[javac] [loading javax\microedition\io\file\FileSystemRegistry.class(javax\microedition\io\file:FileSystemRegistry.class)]
[javac] [loading javax\microedition\lcdui\Alert.class(javax\microedition\lcdui:Alert.class)]
[javac] [loading javax\microedition\lcdui\AlertType.class(javax\microedition\lcdui:AlertType.class)]
[javac] [loading javax\microedition\lcdui\Canvas.class(javax\microedition\lcdui:Canvas.class)]
[javac] [loading javax\microedition\lcdui\Choice.class(javax\microedition\lcdui:Choice.class)]
[javac] [loading javax\microedition\lcdui\Command.class(javax\microedition\lcdui:Command.class)]
[javac] [loading javax\microedition\lcdui\CommandListener.class(javax\microedition\lcdui:CommandListener.class)]
[javac] [loading javax\microedition\lcdui\Display.class(javax\microedition\lcdui:Display.class)]
[javac] [loading javax\microedition\lcdui\Displayable.class(javax\microedition\lcdui:Displayable.class)]
[javac] [loading javax\microedition\lcdui\Font.class(javax\microedition\lcdui:Font.class)]
[javac] [loading javax\microedition\lcdui\Gauge.class(javax\microedition\lcdui:Gauge.class)]
[javac] [loading javax\microedition\lcdui\Graphics.class(javax\microedition\lcdui:Graphics.class)]
[javac] [loading javax\microedition\lcdui\Image.class(javax\microedition\lcdui:Image.class)]
[javac] [loading javax\microedition\lcdui\List.class(javax\microedition\lcdui:List.class)]
[javac] [loading javax\microedition\lcdui\Screen.class(javax\microedition\lcdui:Screen.class)]
[javac] [loading javax\microedition\lcdui\TextBox.class(javax\microedition\lcdui:TextBox.class)]
[javac] [loading javax\microedition\lcdui\TextField.class(javax\microedition\lcdui:TextField.class)]
[javac] [loading javax\microedition\lcdui\Ticker.class(javax\microedition\lcdui:Ticker.class)]
[javac] [loading javax\microedition\lcdui\game\GameCanvas.class(javax\microedition\lcdui\game:GameCanvas.class)]
[javac] [loading javax\microedition\lcdui\game\Layer.class(javax\microedition\lcdui\game:Layer.class)]
[javac] [loading javax\microedition\lcdui\game\Sprite.class(javax\microedition\lcdui\game:Sprite.class)]
[javac] [loading javax\microedition\media\Control.class(javax\microedition\media:Control.class)]
[javac] [loading javax\microedition\media\Controllable.class(javax\microedition\media:Controllable.class)]
[javac] [loading javax\microedition\media\Manager.class(javax\microedition\media:Manager.class)]
[javac] [loading javax\microedition\media\MediaException.class(javax\microedition\media:MediaException.class)]
[javac] [loading javax\microedition\media\Player.class(javax\microedition\media:Player.class)]
[javac] [loading javax\microedition\media\PlayerListener.class(javax\microedition\media:PlayerListener.class)]
[javac] [loading javax\microedition\media\control\GUIControl.class(javax\microedition\media\control:GUIControl.class)]
[javac] [loading javax\microedition\media\control\VideoControl.class(javax\microedition\media\control:VideoControl.class)]
[javac] [loading javax\microedition\media\protocol\DataSource.class(javax\microedition\media\protocol:DataSource.class)]
[javac] [loading javax\microedition\midlet\MIDlet.class(javax\microedition\midlet:MIDlet.class)]
[javac] [loading javax\microedition\rms\InvalidRecordIDException.class(javax\microedition\rms:InvalidRecordIDException.class)]
[javac] [loading javax\microedition\rms\RecordComparator.class(javax\microedition\rms:RecordComparator.class)]
[javac] [loading javax\microedition\rms\RecordEnumeration.class(javax\microedition\rms:RecordEnumeration.class)]
[javac] [loading javax\microedition\rms\RecordFilter.class(javax\microedition\rms:RecordFilter.class)]
[javac] [loading javax\microedition\rms\RecordStore.class(javax\microedition\rms:RecordStore.class)]
[javac] [loading javax\microedition\rms\RecordStoreException.class(javax\microedition\rms:RecordStoreException.class)]
[javac] [loading javax\microedition\rms\RecordStoreFullException.class(javax\microedition\rms:RecordStoreFullException.class)]
[javac] [loading javax\microedition\rms\RecordStoreNotFoundException.class(javax\microedition\rms:RecordStoreNotFoundException.class)]
[javac] [loading javax\microedition\rms\RecordStoreNotOpenException.class(javax\microedition\rms:RecordStoreNotOpenException.class)]
Labels: jokerme
sound making for apps (bookmark)
March 27, 2012
насекомое
March 23, 2012
macos file system is _case insensitive_
For some reason the default (pre-installed) HFS in last macbook Air (with 10.7.2) is case-insensitive. For example, you cannot create two files: doc and Doc - they are same. BUT: depending of which file was created first, you won't be able to access using different-cased name...
In short: create is case-insensitive, access is case-sensitive. Very annoying behaviour.
In short: create is case-insensitive, access is case-sensitive. Very annoying behaviour.
Apple has a shitty BootCamp's BIOS emulation
The max RAM seen by 32bit Win7 is ONLY 2.16 Gb on macBookAir 2011 (last). Don't fucking tell me install 64bit, I have Win7 32bit on my 4Gb RAMmed Dell latitude 6410 and it uses 3.43 Gb. This is just some bullshit in memory management in BootCamp 4 layer BIOS emulation on mac. Moreover: apple hardware doesn't support UEFI (!). They has some EFI extension which is not compatible to run UEFI Windows 7 for example.
Will try rEFIt / win7#32, but don't believe much in that.
Will try rEFIt / win7#32, but don't believe much in that.
java/iphone cross-compiling
2 projects (same roots for both actually) found:
- in-the-box (proj goal is to run android apps on ios)
- iSpectrum (sealed on sep 2010 when apple tighten cross-compiling rules)
My goal is to compile and run JokerME under iOS! Need to try this market for JokerME, to see devs interest.
- in-the-box (proj goal is to run android apps on ios)
- iSpectrum (sealed on sep 2010 when apple tighten cross-compiling rules)
My goal is to compile and run JokerME under iOS! Need to try this market for JokerME, to see devs interest.
March 20, 2012
Эссе про деньги и электричество
Изложу свои мысли на тему денег в виде эссе.
Деньги напоминают мне электричество.
На сегодняшний день электричество научились вырабатывать и передавать в больших количествах. Одна проблема: его очень затратно сохранять, теряется в процессе преобразования много. Например, чтобы зарядить свинциво-кислотный аккумулятор, нужно затратить около 36% сверху (36% энергии уйдет в виде тепла в процессе заряда). Еще есть нагревание в процессе разрядки, но его посчитать сложнее. Короче, часто проще вырабатывать заново, чем использовать аккумуляторы.
Энергию электричества меряют в киловатт-часах. Что получается в конце при употреблении этой энергии? Работа: свет, перемещение автомобиля, движение электронов в ноутбуке. Но! Возьмем два ноутбука, зарядим его "до упора". Посидим в интернете. Одного хватит на час, другого на 3. Эффективность разная. Ее правда нигде не пишут (например, как потребляемый ток при напряжении), так что не посчитаешь заранее, когда покупаешь.
С деньгами электричество очень похоже. Есть у тебя сумма. Из-за инфляции с ней случается уменьшение ценности (то же, что и потери при хранении электричества). За одну и ту же сумму денег в разных магазинах можно купить разное количество картошки. Эффективность различна. Инвестиция миллиона в одну фирму даст в 10 раз больше, чем инвестиция в другую.
Если есть заряженная батарейка и лампочка, то точно известно, сколько часов света можно будет произвести через N дней (с учетом утечки в аккумуляторе). Это прогнозируется очень надежно.
Если есть сумма рублей, то, в случае непредвиденной инфляции, неизвестно, насколько уменьшится ценность этой суммы, и вообще хоть что-то можно ли будет получить за эти деньгию.
Отличие в том, что в случае электричества, можно собрать цепь без участия других участников: батарейка и лампа, никого лишнего. Движение электронов в замкнутой цепи обеспечивает работу в лампе. (Вообще, цепь не обязана быть замкнутой, важна разность потенциалов, как например между землей и грозовым облаком при грозе, но это случай без батарейки).
Оборот денег в экономике не ограничен даже рамками страны. "Работа" денег совершается при явлении "покупка", но если движение ограничено, то работа не произойдет. Экономика, так же как незамкнутая цепь, может быть дотационной, тогда она будет работать по другим законам (см ниже), а надежность (ценность денег) ее будет под большим вопросом.
Сейчас идея энергосбережения продвигается, как новый батончик сникерс. Однако об идеях денежной эффективности никто не говорит. Энергию нужно производить, поэтому если потреблять будут меньше (девайсы будут "энергоэффективнее"), можно будет поднять цену на выработку киловатт-часа и зарабатывать больше, работая так же. Но с деньгами не так. Возможно, потому, что деньги не нужно вырабатывать? Но ведь экономика не дотационная. Или дотационная? С экономикой США все понятно: ФРС дает взаймы крупным банкам. Это сильно похоже на модель грозы: есть облако, там "бесплатно" генерируется заряд - это и есть аналог ФРС -, который затем может быть разряжен в землю - когда какой-то банк занимает и пускает деньги в экономику. А где земля, куда идет поток?
Ясно, что один вариант земли - Китай. Китай работает, производит товары и продает за доллары. Которые Китай вкладывает в покупку стран. Это, правда, отдельная тема, выходящая за рамки аналогий с электрическими токами, не будем ее развивать. Экономика других стран еще меньше напоминает замкнутую. Поэтому надежность экономики зависит от надежности участников сделки. То есть, примерно так: покупая картошку, совершаешь сделку не с бабушкой на рынке :-) Потому, что если вдруг у черта на рогах начнется заварушка и нефть подскочит, то бабушка (хотя ей на заварушку наплевать) тут же поднимет цену на картошку! То есть контекст почти люблй сделки деньгами несколько шире, чем можно подумать. В этом отличие от электричества.
Продолжение может быть будет. В обсуждении готов участвовать, комментарии приветствуются. Про данные пока не написал.
Деньги, электричество [и данные!] - почти одно и то же!
Деньги напоминают мне электричество.
Электричество: потери при хранении
На сегодняшний день электричество научились вырабатывать и передавать в больших количествах. Одна проблема: его очень затратно сохранять, теряется в процессе преобразования много. Например, чтобы зарядить свинциво-кислотный аккумулятор, нужно затратить около 36% сверху (36% энергии уйдет в виде тепла в процессе заряда). Еще есть нагревание в процессе разрядки, но его посчитать сложнее. Короче, часто проще вырабатывать заново, чем использовать аккумуляторы.
Электричество: эффективность использования
Энергию электричества меряют в киловатт-часах. Что получается в конце при употреблении этой энергии? Работа: свет, перемещение автомобиля, движение электронов в ноутбуке. Но! Возьмем два ноутбука, зарядим его "до упора". Посидим в интернете. Одного хватит на час, другого на 3. Эффективность разная. Ее правда нигде не пишут (например, как потребляемый ток при напряжении), так что не посчитаешь заранее, когда покупаешь.
Деньги: аналогия с электричеством
С деньгами электричество очень похоже. Есть у тебя сумма. Из-за инфляции с ней случается уменьшение ценности (то же, что и потери при хранении электричества). За одну и ту же сумму денег в разных магазинах можно купить разное количество картошки. Эффективность различна. Инвестиция миллиона в одну фирму даст в 10 раз больше, чем инвестиция в другую.
Чем отличаются деньги и электричество?
Если есть заряженная батарейка и лампочка, то точно известно, сколько часов света можно будет произвести через N дней (с учетом утечки в аккумуляторе). Это прогнозируется очень надежно.
Если есть сумма рублей, то, в случае непредвиденной инфляции, неизвестно, насколько уменьшится ценность этой суммы, и вообще хоть что-то можно ли будет получить за эти деньгию.
Отличие в том, что в случае электричества, можно собрать цепь без участия других участников: батарейка и лампа, никого лишнего. Движение электронов в замкнутой цепи обеспечивает работу в лампе. (Вообще, цепь не обязана быть замкнутой, важна разность потенциалов, как например между землей и грозовым облаком при грозе, но это случай без батарейки).
Оборот денег в экономике не ограничен даже рамками страны. "Работа" денег совершается при явлении "покупка", но если движение ограничено, то работа не произойдет. Экономика, так же как незамкнутая цепь, может быть дотационной, тогда она будет работать по другим законам (см ниже), а надежность (ценность денег) ее будет под большим вопросом.
"Энергосбережение"
Сейчас идея энергосбережения продвигается, как новый батончик сникерс. Однако об идеях денежной эффективности никто не говорит. Энергию нужно производить, поэтому если потреблять будут меньше (девайсы будут "энергоэффективнее"), можно будет поднять цену на выработку киловатт-часа и зарабатывать больше, работая так же. Но с деньгами не так. Возможно, потому, что деньги не нужно вырабатывать? Но ведь экономика не дотационная. Или дотационная? С экономикой США все понятно: ФРС дает взаймы крупным банкам. Это сильно похоже на модель грозы: есть облако, там "бесплатно" генерируется заряд - это и есть аналог ФРС -, который затем может быть разряжен в землю - когда какой-то банк занимает и пускает деньги в экономику. А где земля, куда идет поток?
Ясно, что один вариант земли - Китай. Китай работает, производит товары и продает за доллары. Которые Китай вкладывает в покупку стран. Это, правда, отдельная тема, выходящая за рамки аналогий с электрическими токами, не будем ее развивать. Экономика других стран еще меньше напоминает замкнутую. Поэтому надежность экономики зависит от надежности участников сделки. То есть, примерно так: покупая картошку, совершаешь сделку не с бабушкой на рынке :-) Потому, что если вдруг у черта на рогах начнется заварушка и нефть подскочит, то бабушка (хотя ей на заварушку наплевать) тут же поднимет цену на картошку! То есть контекст почти люблй сделки деньгами несколько шире, чем можно подумать. В этом отличие от электричества.
Продолжение может быть будет. В обсуждении готов участвовать, комментарии приветствуются. Про данные пока не написал.
Labels: эссе
macosx has legacy file system: 31 char filaneme length limit!
Mac os x 10.7 (lion) by default (pre-installed OS on Air) has filename length limit of 31 chars (with extension). With manuals (pdf documents) being downloaded from support.apple.com frequently violateing that limit makes me wonder why the hell are they using such a legacy FS. This reminds me of world of windows 3.1 and OS/2 (when on old good FAT16 with its 8.3 char limit; native OS/2 HPFS didn't have such limit).
Want/have Macos, still hope for good usability?! Give them money, forget about usability, it's apple's concern now. They are going to pay dividends to shareholders this year, that's where apple's real usability lies. Definitely not in hell bunch of 'little' mac os x issues.
Want/have Macos, still hope for good usability?! Give them money, forget about usability, it's apple's concern now. They are going to pay dividends to shareholders this year, that's where apple's real usability lies. Definitely not in hell bunch of 'little' mac os x issues.
one more macosx uncomfortability: no way to [free] maximize window
When you switch apps by Command-Tab it's no way to say whether there's no app window at all or it was minimized. Moreover, there's no way to maximize window from keyboard. It's very uncomfortable when using auto-hide option for dock (cause you don't see without moving mouse and waiting for dock to explode the list of minimized windows). There's an article on this problem and there's only paid ($10) option to use some app for shortcuts. I hate this apple world. Like "We will bite your ass a little until you pay $10 for every point".
Actually apple's "we know UI better" is just "we know how to have your money" bullshit. Beware: Apple only have the smell of usability, not usability actually. Although they make nice thin 'air' laptops which don't get very hot like Acers do :) So you can get one and just install Windows/linux on it.
Making now Windows7 installation disk for BootCamp to install win on macbook.
Actually apple's "we know UI better" is just "we know how to have your money" bullshit. Beware: Apple only have the smell of usability, not usability actually. Although they make nice thin 'air' laptops which don't get very hot like Acers do :) So you can get one and just install Windows/linux on it.
Making now Windows7 installation disk for BootCamp to install win on macbook.
March 13, 2012
Java: use faster nonsynchronized ByteArrayOutputStream
Seen here http://javatechniques.com/blog/faster-deep-copies-of-java-objects/ an advice to use unsynchronized version of ByteArrayOutputStream which is faster than default java.io synchronized version.
It seems to make sense! But I have not yet benchmarked it.
It seems to make sense! But I have not yet benchmarked it.
Labels: ByteArray, java, optimization, synchronized
March 11, 2012
Which WiFi channels overlap: diagram
this funny stackoverflow
March 8, 2012
Android global application state how-to
Very simple:
YourApp extends Application. Don't forget to register application in manifest. That's all. YourApp will live between Activity recreating on screen rotation for example (which was my problem).
((YourApp)getApplicationContext()).doSome();
YourApp extends Application. Don't forget to register application in manifest. That's all. YourApp will live between Activity recreating on screen rotation for example (which was my problem).
Labels: Android context state global
March 5, 2012
mac: some inconveniences
How the hell are you all people using command line in macosx?!
By default midnight commander and some bash hot keys are not working out-of-box in terminal (both default and iTerm [the replacement of default shitty Terminal]:
- No Alt-Enter - filename insert, you need to untrivially change keycodes
- No Shift-F7 (find next)
- No left-right = pgup/pgdown
- No word left/right (which is alt-left/right in linux) - this is bash specific
Other inconveniences:
- No key repeat (yes, no physical laptop keyboard keys repeat at all! Long press is for additional symbols - as on ipad; you need to change kernel parameter for that!)
- No NTFS write support.
- No way to disable smooth scroll in default PReview, it's really BAD on this screen and it's SLOW (there IS bugreport for this, i checked; but no hope to be fixed -mom Apple knows better what you need).
PS Going to setup win7 in spare partition.Possibly will get rid of macos to use whole drive (128gb only) need xcode sdk! No NTFS -> so I couldn't share files between, and I won't ever use unjournaled and insecure FAT. Only paid options are for ntfs: both free projects are unsupported: NTFS-3G and FUSE. Paid are tuxera (25 EUR) and Paragon ($20). I in no way am going to pay for things are currently for sure available in opensource for linux! NO WAY!
By default midnight commander and some bash hot keys are not working out-of-box in terminal (both default and iTerm [the replacement of default shitty Terminal]:
- No Alt-Enter - filename insert, you need to untrivially change keycodes
- No Shift-F7 (find next)
- No left-right = pgup/pgdown
- No word left/right (which is alt-left/right in linux) - this is bash specific
Other inconveniences:
- No key repeat (yes, no physical laptop keyboard keys repeat at all! Long press is for additional symbols - as on ipad; you need to change kernel parameter for that!)
- No NTFS write support.
- No way to disable smooth scroll in default PReview, it's really BAD on this screen and it's SLOW (there IS bugreport for this, i checked; but no hope to be fixed -
PS Going to setup win7 in spare partition.
Labels: inconveniences, keyboard, macos, ntfs, shit, usability