HNHacker News
TopNewBestAskShowJobs

catenate

170 karma · joined July 10, 2010

submissionscomments
catenate··on The $1 billion mission to reach the Earth's mantle
Yeah, it would be bad if any of the clowns got out.
catenate··on The $1 billion mission to reach the Earth's mantle
Yes, if the bottom of the iceberg-hole is below sea level.

If the mantle at the bottom of this new bore-hole is under pressure and liquid, then it will go up the bore hole until the pressure above it equals the pressure below. If the bottom of the bore-hole hits a part of a liquid mantle with a lot of pressure, then we might get a volcano. Hence, Moria.

catenate··on The $1 billion mission to reach the Earth's mantle
Without adequate safeguards, what's down there will come up here (at least to the top of the borehole), and create a new 6km volcano. I'd name it Moria.
catenate··on App.net pricing changes
It's bad enough I spent $50 to read it. I'm not going to pay $50 more just to mess around with trying to create an app for it. It should be free with membership to create an app for it, and charge the $50 when the app has noticeable traffic.
catenate··on Clarity over brevity in variable and method names
Very good point: long variable names make it harder to spot when they've been mistyped. Even worse, some long variables become other long variables when mistyped in just the right characters.

On the other hand, in long variable names, the excess of characters provides redundancy, which makes it easier to error-correct. The parent post is riddled with errors that would halt a compiler, but many humans would not even notice them.

catenate··on TSA Moves On From Your Underwear to Your Starbucks
If I encountered this (I usually fly up to six times a month) I would simply not buy the supposedly-offending food item at that airport ever again. If enough people do this, the businesses there will be less able to pay their expensive airport concession fees, and complain to the airport, or just close up shop. The airport has a lot more leverage with the Thousands Standing Around than I do.
catenate··on Tomorrow Theme
> 'Tomorrow' looks way too colorful for my taste, kinda like eating something too sweet after weaning yourself off sugar :)

Sing with me:

  What can make boring code
  Seem all fresh and new
  Cover it in pastels
  of both deep and light hue?

  Color highlighting
  Color highlighting can
  Color highlighting can parse every line and check that the syntax is good
catenate··on Plan 9 from Bell Labs (1995)
> It's easy to apply an editor command across every open buffer, if you need to refactor for instance.

As as example:

Edit X/.* / ,s,loginAdmin,loginIdiAmin,g

I edit this text (in a guide file for the current directory) to suit my current need; highlight it by dragging while the left mouse button is down; and then middle-click anywhere on the highlight to run it. After I run it, every open buffer that was changed gets a dirty-bit marker, and I can either middle-click the word Putall (usually in the top row) to save all the files' changes, or Undo (in any buffer's tag) to undo all of the changes across all buffers.

Edit is a separate executable which Acme runs. It talks behind the scenes to all the control files Acme publishes for the files it edits, just like any program you could write yourself. So the editing features are not built into the Acme executable, and are independently changeable. This outsourcing of even core (to other editors) functionality inverts the emacs approach, which brings everything into a big global elisp space.

X/.* / says to address every open buffer, since .* matches any pattern. There should not usually be a space after the asterisk, but HN's formatdoc makes the following text italic and removes the asterisk if I don't put a space there. (In Inferno Acme this particular case appears to work anyway, probably because of the space after the filename in buffer tags.)

,-before-s says to edit the entire content of the buffer, not just a highlighted section.

s,loginAdmin,loginIdiAmin, is a tasteless replacement command in Edit's dialect of sam (and in ed, sed, vi, and vim). These commas could be replaced by any character, as long as that character is not in the set of characters to be replaced, or in the replacement set.

g-after-, says to replace every instance of loginAdmin, not just the first.

catenate··on Plan 9 from Bell Labs (1995)
Sam and acme do away with almost all the cursor movement commands and keystrokes of other editors, and replaces them with the mouse (to move the cursor around, just point and click, simpler and faster) and structured regular expressions (to select text segments in a document, then run commands across just those). They even use mouse chords for common operations such as cut, paste, and run a command, which are so muscle-memory to me now they don't interrupt my stream of thought.
catenate··on Plan 9 from Bell Labs (1995)
http://doc.cat-v.org/plan_9/4th_edition/papers/sam/ reproduces the original paper by Rob Pike, which goes into some detail, and at length. http://sam.cat-v.org/ collects links to sam implementations, papers, and paraphernalia (such as ssam, which I originally wrote with Russ Cox). To better learn sam in a workaday role, figure out why the sam idioms at http://sam.cat-v.org/cheatsheet/ work (I have Acme versions of many of these at https://raw.github.com/catenate/acme-fonts/master/test/1/acm...).
catenate··on Plan 9 from Bell Labs (1995)
Inferno is kind of like Plan 9 running on a VM, with its own peculiarites like a really nice shell language. Having a VM, versus integrating with the host os like plan9port or cygwin, lets you use new features of the os like directory binding and the /env directory of shell variables. There's an os command to run programs on the underlying host, be it windows, windows with cygwin, or linux.
catenate··on Plan 9 from Bell Labs (1995)
I used emacs for 11 years (93-04) and then acme-like editors (wily, plan9port acme, Acme SAC, Inferno acme) for 8 years (04-). Acme (especially guide files) made a distinct and pervasive change to my working style that emacs never did: sped me up, prevented me from forgetting, gave me help just when I need it, and reduced errors. Inferno's VM gave me a minimal unix environment whose executable and my scripts I can take via usb to clients' machines.
catenate··on The Word Count Problem
I'm pretty sure that the trick to tackling most problems in practice is to see the basic problems to solve, and find existing tools to apply. Solve 80% of the problem in 20% of the time, and move on to something else you need to get done.

If the problem warrants it, you can revisit it later to do something more ornate. In the meantime, you've got what you need to move on.

catenate··on Ask HN: What are some other good replacements for traditional Unix utilities?
Plan 9 port to Linux, or Inferno's VM over Linux, to stop spending time learning new options, and use simpler tools to actually get stuff done.
catenate··on Dalton Caldwell: App.net is not Vaporware
It doesn't take half a million dollars to come up with one single actual demoable application that does something twitter won't or can't do. The point of this thing is supposed to be better apps. Fine, show me one, and I'll pay $50 to see more.
catenate··on Dalton Caldwell: App.net is not Vaporware
There is a free tier. Anyone can read the global feed.
catenate··on Dalton Caldwell: App.net is not Vaporware
I do understand this, and would like it to be true. But until at least one application actually exists that twitter won't or can't do, this is all promises, and those apps (which I hope aren't limited to user clients) are, in fact, vaporware. To a user, this $50 isn't today buying them anything they can't get from twitter, which is why app.net might not get funded.
catenate··on Dalton Caldwell: App.net is not Vaporware
Can anyone yet point to something done with app.net that twitter won't or can't do? $50 is a lot to pay for something that so far acts just like twitter. Without those new and interesting apps, which right now do appear to be vaporware, it's not worth a premium over twitter. I don't think clients that just show you the feed or your feed count, because twitter can do that.
catenate··on The Word Count Problem
Having reusable tools in the first place, to make it a problem simple enough to solve with a shell script, is the accomplishment that advances the state of our art. It reduces a complex data structure to passing data through a pipe, which makes the algorithm more usable for more people.

I wrote in a literate programming style for years, to generate LaTeX documents and a world-scale build system for a multinational. But I'm past that, since it's intricate and unmaintainable by others. Instead, I'd rather generate documents in UTF-8 (an ASCII-compatible and increasingly universal format), and sets of small tools which call each other and expose their data in files for new tools to use. With this approach I can evolve the toolset in small, state-preserving steps, to minimize how much I have to code to meet current needs and implement new approaches.

catenate··on EFF, Reddit, Mozilla, others launch Internet Defense League and Cat Signal
Don't think so. The liberty cap has been a symbol of emancipation from slavery in Western culture since ancient times. There's a statue of Columbia, goddess of liberty, atop the dome of Congress. She was designed with a liberty cap, but was created too close to the American civil war for the south to accept the symbolism.
catenate··on EFF, Reddit, Mozilla, others launch Internet Defense League and Cat Signal
I'll second this. That stupid-looking cat tells me nothing about the goal of the movement, what it's fighting against, or the character of its supporters, other than they probably also like nyancat or hello kitty. If you want a serious symbol, use the liberty cap that Congress couldn't bring themselves to use on their statue of Columbia.
catenate··on App.net project update #1
I want this to be awesome. I feel the void of great apps while trawling through my flat feed, searching and scanning for info that should flow to me through a thousand different apps, just as I need it. BUT, I won't spend $50 on a dream, without seeing some kind of real demo. Prove that you can do this right by showing off something awesome twitter can't or won't.
catenate··on GNU Make Alternatives
Inspired by redo, I've been writing a simple command-line tool set you could use to automatically generate and maintain a build system.

https://github.com/catenate/credo

catenate··on The Next Microsoft
So a better logo for Microsoft would be a Katamari Damacy ball?
catenate··on Facebook's e-mail debacle: One 'bug' fix, but rollback impossible
I see they actually created a way to remove the FB app from an Android device. Back when they hoovered up phone contacts into their database, I tried to break the connection, but all I could do at the time was delete my entire facebook account. Been pretty happy not wasting my time there, as I see it devolving into pseudonymous games, meme one-upmanship, and picture albums kids will mostly later regret.
catenate··on The future is specific
Acme supports constantly improving how you work in little ways, better than tools with plugins or extension languages, by not having many features, and providing a good interface to route text through shell pipelines.

For a simple example, Acme has no paragraph justifier, but it doesn't need one, since fmt exists. To use it, highlight a paragraph of text with the left mouse button, highlight a typed-in |fmt command with the middle mouse button, and release the middle mouse button to run the paragraph through |fmt and replace it in place.

With this I can leverage anything I can call from the command line, in any language, to be part of my editor. No need to rewrite tools in the program's specific extension language, whether Elisp or Smalltalk or Clojure.

As another example, since it's so easy to just run a shell command from Acme (highlight the command text and middle-click it), I'm constantly customizing pre-written shell commands to e.g. grep for lines in code (to the point of creating indexes on the fly for files), and then right-clicking on grep -n output to jump to a specific line in a file.

← PreviousPage 3 of 3