Slack provides an official python client module which you can easily work with. It's simple and easy to use. For example, sending a text line to a specific channel is simple enough to call through just one API - api_call("chat.postMessage", channel=channel, text=msg, attachments=attachment, as_user=True) You can also upload a file to a channel. However, when I … Continue reading How to upload a file from slack using SlackClient?
Building WinRT component with WRL(non C++/CX) and cppwinrt
The cppwinrt project focused to consume Microsoft provided OS winrt components and it doesn't support building a winrt component(yet) although they mentioned it will be supported later. Even though it's not technically supported yet, we still can create a winrt component with WRL(pure C++ and non C++/CX) and still can get some benefits from using … Continue reading Building WinRT component with WRL(non C++/CX) and cppwinrt
Beginning the coroutine with Visual Studio 2015 Update 3 Part 1
I recently started using the cppwinrt library which brought chances dealing with the new C++ standard(yet) coroutine. The cppwinrt recommends using C++ coroutines instead of PPL while handling async operations. Refer to the following github issues for more information: https://github.com/Microsoft/cppwinrt/issues/54 https://github.com/Microsoft/cppwinrt/issues/46 Although the coroutine concept itself might feel coming familiar because we're already exposed async … Continue reading Beginning the coroutine with Visual Studio 2015 Update 3 Part 1
[C++/Cx] How can I get the AsyncOperationWithProgress progress?
Windows Runtime provides the HttpClient class along with async APIs. For example, you can send a GET request through the GetAsync(Uri) method. GetAsync() method is an awaitable API so that it returns IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress>^. You will get the HttpResponseMessage by specifying the IAsyncOperationWithProgress to Concurrency::create_task(). However, how can I get the progress? There's no direct … Continue reading [C++/Cx] How can I get the AsyncOperationWithProgress progress?
Generating assembly output from msvc and CMake
Sometimes it's needed or you may require to see the assembly output listing of a C++ snippet code just for the testing purpose. Testing yourself with Jason Turner's session might be the example. If you're using a msvc with Windows environment, then it's quite easy by running the simple command line argument: Let's say we have … Continue reading Generating assembly output from msvc and CMake
Build your own clang example outside of the llvm source tree
Now it’s time to build our own clang standalone tool. The official LibTooling document provides an example code so that I was able to begin with it. How to write CMakeLists.txt for the standalone clang tool? Of course using the cmake is not required, but I wanted to go with it. At first … Continue reading Build your own clang example outside of the llvm source tree
Where’s my ‘llvm/tools/clang/example’ binaries?
Recently I got interests in clang & its library(Libtooling, more specifically) so that I decided to start digging in. However, the first frustration came from while building the clang examples. Download and build the clang source tree Building the clang executable was easy. The Clang website provides instructions and you’ll get the result by just … Continue reading Where’s my ‘llvm/tools/clang/example’ binaries?
Demo app shows std::stable_partition and std::rotate works
https://channel9.msdn.com/Events/GoingNative/2013/Cpp-Seasoning From the beginning of Sean Parent's great C++ talk, he represented two std algorithms people may not be familiar of. It's 'std::stable_partition' and 'std::rotate'. I made a small demo application shows how the two algorithms works. It's Qt5 based application so that you can freely compile and run from Windows, mac or Linux. Grab … Continue reading Demo app shows std::stable_partition and std::rotate works
Running a CCTV Telegram Bot on your Pi
Telepot is a python based telegram bot framework which is lightweight, easy to use and supports all of the up-to-date telegram features. For example, I was able to write a small telegram bot running on Pi2 which takes and sends a photo with only few lines using it. Here … Continue reading Running a CCTV Telegram Bot on your Pi
How to embed the PDFjs into your C# Project
TL;DR https://github.com/pvginkel/PdfiumViewer is recommended if you're okay with just viewing PDFs. If you need more complicated features, then convert the PDF into base64 and pass it to a javascript function which decodes and call the PDFViewerApplication.open which is implemented at viewer.js However, it's really, really slow. The example source is at https://github.com/heejune/WinForm-PDFjs If you needed … Continue reading How to embed the PDFjs into your C# Project