1,147 karma · joined March 26, 2011
A couple of years later I picked up Python, and instead of trying to make games or websites, I worked on stupid little puzzles. Pointless things, really. After a lot of work I built a Befunge interpreter (probably my own "tipping point"). And many useless puzzles later, I somehow wound up a genuine computer scientist.
People always talk about "getting things done". I just worked on meaningless puzzles, and that was the best thing I could have done. Anecdotally, to me it was about achievements and challenges. If you grow tired of the drive to "get things done", make something pointless.
[1]: http://pubs.opengroup.org/onlinepubs/009604499/basedefs/xbd_...
Disclosure: I'm a dmenu developer.
You seem to seem to be looking for "an alternative to Unix." If that is the case, Plan 9 probably isn't what you're looking for. It is, however, useful in ways that Unix is not. It probably won't replace your specific Unix needs, though it largely replaces mine. Hope that clears that up.
Edit: Also, Plan 9 has HTTP servers, CIFS support, central authentication (factotum), etc. I suggest you Google them.
As for your last point, you're complaining about nano. It would be perfectly possible for an editor to sudo when writing to disk.
I'm personally much more fond of the Unix 'tool approach', in which there are no task-specific modes or plugins, but tools can still be composed ad hoc, as in Plan 9's Acme.
This is actually a common mistake — PATH_MAX and the like are not guaranteed to be defined. In fact, in POSIX it is literally impossible to ever know whether your buffer is long enough. Your best bet is,
#ifdef PATH_MAX
char cwd[PATH_MAX];
long len = sizeof cwd;
#else
char *cwd;
long len;
if((len = pathconf(".", _PC_PATH_MAX)) < 0)
len = 8192; /* some arbitrary value */
cwd = malloc(len);
#endif
This is probably one of the ugliest parts of POSIX.FP is not bound to threaded concurrency; map-reduce is even named after the concepts from FP. Data structures can be modified by multiple threads, deterministically. Concurrency in FP is strictly deterministic, unlike most models of concurrent computation. Point 3 actually makes no sense; it's clear the author doesn't actually know any functional languages.
To be honest, the entire article is meaningless. I'm flagging it.
Seriously though, using 0xFF as a UTF-8 string terminator would be a terrible mistake.