skysight-inc/HackerNews huggingface dataset:
Coda is great! I use it along with BBEdit (which is an equally awesome, straight-shootin' text editor)
I saw this amazing mentalist on 60 Minutes. Marc Paul is a UK-based mentalist who does not claim to be a mind reader or psychic, and he can do extraordinary things with his people-reading skills.

In his book, he said from a very early age he was able to correctly intuit if and where his family was going to go on vacation.

"However, there is one spectator left who he can’t quite read..

The performer then claims that he suspected something like this would happen, and out of a pocket he removes a sealed envelope that he opens and reads."

"There was nothing too difficult to do from a sleight point of view in his lecture notes, however to sell the effects as well as he does is a real art and it was fascinating to watch him at work.

I have outlined the effects he demonstrated below, but for me it wasn’t the actual effects that was important last night, it was watching his presentation skills. His performance skills. In short it was watching his skills as one of the best mentalists."

http://www.talkmagic.co.uk/viewtopic.php?t=2903
Indeed. They need someone to go through and give nice urls to all of their documents. Also be good for someone at 1 infinite loop to get a list of all the old urls, and map them to the new urls.

Probably not a hard task for their web team.
These rules don't seem to apply to the modern age very well. The rules "Avoid captive user interfaces" and "Make every program a filter" mean that you can't write a text editor. The rule "Store data in flat text files" means you can't write a (reasonable) MP3 player or video editing program.

"Build a prototype as soon as possible" is pretty general, but most of these rules are just good guidelines for writing command shells and compilers -- not coincidentally, two of the main concerns of early Unix developers.
As below, medical marijuana (and other) laws are rapidly changing the landscape. Although this is a risky area for entrepreneurship, it's probably passing that point where it's easier to obtain forgiveness than permission.

This is why growers and retailers in the Bay area enthusiastically supported the recent pot tax passed in Oakland and are supporting a California pot tax - as soon as you start providing revenue to the government, you start looking respectable.
This blog post contains mostly a small list of design principles. But those ideas are from ESR's book "The Art of UNIX Programming", where they are expanded upon in great detail, with excellent examples.

I am someone who practices the Unix philosophy on a regular basis, and cringes when I see how twisted and inelegant Windows has become (even on the programming side). I consider this book a must-read for people who know only Windows. It is also an interesting book for those who know Unix already.
Reading this crystalised some thoughts I've had for a long time, but never been able to express clearly.

Yes, vim is a non-discoverable interface.

http://www.google.com/search?q=discoverable+interface

( Side note: from that search I found this:

http://www.catb.org/~esr/writings/taouu/html/ch01s01.html

There it lists "... concision, expressiveness, ease, transparency, and scriptability." It then expands on each, but mysteriously quote "Discoverable" in place of "scriptability." Very odd.

But I digress ...)

Now the question is - without having to wade through plodding tutorial after plodding tutorial, how can we help people discover the interface? This doesn't just apply to vim, it applies to your web site, or application, or even your company procedures.

It's now a long time since I learned about :sp and ctrl-w to create and move between windows in vim. How can we help others find these things? How can we help them find the fast way of doing things on our web facility?

As a parting note - I wouldn't equate efficiency to "user-friendly."
Please remove " - The Globe and Mail" from the title, since it says that afterward anyway. Thanks
Not as effecient as the cat editor.

$cat > $kernelroot/drivers/custom/screen_driver.c

[note, you learn not to make any typos eventually]
day after tomorrow at 3pm

Lol, even I would be thrown by that phrase... (a comma might help)

It's like SQL.

The problem with SQL isn't that simple SQL phrases are that different from normal language OR that complex SQL phrases break the rules of simple SQL phrases.

The problem with SQL is that humans beings have a lot of trouble understanding complex phrases that follow the most consistent possible rules followed by simple phrases...

So clever NLP often just out-clevers itself communicating with us... (remember SQL was originally intended to be a language usable by even non-programmers and ended up being a language that even many programmers feared ... though I have an unusual fondness for it).
I used vim for over 12 years before switching to emacs. The thing that made me switch was looking at some insane vim-script to indent Python (or something like that - I don't rememember).

I love emacs now. Yeah it takes ages to learn, moving around isn't quite as quick as hjkl in vi, emacs lisp isn't perfect, but it really is worth it. Nothing is as powerful.

23 even lets you connect to a running process from a tty and GUI simultaneously.

And yeah - org-mode is great. As is the gdb integration.
> I wonder if the many other prone to depression people have similar reaction as I to "life-hack", "feel-good", "aphoristic" blogs/articles/people like this one.

Erm, I found that minorly confusing as to what you meant. Could you elaborate?
I really didn't get on with aquamacs. It'll do your head in if you use emacs on other platforms.

You can use other emacs builds on mac OS. I use Carbon Emacs. Emacs 23 has a native cocoa build now.
Emacs would be a great OS if only it had a good text editor...

Seriously though, isn't this like asking what kind of car is the best to drive? I like vim, nano, n++, and textmate, but the "best" for me changes as often as my mood.
HarvardConnection (later renamed 'ConnectU') looked a lot like the classic "3 business guys hire a part-time coder to implement their 'vision'" startup antipattern.

That Zuckerberg, who was already creating social web apps before the 'oral contract' and engagement with HarvardConnection, concluded he didn't need that overhead was his own independent discovery of the YC gospel.

I'm sure the ConnectU crew thinks their special snowflake vision of a social-networking utility that starts on college campuses was a uniquely world-beating idea, but that sort of delusion is common. There are thousands with similar delusions who didn't luck into a brief collaboration with someone who'd eventually make the vision happen, and the accompanying lucrative settlement.

(And a settlement is not an admission of guilt, but a calculation that the costs of fighting exceed the costs of settling. For Facebook, the costs of uncertainty in their fundraising far dominate the potential legal costs/risks, so a settlement says more about the peace of mind wanted by investors than the facts of the case.)
Just caught the movie yesterday and I have to say that it is totally worth watching. This guy was years ahead of everyone else doing online video in the mid-90s.

At a Q&A after the movie someone asked him what he thought the next big thing was, and he mentioned Ray Kurzweil and the singularity. FWIW He thinks 2012 is probably when it'll happen.

Who knows what the always-on hyper-connected zero-privacy future will look like, but I don't necessarily see it as a bad thing.
But note that the overarching guideline is to structure programs in ways that are generally useful (particularly to other programmers).

I don't think the point is that there should be no bigger programs, but rather that those programs should take advantage of as many small parts as possible.

An MP3 player could have done this. For example, is there a small program that (only) extracts MP3 tags, to allow song lists to be easily constructed/sorted based on attributes such as Artist? Why should a giant GUI be the only way to perform these tasks? When one believes that the GUI is the only way, suddenly it seems "necessary" for the GUI to have its own scripting language to allow automation of these kinds of tasks. Instead, iTunes could run the "create song list based on these tags" program whenever it needs to perform that function, and use the results to update its GUI.
Whereas in the noncapitalist world, cutthroat assholes get ahead -- often by imprisoning or slaughtering their political opposition.
Um, sex!? Or was that to obvious.
They're not necessarily the same thing.
In my more paranoid moments I think Apple is actively trying to make it difficult to develop for their products. I know how crazy it sounds but it's not entirely irrational.

I mean, how can a company that puts so much effort into perfectionism do something like this by mistake?
So they are andrewbadera's twin brothers?
I don't do a lot of web design but for my last two projects I was v.close to switching back to HTML4 to make the transition up to 5 easier when it's finalised. I think my next project (for myself) will be HTML5 but I can't quite bring myself to give up the XHTML ideology yet.
Yeah, the difference between Coda at home and vim at work (where I use Windows as a terminal client to Linux dev boxen) has driven me back to vim on my Mac as well, just to avoid the finger-confusion. :/
OK, since you posted this to HN: what lessons can we learn from this distinction? I can see how it can be helpful for managers (the ones managing programmers, or "herding cats" as the namesake book (http://www.amazon.com/Herding-Cats-Primer-Programmers-Lead/d...) says). But this is kind of shallow. Any deeper observations?
Then the Twestival SF organizers are flakes, and your friends who do the central coordination need to do a better job vetting their local organizers. Otherwise, your friends will earn themselves a bad name.
1. Pricing:

If your clients pay for the software from grant money - find out about these grants before deciding on your pricing. People won't have a lot of hesitation on price if its not their money - but grant money - that they'll be spending.

So find out what kind of grants your clients opt for. Whats the average value of that grant. Is it a specific purpose grant? And fix your pricing accordingly.

2. Book recommendations:

i. How I Raised Myself from Failure to Success in Selling - by Frank Bettger
(The best book on selling I've read)

ii. Bag the Elephant - by Steve Kaplan
(Book for selling to big clients)

Jeffrey Gitomer books on selling are also good.

3. Selling Ideas

Record short interviews with your current clients. Ask them the following questions:

i. What was your perception about my product / solution before you bought it?

ii. How has that perception changed?

(Answer to the above 2 questions gives you the before-and-after scenario. Powerful testimonial stuff.)

iii. What is the biggest benefit you gained from using my product?

iv. What are some other benefits you received?

v. Do you think the price is reasonable?

vi. Would you recommend the solution to others?

Obviously - ask for their name and title and stuff too.

Record such 10 minute interviews. Compile all the interviews in 1 DVD. And you have a very powerful sales tool.

Using such tools work wonders for folks who aren't good at personal face-to-face selling. Let others sell your solution to your target audience.

Mail these DVDs with a 1-2 page sales letter to folks in other cities (Let me know if you need help with the sales letter too - I've written a few that have done well). And follow up by phone after 3-5 days. And then follow up again.

As others have recommended, tradeshows and conferences are very good to get your foot in and raise awareness too.
I'm not sure why one would choose to develop with Silverlight over Flash - straight away you've cut out the majority of your user base.
"Did I enrage or even lose followers because of this blatant, mind-numbing, repeated promotions? Truthfully, it’s tough to tell because several hundred people/bots unfollow me every day. Each day I did get two to three complaints from people who threatened to unfollow me for doing this. I offered them the choice of paying to read my tweets if I didn’t repeat or promote anything, but I’ve had no takers so far."

I'm wondering if maybe the lack of takers was because his suggestion isn't doable that no one bothered to respond. It does make you wonder if someone could sell access to their tweets. 'Pay me X amount, I'll approve you to see my private account'.
While absurdly long, that path actually does (mostly) make sense. If you were to do it, it would be an organizational mess when looking for something.

/Developer is the standard install path. Documentation/ for docs, DocSets for the actual docs (as opposed to sample code), com.apple.ADC_Reference_library to say its an ADC reference library (as opposed to installing your own docsets, which some libraries have), CoreReference.docset to say which docset it is exactly (leopard vs snow leopard, for example), Contents/ is pretty standard for OS X bundles, Resources/ since docs are technically resources, Documents/ (again, there are other files here: sample code, tech notes, etc), documentation/ for the documents themselves, Cocoa/ for which framework you're looking at (It could also be Carbon, Webkit's CSS, Darwin, Java, etc), and, well, thats the end of the chain on my system. But to continue it based on a guess, Reference/, possibly redundant, but its nice for organizational purposes, ApplicationKit/ - you are looking up something in AppKit, but there are other *Kit's that can be used as well, Classes/ instead of headers, maybe, and then NSApplication_Class for the class that you want.
I agree. Lots of local organizers have been booted for various reasons. I think there are something like 150 cities. There is basically a person or two vetting the whole thing. I think that deserves respect regardless of a few bad examples.

I mean, there is money involved, and charities to donate to. That extremely sensitive issue is essentially already settled.
s/rule/guideline/ and maybe you'll be able to see the forest past the trees.

The rules "Avoid captive user interfaces" and "Make every program a filter" mean that you can't write a text editor.

Not true. Some text editors are of the UNIX nature, and some are not.

But, the fact is that you probably shouldn't be writing a text editor today. Editing text is a solved problem, and you'll almost certainly do it worse than emacs or vim if you try.

The rule "Store data in flat text files" means you can't write a (reasonable) MP3 player or video editing program.

Sure you can. Your playlists can be flat text. Your video queue list can be flat text. Your preferences can be flat text. MP3s and video can also be processed in a filter style (and often are conceptually so within the UI). Only problem is compressed data isn't in a form that can be filtered without first decompressing it. But, I regularly batch process music and audio files. If I did a lot of video work, I'm sure I'd also do the same with video.

Your program can certainly be a filter for those types of files. Sox, lame, and the ImageMagick convert utility are good examples of media programs that embrace the UNIX philosophy.

The point is that you shouldn't use a database if you don't need the things that databases provide beyond storage of blobs of data. Don't over-architect your file formats, don't obfuscate them, don't make it harder for users to use your code in ways you didn't envision. This is the UNIX philosophy...not that you aren't allowed to operate on non-text data.

Programs have been working with messy real world problems since before UNIX and the UNIX philosophy existed. The need to interact with non-text data hasn't sprung into existence in the past ten years. Before there were MP3 and video, there was typesetting, and scientific data analysis, and moon landing calculations, and neural networks, and telephone switching, and so on and so forth.

Programming in the UNIX philosophy is always possible, and, as far as I can see from my many years of software development, always wise.

but most of these rules are just good guidelines for writing command shells and compilers -- not coincidentally, two of the main concerns of early Unix developers

Every single problem of note that I can think of would be well-served by breaking it into reusable pieces. Sometimes this just means libraries, rather than small standalone programs, particularly on the desktop...but sometimes separate programs that happen to be used by a "main" program are the right way to go. Things like video and audio compression can be, and often are, performed by separate programs.

This separation is a win on many levels...on a multi-core machine, the new process can have its own resources, while you continue to work away on your media. It can be upgraded or maintained at a specific version more readily. It can be used by other programs or in a batch mode from a script or batch compression utility.

I think it takes someone who doesn't use UNIX on a regular basis (actually uses UNIX; not merely a GUI shell on top) to think these concepts are outdated and not generally applicable.
It’s not like this is even exclusive to the documentation—every new release of OS X takes over /macosx (or whatever it is).

It seems like somebody involved feels that there’s no use for the past.
An older colleague pointed out this article to me the other day, as evidence in support of their opinion that Facebook isn't all it's cracked up to be. In response I said,

This article isn't about Facebook so much as it is a commentary on the effects of new technology on the evolution of social norms.

I'm sure when the telephone was invented people had similar complaints. As we develop new technology we must also develop new etiquette for it's use.
There are too many variables in the cited study to really draw a conclusion one way or the other. Just the ones I can think of off the top of my head

- Race plays a part. This study was done with Korean Infants adopted around 30 years ago when race played a much greater role in success

- Age at adoption plays a part. If there’s one thing that gets hammered into American parents it’s that nutrition during the infant years has an impact on a child’s life. If someone is, for example, malnourished during their infant years there can be severe physical and neurological consequences.

- Genetics certainly play a part. Let’s be realistic here, Intelligence is at least part genetic. I got As in High School without even trying while friends with more affluent parents struggled. Is there really anyone who doesn’t believe intelligence is at least partially genetic?

There are probably tons more if I spent some time thinking on it. Bottom line: The study proves nothing. Moreover I suspect the question of whether adopted kids can be as successful as biological ones is far too vast to really have a definitive answer.
Some things I've learned:

* never look at the profile of someone you're interested in.

* never look at an ex's profile.

* I prefer my own profile page over the "Home" page.

If you absolutely have to look at the profile of someone you're interested in, get the information you need and get out. Don't look at any pictures whatever you do! The result will always be bad!

A helpful question to battle jealosy/envy when you do run across something unsavory:

"Why would these two people be talking on facebook? Why aren't they just talking on the phone or something? They must not really be that close, since they're talking on facebook after all..."
I use a variety of editors, and it all depends on what kind of editing I am doing. Emacs is good for a lot of things, so I usually keep an instance open, but I do not always keep up with the language-specific modes, so I also use language-specific or project-specific software such as Visual Studio or Blackberry JDE (or even occasionally Netscape++) on Windows.

Emacs however has a steep learning curve. It is worth it in the long run, but I understand why many people shy away from it. Modern emacs distributions have icons and helpful toolbars and are not too intimidating, so if you think about it, give it a try.

Oh yes, and I run vi (vim or gvim) once in a while just so that I would not forget what it feels like, that's all. :-)
Sun Microsystems Reports $147 Million Quarterly Loss
The structure is consistent with other bundles. But the question is, are bundles really the logical way to handle documentation? I don't think so.

If you look in places like "/Library/Application Support", everything is basically broken down by product or vendor. It is hard to imagine having so much documentation installed that similar naming wouldn't suffice for DocSets.

Apple has also used saner documentation layouts elsewhere (and oddly, in places that are probably not meant to be "public" documentation). For instance, there's a /Library/Documentation, and its layout is very easy to follow.
Voxli uses gvim on Windows and Mac, without Cygwin. I switch to Visual Studio or Xcode for debugging and compiling, and it's never been a problem. There are also some clever plugins to open a pipe to Visual Studio so you can kick off a compile directly from Vim, but I haven't needed them yet. Also we had to write some scripts to feed the proper paths to etags depending on the development environment (include Windows or Mac toolkit headers, etc).
i use bluefish a lot and like it very much: http://bluefish.openoffice.nl/
Yes, being a dick spammer works, for a given definition of "works". I unfollowed Guy Kawasaki a very long time ago, and I'm pretty sure most people who care about their keeping their tweet-stream interesting have, too.
Ah, that's good to know. Though I (still) have Xcode 3.1 installed, I was surprised it would just delete the /usr/bin stuff.
More vi/vim tips in the MOTD/fortune issued on login on some hosts (FreeBSD pops to mind).

fortune in /etc/profile is something I miss about older Unixes and Unixalikes that seems to be evolving away.
Uh...

%w[ rubygems sinatra chronic ].each {|x| require x}
get "/utc/:time" do |time|; Chronic.parse(time).to_s; end

(Also, Chronic is extremely slow).
I wonder how much of the worlds commerce would shut down if the American government decided to see how well this works.

The internet may have been a DARPA project in the long lost past to keep communications open in the face of a nuclear war, the fact is that with a 'US sized hole' in the routing tables plenty of traffic will have trouble making it to its destination.

http://www.eee.bham.ac.uk/com_test/img\dsnl\internet15jan06....

Shows a pretty picture on what the rough topology of the net looked like in 2006, the legend of the graph is here:

http://www.eee.bham.ac.uk/com_test/dsnl.aspx

I can't imagine Canada would be very happy either.

If the US would ever even for a test try this trick I'm fairly sure there would be worldwide calls for a boycott.
Or the Windows clone, e-Texteditor.
Macs are far too expensive in Africa...
Rewriting Returning in Rails
Microsoft's Apple envy is getting ridiculous at this point.
I don't think that's true at at all. The problem this article brings up isn't "with Facebook" as much as it's with the fact that Facebook doesn't make it easier to delineate private items from public items. Which, imho, is one of the biggest un-talked about issues our society faces.

Facebook is modeled after a very childish model of "I'll just share everything with the world". But now you have everyone from future mates to HR departments checking people's profiles and under that scrutiny the current model doesn't stand up well.

You want to invent a Facebook killer all you need to do is figure out a way for people to share everything they do on Facebook while only giving select "friends" access on an item by item basis.
The hour long startup time was what I had in mind, time is my most precious resource.

The RAM I couldn't care about, that's fairly cheap these days. I haven't a clue what that software does when it starts up but there has to be some way to optimize it.

Intellij is not much better.