I was trying to convert a Quicktime screencast (saved as .mov) to a format my professor could more readily use. For those who don’t know, FFmpeg is an amazing tool with a wide range of applications, including converting between video formats and ripping audio from a video. Anyway, this took me a little to get quite right (and maintain output quality) so I thought I’d post it here both for others and a place to save it for myself. Although it looks really simple in hindsight:
It is necessary to specify a video codec because AVI can be used with multiple codecs. To maintain video quality use -sameq. When converting screencasts, it may also be useful to crop out parts of the screen since Quicktime only does full screen capture. For this, you can use the -croptop, -cropbottom, -cropright, and -cropleft arguments. Last, make sure the arguments come before the output file; otherwise they are not applied.
Maybe I will later do a more full post of the different ways I use FFmpeg. But for now, that is all.
For my CPS 182S class, we have an assignment which is a competition among groups of students (and the professor) to have the highest ranking page on Google for the terms rankophilia and rankophiliac. As such, I have created a page at rankophilia.dorm.duke.edu to be my group’s main page on Google. For now, there is not much interesting on there, and I am merely posting it here in an attempt to increase the PageRank. I am considering adding more interesting content and submitting it around online rather than just spamming. I will post updates (probably at least a few for links) as the contest goes on.
I gave my first public talk today at Duke’s TechExpo 2009. I along with my coworker Artem Kazantsev discussed the risks of SQL Injection. The presentation gives a good overview of the capabilities of SQL injection along with how to prevent such vulnerabilities. I also gave a demo of performing a SQL injection attack on a vulnerable site during the talk. For any web programmers who aren’t familiar with SQL injection, take a look at the code for the demo to see exactly how and why it is vulnerable, along with how to fix these vulnerabilities.
While on break, I’ve been playing around with Mozilla’s File API and integrating it with Duke Webfiles, which I work on for OIT. This is only a proof of concept since the spec has not been completed and I only implemented it in the icon view of Webfiles. Regardless, I think it is pretty cool and makes the application much easier to use. Here is a screencast to see it in action:
To do this I used examples from here for the new File API and here for the AJAX upload. Obviously this could be expanded upon by implementing it in all three file views in Webfiles and by showing progress bars for each file. Additionally, there are some small bugs with uploading large files. However, if you are a Duke student and want to give it a try, follow the instructions below. Please note, this is a alpha version of the software, and you may run into some bugs when using it.
For my discrete math course (CPS 102) this semester, I had to create a space-filling curve for one of my homework assignments. I decided to take this as an opportunity to play with HTML5’s canvas element since I’ve yet to had a legitimate use for it in any programming yet. I think it came out decently well (and it’s kind of fun to play with), so I thought I’d post it. Here is a link to it: http://alexbeutel.com/hilbert-canvas.html Like I said, nothing huge but fun to program and cool to watch.
I am on fall break now, and will be spending the weekend at home. Hopefully I’ll do something cool while I’m home and will post if anything comes out good.