Being alone without being lonely is an art – something that everyone strives to learn when they realize how important it is to do well. To figure out how not to get encumbered by the expectations of a society that seems to look down upon people who like to be by themselves for a period of time. They are labelled introverts, and their lives are just assumed to be drab and depressing. An especially telling example of this is a large number of parents forcing a naturally reserved child to “go out and play” lest they become shunned by all their peers.
It is historically well established that the best artists and thinkers have produced some of their finest work in seclusion, free of outside influences crippling the creative thought process. As Tesla once said,
“Be alone, that is the secret of invention; be alone, that is when ideas are born.”
And it wasn’t just a scientific thinker who approached things this way. Rilke, one of my favorite poets, had this to say on the subject,
“Therefore, dear Sir, love your solitude and try to sing out with the pain it causes you. For those who are near you are far away… and this shows that the space around you is beginning to grow vast.
Be happy about your growth, in which of course you can’t take anyone with you, and be gentle with those who stay behind; be confident and calm in front of them and don’t torment them with your doubts and don’t frighten them with your faith or joy, which they wouldn’t be able to comprehend.”
More recently, after hearing various different people bring up a similar point in passing, I’ve tried to fashion some time out of my day to spend quietly reflecting on whatever it is that comes to mind, without a fixed agenda. The way I generally do this is to grab a book and find a comfortable spot to sit in, and as I start to read, be receptive to the thoughts that spring up as a result. Sometimes, I tend to do this while simply listening to some Pink Floyd on my earphones and staring into space. In my head, disconnecting myself from what’s happening around me and focussing on a particular stream of content – be it music or words – will help me stay on track and not get distracted by something else. Or atleast that’s what I thought till a few days ago, when I was hit by a question.
While I may think I’m spending time alone with my thoughts, creating a fertile ground for my imagination to run free and dream up ideas for my next startup or essay, is it possible that the primary content I’m ingesting is actually preventing original thoughts from bubbling up? Would I be better off sitting in a park without any external distractions and immersing myself in the world around me, like people have been doing forever? There is much to be said for random events that can lead to interesting connections between seemingly unrelated thoughts that come from observing people and things around us.
I think that is what both Tesla and Rilke were going for when they commented on solitude. Most people today (including me) are averse to the idea of sitting at one place doing “nothing”. We try to hyper optimize our time doing as much as we can fit in a timespan, be it work or otherwise and rely on external crutches like music or books when we want to “be by ourselves”.
Perhaps it’s time I gave doing nothing a chance. Forcing myself to disconnect from everything and go off on a long walk to someplace quiet might very well be the best thing that happens to me that day. And I’d highly recommend others try it too.
--
If you have any questions or thoughts, don't hesitate to reach out. You can find me as @viksit on Twitter.
A few years ago when it first started as an invite only service, Facebook had all the allure of any place where all the early adopters and “cool kids” hung out. Cutting edge, social, and a place to connect with your classmates, it was definitely something to check once every day, if not more. Over the years however, it transformed into a place where your entire universe of friends and acquaintances would give you updates on what was interesting and important in their lives, and through likes and comments, your feedback on their activities would leave you (perhaps) with a warm and fuzzy feeling of being “in the loop”. Connected. Social.
The Facebook status update, just like a tweet, is a very interesting beast. It offers you the ability to convey a thought very quickly and have it broadcast to people in your network with minimal effort. And that is indeed a powerful thing to have. But what it doesn’t offer is for you to pause and consider the implications of that thought, and whether it may deserve more cycles before it’s shot out into the ether for everyone to consume. More importantly, just like there is research that shows people read long form articles better on paper, and that our collective attention spans are decreasing with the multitudes of sensory inputs vying for our attention, I think more and more people are losing the ability to craft their thoughts and ideas into writing because the idea of simply updating a one line status is tempting, and it “offers you time to do other things” right after. We’re trying to optimize our time to do as much as possible in a limited amount of time.
Two days ago, I was reading about the recent death of Doug Engelbart – one of my heroes for having basically invented computing as we know it today. He was most famous as being the inventor of the mouse, but back in the 1960s, he gave to the world what is popularly termed “the mother of all demos” – a presentation which illustrated not just the mouse, but actual implementations of now-common technologies like networked computers, the web, hyperlinks and information retrieval systems controlled with graphical user interfaces. (It was his work that enabled the US Department of Defence to fund the ARPANet, a precursor to what has today become the internet). This set him far apart from all the pure visionaries who might have the ability to predict the future, but may not actually done anything about it.
My first instinct on reading this was to get on to Facebook and update my status with a simple “RIP Doug Engelbart – you’ll be missed” or something on those lines. A simple acknowledgement of my respect and admiration for a man whose work will continue to inspire generations. And in thinking about this, I was hit by a very fundamental realization.
All that I had thought about, and wanted to say about his impact on the technology industry, as well as who I am today, was completely lost with this one “token” action.
It might be seen by a few people in their feeds, and someone outside of the technology world might wonder who Doug was, and why I chose to mention him in an update. There might’ve been a few likes, and perhaps even a few comments. But is that really the kind of interaction I would want from my friends on something that I care about? Predominantly superficial, and quick? Facebook (and most web technology in general) has made our interactions limited, where a single like or comment proxies for an actual conversation over phone or email. Where the short term pleasure of taking this action makes one mistakenly believe that they’re in “touch” with whoever it was they connected with.
I believe that people tend to evolve and learn by reading what others write, talking to them on a wide variety of subjects and by putting down their thoughts in writing, to channel and focus them in a longer form. It requires discipline to do so consistently and with some frequency, but the gains are much much more valuable. But given a choice between the ease of updating their status on Facebook, and that of reserving a not-insignificant chunk of time to pen their thoughts on the topic – most people would pick the former. And further erode their ability to think deeply and write. Might it not be true then, to consider that as more and more people use these services, our collective intelligence is bound to go down? I realize the same has been said for every new medium that has been available to mankind to communicate – telegrams vs letters, email vs letters, SMS vs email, and now status updates vs email.
I came across a very interesting article in the Guardian a few weeks ago that talked about the “intelligence” level of the US State of the Union speech, historically given by the president to both houses. They track each speech across the last 150 years through the Flesch-Kincaid score, which quantifies the linguistic standard of a given piece of text. The results are quite interesting!
http://www.guardian.co.uk/world/interactive/2013/feb/12/state-of-the-union-reading-level
Of course, one could argue that Facebook enables you to share what you’ve written with people who would read it – and thats a fair point. After recently resurrecting this site, I’m still not sure how best to get an audience that is both interested in reading what I write, and is engaged enough to start a discussion around it. But I’m sure there’s a way.
So in order to test out some of my thoughts, I’ve decided to take a hiatus from Facebook for two weeks by deactivating (not deleting) my account. I’ve always been a voracious consumer of social media, and I definitely feel the symptoms of withdrawal. I hadn’t realized how much of my time goes away in scouring Facebook feeds without even realizing that I was doing so – in the last 2-3 days alone, I’ve realized that my finger has been hovering on the Facebook icon on my phone on every occasion that I have had some down time – and every single time, I’ve taken a conscious decision to refrain from doing so and focusing on things outside of the internet or my phone. Going even further, for the next 4 days, I’ve switched off all but one email account from my phone, and disengaged myself from various messaging service alerts. I plan to focus on things that are important to me, such as communicating with people I haven’t had a chance to do so with for a while, get back into writing my thoughts out, and join some communities that will encourage me to do so with some frequency.
And I’ll write about how it works out!
--
If you have any questions or thoughts, don't hesitate to reach out. You can find me as @viksit on Twitter.
The summer of 1994 holds a special significance for me – it marked my first access to both a “multimedia” computer, and more importantly, the internet. One of the first things my Dad showed me was to use a terminal emulator called Procomm to connect through a dial up connection and access the catalogue at the Library of Congress in Washington DC. It’s probably fair to say that I was hooked. That event started a series of firsts on the internet, including setting up websites on Geocities, then on Angelfire, creating my first ever email address on Yahoo, and as I grew older, a deepening interest in programming. I still remember printing out the Javascript specification from the days of Netscape 3.0 and creating “Dynamic HTML” websites!
One of the first open source projects I ever started hacking on was the Drupal content management system. Written in PHP and with a very active community online, it was the perfect to feel my way around open source development and management practices, as well as get something useful out of it – I wrote quite a few plugins that way, and spent hours developing prototypes of viksit.com, focusing on themes and other snazzy functionality that I’d always wanted – tag clouds, bookmarks integration, recently “read”, et al. Looking back on those times, I’m really intrigued by how my perspective on blogging prioritized having a website that impressed people, as opposed to the impact coming from the content it hosted. I dare say a few years through life have cleared some of those misconceptions.
It is thus with a twinge of nostalgia that I write this post on a brand new platform that now powers this site. Drupal is out and WordPress is in. The last update to this site was in 2007 or 2008, where I installed the then current version of Drupal on it. Over the years, the community has released newer versions that offer excellent new functionality and better themes, but somehow my main issue has been the amount of effort it takes to keep the site up and running. Installing updates to core has been a fairly manual process, as have updates to themes and plugins. It seemed that most of my time was going away in maintaining the site and its customizations rather than on writing content.
When I looked around for alternatives, WordPress seemed the clear winner on many counts, but the most important one was its purely UI driven update and plugin/theme install process. And that was such a win in my head that after considering a migration for a long time (almost a year), I finally bit the bullet and completed it yesterday. And I must say, I’ve been pretty happy with the results.
My main issue was still with the set of themes available out there – since I’m in no position to spend upwards of $40 on themes, and what I really wanted was one that offered a clean layout with focus on the content (hello medium.com!), I decided to hack one up on my own. The results are what you see here today. If I can, I’ll try to release this theme on github after polishing a number of things out.
I’ll definitely miss Drupal as a CMS going forward – there were a number of great things about it that I haven’t yet discovered on WordPress, and knowing its code inside-out had its advantages. But I figured I’d give this a shot and see how it turns out. If you have any feedback on the design or other aspects of the site, do leave a comment!
--
If you have any questions or thoughts, don't hesitate to reach out. You can find me as @viksit on Twitter.
Ensime is an amazing plugin for developing Scala code in Emacs – it is very similar to the way Slime for lisp works, and works on the same swank RPC system that slime uses. It stands for “ENhanced Scala Interaction Mode for Emacs”, and provides many features that are commonly found only in IDEs, such as live error-checking, symbol inspection, package/type browsing, and basic refactoring. It’s pretty cool!
Here’s a series of steps that should get you on the path to nirvana programming scala with Emacs. Leave a comment if something doesn’t work for you! These steps are for OS X.
The best way to install scala is to follow the instructions here : (http://www.scala-lang.org/downloads)
SBT is the scala build tool – an excellent tool that integrates very well with a bunch of other tools. On OS X, the best way to install SBT is to use either MacPorts or HomeBrew. A simple,
sudo port install sbt
The best editing mode for Scala is scala-mode2 for emacs. To install, add the following to your init.el script and evaluate the buffer using C-x C-e
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(unless (package-installed-p 'scala-mode2)
(package-refresh-contents) (package-install 'scala-mode2))
Download the latest version of Ensime from (https://github.com/aemoncannon/ensime/downloads).
Once this is unpacked into a directory of your choice, add the following into an emacs buffer and evaluate.
;; load the ensime lisp code...
(add-to-list 'load-path "ENSIME_ROOT/elisp/")
(require 'ensime)
;; This step causes the ensime-mode to be started whenever
;; scala-mode is started for a buffer. You may have to customize this step
;; if you're not using the standard scala mode.
(add-hook 'scala-mode-hook 'ensime-scala-mode-hook)
At this point, ensime is installed.
Download from (https://github.com/aemoncannon/ensime-sbt-cmd). To add an sbt plugin, the best place to do so is your home directory. Add the following snippet to your plugins.sbt file in /Users//.sbt/plugins/plugin.sbt,
addSbtPlugin("org.ensime" % "ensime-sbt-cmd" % "VERSION")
(Replace VERSION with 0.1.1 or the current version)
Alright – at this point, we have ensime, emacs and sbt integration set up.
So how do we actually use this?
Lets start a brand new project to use these resources. Create a directory called ~/myproject and add the following folder structure,
.
├── project
├── src
│ ├── main
│ └── test
Inside of main, create a file called Main.scala with some sample code,
package com.myproject
object Hello {
def main(args : Array) = {
println("Hello World")
}
}
Now, run sbt in the directory, and on the prompt, type
ensime generate
Next, open the Main.scala file in emacs.
Typing M-x ensime and press enter – this should start the ensime client within emacs.
You’re all set – use the ensime manual to see some sample commands.
--
If you have any questions or thoughts, don't hesitate to reach out. You can find me as @viksit on Twitter.
For mostly my reference, and anyone else who’s googling for it,
<br></br>cat /tmp/my-log-file.txt | grep --only-matching --perl-regexp "http(s?):\/\/*" | awk '{print $1}'<br></br>
--
If you have any questions or thoughts, don't hesitate to reach out. You can find me as @viksit on Twitter.