Profile

Cover photo
Kaushik Chakraborty
104 followers|25,903 views
AboutPosts

Stream

 
Noticed that kill-line-backwards command of prelude is not working when emacs client is in terminal mode. Tried adding a new key binding to global-keybinding file for C-DEL like there is for C-<backspace>. Still no luck. What am I missing
1
Elias Mårtenson's profile photo
 
That's because in tty mode there is no such thing as C-backspace. You need more fine grained control of the keyboard to detect it, that kind of control requires X.

In tty mode, all Emacs receives is the code point of the key pressed. Backspace has a code, but there is no code for it together with control. 
Add a comment...

Kaushik Chakraborty

Shared publicly  - 
 
Really nice
 
In a short interview with Sadache Drobi, Justin Sheehy and Rich Hickey discusses how two architecturally different storage solutions can play together in your application. Riak focuses on write scalability and high availability, while Datomic presents the traditional single server model for writes while allowing unlimited read scalability. The good part is that Datomic can work on top of Riak using the latter as the storage solution. It gives you transaction semantics for writes and is ACID. In your application not all parts need extremely high write scalability - use Datomic on top of Riak for those modules. You will get the guarantee of immutability and persistent data structures. For those parts of your application which need to have arbitrary write scalability, you can bypass Datomic and write directly into Riak. There you can use the control knobs that Riak offers to modulate the balance of consistency and high availability. A glorious example of polyglot persistence. Here's the interview on InfoQ .. http://www.infoq.com/interviews/rich-Hickey-and-justin-sheehy-about-datastores,-nosql-and-cap
1

Kaushik Chakraborty

Shared publicly  - 
 
It's really a sad month
Rob Pike originally shared:
 
I was warmly surprised to see how many people responded to my Google+ post about Dennis Ritchie's untimely passing. His influence on the technical community was vast, and it's gratifying to see it recognized. When Steve Jobs died there was a wide lament - and well-deserved it was - but it's worth noting that the resurgence of Apple depended a great deal on Dennis's work with C and Unix.

The C programming language is quite old now, but still active and still very much in use. The Unix and Linux (and Mac OS X and I think even Windows) kernels are all C programs. The web browsers and major web servers are all in C or C++, and almost all of the rest of the Internet ecosystem is in C or a C-derived language (C++, Java), or a language whose implementation is in C or a C-derived language (Python, Ruby, etc.). C is also a common implementation language for network firmware. And on and on.

And that's just C.

Dennis was also half of the team that created Unix (the other half being Ken Thompson), which in some form or other (I include Linux) runs all the machines at Google's data centers and probably at most other server farms. Most web servers run above Unix kernels; most non-Microsoft web browsers run above Unix kernels in some form, even in many phones.

And speaking of phones, the software that runs the phone network is largely written in C.

But wait, there's more.

In the late 1970s, Dennis joined with Steve Johnson to port Unix to the Interdata. From this remove it's hard to see how radical the idea of a portable operating system was; back then OSes were mostly written in assembly language and were tightly coupled, both technically and by marketing, to specific computer brands. Unix, in the unusual (although not unique) position of being written in a "high-level language", could be made to run on a machine other than the PDP-11. Dennis and Steve seized the opportunity, and by the early 1980s, Unix had been ported by the not-yet-so-called open source community to essentially every mini-computer out there. That meant that if I wrote my program in C, it could run on almost every mini-computer out there. All of a sudden, the coupling between hardware and operating system was broken. Unix was the great equalizer, the driving force of the Nerd Spring that liberated programming from the grip of hardware manufacturers.

The hardware didn't matter any more, since it all ran Unix. And since it didn't matter, hardware fought with other hardware for dominance; the software was a given. Windows obviously played a role in the rise of the x86, but the Unix folks just capitalized on that. Cheap hardware meant cheap Unix installations; we all won. All that network development that started in the mid-80s happened on Unix, because that was the environment where the stuff that really mattered was done. If Unix hadn't been ported to the Interdata, the Internet, if it even existed, would be a very different place today.

I read in an obituary of Steve Jobs that Tim Berners-Lee did the first WWW development on a NeXT box, created by Jobs's company at the time. Well, you know what operating system ran on NeXTs, and what language.

Even in his modest way, I believe Dennis was very proud of his legacy. And rightfully so: few achieve a fraction as much.

So long, Dennis, and thanks for all the magic.
2

Kaushik Chakraborty

Shared publicly  - 
 
"Stay hungry, stay foolish" 
1

Kaushik Chakraborty

Shared publicly  - 
 
An awesome documentary peeking inside the mind of the legendary Stanley Kubrick.
1
Have him in circles
104 people
Ameet Nanda's profile photo
 
I want to have theoretical knowledge behind Haskell esp. Category Theory. After going through many links I am planning on the following set of books.
Would appreciate inputs from community

- To learn Haskell - Haskell: The Craft of Functional Programming by Simon Thompson
- To learn CT - Category Theory by Steve Awodey
- To understand CT better - A Book of Abstract Algebra: Second Edition by Charles C Pinter
1
1
Kaushik Chakraborty's profile photoTed Fujimoto's profile photoKrzysztof Voss's profile photo
2 comments
 
Thanks for the inputs. I've started Haskell and much of it make sense to me. But I really want to know the theory behind it. And hence as I read different mailing lists, reddit posts - many say knowing CT is the first step to understand Functional Language (esp. Haskell) better.

Also many say that while learning CT it's useful to know abstract algebra concepts and hence I got the book's reco from many places on account of the author's way of expressing the concepts and also the price.

I don't know how much all of these will make sense but I just want to go through the rigor :-)
Add a comment...

Kaushik Chakraborty

Shared publicly  - 
 
Nice Infographic on 35 years of Apple Products Design http://mashable.com/2011/07/18/apple-design-infographic/
1

Kaushik Chakraborty

Shared publicly  - 
 
Nerd Talk: The tale of the life of a link on Reddit http://www.reddit.com/tb/it0wg
1

Kaushik Chakraborty

Shared publicly  - 
 
This short movie is amazing. Shows the earliest implementations of many ground-breaking stuffs (at that time) like Word Processor, Paint app., Image Processing app., bulletin boards, multiplayer games. Also there is an earliest prototype of modern day tablets !!
3
1
Adarsh Angadi's profile photo
 
nice video...
People
Have him in circles
104 people
Ameet Nanda's profile photo
Work
Occupation
Developer
Story
Tagline
A foolish & hungry developer
Basic Information
Gender
Male