tag:blogger.com,1999:blog-12273111379032215522024-03-05T11:05:44.545-08:00KT's BlogThis is Kuan-Ting Lai's technical blog. My personal website is at sites.google.com/site/kuantinglaiK. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-1227311137903221552.post-45700767129097581552018-11-11T18:06:00.003-08:002018-11-11T18:26:26.974-08:00My Top 10 Foods in TaiwanOne of my father's British friends once told me: "We English people eat to live, but you Taiwanese people live to eat!". THIS IS SO TRUE! Here I would like to share with you my top 10 foods of Taiwan. I will make this list longer if I have more time.
<br />
<br />
<table>
<tbody>
<tr>
<td width="20px"><h2>
<span style="color: #6aa84f;">
1.</span></h2>
</td>
<td><h2>
<span style="color: #6aa84f;">
Bubble Tea</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQ3Ldph8TPcwblb1o1lRK7WlKywVSV7u0Yi5cmzBHcuZ8H2U9W1E3nDxDF1AWwUsm6n5YxcGWf8yqgSv0EYsV7HazV8rpeJtrAqBdTHkI_YSZLcdx0iHTrjAUZrZrx05JNoDcqvz4duk/s1600/bubble_tea.jpg" imageanchor="1"><img border="0" data-original-height="563" data-original-width="398" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZQ3Ldph8TPcwblb1o1lRK7WlKywVSV7u0Yi5cmzBHcuZ8H2U9W1E3nDxDF1AWwUsm6n5YxcGWf8yqgSv0EYsV7HazV8rpeJtrAqBdTHkI_YSZLcdx0iHTrjAUZrZrx05JNoDcqvz4duk/s200/bubble_tea.jpg" width="141" /></a>
</td>
<td><div style="text-align: justify;">
Bubble tea should be called pearl milk tea to match its original name in Chinese. There are many bubble tea shops in Taiwan, but the best is Ten Ren tea. Unlike other shops, Ten Ren also sells high quality tea. Their bubble tea is more expensive but taste different with better tea leaves. They also have several restaurant in Shi-Lin that use tea as ingredient in their dishes, which are tasty and special.<br />
The secret of best bubble tea is customization. You can decide how much sugar or ice you want. I usually have 1/3 sugar and less ice. </div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uTc-5VCzCAW5Ce7-vdI3WM5k_EN4jgKm4hmQD6dktjKVOeZ5fWKrDFvnPIVWs6w07xmBEnLrFBtR4EcQpa-uT_dViuAHlR4ZXFTVvKDs5-Yh8BNyRHrO81nqKBXE2UaiDw5lk2MouGY/s1600/ten_ren_tea.jpg" imageanchor="1"><img border="0" data-original-height="502" data-original-width="750" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1uTc-5VCzCAW5Ce7-vdI3WM5k_EN4jgKm4hmQD6dktjKVOeZ5fWKrDFvnPIVWs6w07xmBEnLrFBtR4EcQpa-uT_dViuAHlR4ZXFTVvKDs5-Yh8BNyRHrO81nqKBXE2UaiDw5lk2MouGY/s320/ten_ren_tea.jpg" width="320" /></a>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e06666;">
2.</span></h2>
</td>
<td><h2>
<span style="color: #e06666;">
Din Tai Fung</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYk8zYHhBNZ1ZpBhnGRHu3xB7bgIcrUVrT4902KOXxmxb3QjKGzR80sl12lqg79hXFi5JZ0P5hINd8xL8_cPUAhM6p5BEiBVRhVtCG2uPM4OzjDwXw7JD8sNTIsp66_dI20TznKZYHiyI/s1600/BN014.png" imageanchor="1"><img border="0" data-original-height="447" data-original-width="461" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYk8zYHhBNZ1ZpBhnGRHu3xB7bgIcrUVrT4902KOXxmxb3QjKGzR80sl12lqg79hXFi5JZ0P5hINd8xL8_cPUAhM6p5BEiBVRhVtCG2uPM4OzjDwXw7JD8sNTIsp66_dI20TznKZYHiyI/s200/BN014.png" width="200" /></a>
</td>
<td><div style="text-align: justify;">
My favorite restaurant! Din Tai Fung is best known for steamed dumplings, but I want to say that all foods they sold are good. My favorite steamed dumpling is the one with shrimp and loofah. The spicy dumpling and fried rice are also very delicious. Din Tai Feng can be found in the SOGO department stores. It's hard to miss it with so many chefs making dumpling in the window.
</div>
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5o67jizL3zFQMhrYjRXPh_YasKeDyNNNVvR2yUJZ0Bnvygbf3fyGfYixIKV7j_dsc6kyiwcon2dyViHeiS4wa6K9Lkw2z4JJ1ITT27NKTufM-his1mK4HzZsqGFESohc-cnRN4kU0h90/s1600/MQQQpu-18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="486" data-original-width="730" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5o67jizL3zFQMhrYjRXPh_YasKeDyNNNVvR2yUJZ0Bnvygbf3fyGfYixIKV7j_dsc6kyiwcon2dyViHeiS4wa6K9Lkw2z4JJ1ITT27NKTufM-his1mK4HzZsqGFESohc-cnRN4kU0h90/s320/MQQQpu-18.jpg" width="320" /></a>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5EkmNACLUP4YyEnBMMM70674E4U8aUSyLN4FZqLqq2bfSCVnCEyh_TdoOg4YYA4VCTkSk_tUztGQuXTxJi_bcHUE6nXU0DNutsc_UpEKkC189Ajo195nY3pR8xJM_A2zgVIlqKwopui8/s1600/141086237683l8m.jpg" imageanchor="1"><img border="0" data-original-height="450" data-original-width="600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5EkmNACLUP4YyEnBMMM70674E4U8aUSyLN4FZqLqq2bfSCVnCEyh_TdoOg4YYA4VCTkSk_tUztGQuXTxJi_bcHUE6nXU0DNutsc_UpEKkC189Ajo195nY3pR8xJM_A2zgVIlqKwopui8/s320/141086237683l8m.jpg" width="320" /></a>
</td>
</tr>
<tr>
<td><h2>
<span style="color: brown;">
3.</span></h2>
</td>
<td><h2>
<span style="color: brown;">
Beef Noodle</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVVSw8tj87oUmTVCxWNxTTWVw971zOW1Hc7l4pasZzwX3Thxme4pUdCIFLf7odTjlyQQNuDvhU5tUaS6SlxfBaVMcutyE11OzHGW2rMSvS-DRp-cbjzhwVhEufvRJqKYwclqjxzrEFmY/s1600/top-food-01.jpg" imageanchor="1"><img border="0" data-original-height="1024" data-original-width="1024" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjVVSw8tj87oUmTVCxWNxTTWVw971zOW1Hc7l4pasZzwX3Thxme4pUdCIFLf7odTjlyQQNuDvhU5tUaS6SlxfBaVMcutyE11OzHGW2rMSvS-DRp-cbjzhwVhEufvRJqKYwclqjxzrEFmY/s200/top-food-01.jpg" width="200" /></a>
</td>
<td><div style="text-align: justify;">
One of the most famous foods in Taiwan! There is even a beef noodle festival in Taiwan. For beef noodle I prefer local restaurants like Lin Dong Fang Beef Noodle or tomato beef noodle in my neighborhood (Tian-Mu). The beef noodle of Din Tai Fung is also good.
</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
4.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Mango Shaved Ice</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijCmzVdvn9IdLFeQ__Yh2YMxgBhPqoXl8FWLxbW6rpJ-6aNTuT9cLkApNeU0kitYtgTWUtPDT3hMQtjxkNQaaiYF3EEhjJbYyjwV102YgHCAIO68vLLYT5Gaic7-E4TCQyT7AQeuUa-S4/s1600/150520113443-best-taiwanese-food--18shaved-ice-mountains-exlarge-169.jpg" imageanchor="1"><img border="0" data-original-height="438" data-original-width="564" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijCmzVdvn9IdLFeQ__Yh2YMxgBhPqoXl8FWLxbW6rpJ-6aNTuT9cLkApNeU0kitYtgTWUtPDT3hMQtjxkNQaaiYF3EEhjJbYyjwV102YgHCAIO68vLLYT5Gaic7-E4TCQyT7AQeuUa-S4/s200/150520113443-best-taiwanese-food--18shaved-ice-mountains-exlarge-169.jpg" width="200" /></a>
</td>
<td><div style="text-align: justify;">
Mango is a super juicy and sweet fruit native to South Asia. Mango and shaved ice (sometimes with ice cream) are a perfect combination. However the best season to have mango is summer.
</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
5.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Fried Chicken & Squid</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyVsE_jCJv0JV_R1wxM59q05g9F4JKgDZ8OqJv-ogtiWlEdnvvNWrNb0g7t93cDK_F4FfnV15tomhEC6jzyghaow3NtOV41QqZkMJ0p7167H3Ri-RbpQGP09ZqJhLtIVHm8jFMv3NQv3s/s1600/1325610916-2101716985.jpg" imageanchor="1"><img border="0" data-original-height="300" data-original-width="400" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyVsE_jCJv0JV_R1wxM59q05g9F4JKgDZ8OqJv-ogtiWlEdnvvNWrNb0g7t93cDK_F4FfnV15tomhEC6jzyghaow3NtOV41QqZkMJ0p7167H3Ri-RbpQGP09ZqJhLtIVHm8jFMv3NQv3s/s200/1325610916-2101716985.jpg" width="200" /></a></td>
<td><div style="text-align: justify;">
Fried chicken and squid are most popular food in night market. Taiwanese fried chicken is also called popcorn chicken. It consists of bite-sized pieces of chicken, coated and fried with flour and seasoning mixture. But I don't eat it very often because it is high-fat and deep-fried. It's so delicious and so evil.
</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
6.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Braised Pork Rice</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYxlh-5vP1cFPKA8I6FBi37qkPiQBatCgsna_-8-eht8YAAnB8gdJfnlK9jKOTag-JAz27CxgLz0Wj0fgEPZs_MDPB9xseeBT-4WRXM2m4ewjp0mVnvkinOG98GRSCKYbVKtF3OQOLPxI/s1600/0666331_-3-250g.jpg" imageanchor="1"><img border="0" data-original-height="1000" data-original-width="1000" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYxlh-5vP1cFPKA8I6FBi37qkPiQBatCgsna_-8-eht8YAAnB8gdJfnlK9jKOTag-JAz27CxgLz0Wj0fgEPZs_MDPB9xseeBT-4WRXM2m4ewjp0mVnvkinOG98GRSCKYbVKtF3OQOLPxI/s200/0666331_-3-250g.jpg" width="200" /></a>
</td>
<td><div style="text-align: justify;">
Braised pork rice, or minced pork rice, is a Taiwanese traditional food. This is a steamed rice with ground pork marinated and boiled in soy sauce served on top. Formosa Chang serves very good braised pork rice. Their chicken rice is also worth a try.</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
7.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Pineapple Cake</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisPowIX_xMgTGboZYr18DyLHVVGU1eyR4BVX8PRCE4xSWRxtJwXenB36uBw0JiDOXqVjlsszorcih5yHP6DaPsKRzE2w-9PMDAMVUi-LaJjWBn8wvYIv6ehWQHj1DHXi-glxPh9MYOD04/s1600/pineapple_cake3.jpg" imageanchor="1"><img border="0" data-original-height="770" data-original-width="770" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisPowIX_xMgTGboZYr18DyLHVVGU1eyR4BVX8PRCE4xSWRxtJwXenB36uBw0JiDOXqVjlsszorcih5yHP6DaPsKRzE2w-9PMDAMVUi-LaJjWBn8wvYIv6ehWQHj1DHXi-glxPh9MYOD04/s200/pineapple_cake3.jpg" width="200" /></a></td>
<td>Pineapple cake is a pastry containing butter, flour, egg, sugar, and pineapple or white gourd jam. It is sweet and best have it with tea.
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
8.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Oyster Omelet</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiknH6txATWJ4iKOSTPprVR10RmvemAd0hTIecnEHpmw_sEiP9ckatQnsrIWE_7SppNcYNihZiMCoc-wl-b7289QSpiNEvOEPwD5-s2C4d2cdD2y9MxIjYSNszIWAMNetYHMrWa0sixwh0/s1600/top-food-05.jpg" imageanchor="1"><img border="0" data-original-height="1024" data-original-width="1024" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiknH6txATWJ4iKOSTPprVR10RmvemAd0hTIecnEHpmw_sEiP9ckatQnsrIWE_7SppNcYNihZiMCoc-wl-b7289QSpiNEvOEPwD5-s2C4d2cdD2y9MxIjYSNszIWAMNetYHMrWa0sixwh0/s200/top-food-05.jpg" width="200" /></a>
</td>
<td><div style="text-align: justify;">
This is one of the most common dish in night market. Fresh oyster fried with eggs is yummy, and I like to add sweet-spicy sauce.
</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
9.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Pig-blood Rice Cake</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjid1JScAJhyRPPxQiOUAUw3CrI1rr6TYGTG9WIkJCPF3hJn1n87tluM5s-mhxCskjNu06qkiilsFSLa6DxmngmYz1DBdXiE5taWHRwk0b3hA2Xr7sQvpy1Ticz-mHrm_ive7XVjLKvTNo/s1600/pig-blood-rice-pudding.jpg" imageanchor="1"><img border="0" data-original-height="335" data-original-width="380" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjid1JScAJhyRPPxQiOUAUw3CrI1rr6TYGTG9WIkJCPF3hJn1n87tluM5s-mhxCskjNu06qkiilsFSLa6DxmngmYz1DBdXiE5taWHRwk0b3hA2Xr7sQvpy1Ticz-mHrm_ive7XVjLKvTNo/s200/pig-blood-rice-pudding.jpg" width="200" /></a>
</td>
<td valing="top"><div style="text-align: justify;">
Don't be scared by its name. Pig-blood rice cake is made by rice but use pig's or duck's blood for seasoning. Okay, maybe it still sounds scared, but it tastes like a rice cake. Once being selected as weirdest food in the world by Virtual Tourist, pig-blood cake is a good choice for adventurous tourists.</div>
</td>
</tr>
<tr>
<td><h2>
<span style="color: #e68a00;">
10.</span></h2>
</td>
<td><h2>
<span style="color: #e68a00;">
Stinky Tofu</span></h2>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3YnfwpyP1w7Njli9MY4C7Gb5N2p5b79113tPUl8fIg0kVu9_lTqgjvsHs-_OEwwAdrkD0wmILxFBaJlWkpqungErpjF-fHWnOz7RXZa8Yyv2-_KK-gf6n9TuBYA4pAEfLF8xQoonejWI/s1600/top-food-06.jpg" imageanchor="1"><img border="0" data-original-height="1024" data-original-width="1024" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3YnfwpyP1w7Njli9MY4C7Gb5N2p5b79113tPUl8fIg0kVu9_lTqgjvsHs-_OEwwAdrkD0wmILxFBaJlWkpqungErpjF-fHWnOz7RXZa8Yyv2-_KK-gf6n9TuBYA4pAEfLF8xQoonejWI/s200/top-food-06.jpg" width="200" /></a>
</td>
<td>Best choice for adventurous tourists. It smells stinky but tastes very good. Honestly speaking, I seldom eat it. Stinky tofu is also popular in China.
</td>
</tr>
</tbody>
</table>
<br />
<br />
<h3>
Reference </h3>
<ol>
<li> <a href="https://edition.cnn.com/travel/article/40-taiwan-food/index.html">CNN Travel - 40 of the best Taiwanese foods and drinks</a></li>
<li> <a href="http://edition.cnn.com/travel/article/world-best-food-culinary-journeys/index.html">CNN Travel - You voted: World's best food is in ..</a> </li>
<li> <a href="https://www.travel.taipei/en/must-visit/snacks-top10">Travel Taipei - Must Eat in Taiwan!</a></li>
<li> <a href="https://tw.blog.voicetube.com/archives/9125">https://tw.blog.voicetube.com/archives/9125</a></li>
</ol>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-59599367487318592612017-09-21T02:21:00.003-07:002018-03-19T23:41:16.242-07:00Use Deep Learning Tool inside UnrealIn this post I would like to introduce how to setup Unreal as a deep reinforcement learning environment. Before going on please get your deep learning environment ready and install TensorFlow or Theano. Our environment is based on the amazing Unreal Python Engine created by 20tab:<br />
<a href="https://github.com/20tab/UnrealEnginePython">https://github.com/20tab/UnrealEnginePython</a><br />
<br />
I've successfully installed on Ubuntu, Windows and Mac. Installing on Windows & Mac are relatively easy so let's start with Ubuntu first.<br />
<h2>
Ubuntu</h2>
<h3>
1. Installing Unreal</h3>
First you need to register an account on EpicGame <a href="https://www.epicgames.com/">website</a>. For linux we need to compile from source code. Make sure you get granted for downloading from github then execute the commands below:<br />
<br />
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;"><span style="color: #38761d;"># Get authorized on github by EpicGames first.
# Can use -b to specify UE4 version. Ex: git clone -b 4.16</span>
git clone https://github.com/EpicGames/UnrealEngine.git
cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh
make
<span style="color: #38761d;">#....wait for 30+ mins....</span>
<span style="color: #38761d;"># Run UE4 editor</span>
./Engine/Binaries/Linux/UE4Editor
</pre>
<br />
<h3>
1.1 Unreal Terminology </h3>
There are some must-know terminologies of Unreal:<br />
<br />
<table>
<tbody>
<tr align="center" valign="top">
<td width="50%"><b>LEVEL:</b> A gaming region, saved as (.umap) so it's also called Map
</td>
<td width="50%"><b>ACTOR:</b> Any movable object in a level </td>
</tr>
<tr>
<td align="center"><a href="https://docs.unrealengine.com/portals/0/images/Engine/QuickStart/Finished.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="464" height="82" src="https://docs.unrealengine.com/portals/0/images/Engine/QuickStart/Finished.png" width="200" /></a></td>
<td align="center"><a href="https://docs.unrealengine.com/portals/0/images/GettingStarted/Terminology/actors_topic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="464" height="81" src="https://docs.unrealengine.com/portals/0/images/GettingStarted/Terminology/actors_topic.png" width="200" /></a>
</td>
</tr>
<tr align="center" valign="top">
<td><b>PAWN:</b> Subclass of Actor controlled by player or AI (NPC) </td>
<td><b>BLUEPRINT:</b> Visual game scripting system</td>
</tr>
<tr>
<td align="center"><a href="https://docs.unrealengine.com/portals/0/images/GettingStarted/Terminology/pawn_topic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="464" height="82" src="https://docs.unrealengine.com/portals/0/images/GettingStarted/Terminology/pawn_topic.png" width="200" /></a>
</td>
<td align="center"><a href="http://docs.unrealengine.com/portals/0/images/Engine/Blueprints/intro_topic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="464" height="82" src="https://docs.unrealengine.com/portals/0/images/Engine/Blueprints/intro_topic.png" width="200" /></a>
</td>
</tr>
</tbody>
</table>
<br />
More terminologies can be found <a href="https://docs.unrealengine.com/latest/INT/GettingStarted/Terminology/index.html">here</a>.
<br />
<br />
<h3>
1.2 Learning Unreal Basics</h3>
To create your own test environment you need to learn how to manipulate objects (actors) and write scripts. There are lots of tutorials on Unreal website and I suggest to read the following first:<br />
<br />
a. <a href="https://docs.unrealengine.com/latest/INT/Engine/QuickStart/index.html">Level Designer Quick Start</a><br />
<br />
<div style="text-align: center;">
<a href="https://docs.unrealengine.com/portals/0/images/Engine/QuickStart/Finished.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="370" data-original-width="800" height="147" src="https://docs.unrealengine.com/portals/0/images/Engine/QuickStart/Finished.png" width="320" /></a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
b. <a href="https://www.raywenderlich.com/151018/unreal-engine-4-tutorial-beginners">Unreal Engine 4 Tutorial for Beginners: Getting Started</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://koenig-media.raywenderlich.com/uploads/2016/12/45.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="342" data-original-width="522" height="209" src="https://koenig-media.raywenderlich.com/uploads/2016/12/45.gif" width="320" /></a></div>
<br />
<br />
c. <a href="https://docs.unrealengine.com/latest/INT/Engine/Blueprints/QuickStart/index.html">Blueprints Quick Start Guide</a><br />
<br />
<br />
<b>NOTE: </b>Unfortunately there is no Epic Games launcher for Linux, so we need to download free examples using Windows or Mac and then upload to Linux.<br />
<br />
<h3>
2. Installing UnrealPythonEngine</h3>
Now we need to install the UnrealPythonEngine plugin from<br />
<a href="https://github.com/20tab/UnrealEnginePython">https://github.com/20tab/UnrealEnginePython</a><br />
By default Unreal will load and compile any plugs in /Plugins folder under the project directory. Note we need to create C++ project, not Blueprint:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjemoTRknxUNLWXotaWj53P5f6aSyihoUcgL8qV4WfSq43nQwpXOYj8iAZyt2zdCZfqUDZidOtXoE_AFb_vFRFEiL0mGZNqdEGIKIpkkhvKIJnlr9O445_-7xaIEXqJe0KpSI9bnMdaZpc/s1600/Screenshot+from+2017-09-21+15-01-08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="774" data-original-width="1110" height="444" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjemoTRknxUNLWXotaWj53P5f6aSyihoUcgL8qV4WfSq43nQwpXOYj8iAZyt2zdCZfqUDZidOtXoE_AFb_vFRFEiL0mGZNqdEGIKIpkkhvKIJnlr9O445_-7xaIEXqJe0KpSI9bnMdaZpc/s640/Screenshot+from+2017-09-21+15-01-08.png" width="640" /></a></div>
<br />
<br />
The installation steps are listed as below:
<br />
<ul>
<li style="box-sizing: border-box;">Create a new Unreal C++ project and close the editor once the project is fully started</li>
<li style="box-sizing: border-box; margin-top: 0.25em;">Go to the just created project directory and create the Plugins folder</li>
<li style="box-sizing: border-box; margin-top: 0.25em;">move to the Plugins folder and clone the UnrealPythonEngine plugin:</li>
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;">git clone https://github.com/20tab/UnrealEnginePython</pre>
</ul>
Before we re-open Unreal project and compile the plugin, we need to setup Python engine first.<br />
<h3>
2.1 Choose Python 2.7 or Python 3.5+ </h3>
The default Python engine is 3.6. To change it we need to edit the build file:<br />
<pre style="background-color: #f6f8fa;">Plugins/UnrealEnginePython/Source/UnrealEnginePython/UnrealEnginePython.Build.cs
</pre>
<br />
And add your Python installation folder into pythonHome as below:<br />
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;">public class UnrealEnginePython : ModuleRules
{
<span style="color: #38761d;">// leave this string as empty for triggering auto-discovery of python installations...</span>
private string pythonHome = "/usr/include/python2.7;/usr/lib/x86_64-linux-gnu/libpython2.7.so";
......
</pre>
<br />
Reopen the project and start compiling the plugin, a "not compatible" warning message may be shown:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLu98DoF7MdA8yreuAmioNuoMIKuPSMhRXM0kfDKKikNKskT6XY88ukXOGu6CPyEeiz17ixz1W8QZFkRl1H2Y-6N66_xu1CBcGLAq9lY9pRHXCC4TPwNIPEkcH-obQYbnuOQVHWeGujT0/s1600/Screenshot+from+2017-09-21+16-54-35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="155" data-original-width="807" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLu98DoF7MdA8yreuAmioNuoMIKuPSMhRXM0kfDKKikNKskT6XY88ukXOGu6CPyEeiz17ixz1W8QZFkRl1H2Y-6N66_xu1CBcGLAq9lY9pRHXCC4TPwNIPEkcH-obQYbnuOQVHWeGujT0/s640/Screenshot+from+2017-09-21+16-54-35.png" width="640" /></a></div>
<br />
Ignore the warning and click "No", and you will see the next dialog<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjANYaHPKYjMxXqODgVLAMcRUxrcMNIrCegvWWnIvMVRLbIrEHfszXlQNAz5yCKeuh6G6_OGm_9Lc32PYZesWjpMUb_fq55wW2QK4Pq9Gv3XHDLkvN9c0HoWkOFiZOsMcdKsHFG8Lx6-_0/s1600/Screenshot+from+2017-09-21+16-57-20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="215" data-original-width="555" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjANYaHPKYjMxXqODgVLAMcRUxrcMNIrCegvWWnIvMVRLbIrEHfszXlQNAz5yCKeuh6G6_OGm_9Lc32PYZesWjpMUb_fq55wW2QK4Pq9Gv3XHDLkvN9c0HoWkOFiZOsMcdKsHFG8Lx6-_0/s400/Screenshot+from+2017-09-21+16-57-20.png" width="400" /></a></div>
<br />
Click "Yes"<br />
<br />
<h4>
*Compiling error for UnrealPythonEngine</h4>
If you are using clang++-3.9 and older Unreal version (like 4.15) to compile UnrealPythonEngine, you will encounter the following error:<br />
<br />
<i>ThirdParty/FBX/2016.1.1/include/fbxsdk/core/fbxproperty.h:1242:70: error: binding dereferenced null pointer to reference has undefined behavior [-Werror,-Wnull-dereference]
return StaticInit(pObject, pName, FbxGetDataTypeFromEnum(FbxTypeOf(*((FbxReference*)0))), pValue, pForceSet, pFlags); </i><br />
<br />
To fix it, change your clang++ version to 3.8 or lower:<br />
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;">sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100
</pre>
<br />
<br />
<h3>
2.2 Open Python Console</h3>
Now we are ready to run some Python scripts. Make sure your deep learning tool (TensorFlow or Theano) is accessiable for the UE4Editor. If VirtualEnv is used, activate the environment before running UE4, for example:
<br />
<pre style="background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.6px; line-height: 1.45; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;"><span style="color: #3d85c6;">/data/UnrealEngine-4.17$</span> source ~/theano/bin/activate
(theano) <span style="color: #3d85c6;">/data/UnrealEngine-4.17$</span> ./Engine/Binaries/Linux/UE4Editor
</pre>
<br />
Open the Unreal project and select Window -> Developer Tool -> Python Console
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip76IR6KUHI9pdxxZ6elqvUXZJX0w4e8vqe-pBL8W7_I8wRQ6fGKeMQK0-dn8gFDVjX-Ff_cxm0mt2-P75_SKH8qlOBkRSYbi42DvOcDx5nxXDMg-IhNg0-IWxFRtI4QqhTSh8xO-HXxk/s1600/Screenshot+from+2017-09-21+16-11-51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1015" data-original-width="1600" height="404" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip76IR6KUHI9pdxxZ6elqvUXZJX0w4e8vqe-pBL8W7_I8wRQ6fGKeMQK0-dn8gFDVjX-Ff_cxm0mt2-P75_SKH8qlOBkRSYbi42DvOcDx5nxXDMg-IhNg0-IWxFRtI4QqhTSh8xO-HXxk/s640/Screenshot+from+2017-09-21+16-11-51.png" width="640" /></a></div>
<br />
Import your Deep Learning framework, then you are ready to go!<br />
<br />
<h4>
</h4>
<h2>
Windows & Mac</h2>
For Windows and Mac, just download the binary releases from Github of UnrealPythonEngine and unzip it in your project's Plugins folder. Make sure you download the right Python version.K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-70723842300041043312017-09-06T01:37:00.001-07:002018-04-01T21:37:36.542-07:00Top Conferences in Data Mining, Computer Vision and Artificial IntelligenceNote: The conferences are sorted by deadline.<br />
<h3>
Data Mining</h3>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" valign="top" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Short Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Full Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" valign="top" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Deadline<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">When<o:p></o:p></span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">KDD<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Knowledge Discovery and Data Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ASONAM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Advances in Social Networks Analysis and
Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">March<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">July/Aug.<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ECML + PKDD<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">The European Conference on Machine
Learning & Principles and Practice of Knowledge Discovery in Databases<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">April<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">CIKM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">IEEE International Conference on
Information and Knowledge Management<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">November<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICDM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">IEEE International Conference on Data
Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">June<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">November<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">WSDM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Web Search and Data Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICDE<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Data
Engineering<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">Sep./Oct.<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">April<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">SDM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">SIAM International Conference on Data
Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">October<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="75"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">PAKDD<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="124"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">The Pacific-Asia Conference on Knowledge
Discovery and Data Mining<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="74"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">Oct./Nov.<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<h3>
Computer Vision & Image Processing</h3>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Short Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Full Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" valign="top" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Deadline<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">When<o:p></o:p></span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICIP<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Image Processing<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">January<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">SIGGRAPH<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Computer Graphics and Interactive
Techniques<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">January<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICPR<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt;">International
Conference on Pattern Recognition <sup>#</sup></span><span lang="EN-US" style="font-size: 11.0pt;"><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">January<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ECCV<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">European Conference on Computer Vision<sup>#</sup><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICCV<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Computer
Vision<sup>*</sup><o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">March<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">October<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ACM MM<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">ACM International Conference on Multimedia<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">April<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">October<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">BMVC<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">British Machine Vision Conference<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">CVPR<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Computer Vision and Pattern Recognition<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">November<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">June/July<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICME<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="116"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 10.0pt; mso-bidi-font-size: 11.0pt;">International
Conference on Multimedia and Expo<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">December<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">July<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<span lang="EN-US" style="font-size: 8.0pt;"># Every even year * Every odd year<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<h3>
Machine Learning & Artificial Intelligence</h3>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" valign="top" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Short Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Full Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Deadline<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" valign="top" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">When<o:p></o:p></span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">IJCAI<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Joint Conference on
Artificial Intelligence<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICML<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Machine
Learning<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">August<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">NIPS<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">Neural Information Processing Systems
Conference<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">December<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">AAAI<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">American Association for AI National
Conference<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">February<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="61"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICLR<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="136"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Leanring
Representations<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">October<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="77"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">April/May<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal">
<br /></div>
<h3>
Robotics</h3>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Short Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="130"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Full Name<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">Deadline<o:p></o:p></span></b></div>
</td>
<td style="border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" valign="top" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<b><span lang="EN-US">When<o:p></o:p></span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="64"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">IROS<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="130"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Intelligent
Robots & Systems<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">March<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 77.75pt;" width="64"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">ICRA<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 217.25pt;" valign="top" width="130"><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span lang="EN-US" style="font-size: 11.0pt;">International Conference on Robotics and
Automation<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 59.15pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">September<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 60.65pt;" width="80"><div align="center" class="MsoNormal" style="text-align: center;">
<span lang="EN-US" style="font-size: 11.0pt;">May<o:p></o:p></span></div>
</td>
</tr>
</tbody></table>
<table><tbody>
<tr><td></td><td></td></tr>
</tbody></table>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-55995311608659299192017-05-02T01:07:00.002-07:002017-09-21T20:55:05.606-07:00Deep Learning Reading List (Tools, Tutorials, Papers)<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none;">
<tbody>
<tr style="height: 22.0pt;">
<td colspan="3" style="border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<b><span style="color: #38761d; font-size: 12.0pt;">Deep Learning Fundamentals</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
R. Pieters</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Python for image understanding <a href="https://www.slideshare.net/roelofp/python-for-image-understanding-deep-learning-with-convolutional-neural-nets">link</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A good talk for beginners </div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Chih-Fan Hsu, Chun-Ming Chang</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
手把手的深度學習實務<br />
<div class="MsoNormal">
<o:p></o:p></div>
(<a href="https://www.slideshare.net/tw_dsconf/ss-70083878">slides</a>)
(<a href="https://goo.gl/UmVMMZ">labs</a>) (<a href="https://github.com/tw-cmchang/hand-on-dl">github</a>)</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Great training course in Chinese, made by Data Insights Research Lab in Academia Sinica</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Neural networks and deep learnings</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="http://neuralnetworksanddeeplearning.com/">neuralnetworksanddeeplearning.com</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A very comprehensive tutorial written by Michael Nielsen</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Christopher Olah</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="http://colah.github.io/">colah.github.io</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A good blog to visualize NN</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Geoffrey E. Hinton et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf"><span style="text-decoration: none;">A fast learning algorithm for deep belief nets</span></a>,
<i>Neural computation</i>, 2006</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
The breakthrough paper that introduces restricted Boltzmann machines
and stacked deep-belief networks</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Y LeCun, </div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Y Bengio, </div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
G Hinton</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Deep Learning, <i>Nature</i>, 2015</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Review paper written by fathers of neural networks</div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">Deep Learning Tools</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
TensorFlow</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.tensorflow.org/">www.tensorflow.org</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Open source library developed by Google with C++ core and Python
interface</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Keras</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://keras.io/">keras.io</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A wrapper for Theano and Tensorflow, very user friendly.</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Theano</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="http://deeplearning.net/software/theano">deeplearning.net/software/theano</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #24292e;">DL library for Python
developed by </span><a href="https://en.wikipedia.org/wiki/Universit%C3%A9_de_Montr%C3%A9al" title="Université de Montréal"><span style="background: white;">Université de
Montréal</span></a></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Caffe2</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://github.com/caffe2/caffe2">github.com/caffe2/caffe2</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="background: white; color: #24292e;">A fast and scalable C++ DL
framework for visual recognition. Based on<span class="apple-converted-space"> </span></span><a href="http://caffe.berkeleyvision.org/"><span style="background: white; color: #0366d6;">Caffe</span></a> from UC Berkely</div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">Deep Reinforcement Learning</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Tambet Matiisen</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="http://neuro.cs.ut.ee/demystifying-deep-reinforcement-learning/">Demystifying
Deep Reinforcement Learning</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Great introduction. Algorithms are implemented with <a href="http://neon.nervanasys.com/" target="_blank"><span style="background: white; border: none 1.0pt; color: #0da4d3; font-family: "helvetica" , sans-serif; padding: 0in; text-decoration: none;">Neon</span></a></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Arhtur Juliani</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-0-q-learning-with-tables-and-neural-networks-d195264329d0">Simple
Reinforcement Learning with TensorFlow (Q learning)</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Open AI Gym</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://gym.openai.com/">gym.openai.com</a></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A framework let your RL algorithms play video games</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Mnih, et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Human-Level Control through Deep Reinforcement Learning, <i>Nature</i>,
2015</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Deep Q-network (DQN) by Google Deep Mind (<a href="https://sites.google.com/a/deepmind.com/dqn">code</a>)</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
David Sliver, Aja Huang et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.blogger.com/null" name="OLE_LINK10"></a><a href="https://gogameguru.com/i/2016/03/deepmind-mastering-go.pdf"><span style="text-decoration: none;">Mastering the game of Go with deep neural
networks and tree search</span></a>, <i>Nature</i> 2016</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Paper of AlphaGo, period.</div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">DL for Image Classification and Object Detection</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.blogger.com/null" name="OLE_LINK13">ImageNet</a> </div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
An image database with 14 million images organized according to
the <a href="http://wordnet.princeton.edu/" target="_blank">WordNet</a> hierarchy
</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Hold the Large Scale Visual Recognition Challenge (ILSVRC) challenges
every year</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Alex Krizhevsky</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Ilya Sutskever</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.blogger.com/null" name="OLE_LINK9"></a><a href="https://www.blogger.com/null" name="OLE_LINK8">Geoffrey </a>E. Hinton</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks"><span style="text-decoration: none;">ImageNet Classification with Deep Convolutional
Neural Networks</span></a>, <i>NIPS</i> 2012</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
First successful deep network for image classification, aka AlexNet<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-o2tD3BotB0Nlt7bY0et-Ae0DhD8Iz5g03IG6In4CoW_mEotqsOJ7VC7Jh9rNYh5QeBBoBrDKBhTvMwaZhUJS8NBjCk1TenuEov9T-NS2JbjkEqtnTdcf-FLpi5dS6WY-ICpBetXXdwU/s1600/image001.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="99" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-o2tD3BotB0Nlt7bY0et-Ae0DhD8Iz5g03IG6In4CoW_mEotqsOJ7VC7Jh9rNYh5QeBBoBrDKBhTvMwaZhUJS8NBjCk1TenuEov9T-NS2JbjkEqtnTdcf-FLpi5dS6WY-ICpBetXXdwU/s320/image001.png" width="320" /></a></div>
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Karen Simonyan, Andrew Zisserman</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://arxiv.org/pdf/1409.1556"><span style="text-decoration: none;">Very Deep Convolutional Networks for Large-Scale Image Recognition</span></a>,
<i>ICLR</i>, 2015</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Winner of ILSVRC 2014</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
C. Szegedy et al.</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Google Research</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Going Deeper with Convolutions, <i>CVPR</i> 2015</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
GoogLeNet</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
K. He et al.</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Microsoft Research</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/He_Deep_Residual_Learning_CVPR_2016_paper.pdf"><span style="text-decoration: none;">Deep Residual Learning for Image Recognition</span></a>,
<i>CVPR</i> 2016</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
CVPR 2016 best paper and winner of <a href="https://www.blogger.com/null" name="OLE_LINK12"></a><a href="https://www.blogger.com/null" name="OLE_LINK11">ILSVRC </a>2015, aka ResNet</div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">DL for Image
Annotations</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
A. Karpathy</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Li Fei-Fei</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Deep Visual-Semantic Alignments for Generating Image Descriptions, <i>CVPR</i>
2015</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span lang="EN-US">Justin Johnson</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span lang="EN-US">Andrej Karpathy</span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span lang="EN-US">Li Fei-Fei</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span lang="EN-US">DenseCap: Fully Convolutional Localization Networks
for Dense Captio, <i>CVPR</i> 2016</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdkiKojtzvk82999HJ_jKjVUV7BimXTConNudsQLSxD33kc7BH3HbEgMCcTaLbOV8uh4V-zMISFAUVCz-Shhk7PbuX80KqH5VQBJh5cadge-azwC1rbo10lxNTM2BN4tvgn6mmKKUXvU/s1600/image002.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzdkiKojtzvk82999HJ_jKjVUV7BimXTConNudsQLSxD33kc7BH3HbEgMCcTaLbOV8uh4V-zMISFAUVCz-Shhk7PbuX80KqH5VQBJh5cadge-azwC1rbo10lxNTM2BN4tvgn6mmKKUXvU/s320/image002.jpg" width="320" /></a><br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
</div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">DL for Video Applications (CVPR 2016)</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Ting Yao et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Highlight Detection with Pairwise Deep Ranking for First-Person Video
Summarization <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Yao_Highlight_Detection_With_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span><span lang="EN-US"> </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVueCP4pGz-lyzbNbMLhi4o8YQ5lbZtPhyEKluKsGEN-v8KdtbYm39l8q5sbtQGS8gtb394adv3JPWp9pE56Hdyld3QAKsXwXMc_2SWfMdKaUQqtHS1rrB0ozgzCx0Y6s1DnQQo0m28RA/s1600/image003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVueCP4pGz-lyzbNbMLhi4o8YQ5lbZtPhyEKluKsGEN-v8KdtbYm39l8q5sbtQGS8gtb394adv3JPWp9pE56Hdyld3QAKsXwXMc_2SWfMdKaUQqtHS1rrB0ozgzCx0Y6s1DnQQo0m28RA/s320/image003.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Michael Cgyli et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Video2GIF: Automatic Generation of Animated GIFs from Video <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Gygli_Video2GIF_Automatic_Generation_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjot_DH052O1uAAXYxzpT2iX7_OydCHZOIGDLX9-qRSYBBBi7itddWZY_-sfr1yI3px5braGv5gBiWAWsS1dH9aOcce3bOJ6jHl1MH5Z23tv10Kx95ncfYXonme39N6FlEqNrnO2PBp4iY/s1600/image004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjot_DH052O1uAAXYxzpT2iX7_OydCHZOIGDLX9-qRSYBBBi7itddWZY_-sfr1yI3px5braGv5gBiWAWsS1dH9aOcce3bOJ6jHl1MH5Z23tv10Kx95ncfYXonme39N6FlEqNrnO2PBp4iY/s320/image004.png" width="320" /></a></div>
</div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
B. Tekin et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Direct Prediction of 3D Body Poses from Motion Compensated Sequences <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Tekin_Direct_Prediction_of_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgilNQw9qoVCX_y628941qBF0MbeUf3va0D7ZmXVdfEgm78r0su0gQNrQ3u9_UIOTqLtHCgsFyxgucHl3emmujayKCD5adx6NkUaV4To3F2pGFdEZBQYFTTr6mERag_IDvHpiOtn30bMjg/s1600/image005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgilNQw9qoVCX_y628941qBF0MbeUf3va0D7ZmXVdfEgm78r0su0gQNrQ3u9_UIOTqLtHCgsFyxgucHl3emmujayKCD5adx6NkUaV4To3F2pGFdEZBQYFTTr6mERag_IDvHpiOtn30bMjg/s320/image005.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Bingbing Li. et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Progressively Parsing Interactional Objects for Fine Grained Action
Detection <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Ni_Progressively_Parsing_Interactional_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9hlEeGJfVK0XOeqPovxZiuBVzwQ2pNtg_RSU0xknU5MT25VCqp895K1HSBjNkclRns94wtwGaxFTc3GXoqW2-4ENofLAkSzpJe6QgsEX_cQynpU9aUi3icuV3L010vxz4kxJZcpoXcIw/s1600/image006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9hlEeGJfVK0XOeqPovxZiuBVzwQ2pNtg_RSU0xknU5MT25VCqp895K1HSBjNkclRns94wtwGaxFTc3GXoqW2-4ENofLAkSzpJe6QgsEX_cQynpU9aUi3icuV3L010vxz4kxJZcpoXcIw/s320/image006.png" width="320" /></a></div>
<div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Pingbo Pan et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Hierarchical Recurrent Neural Encoder for Video Representation With
Application to Captioning <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Pan_Hierarchical_Recurrent_Neural_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs1x47bYbIERNSWTbV1aTwKyg470SR2BYsRWnItuYFd7HhAyoANlR6Se9vkB8F_lQ127zTDmo8XITz1l2gTEoLKKLb7pnHZBFKItNRdHTLbSyWEJY28IbmXHudar4tALqm186ABjQ50rI/s1600/image007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs1x47bYbIERNSWTbV1aTwKyg470SR2BYsRWnItuYFd7HhAyoANlR6Se9vkB8F_lQ127zTDmo8XITz1l2gTEoLKKLb7pnHZBFKItNRdHTLbSyWEJY28IbmXHudar4tALqm186ABjQ50rI/s320/image007.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: 107%; margin-bottom: 8.0pt;">
Zheng Shou,
Dongang Wang, Shih-Fu Chang</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Temporal Action Localization in Untrimmed Videos via Multi-stage CNNs
<span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Shou_Temporal_Action_Localization_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8AOM9Sxa2i9LHbOt4LdHjmDiYsX4N9ADc9CTBdD1YPv8_b_AH8zLf1B8VuGPQjR0MXm-qQKRZbNMXQ0GRhWGP-WZxc_-QXi9DV7eN_X-8nYTmjaFuAvRDdvp8jGNehhCKTaZaHDcTLoc/s1600/image008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8AOM9Sxa2i9LHbOt4LdHjmDiYsX4N9ADc9CTBdD1YPv8_b_AH8zLf1B8VuGPQjR0MXm-qQKRZbNMXQ0GRhWGP-WZxc_-QXi9DV7eN_X-8nYTmjaFuAvRDdvp8jGNehhCKTaZaHDcTLoc/s320/image008.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Ziwei Liu et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
DeepFashion: Powering Robust Clothes Recognition and Retrieval With
Rich Annotations <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Liu_DeepFashion_Powering_Robust_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">]</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eJ856DDfY9LDxFCSiGs0RyH86cFsr5BJ6-Ggmy_-0nIwDwQjFSzklXDtrG5kTMnQbwcqbvt-yLchYfKlGe4o12EVQbSriogWL5ABR6xSLmgT_JYSz7H4J6PvKUSDnDXF6K8Ss3smhDU/s1600/image009.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="309" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-eJ856DDfY9LDxFCSiGs0RyH86cFsr5BJ6-Ggmy_-0nIwDwQjFSzklXDtrG5kTMnQbwcqbvt-yLchYfKlGe4o12EVQbSriogWL5ABR6xSLmgT_JYSz7H4J6PvKUSDnDXF6K8Ss3smhDU/s320/image009.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Xiaofan Zhang et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Embedding Label Structures for Fine-Grained Feature Representation <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhang_Embedding_Label_Structures_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">]</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCGdZ39lK3tdMiU3CdNAO3oQpEm9ci0uDVNKjELC51G41WfOVYPA054YGlr12EMPrHgviyUnuWxdUrk_gr-qT4uKgwFxX7lFkd2OxKjgbymH2C-lF57mAzEAyQ9TDdlUdtfsqnyqvdYY/s1600/image010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBCGdZ39lK3tdMiU3CdNAO3oQpEm9ci0uDVNKjELC51G41WfOVYPA054YGlr12EMPrHgviyUnuWxdUrk_gr-qT4uKgwFxX7lFkd2OxKjgbymH2C-lF57mAzEAyQ9TDdlUdtfsqnyqvdYY/s320/image010.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr style="height: 22.0pt;">
<td colspan="3" style="border-top: none; border: solid windowtext 1.0pt; height: 22.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 450.8pt;" width="601"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<b><span style="color: #38761d; font-size: 12.0pt;">Other Video Applications (CVPR
2016)</span></b></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Jingjing Meng et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
From Keyframes to Key Objects:<br />
Video Summarization by Representative Object Proposal Selection <span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Meng_From_Keyframes_to_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWaZyRPQ1huDclLLdx2iQ7l-JWuOSZ7OJ8EodDkp2REhyphenhyphenDAW1cfTsCKzdhmkX9GBdyPXupcx4s1H8Qofnue0Mn7absZKJQormODxsOMWUH31A-kT9DYSbxykzH4B88onpPdRrX-dFaffs/s1600/image011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWaZyRPQ1huDclLLdx2iQ7l-JWuOSZ7OJ8EodDkp2REhyphenhyphenDAW1cfTsCKzdhmkX9GBdyPXupcx4s1H8Qofnue0Mn7absZKJQormODxsOMWUH31A-kT9DYSbxykzH4B88onpPdRrX-dFaffs/s320/image011.png" width="320" /></a></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<br />
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
K. Grauman et al.</div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
Summary Transfer: Exemplar-based Subset Selection for Video Summarization
<span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhang_Summary_Transfer_Exemplar-Based_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">] </span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIyRxSGUNog4zovR151QQZ7PXgPPiutku1fqqeyZTha2St4v6xN7yymu6HpXw1xXmLiDSwbmkTR9r3flTk2DvF1_O8QOfQAfmg8cSsNwxzed3lzJ8EvObQMnx8FQEFsVjnhaT42xDlwxw/s1600/image012.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIyRxSGUNog4zovR151QQZ7PXgPPiutku1fqqeyZTha2St4v6xN7yymu6HpXw1xXmLiDSwbmkTR9r3flTk2DvF1_O8QOfQAfmg8cSsNwxzed3lzJ8EvObQMnx8FQEFsVjnhaT42xDlwxw/s320/image012.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid windowtext 1.0pt; padding: 0in 5.4pt 0in 5.4pt; width: 92pt;" width="101"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<span lang="EN-US">Feng Zhou, Yuanqing Lin</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 184.2pt;" width="246"><div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;">
<a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>Fine-Grained Image Classification by Exploring Bipartite-Graph Labels
<span lang="EN-US">[</span><a href="http://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhou_Fine-Grained_Image_Classification_CVPR_2016_paper.pdf"><span lang="EN-US">pdf</span></a><span lang="EN-US">]</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0in 5.4pt 0in 5.4pt; width: 2.65in;" width="254"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiUBNtKpWPV6Cmqdxf6AUNcjMtuA2_iN_-RvMUlEV1njQH6VYA3xXElMcnYJCEq48ZoO4pluSKcoQcBXHKLiUoOozey8Fw5bcXzhE1KuLgrrgZFvxeP9zzu94QZiSSHOz74M2hpjyk3pE/s1600/image013.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiUBNtKpWPV6Cmqdxf6AUNcjMtuA2_iN_-RvMUlEV1njQH6VYA3xXElMcnYJCEq48ZoO4pluSKcoQcBXHKLiUoOozey8Fw5bcXzhE1KuLgrrgZFvxeP9zzu94QZiSSHOz74M2hpjyk3pE/s320/image013.png" width="320" /></a></div>
<br /></div>
</td>
</tr>
</tbody></table>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-31564759373705399162017-03-27T02:39:00.001-07:002017-09-21T20:55:05.602-07:00Build a Nvidia CUDA server with Ubuntu 16.04 in 4 steps<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP3a5Zc6xSNj8aOv_eaTugFTWnK9rtbhgxbCy6fCUhZqGs_2vJlowrMZQMAucSBVHoC75V9W9_P9ug2BlRx2lzpt9QJKypmx2X9HFEAIWuBVadvZ9TP_WHk8_ujnGJ6cSzj3kaegBLZSI/s1600/arbor-gpu1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP3a5Zc6xSNj8aOv_eaTugFTWnK9rtbhgxbCy6fCUhZqGs_2vJlowrMZQMAucSBVHoC75V9W9_P9ug2BlRx2lzpt9QJKypmx2X9HFEAIWuBVadvZ9TP_WHk8_ujnGJ6cSzj3kaegBLZSI/s320/arbor-gpu1.jpg" width="320" /></a></div>
<br />
<br />
*First of all, if you start from a brand new server, I suggest to install Ubuntu 16.04 WITHOUT NVIDIA graphics cards first. This will prevent Ubuntu from automatically installing open-source NVIDIA driver Nouveau. Nouveau may cause issues like black screen, lightdm crash, ..., to name a few. It's highly possible that you will see NOTHING at the inital boot if you install Ubuntu 16.04 directly with NVIDIA cards.<br />
<br />
Once you can login the Ubuntu server, install CUDA following the 4 steps below:<br />
<br />
1. Disable Nouveau<br />
If you are running Desktop version, enter the terminal screen by typing
<br />
<pre><kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>F1</kbd>
</pre>
<br />
Open or create "blacklist-nouveau.conf":<br />
<br />
<pre style="background-color: #f3f3f3;"><code>sudo vim /etc/modprobe.d/blacklist-nouveau.conf</code></pre>
<br />
Add following commands to the file:<br />
<br />
<pre style="background-color: #f3f3f3;">blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off</pre>
<br />
Then build the new kernel:<br />
<br />
<pre style="background-color: #f3f3f3;">sudo update-initramfs -u</pre>
<br />
<br />
2. Install NVIDIA driver <br />
You can try install NVIDIA driver directly:<br />
<br />
<pre style="background-color: #f3f3f3;">sudo apt-get install nvidia-375</pre>
<br />
<b>*If apt-get cannot find nvidia driver</b><br />
we need to add the ppa manually. The commands below are referred from <a href="http://askubuntu.com/questions/760934/graphics-issues-after-while-installing-ubuntu-16-04-16-10-with-nvidia-graphics">here</a>:<br />
Although you can also install the drivers included in the CUDA toolkit. I suggest to install from Ubuntu ppa:<br />
<pre style="background-color: #f3f3f3;">sudo apt-add-repository <span style="background-color: #eff0f1; color: #111111; font-family: "consolas" , "menlo" , "monaco" , "lucida console" , "liberation mono" , "dejavu sans mono" , "bitstream vera sans mono" , "courier new" , monospace , sans-serif; font-size: 13px; white-space: pre-wrap;">ppa:graphics-drivers/ppa</span>
sudo apt-get update</pre>
<pre style="background-color: #f3f3f3;">sudo service lightdm stop
sudo apt-get purge nvidia-*
sudo apt-get install nvidia-375
</pre>
<br />
<br />
Once the driver is installed, reboot your system, then test the driver by typing:<br />
<br />
<pre style="background-color: #f3f3f3;">nvidia-smi</pre>
<br />
And you will see the NVIDIA cards installed in your system:<br />
<br />
<code>+-----------------------------------------------------------------------------+<br />| NVIDIA-SMI 375.39 Driver Version: 375.39 |<br />|-------------------------------+----------------------+----------------------+<br />| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |<br />| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |<br />|===============================+======================+======================|<br />| 0 GeForce GTX 1080 Off | 0000:02:00.0 On | N/A |<br />| 0% 43C P8 8W / 200W | 294MiB / 8107MiB | 0% Default |<br />+-------------------------------+----------------------+----------------------+<br />| 1 GeForce GTX 1080 Off | 0000:82:00.0 Off | N/A |<br />| 0% 38C P8 8W / 200W | 1MiB / 8114MiB | 0% Default |<br />+-------------------------------+----------------------+----------------------+<br /> <br />+-----------------------------------------------------------------------------+<br />| Processes: GPU Memory |<br />| GPU PID Type Process name Usage |<br />|=============================================================================|<br />| 0 1430 G /usr/lib/xorg/Xorg 144MiB |<br />| 0 2549 G /usr/bin/compiz 148MiB |<br />+-----------------------------------------------------------------------------+</code><br />
<br />
<br />
3. Install CUDA Toolkit<br />
Download CUDA toolkit from NVIDIA official site:<br />
<a href="https://developer.nvidia.com/cuda-downloads">https://developer.nvidia.com/cuda-downloads</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVHi69c5pH_B44ekXaAar1XR22DSsWAwHHZ2Wh-QF_leU2ORVHP49Xc9fh5_WU9XY8pi9cJuSnsd3HboQ-XuKZOfXr2N5ScMJFVmQSgtvuoxofqKR6OnyvJfvj72Q5gLcK6NV6CkJeA04/s1600/CUDA-select.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVHi69c5pH_B44ekXaAar1XR22DSsWAwHHZ2Wh-QF_leU2ORVHP49Xc9fh5_WU9XY8pi9cJuSnsd3HboQ-XuKZOfXr2N5ScMJFVmQSgtvuoxofqKR6OnyvJfvj72Q5gLcK6NV6CkJeA04/s640/CUDA-select.png" width="640" /></a></div>
Remember to select runfile (local)<br />
<br />
<pre style="background-color: #f3f3f3;">sudo ./cuda_8.0.61_375.26_linux.run --override</pre>
<br />
As we already installed NVIDIA driver, we choose "NOT" to install driver this time:<br />
<code>
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62? <br />
(y)es/(n)o/(q)uit: n
</code>
<br />
<br />
Because Ubuntu 16.04 has latest gcc 6, which is not supported by CUDA. The --override flag force the installer to ignore unsupported gcc version. <br />
<br />
Once installation is done, you may notice there is a warning:
<br />
<code>***WARNING: Incomplete installation! This installation did not install
the CUDA Driver. A driver of version at least 361.00 is required for
CUDA 8.0 functionality to work.<br />
To install the driver using this installer, run the following command, replacing with the name of this run file:<br />
sudo .run -silent -driver </code><br />
<br />
Don't worry, we can ignore this message.<br />
<br />
<br />
4. Downgrade gcc to 4.9<br />
Finally, we need to downgrade the gcc/g++ version in Ubuntu to < 5.0. Somebody may suggest to remove check line in CUDA library's header file. Don't do this, it will cause compiler error. Downgrade the gcc with "update-alternatives":
<br />
<br />
<pre style="background-color: #f3f3f3;"><code>
sudo apt-get install g++-4.9 gcc-4.9 libgcc-4.9
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --query gcc
sudo update-alternatives --query g++</code></pre>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-70166315067318322862016-01-28T19:07:00.003-08:002016-01-28T19:07:56.252-08:00Installing Node.js + ZeroMQ on WindowsZeroMQ (ZMQ, 0mq) is a great TCP/IP libray wrapper and lightening fast for exchanging messages. Node.js is also famous for speed, so the two combined together can make a powerful distributed cloud server. However since ZeroMQ depends on OS level library, we need to re-compile ZeroMQ if we wants to use it in Node.js. This makes some challenges on installing on Windows. (If you didn't encounter any problem, Congratulations!)<br />
<br />
The first problem we may encounter is:<br />
<h1 itemprop="name" style="background-color: white; border: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; line-height: 1.3; margin: 0px 0px 0.5em; padding: 0px;">
<a class="question-hyperlink" href="http://stackoverflow.com/questions/19801072/the-builds-tools-for-v120-platform-toolset-v120-cannot-be-found" style="border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; cursor: pointer; font-weight: normal; line-height: 1.35; margin: 0px 0px 0.5em; padding: 0px;"><span style="color: blue; font-size: small;">The builds tools for v120 (Platform Toolset = 'v120') cannot be found</span></a></h1>
<h1 itemprop="name" style="background-color: white; border: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; line-height: 1.3; margin: 0px 0px 0.5em; padding: 0px;">
<span style="background-color: transparent; font-weight: normal;"><span style="font-size: small;">Because the default compiler is VS 2012. </span></span></h1>
<div>
<span style="background-color: transparent; font-weight: normal;"><span style="font-size: small;">Thanks for this post:</span></span></div>
<div>
<h1 itemprop="name" style="background-color: white; border: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; line-height: 1.3; margin: 0px 0px 0.5em; padding: 0px;">
<span style="border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; color: blue; cursor: pointer; font-size: small; font-weight: normal; line-height: 1.35; margin: 0px 0px 0.5em; padding: 0px;"><u>Cannot install node modules that require compilation on Windows 7 x64/VS2012</u></span></h1>
</div>
<div>
<span style="background-color: #eeeeee; color: #222426; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; font-size: 13px; line-height: 16.9px; white-space: pre-wrap;">npm install zmq --msvs_version=2015</span></div>
<br />
Just add msvs_version=.... then you can compile with any version of visual studio. Remember to install windows SDK first.<br />
<br />
A final reminder is<br />
<h1 itemprop="name" style="background-color: white; border: 0px; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; line-height: 1.3; margin: 0px 0px 0.5em; padding: 0px;">
<a class="question-hyperlink" href="http://stackoverflow.com/questions/9587665/nodejs-cannot-find-installed-module-on-windows" style="border-image-outset: initial; border-image-repeat: initial; border-image-slice: initial; border-image-source: initial; border-image-width: initial; border: 0px; cursor: pointer; font-weight: normal; line-height: 1.35; margin: 0px 0px 0.5em; padding: 0px;"><span style="color: blue; font-size: small;">Nodejs cannot find installed module on Windows?</span></a></h1>
To use ZMQ globally, add an environment variable NODE_PATH=<span style="background-color: #eeeeee; color: #222426; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; font-size: 13px; line-height: 16.9px; white-space: pre-wrap;">%AppData%\npm\node_modules</span><br />
<br />
<br />
That's it. Enjoy ZMQ!K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-65505844461046818842015-03-31T05:50:00.002-07:002015-06-28T21:20:20.131-07:00Connect to Microsoft SQL Server 2012 using PHP PDO on UbuntuMicrosoft SQL (MSSQL) databases provide a Open Database Connectivity (ODCB) interface for accessing data. First we need to enable TCP/IP connection of MSSQL in SQL Server Configuration Manager:<br />
1. Right click to enable TCP/IP<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEgnHtD-aJxGrbOHu6vvup_1eTU8o1N9P9Bw-RzS-dUTnV1hImY_FlXd1ogqT3LH_dG6TrMfQmq3S7Lxcoph5CahEkAfzxKpUagRRe67SUNV3Ytw3Ct_oazxRmACSSNh8xI6T2Fa3kquk/s1600/sql_manager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEgnHtD-aJxGrbOHu6vvup_1eTU8o1N9P9Bw-RzS-dUTnV1hImY_FlXd1ogqT3LH_dG6TrMfQmq3S7Lxcoph5CahEkAfzxKpUagRRe67SUNV3Ytw3Ct_oazxRmACSSNh8xI6T2Fa3kquk/s1600/sql_manager.png" height="200" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. Double-click to set TCP/IP port (default is 1433)</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUcoU6Dxoez-vzCh0nS7urpGRxZUoCdMc6Wx34zKeL0OiMQsY2LN8OWVvGRYNhIFi7x6MKdtBXtNq3OZdX0MfLAagcey98xtaw-gpDr0e9QNk9CImCKEKwqayyWna7kqXMkfxN_KTpiz4/s1600/MSSQL_tcp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUcoU6Dxoez-vzCh0nS7urpGRxZUoCdMc6Wx34zKeL0OiMQsY2LN8OWVvGRYNhIFi7x6MKdtBXtNq3OZdX0MfLAagcey98xtaw-gpDr0e9QNk9CImCKEKwqayyWna7kqXMkfxN_KTpiz4/s1600/MSSQL_tcp.png" height="320" width="285" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
3. Restart MSSQL service<br />
<br />
4. Also remember to open MSSQL listening port 1433 on Windows Firewall.<br />
<br />
<br />
<br />
At the Ubuntu side, we use PHP and <a href="http://php.net/manual/en/book.pdo.php">PHP Data Objects</a> (PDO) for connection. PDO is a powerful tool that can connect all kinds of databases, with appropriate driver installed.<br />
<br />
<br />
1. Enable PDO ODBC<br />
<span style="background-color: #fff2cc;"><span style="color: #6aa84f; font-family: Helvetica Neue, Arial, Helvetica, sans-serif;">sudo apt-get install php5-odbc</span></span><br />
<br />
<br />
2. we also need to install unixodbc and FreeTDS (<a href="http://stackoverflow.com/questions/20163776/connect-php-to-mssql-via-pdo-odbc">ref</a>.). Luckily we can easily install them through apt-get:<br />
<span style="background-color: #fff2cc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><span style="color: #6aa84f;">sudo apt-get install unixodbc tdsodbc</span></span><br />
<br />
<br />
3. After installing necessary libraries, we need to configure our Data Source Name (DSN) in /etc/odbc.ini and /etc/odbcinst.ini (from this <a href="http://stackoverflow.com/questions/20163776/connect-php-to-mssql-via-pdo-odbc">ref</a>.)<br />
<br />
/etc/odbc.ini<br />
<pre style="background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> # Define a connection to a Microsoft SQL server
# The Description can be whatever we want it to be.
# The Driver value must match what we have defined in /etc/odbcinst.ini
# The Database name must be the name of the database this connection will connect to.
# The ServerName is the name we defined in /etc/freetds/freetds.conf
# The TDS_Version should match what we defined in /etc/freetds/freetds.conf
[MSSQL_DSN]
Description = Microsoft SQL server
Driver = freetds
Database = Your_DB
ServerName = MY_SERVER
TDS_Version = 7.0
</code></pre>
<br />
/etc/odbcinst.ini<br />
<pre style="background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> # Define where to find the driver for the Free TDS connections.
# Make sure you use the right driver (32-bit or 64-bit).
[freetds]
Description = MS SQL database access with Free TDS
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
#Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
#Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount = 1
</code></pre>
<br />
/etc/freetds/freetds.conf<br />
<pre style="background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> #Define a connection to the Microsoft SQL Server
[<span style="font-family: arial;">MY_SERVER</span><span style="font-family: arial;">] </span>
host = 192.168.1.10
port = 1433
tds version = 7.0
</code></pre>
<br />
<br />
4. Restart Apache server to enable the ODBC features<br />
<span style="background-color: #fff2cc; font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;"><span style="color: #6aa84f;">sudo service apache2 restart</span></span><br />
<div>
<br /></div>
<br />
5. Finally we can use ODBC in PDO as below:<br />
$DB_conn = new PDO('odbc:MSSQL_DSN', 'sa', 'password');<br />
<br />
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-78594190356869545622014-12-11T02:23:00.005-08:002014-12-11T02:23:49.952-08:00Adding iBeacon to TI CC254xThe iBeacon is Apple's indoor positioning technology based on Bluetooth Low Energy (BLE). In fact the iBeacon information is embedded in BLE advertisement Protocol Data Unit (PDU). The packet format of iBeacon is as below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwshlpZb5XyIV9SZBI5sVATr8rHdP8-REvy8UvPPIwwG3zCBKUxpfo371YI4V5N4UkwAhUyfd_x8_mKdP65E2zKLxBH59nws-WdanOCdLqJLOcCacmi4TczZw8IC1WUs_84Nl2lg3-Lok/s1600/ibeacon_packet_format.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwshlpZb5XyIV9SZBI5sVATr8rHdP8-REvy8UvPPIwwG3zCBKUxpfo371YI4V5N4UkwAhUyfd_x8_mKdP65E2zKLxBH59nws-WdanOCdLqJLOcCacmi4TczZw8IC1WUs_84Nl2lg3-Lok/s1600/ibeacon_packet_format.png" height="88" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
In the source code of TI CC254x, we can find the advertisement data, which is called static uint8 advertData[]. The iBeacon code and simple explanations are:<br />
<!-- HTML generated using hilite.me --><br />
<div style="background: #ffffff; border-width: .1em .1em .1em .8em; border: solid gray; overflow: auto; padding: .2em .6em; width: auto;">
<table><tbody>
<tr><td><pre style="line-height: 125%; margin: 0;"> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21</pre>
</td><td><pre style="background: #f5f5f5; line-height: 125%; margin: 0;"><span style="color: #888888;">// GAP - Advertisement data (max size = 31 bytes, we use 30 bytes) </span>
<span style="color: #008800; font-weight: bold;">static</span> uint8 advertData[] <span style="color: #333333;">=</span>
{
<span style="color: #005588; font-weight: bold;">0x02</span>, <span style="color: #888888;">// length of first data structure (2 bytes excluding length byte) </span>
<span style="color: #005588; font-weight: bold;">0x01</span>, <span style="color: #888888;">// AD Type = Flags </span>
<span style="color: #005588; font-weight: bold;">0x1A</span>, <span style="color: #888888;">// Flags value </span>
<span style="color: #005588; font-weight: bold;">0x1A</span>, <span style="color: #888888;">// length of second data structure (26 excluding length byte) </span>
<span style="color: #005588; font-weight: bold;">0xFF</span>, <span style="color: #888888;">// GAP_ADTYPE_MANUFACTURER_SPECIFIC </span>
<span style="color: #005588; font-weight: bold;">0x4c</span>, <span style="color: #005588; font-weight: bold;">0x00</span>, <span style="color: #888888;">// Company ID (0x4C00 = Apple) </span>
<span style="color: #005588; font-weight: bold;">0x02</span>, <span style="color: #005588; font-weight: bold;">0x15</span>, <span style="color: #888888;">// iBeacon AD indicator </span>
<span style="color: #888888;">// Device UUID (16 bytes) </span>
<span style="color: #005588; font-weight: bold;">0xB9</span>, <span style="color: #005588; font-weight: bold;">0x40</span>, <span style="color: #005588; font-weight: bold;">0x7F</span>, <span style="color: #005588; font-weight: bold;">0x30</span>, <span style="color: #005588; font-weight: bold;">0xF5</span>, <span style="color: #005588; font-weight: bold;">0xF8</span>, <span style="color: #005588; font-weight: bold;">0x46</span>, <span style="color: #005588; font-weight: bold;">0x6E</span>,
<span style="color: #005588; font-weight: bold;">0xAF</span>, <span style="color: #005588; font-weight: bold;">0xF9</span>, <span style="color: #005588; font-weight: bold;">0x25</span>, <span style="color: #005588; font-weight: bold;">0x55</span>, <span style="color: #005588; font-weight: bold;">0x6B</span>, <span style="color: #005588; font-weight: bold;">0x57</span>, <span style="color: #005588; font-weight: bold;">0xFE</span>, <span style="color: #005588; font-weight: bold;">0x6D</span>,
<span style="color: #005588; font-weight: bold;">0x00</span>, <span style="color: #005588; font-weight: bold;">0x01</span>, <span style="color: #888888;">// Major No. for a group of beacons </span>
<span style="color: #005588; font-weight: bold;">0x00</span>, <span style="color: #005588; font-weight: bold;">0x01</span>, <span style="color: #888888;">// Minor No. for each beacon </span>
<span style="color: #005588; font-weight: bold;">0xC5</span>, <span style="color: #888888;">// -59 dBm TX power </span>
};
</pre>
</td></tr>
</tbody></table>
</div>
<br />
<br />
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com2tag:blogger.com,1999:blog-1227311137903221552.post-42076541688864538832014-09-14T16:43:00.000-07:002015-03-15T05:14:32.580-07:00Sending Data through UART USB dongle on Mac OS X The Universal Asynchronous Receiver/Transmitter (UART) is a hardware that enables data transmission between parallel and serial form. Common UART communication protocols include <a href="http://en.wikipedia.org/wiki/RS-232" style="background: none rgb(255, 255, 255); color: #0b0080; font-family: sans-serif; font-size: 14px; line-height: 22.3999996185303px; text-decoration: none;" title="RS-232">RS-232</a><span style="background-color: white; color: #252525; font-family: sans-serif; font-size: 14px; line-height: 22.3999996185303px;">, </span><a href="http://en.wikipedia.org/wiki/RS-422" style="background: none rgb(255, 255, 255); color: #0b0080; font-family: sans-serif; font-size: 14px; line-height: 22.3999996185303px; text-decoration: none;" title="RS-422">RS-422</a><span style="background-color: white; color: #252525; font-family: sans-serif; font-size: 14px; line-height: 22.3999996185303px;"> or </span><a href="http://en.wikipedia.org/wiki/RS-485" style="background: none rgb(255, 255, 255); color: #0b0080; font-family: sans-serif; font-size: 14px; line-height: 22.3999996185303px; text-decoration: none;" title="RS-485">RS-485</a>. I believe engineers who have lived in PC-era have used this cable before:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMU6tJ1js2PrPPV5o3_JirhH3YQvD8CbI-DWfoEoC64KGv8vn6vjWiVx8SxNzkI4RsUUK0XbbtpJpy5lmmbHqXLBz_SYq9Z5fyNcKrMSaA2CDPJs3JN-b_uxkPLGn0n4jtlJZ6eUA4aGo/s1600/db9-laplink-cable-2m_ies10242.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMU6tJ1js2PrPPV5o3_JirhH3YQvD8CbI-DWfoEoC64KGv8vn6vjWiVx8SxNzkI4RsUUK0XbbtpJpy5lmmbHqXLBz_SYq9Z5fyNcKrMSaA2CDPJs3JN-b_uxkPLGn0n4jtlJZ6eUA4aGo/s1600/db9-laplink-cable-2m_ies10242.jpg" height="145" width="200" /></a></div>
<br />
<br />
<br />
Today's computer no longer has RS-232 port. Fortunately, UART still exist in our life, just in different form:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_0crzSVdUjL4uXvtL94ByOHwruXrna7JeFak4KMWslAlIUAqPuYIwciZSgmma5Kh55lWSYyC0qOXJIcg13__s0fygpvQWxHEdOVEtcKUogsbRu-Vswrs-yYwNtMXtf-ClT-QwHmniIM/s1600/USB-UART.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_0crzSVdUjL4uXvtL94ByOHwruXrna7JeFak4KMWslAlIUAqPuYIwciZSgmma5Kh55lWSYyC0qOXJIcg13__s0fygpvQWxHEdOVEtcKUogsbRu-Vswrs-yYwNtMXtf-ClT-QwHmniIM/s1600/USB-UART.jpg" height="149" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
This is USB-UART dongle made by FTDI chip. The chip on the board emulates a UART port so we can still use old technology to communicate with new chip, such as TI's Bluetooth Low Energy (BLE) chip CC2540.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So how can we connect to USB-UART? Actually Mac OS X has a command "<b>Screen</b>". Just open an terminal and follow the steps below:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
1. list the USB-UART device:</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDoXc2jldHsccbW6mhyphenhyphenkrWkfGMA3L-QKFiBpIK288v18ftkLLeMqy9S3RMLYsUjxyj2E1GMmRwlZlDreQxTlawbR7zXbtVqF_TqpwoRjKwm3NJiTGct7o3qb6pkMRTCUQejPK2caQQ04EP/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ ls /dev/cu.*
/dev/cu.Bluetooth-Modem /dev/cu.usbserial
</code></pre>
<div class="separator" style="clear: both; text-align: left;">
<b> </b>This command will list the connected devices on your Mac. Our target is usbserial</div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
2. Connect to the device, simple type the "screen" and baud rate:</div>
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDoXc2jldHsccbW6mhyphenhyphenkrWkfGMA3L-QKFiBpIK288v18ftkLLeMqy9S3RMLYsUjxyj2E1GMmRwlZlDreQxTlawbR7zXbtVqF_TqpwoRjKwm3NJiTGct7o3qb6pkMRTCUQejPK2caQQ04EP/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> $ screen /dev/cu.usbserial 115200
</code></pre>
<div class="separator" style="clear: both; text-align: left;">
<b> </b>The number 115200 is the baud rate used to communicate between two devices</div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
3. To leave the screen, type <b>CTRL-A</b> then <b>CTRL-\ </b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
Also there are many GUI tool can be used. I recommend using CoolTerm:</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://freeware.the-meiers.org/">http://freeware.the-meiers.org/</a> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
A good Coolterm tutorial can be found here:</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://learn.sparkfun.com/tutorials/terminal-basics/coolterm-windows-mac-linux">https://learn.sparkfun.com/tutorials/terminal-basics/coolterm-windows-mac-linux</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://dlnmh9ip6v2uc.cloudfront.net/assets/5/4/5/5/2/521e8e27757b7fde778b456a.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://dlnmh9ip6v2uc.cloudfront.net/assets/5/4/5/5/2/521e8e27757b7fde778b456a.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
CoolTerm is written in VB and can also be run on multiple platforms (Windows & Linux), which is a very convenient feature.</div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-45310343405832507482014-08-29T10:30:00.002-07:002015-06-28T21:20:20.128-07:00Simple Windows UI Automation (Controlling other windows or processes ) by Using AutoIt or C#Although few people are talking Windows programming nowadays, Windows Automation is still useful. I currently studied several ways to do Windows automation for factory automation or controlling POS (Point-of-Sales). All methods are calling Windows APIs (e.g. FindWindow & SendMessage), but using different wrapper.<br />
<br />
The simplest way is to use AutoIt, which is a great wrapper for Windows API. It also has a built-in Window Info Tool:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ3dNbpQVU-nEv3zVBepiOk0AjlPCVhNJFqUzS5NnU3MEfg82-hcRhpTOaCLfC7Dpi4A1W9t2yaQ6n5ATgoMMSrvcbFrL_Fz-cLVLXhBcMzIM0M28emof8mn2Ibka53G41ff_EGrYhWOU/s1600/AutoItWinInfo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ3dNbpQVU-nEv3zVBepiOk0AjlPCVhNJFqUzS5NnU3MEfg82-hcRhpTOaCLfC7Dpi4A1W9t2yaQ6n5ATgoMMSrvcbFrL_Fz-cLVLXhBcMzIM0M28emof8mn2Ibka53G41ff_EGrYhWOU/s1600/AutoItWinInfo.png" height="260" width="400" /></a></div>
<br />
With a few lines you can write an automation script. For example, we call a notepad window, wait for its show-up, send text to it and then close it without saving:<br />
<pre class="lang-cs prettyprint prettyprinted" style="background: rgb(238, 238, 238); border: 0px; line-height: 17.8048000335693px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">Run</span>(<span style="color: #990000;">"notepad.exe")</span></span></div>
<div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">WinWaitActive</span>(<span style="color: #990000;">"Untitled - Notepad"</span>)</span></div>
<div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">Send</span>(<span style="color: #990000;">"This is some text."</span>)</span></div>
<div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">WinClose</span>(<span style="color: #990000;">"Untitled - Notepad"</span>)</span></div>
<div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">WinWaitActive</span>(<span style="color: #990000;">"Notepad"</span>, <span style="color: #990000;">"Do you want to save"</span>);</span></div>
<div style="line-height: normal; white-space: normal;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="color: #76a5af;">Send</span>(<span style="color: #990000;">"!n"</span>) <span style="color: #666666;">//Alt-n to quit notepad without saving </span></span></div>
</pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8Ww0MY3vHOVAufXKRLXHt_NoFk6ZZcetkZ8r-77UjEgqEaVlHlD236IZ6ST6CBEJwMrYEx6VUFFnHm0ZT5_rziMC0ko80Gf72ybqejt4c2W6f4qd_E7KtEdUWhqFBWB1d0i2-tdkyuT8/s1600/AutoItNotepad.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8Ww0MY3vHOVAufXKRLXHt_NoFk6ZZcetkZ8r-77UjEgqEaVlHlD236IZ6ST6CBEJwMrYEx6VUFFnHm0ZT5_rziMC0ko80Gf72ybqejt4c2W6f4qd_E7KtEdUWhqFBWB1d0i2-tdkyuT8/s1600/AutoItNotepad.jpg" height="223" width="400" /></a></div>
<br />
<div>
<br /></div>
Although we can totally build an application by using AutoIt, most of the time we still want to control other Windows through our own program. Here is an example in C#.<br />
<br />
<pre class="lang-cs prettyprint prettyprinted" style="background: rgb(238, 238, 238); border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.8048000335693px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> hWnd </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Zero</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">;</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">foreach</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Process</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> pList </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">in</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Process</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">GetProcesses</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">())</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">{</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">if</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">pList</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">MainWindowTitle</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Contains</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">wName</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">))</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
hWnd </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> pList</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">MainWindowHandle</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">;</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">}</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">return</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> hWnd</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">;</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="com" style="background: transparent; border: 0px; color: grey; margin: 0px; padding: 0px; vertical-align: baseline;">//Note: may be zero if can't find a matched title</span></code></pre>
<br />
Or we can call Windows API directly in C#. For wait for Window Active, we can use a timer to find window periodically:<br />
<pre class="lang-cs prettyprint prettyprinted" style="background: rgb(238, 238, 238); border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.8048000335693px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">DllImport</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">"user32.dll"</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">EntryPoint</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">"FindWindowEx"</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">)]</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">public</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">static</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">extern</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">FindWindowEx</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> hwndParent</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> hwndChildAfter</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">string</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> lpszClass</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">string</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> lpszWindow</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">DllImport</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">"User32.dll"</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">)]</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">public</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">static</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">extern</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">int</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">SendMessage</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> hWnd</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">int</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> uMsg</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">int</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> wParam</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">string</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> lParam</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span></code></pre>
<pre class="lang-cs prettyprint prettyprinted" style="background: rgb(238, 238, 238); border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.8048000335693px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">private</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">void</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> timer1_tick</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">object</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> sender</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">EventArgs</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> e</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">)</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">{</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Process</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[]</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> notepads </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">= </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Process</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">GetProcessesByName</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">"notepad"</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">if</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">notepads</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Length</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">==</span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">) </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">return</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">;</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> else timer1.enabled=false;
</span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">if</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">notepads</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">]</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">!=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">null</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">)</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">{</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> child </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">FindWindowEx</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">notepads</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">].</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">MainWindowHandle</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">new</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">IntPtr</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">),</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">"Edit"</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">null</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">SendMessage</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">child</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0x000C</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="lit" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">0</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> textBox1</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Text</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">}</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">}</span></code></pre>
For program like Notepad, it's better to find process first, because the title of window is changed by it's content.<br />
<br />
There is a great Windows message APIs wrapper for using WM_DATACOPY called MessageHelper :<br />
<a href="https://gist.github.com/BoyCook/5075907">https://gist.github.com/BoyCook/5075907</a><br />
<br />
More advanced UI automation tricks can be found in:<br />
<b><a href="http://msdn.microsoft.com/en-us/library/ms753326(v=vs.110).aspx">UI Automation Clients for Managed Code</a></b><br />
<br />
One important application of Windows Automation is to send inputs (keys or mouse clicks) to background Windows. However, I didn't found an effective way to do this task. SendMessage or PeekMessage not always work. The current method I am using is to set my application on top, call "<span style="color: #3d85c6;">SetForegroundWindow</span>" and "<span style="color: #3d85c6;">SendKeys</span>". For mouse clicks, I'm still looking for effective method.<br />
<br />
<span style="color: #6aa84f; font-family: Verdana, sans-serif; font-size: x-small;">// import the function in your class</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">[<span style="color: #3d85c6;">DllImport </span>("<span style="color: #990000;">User32.dll</span>")]</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">static extern int SetForegroundWindow(<span style="color: #3d85c6;">IntPtr </span>point);</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><br />
<span style="color: #6aa84f;">// Find the target process and send keys</span></span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span style="color: #3d85c6;">Process </span>p = <span style="color: #3d85c6;">Process</span>.GetProcessesByName("<span style="color: #990000;">notepad</span>").FirstOrDefault();</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">if (p != null)</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">{</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"> <span style="color: #3d85c6;">IntPtr </span>h = p.MainWindowHandle;</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"> SetForegroundWindow(h);</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"> <span style="color: #3d85c6;">SendKeys</span>.Send("{F1}");</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;"> <span style="color: #3d85c6;">SendKeys</span>.SendWait("{Enter}");</span><br />
<span style="font-family: Verdana, sans-serif; font-size: x-small;">}</span>K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-16034660036682861782014-08-26T09:13:00.001-07:002014-09-03T22:08:13.498-07:00Using HTTP basicAuth, bodyParser, cookieParser and other modules in ExpressJS 4.0ExpressJS 4.0 removes all middlewares and make them independent packages. Therefore we cannot use ExpressJS 3.0 code directly. For basicAuth, some people implement their own version of HTTP basic authentication. But I think the easiest way is to use <b>npm</b> to install "<b>basic-auth-connect</b>" module:<br />
<br />
<pre class="lang-js prettyprint prettyprinted" style="background: rgb(238, 238, 238); border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"><span class="kwd" style="background: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;">var</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> basicAuth </span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> require</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">'basic-auth-connect'</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">);</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
app</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">use</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">basicAuth</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">(</span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">'username'</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">,</span><span class="pln" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="str" style="background: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;">'password'</span><span class="pun" style="background: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">));</span></code></pre>
<br />
Follow the same rule, just install the necessary modules then we can use the old 3.0 codes! But the names of the new modules are different from original ones. The complete mapping table is as below (thanks to <a href="http://scotch.io/bar-talk/expressjs-4-0-new-features-and-upgrading-from-3-0"> Chris Sevilleja</a>):<br />
<br />
<table class="table table-striped table-bordered table-hover" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #333333; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; margin-bottom: 21px; max-width: 100%; width: 828px;"><thead style="box-sizing: border-box;">
<tr style="box-sizing: border-box;"><td style="border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-left-color: rgb(221, 221, 221); border-left-style: solid; border-right-color: rgb(221, 221, 221); border-right-style: solid; border-width: 0px 1px 2px; box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">Express 3.0 Name</td><td style="border-bottom-color: rgb(221, 221, 221); border-bottom-style: solid; border-left-color: rgb(221, 221, 221); border-left-style: solid; border-right-color: rgb(221, 221, 221); border-right-style: solid; border-width: 0px 1px 2px; box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">Express 4.0 Name</td></tr>
</thead><tbody style="box-sizing: border-box;">
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">bodyParser</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/body-parser" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">body-parser</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">compress</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/compression" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">compression</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">cookieSession</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/cookie-session" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">cookie-session</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">logger</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/morgan" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">morgan</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">cookieParser</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/cookie-parser" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">cookie-parser</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">session</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/session" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">express-session</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">favicon</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/favicon" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">static-favicon</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">response-time</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/response-time" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">response-time</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">error-handler</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/errorhandler" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">errorhandler</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">method-override</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/method-override" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">method-override</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">timeout</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/timeout" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">connect-timeout</a></td></tr>
<tr style="box-sizing: border-box;"><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">vhost</td><td style="border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/vhost" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">vhost</a></td></tr>
<tr style="box-sizing: border-box;"><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;">csrf</td><td style="background-color: #f9f9f9; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; line-height: 1.42857143; padding: 8px; vertical-align: top;"><a href="https://github.com/expressjs/csurf" style="background: transparent; box-sizing: border-box; color: #008cba; text-decoration: none;" target="_blank">csurf</a></td></tr>
</tbody></table>
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-89049747637263310912014-07-26T10:43:00.000-07:002014-09-03T22:00:53.146-07:00Configure MATLAB MEX compiler on OSX by Using clang/clang++The MATLAB mex cannot be directly run on OSX, due to the Apple's proprietary C/C++ compiler. Therefore we need to modify mex config file. There are many ways to achieve this. My steps are as following:<br />
<br />
1. Run "mex -setup" in MATLAB, you will see the options:<br />
<br />
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"><span style="color: #6aa84f;">The options files available for mex are:</span></span><br />
<span style="color: #6aa84f;"><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"> 1: /Applications/MATLAB_R2010a.app/bin/gccopts.sh : </span><br style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 9px; margin: 0px; padding: 0px;" /><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"> Template Options file for building gcc MEX-files</span><br style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 9px; margin: 0px; padding: 0px;" /><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"> </span><br style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 9px; margin: 0px; padding: 0px;" /><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"> 2: /Applications/MATLAB_R2010a.app/bin/mexopts.sh : </span><br style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 9px; margin: 0px; padding: 0px;" /><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 19.799999237060547px;"> Template Options file for building MEX-files via the system ANSI compiler'</span></span><br />
<br />
<br />
2. Select "mexopts.sh" as template. MATLAB will create a copy at your home folder:<br />
"~/MATLAB/R2011b/mexopts.h"<br />
<br />
3. Open "~/MATLAB/R2011b/mexopts.h" and find string "maci64", change <b><span style="color: #6aa84f;">CC='gcc'</span><span style="color: #38761d;"> </span></b>to <b><span style="color: #6aa84f;">CC='clang'</span></b>, and <span style="color: #6aa84f;">CXX='g++'</span> to <span style="color: #6aa84f;">CXX='clang++'</span>:<br />
<br />
<br />
<div class="p1">
<span class="s1">4. MATLAB MEX will complain that </span><span style="background-color: #eeeeee;"><span class="s1">"</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">error</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">:</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"> unknown type name </span><span class="str" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; color: maroon; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">'char16_t' </span><span class="kwd" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; color: darkblue; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">typedef</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"> </span><span class="typ" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; color: #2b91af; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">char16_t</span><span class="pln" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;"> CHAR16_T</span><span class="pun" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">;</span>"</span>. To solve this issue, add the definition in preprocessor flag "-Dchar16_t=uint16_T" :</div>
<div class="p1">
<br /></div>
<div class="p1">
<span style="color: #6aa84f; font-family: Arial, Helvetica, sans-serif;"><span class="s1">COPTIMFLAGS</span><span class="s2">=</span><span class="s3">'</span>-O2 -DNDEBUG -Dchar16_t=uint16_T<span class="s3">'</span></span></div>
<div class="p1">
<span style="color: #6aa84f;"><br /></span></div>
<div class="p1">
<br /></div>
<div class="p1">
4. Restart MATLAB, MEX should work fine!</div>
<div>
<br /></div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-35135434046155456732014-06-03T10:59:00.002-07:002014-09-03T22:08:51.190-07:00Fix vncserver error "code=exited, status=2/INVALIDARGUMENT" on FedoraSometimes if you didn't shutdown your Fedora server cleanly, you will encounter the following error when restarting vncserver:<br />
<br />
<div class="p1">
<b style="background-color: #fff2cc;"><span style="font-family: Times, Times New Roman, serif;">vncserver.service - LSB: start|stop|restart|try-restart|status|force-reload vncserver</span></b></div>
<div class="p1">
<b style="background-color: #fff2cc;"><span style="font-family: Times, Times New Roman, serif;"><span class="Apple-tab-span"> </span> Loaded: loaded (/etc/rc.d/init.d/vncserver)</span></b></div>
<div class="p1">
<span style="background-color: #fff2cc;"><span style="font-family: Times, Times New Roman, serif;"><b><span class="Apple-tab-span"> </span> Active: </b><span class="s1"><b><span style="color: red;">failed</span></b></span><b> since Tue, 03 Jun 2014 11:08:08 -0400; 2h 14min ago</b></span></span></div>
<div class="p1">
<span style="background-color: #fff2cc;"><span style="font-family: Times, Times New Roman, serif;"><b><span class="Apple-tab-span"> </span> Process: 2145 ExecStart=/etc/rc.d/init.d/vncserver start </b><span class="s1"><b>(<span style="color: red;">code=exited, status=2/INVALIDARGUMENT</span>)</b></span></span></span></div>
<br />
<div class="p1">
<b style="background-color: #fff2cc;"><span style="font-family: Times, Times New Roman, serif;"><span class="Apple-tab-span"> </span> CGroup: name=systemd:/system/vncserver.service</span></b></div>
<div class="p1">
<b style="background-color: #fff2cc;"><br /></b></div>
<div class="p1">
<b style="background-color: white;">To solve this issue, just go to </b> /tmp/.X11-unix and remove directories X[1-9]. Don't remove X0, that's your console session. You will be cool again!</div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-51729885591829046812013-12-29T17:30:00.002-08:002014-09-03T22:08:51.193-07:00Setup VNC server on FedoraThe VNC server can support multi-user desktops and is very useful for Linux system (On Windows I prefer to use Teamviewer). There is a great tutorial written by <a href="http://www.techrepublic.com/blog/linux-and-open-source/linux-101-easy-vnc-server-setup/">Jack Wallen</a>. However on Fedora there is minor difference on setting up firewall. The steps of setting up VNC server on Fedora is listed below:<br />
<br />
1. Install VNC server<br />
<pre><span style="background-color: #eeeeee;">yum -y install tigervnc-server</span>
</pre>
<pre></pre>
<pre></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">2. Add VNC user</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">su vncuser1</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">vncpasswd</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">3. Edit VNC config file</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">sudo vim /etc/sysconfig/vncservers</span></pre>
<pre><span style="font-family: Times, 'Times New Roman', serif;">add the following lines:</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 12px; white-space: pre-wrap;">VNCSERVERS="1:vncuser1 2:vncuser2 "</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 12px; white-space: pre-wrap;">VNCSERVERARGS[1]="-geometry 1800x1200"</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: 12px; white-space: pre-wrap;">VNCSERVERARGS[1]="-geometry 1440x960"</span></pre>
<pre></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">4. Start VNC server</span></pre>
<pre><span style="background-color: #eeeeee; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">sudo service vncserver start</span></pre>
<br />
<br />
5. Enable firewall port 5901 by running config (Note editing iptable doesn't work on Fedora). Remember to add port 5902 for second user.<br />
<pre><span style="background-color: #eeeeee;">sudo system-config-firewall</span></pre>
<br />
<pre><pre><span style="background-color: white;">
</span></pre>
</pre>
<pre><span style="font-family: Times, Times New Roman, serif;">6. Connect with VNC viewer (I use Mac version). Remember to add :1 after your IP address!</span></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=1227311137903221552" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DG8BC2Zu-WzGW32Nh8-Utppv9HD443m1dyJ5Y0WNpmAR5xyuYRbrl8meJORui_YiYmiSjXUtDBHhp1G3gfQaDWumI0-FaAS1sqroQDkkpybZnpvP6dPkh7U5qhfHaImL0SDPQ5q8-Ho/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7+2014-06-04+%E4%B8%8A%E5%8D%881.40.42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7DG8BC2Zu-WzGW32Nh8-Utppv9HD443m1dyJ5Y0WNpmAR5xyuYRbrl8meJORui_YiYmiSjXUtDBHhp1G3gfQaDWumI0-FaAS1sqroQDkkpybZnpvP6dPkh7U5qhfHaImL0SDPQ5q8-Ho/s1600/%E8%9E%A2%E5%B9%95%E5%BF%AB%E7%85%A7+2014-06-04+%E4%B8%8A%E5%8D%881.40.42.png" height="209" width="320" /></a></div>
<pre><div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
</div>
</pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre><span style="font-family: Times, Times New Roman, serif;">
</span></pre>
<pre></pre>
<pre></pre>
<pre></pre>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-23595172189468245672013-07-14T14:56:00.001-07:002014-09-03T22:01:51.295-07:00Using LIBSVM with OpenCV Mat <br />
<div style="font-family: Menlo; font-size: 11px;">
LIBSVM is the most popular machine learning tool developed by C. J. Lin at National Taiwan University (<a href="http://www.csie.ntu.edu.tw/~cjlin/libsvm/">http://www.csie.ntu.edu.tw/~cjlin/libsvm/</a>). This code demonstrates how to load a data matrix in CSV format using OpenCV, and allocates LIBSVM data structure to do SVM predict. </div>
<div style="color: #78492a; font-family: Menlo; font-size: 11px;">
<br /></div>
<div style="color: #78492a; font-family: Menlo; font-size: 11px;">
<br /></div>
<div style="color: #78492a; font-family: Menlo; font-size: 11px;">
#include <span style="color: #d12f1b;">"svm.h"</span></div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #78492a;">#include </span><iostream></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #78492a;">#include </span>"opencv2/opencv.hpp"</div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #78492a;">#include </span>"opencv2/highgui/highgui.hpp"</div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #78492a;">#include </span>"opencv2/ml/ml.hpp"</div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #78492a;">#include </span><iostream></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="color: #bb2ca2; font-family: Menlo; font-size: 11px;">
using<span style="color: black;"> </span>namespace<span style="color: black;"> </span><span style="color: #703daa;">cv</span><span style="color: black;">;</span></div>
<div style="color: #bb2ca2; font-family: Menlo; font-size: 11px;">
using<span style="color: black;"> </span>namespace<span style="color: black;"> </span><span style="color: #703daa;">std</span><span style="color: black;">;</span></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">const</span><span style="color: black;"> </span><span style="color: #bb2ca2;">char</span><span style="color: black;"> *CSV_FILE = </span>"/Users/kuanting/libsvm-3.17/heart_scale.csv"<span style="color: black;">;</span></div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">const</span><span style="color: black;"> </span><span style="color: #bb2ca2;">char</span><span style="color: black;"> *MODEL_FILE = </span>"/Users/kuanting/libsvm-3.17/heart_scale.model"<span style="color: black;">;</span></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<br /></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">int</span> main(<span style="color: #bb2ca2;">int</span> argc, <span style="color: #bb2ca2;">char</span> * argv[])</div>
<div style="font-family: Menlo; font-size: 11px;">
{</div>
<div style="color: #008400; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> </span><span style="color: #703daa;">CvMLData</span> dataFile;</div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
</div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
<span style="color: #008400;">// Load matrix data in csv format</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">if</span> (dataFile.<span style="color: #3d1d81;">read_csv</span>(<span style="color: #4f8187;">CSV_FILE</span>) != <span style="color: #272ad8;">0</span>)</div>
<div style="font-family: Menlo; font-size: 11px;">
{</div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> </span><span style="color: #3d1d81;">fprintf</span><span style="color: black;">(</span><span style="color: #78492a;">stderr</span><span style="color: black;">, </span>"Can't read csv file %s\n"<span style="color: black;">, </span><span style="color: #4f8187;">CSV_FILE</span><span style="color: black;">);</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">return</span> -<span style="color: #272ad8;">1</span>;</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #703daa;">Mat</span> dataMat(dataFile.<span style="color: #3d1d81;">get_values</span>()); <span style="color: #008400;">// Default data type is float</span></div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">struct</span> <span style="color: #4f8187;">svm_model</span> *SVMModel;</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">if</span> ((SVMModel = <span style="color: #31595d;">svm_load_model</span>(<span style="color: #4f8187;">MODEL_FILE</span>)) == <span style="color: #272ad8;">0</span>) {</div>
<div style="color: #d12f1b; font-family: Menlo; font-size: 11px;">
<span style="color: black;"> </span><span style="color: #3d1d81;">fprintf</span><span style="color: black;">(</span><span style="color: #78492a;">stderr</span><span style="color: black;">, </span>"Can't load SVM model %s"<span style="color: black;">, </span><span style="color: #4f8187;">MODEL_FILE</span><span style="color: black;">);</span></div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">return</span> -<span style="color: #272ad8;">2</span>;</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div style="font-family: Menlo; font-size: 11px; min-height: 13px;">
</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">struct</span> <span style="color: #4f8187;">svm_node</span> *svmVec;</div>
<div style="font-family: Menlo; font-size: 11px;">
svmVec = (<span style="color: #bb2ca2;">struct</span> <span style="color: #4f8187;">svm_node</span> *)<span style="color: #3d1d81;">malloc</span>((dataMat.<span style="color: #703daa;">cols</span>+<span style="color: #272ad8;">1</span>)*<span style="color: #bb2ca2;">sizeof</span>(<span style="color: #bb2ca2;">struct</span> <span style="color: #4f8187;">svm_node</span>));</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">double</span> *predictions = <span style="color: #bb2ca2;">new</span> <span style="color: #bb2ca2;">double</span>[dataMat.<span style="color: #703daa;">rows</span>];</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">float</span> *dataPtr = dataMat.<span style="color: #3d1d81;">ptr</span><<span style="color: #bb2ca2;">float</span>>(); <span style="color: #008400;">// Get data from OpenCV Mat</span><br />
<div style="color: #008400;">
<span style="color: black;"> </span><span style="color: #bb2ca2;">double</span><span style="color: black;"> prob_est[</span><span style="color: #272ad8;">2</span><span style="color: black;">]; </span>// Probability estimation</div>
<span style="color: #bb2ca2;">int</span> r, c;<br />
<span style="color: #bb2ca2;">for</span> (r=<span style="color: #272ad8;">0</span>; r<dataMat.<span style="color: #703daa;">rows</span>; r++)<br />
{<br />
<span style="color: #bb2ca2;">for</span> (c=<span style="color: #272ad8;">0</span>; c<dataMat.<span style="color: #703daa;">cols</span>; c++)<br />
{<br />
<div style="color: #008400;">
<span style="color: black;"> svmVec[c].</span><span style="color: #4f8187;">index</span><span style="color: black;"> = c+</span><span style="color: #272ad8;">1</span><span style="color: black;">; </span>// Index starts from 1; Pre-computed kernel starts from 0</div>
svmVec[c].<span style="color: #4f8187;">value</span> = dataPtr[r*dataMat.<span style="color: #703daa;">cols</span> + c];<br />
}<br />
svmVec[c].<span style="color: #4f8187;">index</span> = -<span style="color: #272ad8;">1</span>; <span style="color: #008400;">// End of line</span><br />
<div style="min-height: 13px;">
</div>
<div style="color: #31595d;">
<span style="color: black;"> </span><span style="color: #bb2ca2;">if</span><span style="color: black;">(</span>svm_check_probability_model<span style="color: black;">(SVMModel))</span></div>
{<br />
predictions[r] = <span style="color: #31595d;">svm_predict_probability</span>(SVMModel, svmVec, prob_est);<br />
<span style="color: #3d1d81;">printf</span>(<span style="color: #d12f1b;">"%f\t%f\t%f\n"</span>, predictions[r], prob_est[<span style="color: #272ad8;">0</span>], prob_est[<span style="color: #272ad8;">1</span>]);<br />
}<br />
<span style="color: #bb2ca2;">else</span><br />
{<br />
predictions[r] = <span style="color: #31595d;">svm_predict</span>(SVMModel, svmVec);<br />
<span style="color: #3d1d81;">printf</span>(<span style="color: #d12f1b;">"%f\n"</span>, predictions[r]);<br />
}<br />
}<br />
<div>
</div>
</div>
<div style="font-family: Menlo; font-size: 11px;">
<span style="color: #bb2ca2;">return</span> <span style="color: #272ad8;">0</span>;</div>
<div style="font-family: Menlo; font-size: 11px;">
}</div>
<div>
<br /></div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com3tag:blogger.com,1999:blog-1227311137903221552.post-39519780597653110922013-07-02T12:26:00.001-07:002014-09-17T00:47:58.813-07:00Using SCP on MAC with Filename Containing SpacesThis is a little tricky so it's worth posting:<br />
<br />
<br />
<pre style="background-color: #f6f6f6; border-left-color: rgb(224, 178, 178); border-left-style: solid; border-left-width: 2px; color: #666666; font-family: 'Source Code Pro', Menlo, Monaco; font-size: 16px; line-height: 25px; margin-left: 10px; padding: 10px;"><code style="font-family: 'Source Code Pro', Menlo, Monaco; font-size: 14px;">scp user@host:"'/Path/Some Filename With Spaces'" [destination]</code></pre>
<br />
<br />
Note that we need to use " + ' to brace the Path, or the SCP will print error "scp: ambiguous target"K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-85653350283187435392013-06-25T14:05:00.001-07:002014-09-03T22:08:51.196-07:00Convert File Glob to Regular ExpressionThe tips of converting file glob to regular expression are extracted from following website<br />
<a href="http://www.proftpd.org/docs/howto/Regex.html">http://www.proftpd.org/docs/howto/Regex.html</a><br />
Thanks to <span style="background-color: white;">Jan Borsodi for the good tutorial. The tips are as follows:</span><br />
<br />
<br />
<b>Wildcards</b><br />For people who have some knowledge with wildcards (also known as <i>file globs</i> or <i>file globbing</i>), I'll give a brief explanation on how to convert them to <i>regular expressions</i>. After reading this article, you probably have seen the similarities with wildcards. For instance:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>*.jpg</code></td></tr>
</tbody></table>
<br />
matches any text which end with <code><b>.jpg</b></code>. You can also specify brackets with characters, as in:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>*.[ch]pp</code></td></tr>
</tbody></table>
<br />
matches any text which ends in <code><b>.cpp</b></code> or <code><b>.hpp</b></code>. Altogether very similar to regular expressions.<br />
The <code><b>*</b></code> means match zero or more of anything in wildcards. As we learned, we do this is regular expression with the punctuation mark and the <code><b>*</b></code> quantifier. This gives:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>.*</code></td></tr>
</tbody></table>
<br />
Also remember to convert any punctuation marks from wildcards to be backslashified.<br />
The <code><b>?</b></code> means match any character but do match <b>something</b>. This is exactly what the punctuation mark does.<br />
Square brackets can be used untouched since they have the same meaning going from wildcards to regular expressions.<br />
These leaves us with:<br />
<ul>
<li>Replace any <code><b>*</b></code> characters with <code><b>.*</b></code></li>
<li>Replace any <code><b>?</b></code> characters with <code><b>.</b></code></li>
<li>Leave square brackets as they are.</li>
<li>Replace any characters which are metacharacters with a backslashified version.</li>
</ul>
<b>Examples</b><br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>*.jpg</code></td></tr>
</tbody></table>
<br />
would be converted to:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>.*\.jpg</code></td></tr>
</tbody></table>
<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>ez*.[ch]pp</code></td></tr>
</tbody></table>
<br />
would convert to:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>ez.*\.[ch]pp</code></td></tr>
</tbody></table>
<br />
or alternatively:<br />
<table border="0" style="width: 100%px;"><tbody>
<tr><td bgcolor="#f0f0f0"><code>ez.*\.(cpp|hpp)</code></td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-42175579134109526972013-06-09T13:38:00.005-07:002014-09-03T22:00:53.143-07:00Using MATLAB Local Parallel Computing ToolboxMATLAB Parallel Computing Toolbox can automatically divide tasks of for loop and run multiple instances simultaneously. Just use the "parfor" keyword and MATLAB will do the rest work. However, we usually need to configure MATLAB to make this feature work. The configuration is located at:<br />
Menu -> Parallel -> Manage Configurations...<br />
<br />
The common two issues that prevent running parallel computing are:<br />
1. Unresolved hostname<br />
=> MATLAB use TCP/IP and hostname to connect to clients. Please make sure your hostname mapping is set in /etc/hosts. Use command !hostname in MATLAB to check your hostname<br />
<br />
2. Data Location is not set<br />
=> To set data exchange location, open Menu -> Parallel -> Manage Configurations..., select the local profile, Property... -> set "Folder where Job data is stored (DataLocation)" to [your location] (e.g. /tmp/MATLAB)<br />
<br />
<br />
Other problems include no license of Parallel Computing Toolbox, check it by typing command:<br />
<code style="background-color: #f7f7f7; background-image: none; border: 1px solid rgb(211, 211, 211); display: block; font-size: 12px; line-height: 16px; margin: 0px 0px 20px; padding: 10px;">license checkout Distrib_Computing_Toolbox</code><br />
<div>
Or problem of local mpiexec</div>
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px;">If you are using R2010a or newer, you may experience issues with the new local mpiexec implementation. In that case, try the following command to disable this feature:</span><br />
<code style="background-color: #f7f7f7; background-image: none; border: 1px solid rgb(211, 211, 211); display: block; font-size: 12px; line-height: 16px; margin: 0px 0px 20px; padding: 10px;">distcomp.feature( 'LocalUseMpiexec', false )</code><br />
Refer to <a href="http://www.mathworks.com/support/solutions/en/data/1-C27YO8/index.html?product=SL&solution=1-C27YO8">http://www.mathworks.com/support/solutions/en/data/1-C27YO8/index.html?product=SL&solution=1-C27YO8</a> for more information<br />
<br />
<br />
Moreover, MAC user may encounter the error below:<br />
<span style="color: red;">The class distcomp.typechecker has no property or method named 'getDefaultValue'.</span><br />
<br />
<span style="color: red;">Error in distcomp.configsection (line 50)</span><br />
<span style="color: red;"> obj.PropValue{i} = distcomp.typechecker.getDefaultValue(obj.Types{i});</span><br />
<span style="color: red;"><br /></span>
This is a known bug of MATLAB with Java version. Please refer to MATLAB official site:<br />
<h4>
<span style="font-size: 1.1em; font-weight: normal;">Bug</span><span style="font-size: small;"> <a href="http://www.mathworks.com/support/bugreports/details.html?rp=919688" id="919688" style="background-color: transparent; border: 0px; color: #004aa0; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;">919688</a></span></h4>
<h3 style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 1.1em; line-height: 16px; margin: 0px 0px 8px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
Summary</h3>
<div style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; margin-bottom: 10px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
</div>
<div style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; margin-bottom: 10px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
Parallel Computing Toolbox code fails with Java Virtual Machine update 1.6.0_39</div>
<div style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; margin-bottom: 10px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
</div>
<h3 style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 1.1em; line-height: 16px; margin: 0px 0px 8px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
Description</h3>
<div style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; margin-bottom: 10px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
</div>
<div style="background-color: white; border: 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 15px; margin-bottom: 10px; outline: 0px; padding: 0px; text-align: left; vertical-align: baseline;">
Running any Parallel Computing Toolbox code using a Java Virtual Machine (JVM) version of 1.6.0_39 or later might cause a NullPointerException to be thrown by the JVM. For example:....<br />
<br />
<br />
<div style="font-family: Times; font-size: medium; line-height: normal; text-align: -webkit-auto;">
Follow the instruction on MATLAB, download the JVM and update it. Be careful not to overwrite other files under MATLAB folder!</div>
<div>
<br /></div>
</div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-36538376832236284712013-06-07T13:41:00.000-07:002014-09-17T00:49:05.286-07:00Running OpenCV Program on Linux Cluster without Installing LibrariesComputer Vision programs usually require heavy computing power and are time-consuming. Therefore, we usually need to run our programs on a larger clusters of machines. The problem is, we don't have the administration privilege to install libraries. This article discusses ways of running OpenCV program without installing libraries.<br />
<br />
Supposed we have installed OpenCV on our local linux, the first thought is using a script to copying all shared libraries dependencies from local machine to target clusters. I used the great script "cpld" developed by Hemanth <a href="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCoQFjAA&url=http%3A%2F%2Fh3manth.com%2Fcontent%2Fcopying-shared-library-dependencies&ei=DzWyUYDUCIXQ0wGJ94Ag&usg=AFQjCNEtfkJ9zlr7ie30ZUyeJ47JCYhiKg&sig2=RWUMk3nKqnbkQHqQUJdJXw&bvm=bv.47534661,d.dmQ">Copying shared library<span class="s2"> dependencies | Experiments on GNU/Linux</span></a>:<br />
<br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#!/bin/bash </span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"># Author : Hemanth.HM</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"># Email : hemanth[dot]hm[at]gmail[dot]com</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"># License : GNU GPLv3</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">function useage()</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">{</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"> cat << EOU</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">Useage: bash $0 <path to the binary> <path to copy the dependencies></span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">EOU</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">exit 1</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">}</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#Validate the inputs</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">[[ $# < 2 ]] && useage</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#Check if the paths are vaild</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">[[ ! -e $1 ]] && echo "Not a vaild input $1" && exit 1</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">[[ -d $2 ]] || echo "No such directory $2 creating..."&& mkdir -p "$2"</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#Get the library dependencies</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">echo "Collecting the shared library dependencies for $1..."</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">deps=$(ldd $1 | awk 'BEGIN{ORS=" "}$1\</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">~/^\//{print $1}$3~/^\//{print $3}'\</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"> | sed 's/,$/\n/')</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">echo "Copying the dependencies to $2"</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">#Copy the deps</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">for dep in $deps</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">do</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"> echo "Copying $dep to $2"</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"> cp "$dep" "$2"</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">done</span><br />
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;"><br /></span>
<span style="background-color: white; font-family: Times, Times New Roman, serif; font-size: xx-small;">echo "Done!"</span><br />
<div>
<br /></div>
<br />
However, the method will fail if the gcc complier on local machine is different from target cluster. Another method is to compile libraries on target machine.<br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">1. Download OpenCV source code</span><br />
<span style="font-size: x-small;">2. Under the source folder, execute "mkdir release"</span><br />
<span style="font-size: x-small;">3. Run "cmake -D CMAKE_BUILD_TYPE=release .."</span><br />
<span style="font-size: x-small;">4. Verify the FFMPEG is suppored</span><br />
<span style="font-size: x-small;">5. make</span><br />
<br />
<span style="font-size: x-small;">P.S. In terms of FFMPEG, I used default libraries installed in the cluster to compile OpenCV. But while executing my program, I encounter the error of missing library "libavdevice.so". In order to sovle this issue, I have to re-compile FFMPEG-1.2, which required to link to additional libraries "libavfiler" and "libswresample" in the Makefile. I copied all FFMPEG libraries to the execution folder. Although OpenCV is compiled with older FFMPEG version (.so.52), it works fine with newer FFMPEG libraries (.so.54).</span><br />
<br />
<br />
After complied, all the libraries will be put in opencv/release/lib. But since we don't have root right to install files, the include header files are not ready. To handle this issue, we need to copy our local OpenCV headers to the target machine:<br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">scp -r /usr/lcoal/opencv user@target.com:/opencv/include/</span><br />
<span style="font-size: x-small;">scp -r /usr/lcoal/opencv2 user@target.com:/opencv/include/</span><br />
<div>
<span style="font-size: x-small;"><br /></span></div>
<br />
To compile a program, we just need to assign the include and link paths of OpenCV in make file.<br />
<br />
Finally, we need to export the library for dynamically link at runtime. (new FFMPEG are copied to current folder, so "." is also added to the PATH)<br />
<span style="font-size: x-small;">export LD_LIBRARY_PATH=.:opencv-2.4.5/release/lib</span><br />
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-85470136838680172942013-05-23T14:51:00.000-07:002014-09-17T00:49:19.913-07:00Solve the "recompile with -fPIC" error when compiling OpenCV with FFMPEGThe error happens while one wants to compile OpenCV with FFMPEG on 64 bits linux. Adding the parameter "--enable-pic" is not enough. Both the --enable-shared and --enable-pic need to be included when configuring ffmpeg:<br />
<br />
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
<span style="background-color: #f4f4f4; color: #555555; font-family: Consolas, 'Lucida Console', Monaco, 'Courier New', Courier, monospace; font-size: 13px; line-height: 19px; text-align: left;">./configure --enable-shared --enable-pic</span><br />
<span style="background-color: #f4f4f4; color: #555555; font-family: Consolas, 'Lucida Console', Monaco, 'Courier New', Courier, monospace; font-size: 13px; line-height: 19px; text-align: left;"><br /></span>
<br />
<div style="text-align: left;">
<span style="color: #555555; font-family: Consolas, Lucida Console, Monaco, Courier New, Courier, monospace; font-size: x-small;"><span style="line-height: 19px;">For more details, please refer to :</span></span></div>
<div style="text-align: left;">
<span style="color: #555555; font-family: Consolas, Lucida Console, Monaco, Courier New, Courier, monospace; font-size: x-small;"><span style="line-height: 19px;"><br /></span></span></div>
<div style="text-align: left;">
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
</div>
A Comprehensive Guide to Installing and Configuring OpenCV 2.4.2 on Ubuntu<br />
<a href="http://www.ozbotz.org/opencv-installation/">http://www.ozbotz.org/opencv-installation/</a><br />
<br />
I have successfully compiled on Fedora 64 bits. Good luck.<br />
<br />
<span style="background-color: #f4f4f4; color: #555555; font-family: Consolas, 'Lucida Console', Monaco, 'Courier New', Courier, monospace; font-size: 13px; line-height: 19px; text-align: left;"><br /></span>
<span style="background-color: #f4f4f4; color: #555555; font-family: Consolas, 'Lucida Console', Monaco, 'Courier New', Courier, monospace; font-size: 13px; line-height: 19px; text-align: left;"><br /></span>K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-62444577703096065202013-05-23T14:37:00.001-07:002014-09-03T22:01:51.299-07:00Create links to old OpenCV librariesThanks to Michael C. Hughes, which posted a method to create symbolic links of old OpenCV libraries. Here is the original blog:<br />
http://web.michaelchughes.com/how-to/install-stip-software-with-opencv-v2<br />
<br />
Here is the way to link OpenCV old library (< 2.0) to latest versions :<br />
<br />
<br />
<div style="background-color: white; font-family: verdana; font-size: 13px; line-height: 16px; text-align: left;">
<ul>
<li><span style="font-size: small;"><span style="line-height: 20px;">libcxcore.so.2 ---> l</span></span><span style="font-size: small; line-height: 20px;">ibopencv_core.so</span></li>
<li><span style="font-size: small; line-height: 20px;">libcv.so.2 ---> </span><span style="font-size: small; line-height: 20px;">libopencv_imgproc.so</span></li>
<li><span style="font-size: small; line-height: 20px;">libhighgui.so.2 ---> </span><span style="font-size: small; line-height: 20px;">libopencv_highgui.so</span></li>
<li><span style="font-size: small; line-height: 20px;">libml.so.2 ---> </span><span style="font-size: small; line-height: 20px;">libopencv_ml.so</span></li>
<li><span style="font-size: small; line-height: 20px;">libcvaux.so.2 ---> </span><span style="font-size: small; line-height: 20px;">libopencv_video.so</span></li>
</ul>
<div>
<span style="font-size: small;"><span style="line-height: 20px;">via the commands:</span></span></div>
<div>
<span style="font-size: small;"><span style="line-height: 20px;"><br /></span></span></div>
<div>
</div>
</div>
<div class="sites-codeblock sites-codesnippet-block" style="background-color: #efefef; border: 1px solid rgb(211, 211, 211); font-family: verdana; font-size: 13px; line-height: 1; padding: 0.5em 0px 0.5em 1em; text-align: left;">
<div>
<div>
<span style="color: #006000; font-family: monospace; font-size: small; line-height: 20px;">cd </PATH/TO/OPENCV/lib></span></div>
<div>
<span style="color: #006000; font-family: monospace; font-size: small; line-height: 20px;">ln -s libopencv_core.so libcxcore.so.2</span></div>
</div>
<div>
<span style="font-size: small;"><span style="line-height: 20px;"></span></span><br />
<div>
<span style="font-size: small;"><span style="line-height: 20px;"><code style="color: #006000;">ln -s libopencv_imgproc.so libcv.so.2</code></span></span></div>
<span style="font-size: small;"><span style="line-height: 20px;">
<div>
<code style="color: #006000;">ln -s libopencv_highgui.so libhighgui.so.2</code></div>
<div>
<code style="color: #006000;">ln -s libopencv_ml.so libml.so.2</code></div>
<div>
<code style="color: #006000;">ln -s libopencv_video.so libcvaux.so.2</code></div>
</span></span></div>
</div>
K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0tag:blogger.com,1999:blog-1227311137903221552.post-48526030124431431002013-02-02T09:56:00.000-08:002014-09-17T00:48:11.300-07:00Running Mosek on Mac OS X 10.8 Mountain Lion<span style="font-family: Arial, Helvetica, sans-serif;">Mosek is a commercial <span style="background-color: white; font-size: 13px; text-align: left;">software library for solving large-scale LP, QP, SOCP and MIP problems. </span></span><span style="background-color: white; font-family: Verdana; font-size: 13px; text-align: left;">(</span><a href="http://www.mosek.com/">http://www.mosek.com</a>)<br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">To use the library, the user needs to add the following environment variables:</span><br />
<span style="font-size: x-small;">export DYLD_LIBRARY_PATH= $HOME/mosek/6/tools/platform/osx64x86/bin:$DYLD_LIBRARY_PATH</span><br />
<span style="font-size: x-small;">export MOSEKLM_LICENSE_FILE=$HOME/mosek/6/licenses/mosek.lic</span><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">suppose you put Mosek under your home directory.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Before Mountain Lion, the environment variables were put in <span style="color: #222222; line-height: 16px; text-align: left;"><span style="background-color: #eeeeee;"><span style="font-size: x-small;">.MacOSX/environment.plist</span></span><span style="background-color: white;">. However, this method is no longer supported by OS X 10.8. Therefore, we need to put the variables in </span><span style="background-color: #eeeeee; font-size: x-small;">/etc/profile</span><span style="background-color: white;">, and execute MATLAB from terminal</span></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiirpiFVM38JeHHcE5DLFfV73_KON5EtqTZHbZevvulnRGAs8YCAL6aGj3gLE0ogDiEEL3JRisR35fgPZl3-FdvDv7_7g8NtPi4MOUvtSPPs7Hu10WsB2UCILZyYndxGOvhbpx7gNGRlxs/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2013-02-02+%25E4%25B8%258B%25E5%258D%258812.51.24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiirpiFVM38JeHHcE5DLFfV73_KON5EtqTZHbZevvulnRGAs8YCAL6aGj3gLE0ogDiEEL3JRisR35fgPZl3-FdvDv7_7g8NtPi4MOUvtSPPs7Hu10WsB2UCILZyYndxGOvhbpx7gNGRlxs/s1600/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2013-02-02+%25E4%25B8%258B%25E5%258D%258812.51.24.png" height="459" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Finally, remember to add mosek/6/toolboxs/r2009b into your MATLAB path. Then you can run Mosek on Mac!</div>
<br />K. T. Laihttp://www.blogger.com/profile/15634995764933868990noreply@blogger.com0