I’ve come to rely on Evernote a lot lately, and I thought I’d write a little about what I use it for.
Three months ago I quit my job to focus more on my own projects (More on that in a later post), and I quickly discovered that good time management is an important part of being your own boss.
In my search for perfection I’ve come across the following Quora question:
As a startup CEO, what is your favorite productivity hack?
The top answer takes a lot of the best hacks from the different time management methods and combines them. It is well worth the read.
Personal Kanban is a bit hard to do in Evernote. It works well, but I find myself missing the board. (Potential plugin?)
Postach.io lets you use one of your notebooks for your blog.
Add some tags, click sync and voila: Your post magically appears on your Postach blog .
Features include custom domains, themes and the possibility to write in Markdown.
I’m trying my best to use Evernote for everything right now.
- Time management (Personal Kanban).
- As a document archive (Guess this is what Evernote was made for?).
- Saving articles I want to read later offline.
- For posting to a blog.
And even to keep control over what I’m gonna eat the coming days (My girlfriend is going nuts with Evernote Food on my iPad mini).
Evernote is a great tool when you learn how to use it to your advantage.
Thought I’d share a very easy way to create PDF reports in .NET MVC using Razor and iTextSharp.
Even though iTextSharp has some CSS support, I chose to look away from it since I simply didn’t need that good looking reports.
It’s also brilliant iTextSharp is open source. The way I do this is that if a route has .PDF at the end (since .json already sends the report as JSON), it redirects to the method below, which sends a filestream(download) in return.
protected ActionResult Pdf(Model model)
var viewName = ControllerContext.RouteData.GetRequiredString("action" );
ViewData.Model = model;
using (var sw = new StringWriter())
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
var viewContext =
new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
html = sw.GetStringBuilder().ToString();
var doc = new Document( PageSize.A4, 50 , 50, 50, 50 );
var output = new MemoryStream();
HTMLWorker.ParseToList(new StringReader(html), null).ForEach(e => doc.Add(e));
return new FileStreamResult( new MemoryStream(output.ToArray()), "application/pdf" )
FileDownloadName = order.Company.Name+ "-"+viewName + ".pdf",
catch (Exception )
return null ;
The code is also a gist on Github.
The first image is a video tag showing a live stream of my webcam. The second one is a canvas that has the video drawn on it (It happens through a listener/handler on the video tag). The canvas is clickable and will on click extract the color of the pixel you clicked. This color (and a range around it controlled by the sensitivity bar) will be used to locate the object we want to track – and it works much like a green-screen. I’ve used a lemon in my example since it’s easy to track, simply because it’s the only yellow thing in the picture.
(The post continues under the image)
Lemon being tracked by Canvas
The last canvas shows the same stream as the webcam, but zoomed in based on the scale bar, and with the lemon as it’s center. No matter how much you move the lemon around in webcam frame it will still be the center of the last canvas frame.
Not really that complicated, or that much magic, but it was cool to try this hands on. One thing everyone should know is that the webcam streams height and width is NOT the same as the video tag (This gave me and my co-workers a few minutes of frustration over why our algorithms didn’t work).
You can look through the code at GitHub:
Here is the code used in the talk/workshop: