Author Archives: admin
Openstack 4th birthday party in cyberport
Openstack 4th party, i got a counter to demo Titan, thanks Cyberport. Titan language will be demo after September. People seems more interested in Titan management tool rather than the Titan portal. 2014/07/04
tightvnc java is very slow on Retina
Take a look line 170 from https://code.google.com/p/tightvncpanel/source/browse/trunk/src/main/java/com/glavsoft/viewer/swing/Surface.java This ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); make g.drawImage(offscreenImage,0,0,null); runs very slow on Mac Retina. Solve: set the value to “VALUE_RENDER_SPEED” instead of VALUE_RENDER_QUALITY 2014/07/01
a good free usenet server
a good free usenet server news.aioe.org 2014/06/30
Optimize java startup speed
I spent lot of time to optimize the startup speed of my Java app from 10 seconds down to 6 seconds in my 2012 Mac air. I changed to MacBook 13″, the startup time become <=3. That proves the hard disk speed is the key to optimize the startup time. I am facing a new […] 2014/06/29
How to use PFSBuilder
How to use PFSBuilder This tutorial work in windows/linux/mac Step 1) Download the jar https://www.dropbox.com/s/do0ygc4z9dbxlwx/PFSBuilder-20140619.jar Step 2) make sure you have java in your PC Compress directory into PFS image Step 1) Make sure PFSBuilder.jar is in your current directory Step 2) Create a folder call “input” and put some files and directories in there Step […] 2014/06/28
Connect Peter-file-system to linux or mac
After spent 3 days to play the FUSE and macFUSE, i finally connected Peter-file-system (https://code.google.com/p/pfsbuilder) to my mac/linux machine. It is quite simple and straightforward, I write a FUSE program that create a JVM and load my PFS stub (writhed in Java), every FUSE function calls will route to the stub and manipulates the PFS […] 2014/06/23
code crash in multithread mode of FUSE
2014/06/21
How to trace IIS error 500
The best way to trace IIS error 500 is to enable all log detail on screen, edit your web.config to 2014/06/19
Latest Titan Portal progress
Need 2 more months will finish everything 2014/06/10
How titan connect to kvm’s vnc through titan server via java object stream
I nearly don’t understand the code I wrote 6 months ago about the vnc connection. It is a little complex, the basic idea is : Titan server create a proxy server to the kvm’s vnc. Titan server is using java object stream to communicate with client, it wrap all the bytes from the object stream […] 2014/06/10
Get IP of guest vm in virtualbox
VBoxManage guestproperty get “vmname” “/VirtualBox/GuestInfo/Net/0/V4/IP” | awk ‘{ print $2 }’ 2014/06/09
Titan portal
Developing the titan portal, which is for hosting company’s customers. If you want to build a hosting company using openstack, you definitely need a portal for your customer to provide operations. 2014/06/03
2GB ram has higher temperature than 4GB ram
Just buy one more 2nd hand server. Everything are the same including the OS, except one using 8x2GB ram and the other using 4x4GB ram. I found out 4GB ram has lower temperature than 2GB ram. I guess is because in 4GB-ram-block server, it has more space between each ram (because i only used 4 […] 2014/06/01
My new server
Just bought a 2nd hand HP server (8core + 16GB ram), cost me $2630 HKD. One 1TB 2.5″ hard disk cost me $450. Total $3080. It reboot only take 20 seconds, dell needs 5 mins (CRAZY!!!) 2014/05/20
Analyst android ELF dependency-graph by elf-dependency-walker
Someone asked me in email about using elf-dependency-walker to analyst library or executable in linux. I found out android is using ELF format for its libraries or executables too. So the rest is simple. Please download the android emulator, within the directory there is the system image, which contain the file system. You can see in […] 2014/05/13
solved : compile error in ffmpeg “error: invalid combination of opcode and operands”
I am using ubuntu 12.04 64 bits and trying compile ffmpeg and got this error: libavfilter/x86/vf_pullup.asm:59: error: invalid combination of opcode and operands libavfilter/x86/vf_pullup.asm:138: error: invalid combination of opcode and operands libavfilter/x86/vf_pullup.asm:175: error: invalid combination of opcode and operands To solve this, add “–disable-mmx” to your ./configure 2014/05/13
sox and ffmpeg (convert hls into live hls) usage
These are the basic usage of SOX This script will convert ffmpeg HLS into “live streaming HLS” The above script has to run with ffmpeg: /root/download/ffmpeg-2.1.4/ffmpeg -f alsa -ac 2 -i hw:0,0 -strict experimental -acodec libmp3lame -map 0 -f segment -segment_list out.m3u8 -segment_format libmp3lame -segment_time 0.5 -segment_list_flags +live ‘a%05d.mp3’ 2014/05/08
newlib’s reentrant system calls will map to non-reentrant by default
newlib’s reentrant system calls will map to non-reentrant by default. The reentrant version of open() can be found in newlib-2.1.0/newlib/libc/reent/openr.c As you can see, it will call _open which is defined in newlib-2.1.0/newlib/libgloss/libnosys/open.c . So if you don’t write your reentrant functions, it will jump to non-reentrant by default. For OS developer want to implement […] 2014/05/04
filter port in httpd.conf
2014/05/03
gcc, binutils and newlib can all be compiled at once.
gcc, binutils and newlib can all be compiled at once. This article http://www.embecosm.com/appnotes/ean9/ean9-howto-newlib-1.0.pdf said gcc, binutils and newlib are from the same source tree. Using the following script can linkup all files into a single directory and compile all of them at once. Just put the directories (binutils-2.24 , gcc-4.9.0 , newlib-2.1.0) and the above script in the […] 2014/05/03
Miglayout has bug? JPanel doens’t grow
Miglayout has bug? JPanel doens’t grow, but for JButton or JTextField, they can. 2014/04/26
Eclipse CDT too many semantic errors
If you have too many “semantic error” in eclipse CDT, such like this You can switch it off in project properties but unblock “Syntax and Semantic Errors” 2014/04/22
Found a bug in ndisasm
Type this command, ndisasm will hang (I guess it eat up all 4GB address space, disassemble offset starts at 0xfffffff0, which is very high address). My version is “NDISASM version 2.11.02 compiled on Apr 9 2014”, running on mac mavericks. temp file : temp.bin The bug is filed here https://sourceforge.net/p/nasm/bugs/557/ 2014/04/21
gdb protocol, “g” command
This is the tcpflow dump for the gdb protocol “g” command, it contains all register values. Let’s parse it: After the trace: target.c::debug_print_register gdbarch.c::gdbarch_register_name i386-tdep.c::i386_register_names The register packet can be decode by: 2014/04/19
GKD progress 2014/04/14
Still working on the stub. Refactor the whole project and adding one more layer (add debugger stub to support different emulators) to the architecture, all are very hard and time consuming, even the whole project is developed by me. But this experience make be serious to the project-initial-design. Architecture is *important* !!! 2014/04/14
dot in mac and linux produce different kind of ortho edge
dot in mac and linux produce different kind of ortho edge. I think the dot version affected it. Here is dot version in linux: Here is dot version in mac: 2014/04/06
Titan Language Rhapsody
Titan Language Rhapsody begin tran; var myCloud as Cloud var vm=myCloud.createVM(cpu=1, mem=2GB, public_ip=dhcp); vm.wait(VM.RUNNING); var trigger1 as Trigger; trigger1.addSensor(‘cpu>80%, duration>10s’); trigger1.addSensor(‘memory>80%, duration>10s’); trigger1.addAction(new Action(ACTION.SCALE_UP, 1)); vm.addTrigger(trigger1; commit; 2014/04/06
VM log dialog show correct process list for windows VM
VM log dialog show correct process list for windows VM. 2014/03/28
When ESXi expire, you will see this dialog
When ESXi expire, you will see this dialog, so you know what features need money 2014/03/26
a java example to record from microphone and save it to wav file and playback
This is a very simple java program to record from microphone and save it to wav file and playback 2014/03/23
very old concept design for openstack dashboard in 2012
very old concept design for openstack dashboard in 2012 2014/03/04
Cinders use LV Name as the volume ID
Cinders use LV Name as the volume ID 2014/02/28
Titan dev status 2014/02/24
watching youtube in remote window is smooth. Video recording function need to be enhance, at least add basic searching 2014/02/25
a good html 5 video streaming tutorial http://phoboslab.org/log/2013/09/html5-live-video-streaming-via-websockets 2014/02/24
Restart server+cinder
When you restart the cinder node, make sure all your VG drives are up before starting tgt and cinder-volumne service. You can type “pvdisplay” command to see if there anything. Otherwise the cinder will still up and show you the storage volume, but you can’t start any vm by “nova boot”. 2014/02/09
rename computer name for sharepoint 2010
after rename computer name for sharepoint 2010, need this command: 2014/02/08
The titan design should reference to this
I should learn this before design the titan further 2014/02/06
dev update
2014/02/04
Ribbon bar is better
Ribbon bar is better. Original design put the major buttons on the LHS, but it grabs space than the tree (describe the openstack architecture). Also the original design put all the function buttons on the bottom, it is better to put it on the ribbon bar that on the top. In ribbon bar, major button […] 2014/01/30
Availability zone in titan
Availability zone in titan, will work out this in chinese new year holiday. 2014/01/29