HNHacker News
TopNewBestAskShowJobs

p9idf

357 karma · joined July 15, 2011

I am an award-winning full-stack web developer and front end hacker living in the Bay Area. Make no mistake, going forward I am hustling to create a distributed high-performance solution stack for landing features and unlocking next-generation user experiences hosting virtualized start-ups on Amazon AWS, with a focus on smoothing pain points navigated by entrepreneurs when building deliverables, via proven web-scale technologies. Our solution-based offerings leverage low-power mobile modalities to reduce power consumption and operating costs across the board, while optimized non-blocking callback methods pipeline HTTP stream packet injection, enabling you to multiply the value of your existing infrastructure investments. All state persists across best-of-breed browser sessions by seamlessly and transparently syncing to our reliable and self-healing personal cloud storage solution. It's gonna be a game changer.

0xdfdf2f

submissionscomments
p9idf··on UsesThis: Rob Pike
I'm more interested in ideas themselves than details about how they're marketed. Plan 9 and its novelties are well known and published in detail. The authors of Linux, BSD, OSX, and NT are aware of Plan 9 and decided it wasn't worth imitating. What could be gained by wasting time lobbying to change their minds? They care only for what they and their customers want, and the average Joes that Microsoft and Apple sell operating systems to aren't exactly clamouring for them to be more like Plan 9. If you like an idea, then adopt it yourself. If not everyone shares your taste in operating system architecture, that's alright too.
p9idf··on UsesThis: Rob Pike
Your point is not clear to me.
p9idf··on UsesThis: Rob Pike
>[Plan 9 exists] because the status quo is bad and something must be done.

That's a strange way to describe research and experimentation (though not strictly incorrect).

>I just wished they focused on making the mainstream better

Plan 9 predates all of today's mainstream operating systems.

p9idf··on A Tour of the Acme Editor
I doubt the dispersion is caused by any specific properties of my lenses but rather by how my preferred desk arrangement makes me often look off the lens' axes. I could get contacts, but since reading programs is the only time it bothers me, and I otherwise like the rainbows, I just tell all my programs to show normal monochromatic text.
p9idf··on A Tour of the Acme Editor
I prefer no syntax highlighting because I wear glasses, and the resulting chromatic aberration makes it difficult to read.
p9idf··on Show HN: A versioned filesystem inspired by Git
Does your file system create revisions of the entire tree, or only revisions of individual files within the tree as VMS and RCS do?† Because there are some problems with the latter approach. One problem described by Geoff Collyer (the C News guy) is that "version numbers of related files are not kept in synch, so you can't just cp *';6' /tmp/compile".††

† I tried answering that question myself, but your program kept crashing.

†† http://9fans.net/archive/2001/11/759

p9idf··on Rob Pike: The Best Programming Advice I Ever Got.
The little interactive graphics language they were writing the compiler for is Pico:

http://spinroot.com/pico/index.html

http://cm.bell-labs.com/cm/cs/who/gerard/cnn.mpg

http://cm.bell-labs.com/cm/cs/who/gerard/pixelface.mpg

p9idf··on Next generation Unix pipe by Alex Larsson
The Plan 9 approach is to avoid creating problems for yourself by not using spaces in file names to begin with. The file server initially disallowed spaces in file names just as nulls and slashes are disallowed. That restriction has since been relaxed,† but everyone still avoids spaces. If you cannot avoid files with spaces in their names, there exists trfs,†† a file system that transparently replaces spaces with something more convenient.

Instead of find, I run /bin/test on a list of files. For anything more complicated than what test can handle, I use Inferno's fs program.†††

† http://swtch.com/cgi-bin/plan9history.cgi?f=1999/0323/port/c...

†† http://a-30.net/inferno/man/4/trfs.html

††† http://www.vitanuova.com/inferno/man/1/fs.html It has a misleading name. It is not a file server.

p9idf··on Joe Armstrong: Why OO Sucks
"So you really need an automatic re-linker of some sort and probably a new binary format that can be re-linked, and some infrastructure to keep track of what binaries exist on the system and what they depend on. Plan 9 never had that."

Plan 9 has all of those things. Namely 7l† and mk††.

† http://plan9.bell-labs.com/magic/man2html/1/2l

†† http://plan9.bell-labs.com/magic/man2html/1/mk

p9idf··on How I attacked myself using Google and I ramped up a $1000 bandwidth bill
It is more complicated than that. Customer convenience must be considered. For instance, I and many others like me will not buy data transfer from someone when figuring the cost requires me to account for the time of day and phase of the moon.
p9idf··on Multi-player piano
Here's a multi-player synthesizer: http://synth.media.mit.edu/patchwerk/
p9idf··on Go 1 Release Candidate 1
Your argument is not clear to me. However allow me to share some of the Go authors' thoughts about generics:

http://research.swtch.com/generic

http://commandcenter.blogspot.com/2011/12/esmereldas-imagina...

I am inclined to agree with them. I like writing Go programs quickly, but not at the expense of compilation speed† or execution speed. The point of Go is to be fast. If I valued programming speed for a particular program, then I would use the right tool for the job and choose a language other than Go.

† Though considering the speed of Plan 9-style compilers, I can't imagine at what scale this would begin to be a problem.

p9idf··on A violently true depiction of what war really is
"The opposition to Iraq would have come quicker [...]"

The opposition to the war was pretty quick already, coming at least three months before the invasion began.

http://www.nytimes.com/2002/12/11/us/threats-responses-disse...

http://query.nytimes.com/search/query?query=iraq+war+protest...

p9idf··on Understanding the bin, sbin, usr/bin , usr/sbin split
Ape's execlp() tries first the program name passed to it (be it relative or absolute), and if that fails it prepends "/bin/" and tries again. It ignores environment variables entirely.†

Rc's path variable allows you to easily tell rc to check the current directory when looking for programs to exec. Doing that with bind after each cd would be clumsy. And if your working directory is a remote server, you can set path to just /bin so that you aren't statting the remote directory before each exec. Inferno's sh does use a path variable, but it is typically left unset and the default (/dis .) is used.††

† See http://plan9.bell-labs.com/sources/plan9/sys/src/ape/lib/ap/...

†† See /usr/inferno/appl/cmd/sh/sh.b:/^runexternal

p9idf··on [dead]
Axe Cop is similar to this. It's a comic written by a child and illustrated by a grown-up.

http://axecop.com/index.php/acepisodes/read/episode_1/

p9idf··on 2000x performance win
You are conflating UTF with Unicode.
p9idf··on 2000x performance win
I was able to reproduce the bug. It could be a version thing.

  ; grep --version
  GNU grep 2.6.3
  ; echo A | LANG=en_US.utf8 grep '[a-z]'
  A
p9idf··on Knuth and the Unix Way
Of course troff hyphenates. Its job in the pipeline is to hyphenate, compute layouts, and output input for dpost. If your argument is that decoupling hyphenation from layout is difficult, I believe you are wrong. Splitting the hyphenator into a separate program is straightforward enough. Consider the text formatter

  hyphen < input | layout | topostscript
where hyphen inserts all possible hyphens, and layout discards those which are unnecessary.
p9idf··on Knuth and the Unix Way
Your point isn't clear to me.
p9idf··on Knuth and the Unix Way

  pic challenge-accepted.ms | tbl | eqn | troff -ms
p9idf··on Knuth and the Unix Way
I checked the Plan 9 tools, which are similar to the Unix ones. Though without access to Knuth's program, I can't draw a sensible conclusion from the following data.

  term% wc /sys/src/cmd/^(tr.c sort.c uniq.c sed.c)
      356     998    5993 /sys/src/cmd/tr.c
     1752    4526   28371 /sys/src/cmd/sort.c
      165     346    2185 /sys/src/cmd/uniq.c
     1455    4267   26848 /sys/src/cmd/sed.c
     3728   10137   63397 total

  term% wc <{man tr} <{man sort} <{man uniq} <{man sed}
       54     269    2028 /fd/8
      137     741    5542 /fd/7
       41     149    1225 /fd/6
      208    1078    8464 /fd/5
      440    2237   17259 total
p9idf··on Ivo – a reimagined Unix terminal system
I did not imply that the default thing is necessarily better than hobby thing, but that someone who knows enough to know what a shell is knows what they want and how to get it. And if they made a poor choice, so what? It's easy to change one's mind.

Scrutinizing an idea for a new method of programmer-computer interaction from the perspective of a newcomer makes little sense to me, as does the "competing standards" thing from a neighboring comment, scrutinizing OP's idea for being potentially unable to win a popularity contest. OP's terminal system isn't a standard struggling to gain widespread public acceptance. It's just some guy's program.

I think that an idea about programmer-computer interaction ought to be scrutinized for its merit in facilitating programmer-computer interaction, and that criticism from a perspective that isn't the programmer's and isn't the computer's is useless.

PS. You forgot one of the most interesting Unix shells, es. It could turn out to be the best shell you've ever used.

p9idf··on Ivo – a reimagined Unix terminal system
I trust users who know how to use the shell to be able to decide what suits them best and to not be paralyzed by indecision between their system's default terminal emulator and some guy's obscure hobby terminal system.
p9idf··on Ivo – a reimagined Unix terminal system
I'm not feeling immediately enlightened. The existence of a program doesn't inconvenience anyone. No-one has to use it if they don't want to. That wizard needs to chill out and not get so upset about people kicking ideas around.
p9idf··on What's wrong with OKCupid's matching algorithm.
It's a dating site. The point is to have fun and meet like-minded people.
p9idf··on What's wrong with OKCupid's matching algorithm.
>thinking the earth is larger than the sun are [is] an indicator of stupidity

The question is "which is bigger: the Earth or the Sun?". It doesn't specify how to measure big, so when answering the question I decided to consider angular size and answered that the Earth is the larger of the two.

p9idf··on What's the one Linux command you wish you knew years ago?
On my system, the info documentation for bash 3.1, not including indices, is 53610 words, or 105 pages. The content is identical to that in the manpage. In addition, you have to read it in a clunky, unintuitive, and un-Unixy browser. Far from short and to-the-point, I nearly lost interest just trying to figure out how to coax info to send its output to stdout so I could pipe the 105 page book to wc. The info documentation is not in any way I can measure better than the manpage. Both the info documentation (and I use that term loosely) and the manpage are more noise than signal.
p9idf··on What's the one Linux command you wish you knew years ago?
By reducing the needless complexity that it implements. The purpose of a Unix shell is to interpret a simple language wrapping syscalls so the user can easily give instructions to the kernel. There are several such shells whose source code is smaller than the bash manpage.

13 pages of the 80 page manual are devoted to readline and programmable completion. Readline and programmable completion could be removed from the shell, and their functional equivalents moved to a more logical place in the terminal emulator. Plan 9 does this, and it works well, and people seem to like it and the flexibility it gives.

24 pages are devoted to builtin commands, many of which are unnecessary duplicates of regular commands, and several unnecessary altogether.

3 pages are about weird parameter expansions, all of which can be done more intuitively with sed, except for the array one, which can be done with awk.

And there are many smaller things as well, like biffing or arithmetic evaluation, which can be done with dc or whatever. You could try moving history out of the shell and into the terminal emulator as well.

p9idf··on What's the one Linux command you wish you knew years ago?
Many comments seem to be shell- and bash-related. Perhaps the thread exposes how difficult to read the bash manpage is. On my system, the bash 4.1 manpage is 41026 words long, or about 80 pages. Manpages are most useful to me when they are short and to-the-point so I can find what I am looking for before I lose interest in skimming through an 80 page book.
p9idf··on Gmail’s new look
I had similar problems on my small screen with Google Voice. I found a Greasemonkey script which solves most of them. Once Google starts forcing me to use the new Gmail interface, I'll probably make something similar for Gmail.

http://userscripts.org/scripts/show/114048

← PreviousPage 2 of 4Next →