Hacker News new | ask | show | jobs
by nibnib 3529 days ago
Has anyone ever done this? There have been successful books written in prison but not many, and that translates much better to pen and paper than software does. It sounds like something of a fantasy to be honest.
6 comments

I don't know about complex pieces of software. But many algorithms were invented on paper first (or whiteboards.) Conway's game of life became popular before computers were programmed to do it, and people executed the moves with pencil on graph paper. Turing had a chess playing algorithm which he executed by hand on paper.

I've written short sections of code on a notebook before implementing it into a computer. It's slower, but it's possible, and I don't think paper is that inferior to a text editor. It will definitely require a lot more debugging when you finally implement it on a computer. So maybe write lots of test cases.

>algorithms were invented on paper first

This I can see, but the parent seems to be talking about commercially viable software. I think people should be careful when discussing imprisonment as some kind of distraction-free vacation for intellectual pursuits, the reality is that a large amount of time would be spent caring for your mental wellbeing.

Well, most of the people I knew in prison used weight-lifting, tennis, jogging, arts and crafts, instrument playing, card games, reading, cooking, TV watching, naptime, and even alcohol to manage the mental wellbeing.

What can really be tough is if you have someone on the outside you care about who is struggling with their own issues. That, more than anything, puts an imprisoned man into depression.

John Draper (Captain Crunch) wrote the source code to an early IBM PC word processor on paper while serving time for telephone toll fraud.
In prison, I wrote a code editor with intellisense in VB.net, but I had a computer to use.

I spent about 4 years at one federal prison. I first got a job in the laundry. To pass the time at that job, I took over the khaki shirt area, and re-folded every shirt until they were all military inspection ready. The laundry was beside the Commissary, and the officer who ran it noticed and hired me into there. I worked there for about 9 months, during which I started and completed the Drafting Vocational Training school. I am such a meticulous person that my skill at drawing on the drafting board and with AutoCAD landed me a Tutor job at that school. That gave me access to one of the computers for about 11 hours a day, 6 days a week, for the rest of my time at that facility.

When I first began on that computer, I knew VB.net, and I knew that XP had the command line compiler for it. So, using notepad, I slowly crafted up an editor until it was useful enough to start using. I eventually had the full intellisense function working, where it parsed every file in the currently loaded project, and parsed every dll referenced, and presented a list which gave me full access to all the library functions without having documentation. It was my personal masterpiece, programming-wise.

Incidentally, I used AutoCAD to give me the command prompt. We had 4 icons available on the desktop and it was locked down pretty good (but not good enough for me ;D)

I had to leave my code editor program behind. No way to smuggle it out.

Very, very cool stuff. Reminds me of this technical talk: http://pyvideo.org/pycon-us-2014/discovering-python.html
Jawaharlal Nehru is one example that I know. He wrote his most famous books while imprisoned by the British and they were instant bestsellers when they were released.
Then there's 'he who must not be named' without first propitiating the spirit of Godwin's Law.
I've debugged lots on paper, and written code on paper, but not without being able to make my changes and test the code at least once a day or so.

I'd imagine it'd be possible to get quite far, but the additional effort involved and chance of making far reaching mistakes that don't become clear until much later makes it challenging.

If you can't code on paper, you can't code.
Agreed, although I don't personally mandate paper-coding to pass any syntax / compiler checks, but the code should resemble the language and the algorithms be made sound without any googling or whatever.