Author Archives: admin
Open vswitch overview
Start ovs monitor, look at the tabs’ name, you probably know how many function that OVS offer, this give me a big picture of integrate ova into openstack. 2013/12/22
Titan – what and why
2013/12/18
Titan on retina display
Titan on retina display, all icons are smooth, but don’t know why the CPU is high when controlling over 40 VMs. 2013/12/16
Netfilter
If I can understand this graph, i will say i am a firewall beginner, otherwise i am still outside the door. http://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg 2013/12/16
Titan video tutorial – upload iso image and launch vm
2013/12/15
Nothing special
Get out of office, my innovation is back. Better to read some security manuals from VMWare. 2013/12/13
How geek work
This is how geek work. http://www.inside.com.tw/2013/05/13/the-secret-of-a-geek-s-productivity 2013/12/09
Titan property window
still working on the property window, when executing the titan language, some status need to displayed to user. Try to make it more informative, so user can see everything to the instance. 2013/12/08
Titan networking layers representation 2013/12/07
Titan networking layers representation 2013/12/07
VM Panel concept design 2013/12/07
Finally feel satisfied with this design 🙂 🙁 But the bad news is, i can’t do any openstack thing in the day-time job. Wasting time to cooperate with someone whom stop/resume the project every week. I don’t even able to pickup the call from community, can’t attend any seminar or gathering. They just want to […] 2013/12/07
We can set openstack quota for different tenant
We can set openstack quota for different tenant, little step forward. 2013/12/06
Tonight working on quota screen
Tonight working on quota screen, allow user to adjust the quota is useful. 2013/12/04
Titan design concept 2013/12/02
I am still focusing on design the VM screen, in the VM screen, need to meet these requirements Display real time status, include CPU usage, memory usage. The GUI need to has some basic AI to auto-grouping the elements. Better to show the user by layers (network layer, database layer, application server layer, OS layer), […] 2013/12/03
VM status in nova API
in the following code form nova API (./nova/api/openstack/common.py) , you can see VM only have these status ACTIVE BUILD SHUTOFF VERIFY_RESIZE PAUSED SUSPEND RESCUE ERROR DELETED SOFT_DELETED SHELVED_OFFLOADED 2013/12/01
Titan language IDE design 2013/11/30
Titan language IDE design 2013/11/30, just discussed with professor Li. Will start building it from next week. 2013/11/30
Titan software design 2013/11/29
This screen will show the status of VM running inside the Openstack. 2013/11/29
Eclipse always hang in Mac
I am using eclipse kelper in mac osx mavericks, it always hang. I finally got a work around solution from http://www.lazylab.org/197/eclipse/eclipse-hanging-on-startup-repair-corrupt-workspace/ Removing .snap File Open \.metadata\.plugins\org.eclipse.core.resources directory Remove .snap file in the directory Restart Eclipse Remove .indexes Folder Remove the \.metadata\.plugins\org.eclipse.core.resources\.root\.indexes directory Restart Eclipse Move .project mv workspace/.metadata/.plugins/org.eclipse.core.resources/.projects workspace/.metadata/.plugins/org.eclipse.core.resources/old.projects My script 2013/11/28
Implementing High Performance Parsers in Java
Implementing High Performance Parsers in Java 2013/11/26
Designing dashboard screen
Designing dashboard screen, need to meet these goals: 1) able to show status of VM 2) i think people usually have less than 32 VMs runnning, so the design will be optimized to show 32 VMs 3) i will reference redhat cloudforms interface 2013/11/22
Latest Titan Screen (charts)
2013/11/20
my openstack key file
2013/11/04
web socket example to stream screen to html 5 player
Here is a working example using web socket to stream screen to html 5 player. The server is in java, I use websockify.py to route the websocket to java socket. html 5 player 2013/10/22
SwingUtilities.updateComponentTreeUI(this); will reset all custom UI
SwingUtilities.updateComponentTreeUI(this); will reset your own UI, if you call setUI() in constructor. Example: PeterCustomeTabbedPane —– extend ——> MaryCustomTabbedPane —- extend -> JTabbedPane (swing component) Suppose PeterCustomeTabbedPane and MaryCustomTabbedPane have their own TabbedPaneUI, once you called SwingUtilities.updateComponentTreeUI(this); , PeterCustomeTabbedPane’s UI class will be reset to MaryCustomTabbedPane’s UI class. Workaround: !!! dont call setUI in PeterCustomeTabbedPane, override the setUI() method and set whatever […] 2013/10/13
i may know why the gdb command “x” only request one byte each time
I am playing the gdbstub in qemu, i found a bug there http://peter.kingofcoders.com/?p=859 , if i invoke the function cpu_physical_memory_rw(0xffff0, mem_buf, 50, 0) , qemu crashes. Then, i tested the gdb command “x /20bx 0xffff0” and use tcpflow to capture the gdb packet, i found out gdb send 20 command and each time request one byte only. […] 2013/10/08
qemu 1.6.0 rc2 has bug
I found a bug in qemu, version 1.6.0 rc2. When i invoke: where addr=0xffff0 and noOfBytes=50, qemu will has segmentation fault. I called the cpu_physical_memory_rw right after the qemu is started (haven’t run yet) with gdb. The vm was in real mode, i am not sure it is crossing memory boundary problem. But i just […] 2013/10/07
Enable core dump in mac
enable core dump in mac, you need these commands The core dump files are in /cores by default 2013/10/06
QMP Supported Commands
QMP Supported Commands: This document describes all commands currently supported by QMP. Most of the time their usage is exactly the same as in the user Monitor, this means that any other document which also describe commands (the manpage, QEMU’s manual, etc) can and should be consulted. QMP has two types of commands: regular […] 2013/09/22
JLibGDB need 333 mins to execute 10 millions single step commands to gdb
JLibGDB need 335 mins to send 10 millions single step commands to gdb and execute. Not bad. 2013/08/22
my vlc command to stream video to pc/iOS/android
Stream to a mp4 Stream to a FLV Stream to a HLS 2013/08/22
Qemu + GDB, the single step speed is not fast
In bochs, i can invokes around 40 single step commands in my 2012 mac air. People think qemu is much faster than bochs, it is truth but not for single step. I wrote a java program and keep sending single-step command to qemu through socket (GDB protocol, the average speed is 32 commands per seconds. […] 2013/08/18
JLibGDB
I was trying to create a new debug server in qemu, but it is failed, there are so many pieces of code are twitted with GDB, so a new debug server is unable to make it work. Now I changed my direction, because on gdb communication protocol, i extend it to fit for peter-bochs (will […] 2013/08/15
Design concept
This is my first draft of design concept of the VM page in Titan, please give me comment PSD download here 2013/08/03
A little enhancement
If the openstack is down when you start titan server, it will show you the status. 2013/08/03
Titan design draft 2013/07/27
Going to develop this network montior/setup screen. 2013/07/28
Why the Cloud Wars Have Yet to be Won
The cloud computing industry is still young relative to the history of computing, but increasingly, speculators are in a rush to declare a “winner.” Of course, based on certain metrics it’s possible to identify leaders. But we certainly don’t think the game is over, and we were pleased to see that Charlie Babcock of InformationWeek agrees with […] 2013/07/23
GDB two-breakpoints inter-communication between gdb and gdbstub of qemu
$tcpflow -c -i lo0 port 1234 tcpflow[5508]: 127.000.000.001.01234-127.000.000.001.58366: new flow 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qSupported:multiprocess+;xmlRegisters=i386;qRelocInsn+#b5 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $PacketSize=1000#f1 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $Hg0#df 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $OK#9a 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $?#3f 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $T05thread:01;#07 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $Hc-1#09 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $OK#9a 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qC#b4 127.000.000.001.01234-127.000.000.001.58366: + 127.000.000.001.01234-127.000.000.001.58366: $QC1#c5 127.000.000.001.58366-127.000.000.001.01234: + 127.000.000.001.58366-127.000.000.001.01234: $qAttached#8f 127.000.000.001.01234-127.000.000.001.58366: […] 2013/06/16
gdb – qemu : two breakpoints flowchart
This is the flowchart for qemu-gdb after i insert two breakpoints at 0x7c00 and 0x7c01, you can see everytime gdb hit a breakpoints, it will remove all breakpoints. And if the current address is the address that hit the breakpoint, when you want to “cont”, gdb will send a “s” command first. 2013/06/12
gdb crash, for another debug server
if you are create your own debug server, gdb will crash, take a look: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffebfff700 (LWP 32202)] 0x000055555577632b in gdb_set_stop_cpu (env=env@entry=0x5555564f6d20) at /root/workspace/qemu-1.5.0/gdbstub.c:2510 2510 gdbserver_state->c_cpu = env; Missing separate debuginfos, use: debuginfo-install SDL-1.2.15-3.fc18.x86_64 cyrus-sasl-lib-2.1.23-37.fc18.x86_64 glib2-2.34.2-2.fc18.x86_64 glibc-2.16-28.fc18.x86_64 libX11-1.5.0-3.fc18.x86_64 libXau-1.0.6-4.fc18.x86_64 libXcursor-1.1.13-2.fc18.x86_64 libXext-1.3.1-2.fc18.x86_64 libXfixes-5.0-3.fc18.x86_64 libXrandr-1.4.0-1.fc18.x86_64 libXrender-0.9.7-2.fc18.x86_64 libpng-1.5.13-1.fc18.x86_64 libxcb-1.9-1.fc18.x86_64 nss-softokn-freebl-3.14.3-1.fc18.x86_64 […] 2013/06/12
a bug in tightvnc java library
I found a bug for the tightvnc java library, if my setup like this tightvnc (java) -> java proxy server -> java proxy server -> vnc server IT doesn’t work, after I trace the code, this could caused by this line: this.is = new DataInputStream(new BufferedInputStream(is)); In Reader.java constructor, it is called twice. You can see that if you […] 2013/05/28
GKD Dev Plan 2013/05/25
test : PB -> C -> catch breakpoint -> C C -> catch breakpoint -> N x Si -> C restart Qemu refactor all the equals(“bochs”) code to LibGKD better to use enum for bochs/qemu enhance profiling feature for vnc recording Here is the list of gdb command: (gdb) help all Command class: aliases […] 2013/05/25