"Nobody exists on purpose. Nobody belongs anywhere. Everybody's gonna die. Come watch TV." -- Morty Smith
Fun
Social
My wordpress
blog and YouTube
channel (not quite regularly maintained)
Software
Disclaimer: All the codes below are provided as is. Please feel free to contact me for any questions/comments/suggestions. Unfortunately, I probably may not be able to reply each email.
Image Processing
Communications/Coding
- Particle based belief propagation: this is a demo of particle based BP for channel noise and source correlation estimation
- Arithmetic Coder: this is a simple demo code I used for teaching arithmetic coding. It is in no way a productive code. Here is my short notes on arithmetic coding.
-
Trellis Soft-Decoder: this is based on belief propagation (forward/backward algorithm). I use this to teach BP. I didn't compare it with other soft decoder. I think it should work as well as BCJR.
Here is some notes describing it.
- LDPC/IRA: a demo code for me to teach LDPC. Running as a jupyter notebook.
Jupyter Notebooks for Teaching
Misc
- File Displayer: a simple Matlab tool to display a text file in a text box. I made it a while ago when I was still using Matlab 6. Maybe there are other commands to do the same thing now. I didn't check.
- Finite Field Toolbox: a toolbox for simple finite field operations.
Tools
Just want to create a list of useful (research or not) "tools" that I use both regularly and occasionally. I also kept a list that I created about a deacade ago. It is interesting to see how things change so much over the years. Maybe I will create another list of my daily used tools a decade later.
List created in 12/2016
- Platforms:
- Ubuntu: I have moved away from Windows for many years now
- VirtualBox: I need this when I need Windows stuff
- Wine: it is handy if the program can be run on wine
- Cloud storage:
- Dropbox: can't survive without this
- Google drive: I don't really like it that much but can't get rid of it because of gmail attachments
- Note-taking and reference managing:
- Write: an android app for hand-written note
- Evernote: a good tools for note. Can sync across platform
- Freeplane: a mindmap software, very handy to organize thought
- Docear: not perfect but my favorite reference manager at the moment
- Typesetting:
- BaKoMa: WYSIWYG latex editor. But it is not free. Not perfect, but it goes very well to produce nice looking slides with beamer. It is great for tikz also
- Kile: for latex editing. Free and good enough
- pdf needs:
- Kami: saving pdf annotations online
- PDF-XChange: a free pdf reader with commenting capability and works on all platforms (needs wine for linux)
- pdftk: cropping and rotating pdf
- xournal: multi-platform and convenient for signing documents
- evince/okular: basic and free readers
- Computing needs:
- SageMath: a great alternative to mathematica
- Octave: alternative to matlab
- Python: satisfies my daily scripting need
- Pycharm: a pretty good Python IDE. Better than Spyder IMHO
- Liclipse: my student told me that he likes it better than Pycharm. But didn't use it much myself yet
- Jupyter notebook: mathematica like multi-language editor. Very handy for programming notes. Not just for Python only
- Other programming tools:
- Lua: another handy scripting language, good for game programming and interface well with C
- App Inventor: a simple tool to create android app
- Corona API: another way to create android app (especially 2D game) with Lua
- Git: version control
- Website managing:
- AWS: I still prefer old school setting up my own virtual server
- Wordpress and Bootstrap: for nice looking websites
- Brackets: for html editing
- Video and audio editing:
List created 10 years ago
- Cygwin: very very powerful, pretty much includes everything one needs
- ActivePerl: an alternative to the unusable Windows batch shell
- ImageJ: a good Java library to build image processing
software
- Irfanview: a small and fast image viewer
- Eclipse: very good IDE for Java
and beyond
- NetBeans: seems even better than Eclipse but I never tried it before yet
- TortoiseSVN: subversion (version control tool) client for Windows
- Netlib:
a collection of mathematical softwares, papers, and databases
- Miktex:
Latex for Windows, can't live without it
- LaTexEditor: a very good (and free) editor for LaTex
- JabRef:
reference manager like EndNote. But is free.
Some often used Linux tricks
Some of the handy Linux tricks collected over the years.
- convert mp4 videos to mp3 audios
ls -1 *.mp4|sed 's/\(.*\)\.mp4/ffmpeg -i "\1.mp4" -vn -c:a libmp3lame -ac 2 -q:a 2 "\1.mp3"/g'|sh
- Save my virtualbox windows from command line. Very useful when the system is not responding
vboxmanage controlvm win7 savestate
- Create a screencast in Linux
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 15 -s $(xdpyinfo|grep 'dimensions:'|cut -c14-26) -i :0.0+0,0 -acodec flac -vcodec mpeg4 -qscale 0 -y ~/out_$(date +%Y%m%d%H%M%S).mkv ;
My Cat Story
I have four cats: fatty, lucky, tiny, and foxy.
Fatty
 |
Lucky
 |
Tiny
 |
Foxy
 |
One day several years ago the mama cat knocked my back door. I let her in and a month later, I got 5 more cats. (6 were born, but one was a stillborn.) So at my peak, I had 6 cats in my home. But mama cat eventually ran away. I heard from friends that in nature mama cat always kicks her kittens out of the nest when they grew big. I guess she just can't stand that they were still there and so she left instead.
As an inexperience pet owner, I initially let them go outdoor and I think they absolutely enjoy it. Unfortunately, one of the kittens got hit and killed by a car. I was so sad and sobbed for him for an hour or so. :( My home is quite far from the main road (more than 500 feet) and it is not a very busy street. It didn't come to me that an accident like that could ever occur.
From that on, I sadly have to ban all of them from going outdoor ever. But I guess they are kind of used to it now and actually Tiny never shows much eager of going out at all. Lucky was the one who seemed to enjoy outdoor a lot. I tried to put him in a harness but he just got mad with it everytime. So eventually I just have to give up the idea of "walking" him. Now that he hasn't been out for almost a year, it seems that even he is used to be an indoor cat as well.
Btw, my cat who died young was called Eric. I sometimes think it might be a jinx that I shouldn't have given a human name to a cat. (All my other cats' names rhyme at least.) But I still think it was a perfect name---he just acted like Eric Cartman, big, fat, but also got agitated easily.