Doctests are essentially tests embedded in a docstring. They serve both as example use cases and test cases! A Python expression is provided along with an expected outcome, a test runner collects that and evaluates the expression. Continue reading Beginners’ Guide to Effortless Doctests in Python
Profiling is imperative to understand your application. However, getting started with profiling might seem to be a steep learning curve; but it doesn’t have to be! IPython has a lot of built-in magic commands, and some of them are helpful to profile your Python code. %timeit and %prun are among the ones I found most useful. Continue reading Simple Python Profiling with IPython
Your application probably does not need to execute some code each time it is used. We have been caching for decades; reducing database queries, using key-value stores, OPcode caching and the list runs on. Things become overwhelming. I believe often we can find the best answers in simplicity; complexity should not be introduced where a simple solution can help. Continue reading Mitigating High-Traffic with Simple Static Content Generation
We all use HTTP, develop for HTTP and think that we know HTTP. But, I believe as engineers we should never take things for granted; rather we should dissect everything that comes before us, recursively as many times as possible. So, let’s keep applying this principle for HTTP. Continue reading Learn you some HTTP for fun and glory
Often keeping multiple versions of Erlang or Elixir on the same machine might become necessary; also it helps to have the latest versions on your machine as soon as they are released. An amazing tool
asdf is capable of doing just that. It makes things as easy as,
asdf install erlang 20.3.2 asdf install elixir 1.6.4 asdf global elixir 20.3.2 asdf global elixir 1.6.4
You are finally ready to start writing your first scientific paper, maybe for a journal or conference. But you don’t know where to start. You have heard of LaTeX, BibTex, Citations and nothing is really adding up. You just need easy and uncomplicated tools to work with. Learning about the new tools should not be more difficult than writing the paper itself! I am discussing a few tools and websites here, for beginners.
What is LaTeX and why does it matter?
Wikipedia prescribes LaTeX as a document preparation system; the official website states it as a typesetting system. I would describe LaTeX as a system for preparing documents where fine-grained pixel-by-pixel perfection is a reality. The leading conferences or journals provide their template in LaTeX, and often in word-processor formats. Personally, I have found word processor behavior to be quite unreliable and prefer LaTeX for it’s ease and simplicity. A quick search on your favorite search engine might (and probably will) more reasons to use LaTeX.
BibTex is a markup format for bibliography generation. It is used a lot in par with LaTeX for generating citations according to the required styling.
ShareLaTeX is a website similar to Google Docs, for LaTeX. It allows collaborative editing, history tracking and free hosting online. It also helps out by providing a plethora of templates to choose from; including templates from well-reputed journals or conferences. You will not need to install anything other than a modern web browser on your computer for using ShareLaTex, everything is done online. As per expectation, it can preview and export as PDF.
CiteThisForMe is a great website for managing your bibliography. You can generate citations for books, websites, journal articles and more. By the way, citations are the references you make to content your paper “borrows ideas from”. A variety of export styles are supported, including Harvard, MLA, Vancoover et cetera or the generic BibTex.
Google Scholar Extension for Chrome
This extension lets you search for any piece of text on Google Scholar. Also lets you discover papers, generate citations all without leaving your current tabs. I find it extremely handy for generating quick citations and searching for referenced papers while reading.
I am planning to write down a very basic tutorial on LaTeX syntax sometimes in the near future. Please let me know in the comments if you are interested.