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.
Titan – what and why

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.
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
Titan video tutorial – upload iso image and launch vm

Nothing special

Get out of office, my innovation is back. Better to read some security manuals from VMWare.
How geek work

This is how geek work. http://www.inside.com.tw/2013/05/13/the-secret-of-a-geek-s-productivity
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.
Titan networking layers representation 2013/12/07

Titan networking layers representation
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 […]
We can set openstack quota for different tenant

We can set openstack quota for different tenant, little step forward.
Tonight working on quota screen

Tonight working on quota screen, allow user to adjust the quota is useful.
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), […]
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  
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.  
Titan software design 2013/11/29

This screen will show the status of VM running inside the Openstack.
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
Implementing High Performance Parsers in Java

Implementing High Performance Parsers in Java
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
Latest Titan Screen (charts)

my openstack key file

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
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 […]
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. […]
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 […]
Enable core dump in mac

enable core dump in mac, you need these commands The core dump files are in /cores by default
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 […]
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.
my vlc command to stream video to pc/iOS/android

Stream to a mp4 Stream to a FLV  Stream to a HLS
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. […]
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 […]
Design concept

This is my first draft of design concept of the VM page in Titan, please give me comment PSD download here
A little enhancement

If the openstack is down when you start titan server, it will show you the status.
Titan design draft 2013/07/27

Going to develop this network montior/setup screen.
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 […]
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: […]
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.
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 […]
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 […]
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 […]