skysight-inc/HackerNews huggingface dataset:
I agree 100%. My initial question was from the final quotes from Paul Robins who seems to assess the evidence correctly ("This study has shown that there's no proof that acupuncture can help") and then pivots into close-mindedness by saying "that suggests that there should be lots more studies to examine the question. I'm convinced it can help."

I want to see him come up with well-controlled studies to support his conviction.
I like a lot of the concepts, but I'm dubious about terse naming. The long e-mail example simplifies "msg" to "m", for example. Now, while I would agree that veryLongVariableNames can get tedious and annoying, and while I'm also in favor of standardized generic loop indexes (i,j,etc..), I think this may go to the other extreme. I could see going from "message" -> "msg", perhaps, but I'm not sure "msg" -> "m" is a win. Why is saving two characters that important?
Atari employee tapped to help in Secret Service raid
Apple’s store comes back online with a dizzying array of nothing new…yet
Even better - take a look at http://www.vmware.com/company/leadership.html. One of the co-founders, Edward Wang, "also helped to neutralize the infamous Internet Worm virus by discovering and describing one of its key mechanisms."
Hmm...
I just checked the stats for Adblock Plus and CustomiseGoogle on the Firefox Addons site.

Adblock Plus - 238590 weekly downloads
CustomizeGoogle - 41114 weekly downloads

And it doesn't seem much with 8+ million firefox users and considering the fact that there are people who download just to try once + People who might have formatted their system or re-installed Firefox etc

Personally, I agree with you. The following statement you made is totally right.

"His gauge of the ad blocker extension's popularity is that these extensions are "getting to be extremely popular. It has been featured in The New York Times," "

Counting the number of loyal users for any software isn't easy with the download numbers itself. And the post's author seems to rely on the fact that the addons were featured on New York Times :)
I too read about handy freeware every week in my favorite tech magazine every week. And just because I read about them doesn't mean I am going to use them. Its just like the fact that your website gets featured on TechCrunch or Mashable isn't going to get you all their readers as users.

"Maybe next week he can write a follow up about how Firefox3 doesn't include the DOM Inspector by default and hypothesize that Google strong armed Mozilla into removing it so folk wouldn't be able to get at all those juicy Google HTML secrets."

The above statement had me laughing for a long time. I am just going to wait for an article like that on Firefox-3. I just want to see on what grounds someone is going write another anti-firefox post.

And if anyone is going to do any anti-firefox protest, then its not about convincing a group of friends around you for a successful result. Its about convincing approximately 8+ million users not to use firefox. :)
I would argue that Facebook's value hasn't dropped - it just never was that $15bn. Microsoft was paying for an ad contract along with the ownership share. So, it was probably always valued at what is now becoming the quoted value.
We can't understand that. It doesn't look like Arc, or any other Lisp!
Chill. That was exactly my point. Clearly you have a strong aesthetic sense. :)

You might want to lose a few of those CAPITALS though. Someone might think you were screaming about software.
Madness? This is programming.
EEG technology allows you to control software apps with your mind
Oh, my parents had to teach me that one and I don't even have autism (as far as I know.) It seems obvious when you think about it: people are bothered by strong smells so if you smell strongly people will be bothered by you; but, if you're not clued in socially, you may not be aware of such things. This is especially true if you don't recognize hints from other people that you smell.
The writing, and plot, was great. But it's not a happy book, is it?
Robin Hansen speculates that a lot of behavior concerning medicine is about social signaling rather than desire to alter medical outcomes. In particular, people push medicine onto others as a way of showing that they care.

http://hanson.gmu.edu/showcare.pdf
I guess Adobe would agree with you, I mean, today's Adobe.
blog linking seems to be more about getting better search engine results than actual traffic. In my opinion, it always has been.
Its a sad day when the founder is ousted. I wonder why Vmware is in trouble. I can't imagine it is because of Greene.

I think virtual machine technology has great potential.
While I'm not sure 'not' starting a company in silicon valley is valid (i.e. if I lived there I probably wouldn't move away to start a company), I am all about starting companies in area's with a lower cost of living. "staying alive" is easier in 'southwest airlines' cities.

Take a look at the map of where Southwest Airlines flies to and you get a feel for 'alternative' cities that should have enough infrastructure for a startup.

In my neck of the woods, albany,ny we were the excitement of the entire area. We were on the front pages of the local paper all the time. Recruiting was easier because people knew who we were and understood we paid less, but had the excitement they were seeking.

We got free legal advice because lawyers wanted to be associated with us. We won local business plan competitions ($100k cash). We got investment from local VC's wanting to build up the area.

We paid $1500 a month in rent, including all utilities, for a mansion on the hudson river (and lived in the 5 bedrooms on the second floor). Our internet (cable modem) was $40 a month and screaming fast because our neighbors probably didn't even have it.

That helped us 'stay alive' long enough to figure out how to make money.
It's interesting that an ostensible socialist would found a business networking site. It looks like he's having a great time.
Hopefully whoever wins the wireless spectrum auction (http://agora.ic.gc.ca/AuctionGCLF_BTS/bidderResults.cfm) will change the Canadian market by introducing competitive rates. I'm betting on Videotron.

Also, what is the CRTC doing... they should realize something is wrong in the Canadian telco industry.
I agree, this could have been described as good programming. :)

There's a quote by a well-known author whose name I cannot recall at the moment, concluding a lengthy letter:
"Forgive me for writing such a long letter, I did not have time to make it brief."

One of the reasons that I've almost invariably been more productive than most other coders I've worked with is that I write a lot less code than they do. Another side effect of that is that my code has never been a bottleneck, so I've never had to do any further optimization.

It also takes significantly less time to debug :)
I saw the CEO speak about it at a conference recently, the stuff seemed fairly impressive. They definitely have a nice environmentalist streak running in them too, save the oceans through technology etc. Seemed like fairly commodity computers behind an array of sonar senders, but the real key was algorithms.
Things usually make more sense when you implement your learning. Abstract knowledge is often easily forgotten or poorly grasped, learnt knowledge less so.
Not that I like it, but a lot of algorithms in papers use shorthand subscripting so they can write equations that aren't 300 columns long. Say you're doing neural network stuff like w_1,w_2,w_3,...,w_n for weights, inputs, outputs, etc.

If you're reproducing those algorithms in a program, you could do worse than copying their naming structure so that the correspondence between the program and the paper is as obvious as possible.
I could see going from "message" -> "msg"

There are dozens of possible abbreviations for "message" but only one correct spelling of "message". Abbreviating a word forces the reader to remember both what it is, and what its abbreviation is. One of the seldom-mentioned gifts that java has given the world is killing the horrendous C practice of insane abbreviations. I can't tell you how many times I've had to look up itoa(). It just wouldn't stay in my brain. But I guess it keeps my teletype's ink from running out too fast.
Step 1: Go to your doctor and see if you actually have Asperger's. If you don't, stop using it as an excuse.
No.. This is Sparta!
I don't know what the situation is like now, but several years ago, one of my farther relatives, a doctor in a senior position, was recieving 700 Rubles a month as her paycheck ($30 today).
I agree with you. I dislike returns scattered throughout a single method. Makes tracking them a bit difficult.
I came to Canada from India. India is experiencing a telecom revolution right now because of the intense competition b/w the telcos. The call rates have dropped 10-30 times in the last 7-8 years. I was appalled at the cell phone rates here in canada.
What Strategists Can Learn From Microsoft Vs Yahoo
A point for having design patterns in a book is that everyone can use the same names for the same patterns. That helps somewhat in communication.
I used to read Dostoevsky when I was younger; tried to re-read C&P recently and couldn't stand it. Too painful. So the moral would be: read Dostoevsky while you still have the intestinal fortitude of youth.
Yes, telecom sucks in canada.
Woo, bad publicity for rogers!
How Testing The VC Market Can Lead To An Investment: Going Straight To Term Sheet
The Pike essay linked elsewhere in the comments puts it this way:

[snip]
Finally, I prefer minimum­length but maximum­information names, and then let the context fill in the rest. Globals, for instance, typically have little context when they are used, so their names need to be relatively evocative. Thus I say maxphysaddr (not MaximumPhysicalAddress) for a global variable, but np not NodePointer for a pointer locally defined and used. This is largely a matter of taste, but taste is relevant to clarity.
[/snip]

One could argue that the variable m, within the context of that method, is easily understood as a Message.

All that said, I'd prefer msg--two extra tokens per line isn't really going to clutter the code, and likely make it easier for other programmers to understand what's going on.
I'm not convinced patterns are that complicated.
Not like there are many Apple stores in Canada, but does the 10-20 unit sanction apply to each rogers store as well? In that case..the launch is going to be a complete flop, I couldn't be happier.
"But there are other forms of concurrency. Processes that communicate using files, pipes, sockets, or even shared memory."

I don't see how this solves the problem. It's true that some problems work well as pipelines where each stage does some finite, balanced amount of work before passing the data off to the next stage. But many don't.

And I don't follow the files and shared memory argument at all: those are both shared, unsynchronized-in-the-base-API abstractions just like threading. And they're subject to all the same deadlocks and race conditions. The only difference is that you use slightly different synchronization primitives (e.g. fcntl() locks instead of mutex locks).

It's correct to point out that traditional threaded code is difficult to get right. But it's naive and unhelpful to point to any kind of "secret sauce" as the solution. The difficulty of concurrency lies in the problem itself, not the API.
"Trouble" in the crazy stock market sense. They are not reaching "growth targets", which means she isn't pushing hard enough for growth. In reality she's probably a great boss, but just not cut out for running a public company owned by another company.

I'd feel bad for her, but I'm sure she has plenty of money. She apparently loves windsurfing, so they should just move back to Hawaii and have fun. Her picture looks like she's in her 50s, so she should just retire early and have lots of fun in the sun.
This is really sad.

Unlimited data here in the UK, and that's how it should be. You even get free access to the cloud network of wifi spots which are dotted around most towns/cities. 600 minutes, and 500 sms for £35. 18 month contract.

I really don't know how Rogers can get away with charging so much for so little.
"I just don't want to see any more about drugs, sex, religion, politics, profanity, and certainly not the stream of conciousness bloggings of liberal arts students. I can get all that at a thousand other places (but I don't). "

Agreed! People seem to forget that there was a previous generation that did some of the things they're doing. It's a bunch of rediscovery and it's boring. Find something new you damned kids (and get off my lawn)!
TechCrunch is in dire need of a copy editor. I'm pretty sure everyone who writes there simply types their article into Wordpress and clicks publish. Even typing into MS Word first would help, since the built in grammar checker would catch a nice chunk of them.
Neat!

There's an article in the 1997 Game Developer's Conference Proceedings on a similar technique that Naughty Dog used in their Crash Bandicoot tool-chain.

Given a binary file format, it's nice to be able to specify a reader or writer code-generator with a declarative syntax that looks just like the file format spec.
Probably due to the inroads made by KVM and the like.
Absolutely. I can't say enough good things about drumming: literally every bit of music I hear can become a collaborative (well, Karaoke-style collaboration) piece of shared expression. The only limit is the degree to which I'm willing to annoy the people around me.
>Fact: Users who enter keywords or misspelled URLs into the Firefox 2.0 location bar will essentially be running a Google "I'm Feeling Lucky" search. That is, they will be taken to the first result for a Google search query for those terms.

From which Google makes exactly $0.
It sold out within a few minutes in the UK. It just depends how good your countries network is I guess.

Rogers certainly seems to be shooting itself in the foot a bit.
I agree. With IDE auto-completion, measuring characters become less meaningful. Using tokens would be better.
Absolutely unacceptable. If anything, the reset password instructions should have been sent, and nothing else.

On the other hand, Apple now has an incredible PR/customer relations opportunity. Could you imagine if Apple cam back to him with free products, free .mac (mobileme) subscription, and a team of people to help re-secure his information? If that happened to me I would feel that they did their part in restoring my confidence. I doubt this is an exploitable loophole in account security as much as it is simply a fluke or blunder on behalf of one man in a customer support center.
From what I can tell, Canadian Apple Stores were never going to sell the iPhone. They were always going to sell only in Fido/Rogers stores:

- http://todmaffin.com/iphonerumours
- http://www.apple.com/ca/iphone/buy/
- http://64.233.169.104/search?q=cache:5OL_NN1y3BoJ:www.apple....
Developer Defends His "Interesting" iPhone App UI
Facebook's perceived value drops $11.25bn.
Life at Basecamp - Six Months In
Nice one...lol
Rather, when the hard problems come the logged information will be the only thing you will have. Eventually you wil solve all the easy problems with repro, and you will only have hard problems left. It's not a hipotethical, that is actually one step in evolution of systems software.
It's a good example of why some of us don't trust cloud computing/storing your data online with any random company.

If the very well funded Apple can screw up this badly, just think what most places could manage.
Wow! I enjoyed this story. This could be a hit if made into a film. Would surely win an Oscar.

The author must have felt like a geek-hero during the job, considering the fact that the Atari-800 released in 1979 and this incident must have occurred sometime around 1979-85 or so.

The lines I liked very much...
--"and next to it hummed a TEN MEGABYTE HARD DISK, clearly the pride and joy of its owner."
--"That’s a modem cable. That’s a modem. Wait, I need to shut the computer down"

I was born almost a decade after Atari-800 released. Couldn't understand these terms: "Pen Register" and "Sprint Codes"

After googling: Pen Register is a device that maintains phone call lists for a fixed phone line.

But does anyone know what "Sprint codes" mean?
Googling didn't get me much info.
My philosophy professors actually did the opposite; the page limits were upper bounds, not lower bounds, and they were always incredibly tight. You might have 5 pages to cover what would reasonably take you 8, and if you went over the limit they'd just stop reading and cross out the rest for you. I guess that only works if you have students who care about what they're writing enough to actually want to try to put in real content, but the forced conciseness helped make me a much better, clearer writer.
It's a recession, and a lot of companies are waiting on their capital improvements right now. This one surprises me in how impatient they're being, or there's something else going on.
Pretty impressive. What quality would you say, Quake I?
He handles it surprisingly well. A good lesson for all of us that have crap hurled our way.
Transformers: The Transformer Attack You Never Got To See
VMware has been skimming the cream off the virtualization market and making enormous profit in the process, but that can't continue forever. Soon they must choose between sticking with the small but high-margin enterprise consolidation business and growing with lower margins.
It depends. A project _of defined scope_ that has no schedule pressure can go pretty fast.

If the PMs concentrate on squashing change (or moving it to version N) instead of bugging people to get something out by a date, that can work. This is especially true if there is some cool problem in the next version that the developers want to get to but can't until the current version ships :)
"Expect to either make a major investment in developing your own financial and tracking software that works with Basecamp to make it do what you need (37Signals provides an open applications development toolset, so this is certainly possible),"

Business opp, anyone?
Sprint is (was?) a long distance telecom provider. I'm pretty sure "Sprint Codes" means some type of access code that allows you to make long-distance phone calls without that call showing up on your bill, i.e., it was paid for in advance by some other method.
does your editor not highlight returns properly?
I think this is one of the failings of Common Lisp. For the example of snarfing a file into a single string, here are some examples of the fun you can have:

http://www.emmett.ca/~sabetts/slurp.html
http://www.tfeb.org/lisp/obscurities.html#SNARFING-FILES
http://www.codecodex.com/wiki/index.php?title=Read_a_file_in...
http://www.cl-user.net/asp/html-docs/process-file-snippset

According to the first link, this turns out to be the most efficient and most idiomatic way to do it:

(defun slurp-stream5 (stream)
(let ((seq (make-array (file-length stream) :element-type 'character :fill-pointer t)))
(setf (fill-pointer seq) (read-sequence seq stream))
seq))

Makes sense once you know what all the pieces mean, but not the first thing a new Common Lisp programmer will think of. Then, in the SNARFING-FILES link, turns out it's not correct for all files, anyway, and the "correct" version is considerably longer.

EDIT: Oops. The code I pasted DID include the proper file length check (at the cost of reading into an array of characters, instead of a string). So ignore the last sentence of my (unedited) post.
Interesting article. It pointed out a lot of flaws in 37signals software that are clearly intended. Whether a lack of features and a strict conformance to bare software is a net positive or negative for small business is another conversation, but this does point out a need for features that they are missing.

This also comes along with 37signals' post on the permanent nature of features, and the importance of getting it mostly right from the beginning.

On that topic, the idea of providing business services in the mindset UNIX tools is beginning to be really attractive to me. Provide a limited set of features in a small bundle that plays well with other services, along a similar mindset. A billing component, a collaboration component, etc, such that each one can play with another very well. That should make offering new services more painless and intuitive.

Any takes on a venture? :)
Right. Problem is that it probably won't be you adding the next level. Here's what really happens:

- You code a proper loop iterating with "i".

- Programmer 2 adds 50 LOC.

- Programmer 3 adds 100 LOC.

- Programmer 4 drops a level, but since he doesn't see the whole routine (too many LOC for one page or one screen), he uses a global "i" again. But nothing breaks because "i" is always 0 in both levels, both in testing and in production.

- Data changes and it breaks. You get the call, "What's wrong with your program?!?"

That's why you should have never used "i" in the first place. Call it "SkuNdx", "RecCtr", "ClassNbr", "Ctr1", anything but "i".
I was just about to post a comment with :
"Me: But there are other forms of concurrency. Processes that communicate using files, pipes, sockets, or even shared memory."
You are spot on with the problem itself being hard. As I understand it, the distinction between a process and a thread is that threads share memory. If you don't want to use the shared address space, simply don't use it - thread local variables are fine. The issue is that there are multiple threads of execution happening concurrently, and therefore communicating data is difficult. It's hard to believe that taking away the shared memory will do anything but make things harder. Like ajross says, parallel algorithms are just hard.
Come on. Userland code constantly blows L1 cache. Almost any library call will churn the icache. For that matter, any memory access can collide the TLB. None of those things are syscall-specific. If you were concerned about L1 and icache, you needed to write your code meticulously to accomodate them anyways.

Yes, cache is important. But there's a world of difference between the "flush the caches and the TLB" behavior that system calls used to incur and the "expensive relative to local variable access" behavior we're talking about here.

"A bounce to non-local, non-current execution environment" literally doesn't mean anything. You could be talking about the CR3 change that swaps page hierarchies, the CPL3->0 change that allows privileged instructions, the CS change that got you there, or even the ESP change to "swap stacks".
Which of these are expensive?

I'm chasing you down because it's fun, not because I think you don't know what you're talking about.

But, let's make this relevant: if system call overhead is drowned by disk I/O overhead, then one argument for mmap goes away.
Colbert Bump - Firefox 3 Proves its Existence
Most of my editors do but I end up doing a lot of work SSHed from other computers without windows so I end up doing a good amount of work in raw text files.

Also, it's easier for me to process a single return line than to take a look at the logic behind each of the other returns. If I end up returning an undef at the beginning of a function and then edit it a few months later I may just skip that step and not see where that case is being handled.

It just seems a better way to structure my code, for me at least.
"Make something people want"

not

"Make something that looks nice"

Seems like he thought pretty carefuly about the use cases of customers, and tried to make things as simple as possible. Sometimes making things simple leads to a more cluttered UI I guess.

For something you use every day you don't really want more than a couple of screens. You want everything there... ready to be used.
Serif vs. Sans Serif Legibility
Well, I'm a hacker and juggling the same eggs you are, and what I think is, if leveling out with THC after a sprint is effective, whether or not I think it's a good idea, it qualifies as Hacker News. Burnout is one of the biggest issues in running a tech startup.
What's Next?