skysight-inc/HackerNews huggingface dataset:
Is there any non-legacy reason to have macros in C++? I've been coding C++ now for over 3 years, and as soon as I learned all the features (especially templates), I have never needed them again. Indeed, I despise them, because they break debuggers and can conceal bugs easily.

I'd like to see an example, if anyone has one.
But for me, the template system is the best thing about C++ - they are much closer in functionality to Lisp macros than preprocessor macros are!!
I had a similar observation about haskell's pattern matching when I was learning haskell: " Built in pattern matching - it's very convenient about programming sometimes. Unfortunately for someone who learned Prolog before Haskell, Haskells' pattern matching will look very limited.First it doesn't allows me to repeat a variable in a pattern , second compared with Prolog, it's one sided. Big issue for someone used to full power of unification."

I much prefer unification.
Yeah, that's what prompted me to even notice, since I was assuming it was just spaced out to make it clearer.
Want to test out using GApps accounts as full Google accounts? Sign-up here.
There is at last one more case: binfmt_misc on Linux, which gives you Windows-style run-based-on-file-extension.

I had a run-in with it on a shared host with some PHP cron jobs (don't ask). The hosting company changed the handler for *.php and everything broke until I renamed the files. The whole story:

http://serverfault.com/questions/82296/when-do-file-extensio...
1. Yes, you can JIT a callback, but without a GC that just leaves you with lots of callbacks scattered about your memory. I.e. qsort() calls lots of times, then returns and never refers to the object again; libevent functions may cause any number of calls (including zero, if the event is deleted); if you have a function pointer void (put)(int key, void value, void (cb)(void cb_arg), void *cb_arg) to store data, it may either call back before returning (e.g. data is stored in memory) or after (e.g. data is stored on a slow disk), or even call back multiple times (to provide progress reports). I see no way to handle this in a sane fashion.

4. If you are going to need threads by default (e.g. for your GC thread) you are breaking lots of UNIX, notably fork(), and require far too much infrastructure for some kernel/embedded programming. Yes, a good concurrency story is needed, but your program should be able to run without threads.
Ask HN: Best way to conduct user testing?
Hello,

I'm one of the founders of a startup from Slovenia that's been performing customer development
for the past few months and we think we've discovered the right product to wrap our idea into.
The quickest description of what we're building goes "Pandora meets Evernote for RSS",
or if you're not into that sort of analogies, it's a personalised newspaper-ish thing that lets
you to process all the RSS feeds you're following.

Anyhow, onward to my question. Our past experience has shown that getting quality alpha/beta testers
is very difficult, so this time 'round we have promised to lend everyone who applies an iPad for a few days
and on our launch at the end of the summer our "favourite" tester gets to keep the iPad.

But since iPads don't come cheap, how can we make the best out of the whole experience? I was thinking
about setting up a programme where the testers have to bring the device in every evening to be updated
with the new daily build and while we're upgrading the app, the tester answers a survey about their experiences
and so on.

Is that a good way to do this, or do better ways exist? More important still, how would one
go about designing good questionnaires? What sort of things should we be on the look out for? How can we
make sure the users answer even those questions we didn't think of asking etc.?

Thanks for the help,
~Swizec
> If you want, email me a reasonably short email and tell me what your goals and projects are, I'll recommend you some reading and give you some advice.

Or post to the group; there's plenty of people here able to give sound advise.
Flawed analogy (see replies), but amen nonetheless. My kids are on the neighborhood swim team, and are among the worst swimmers on it. When they get down about doing poorly, I remind them that they're better swimmers than the huge portion of the neighborhood who aren't even on the swim team, and that it shows (and builds) character to keep trying your hardest and working to improve even if you're among the worst on the team.
From last year's Chaos event:

http://events.ccc.de/congress/2009/Fahrplan/events/3654.en.h...

"From the total lack of network to handset authentication, to the "Of course I'll give you my IMSI" message, to the iPhone that really wanted to talk to us. It all came as a surprise -- stunning to see what $1500 of USRP can do. Add a weak cipher trivially breakable after a few months of distributed table generation and you get the most widely deployed privacy threat on the planet."
To the best of my knowledge, current C compilers typically convert C programs (which obviously don't have a concept of a reference) into SSA form as one of the first steps after parsing. It's, to me, not obvious that this couldn't be done with C++ references either. (Yes, this would make writing a decent C++ compiler harder; but it's already so monstrously hard that this optimization, which is already in all major compilers anyway, would be a significant additional burden.)
5 Benefits of Online Help With Math Homework
Your child is having trouble grasping the math concepts being taught in the classroom. Instead of asking the right questions, he/she remains silent and struggles every night to complete the assignments. Help with math homework is definitely needed. But, scheduling problems, finances, and finding the right teacher are of great concern. So, you need to know the 5 benefits of qualified online help with math homework.
Ask HN: Should I get investment?
I tend to be anti-VC because it seems so many fail. At this point though, I realize that I need additional capital. It's simply too much for me to do it all.

I've been working on this idea for a few years now. The product is quite good. It does amazing things for people. I do have paying customers. Everyone who knows about the product thinks it's absolutely amazing.

Here's the problem. the only way I'd be able to get investment is to knock on doors. There is a little projector in my brain showing me a movie of myself walking down Sandhill Road going into offices, asking if I can talk to someone. That's where the movie ends. I don't know if the receptionist would say, "Sorry, there's no one available right now. Can I take your..."

The other option would be, "Sure, let me see if Mr. X is available. Mr. X, I have someone here who'd like just a few minutes of your time. Okay, he'll be right out."

So I show Mr. X what I have and, "That's pretty good. What do you want to do with our money?"

Sometimes I think I just gotta do it. I am stopped by fear of wasting my time. I'm stopped by fear of rejection. I'm stopped by thoughts of my own grandiosity and knowledge that my personal bias -- of course -- makes me think this product is great.

I need some commercialization. I need some refinement, but I've got 3 years of R&D under my belt. It's one of the best products in its space. Customers who can understand it love it.

Sometimes I feel like I owe it to the world to help this thing get out there. With about $250,000 I could really take it to new heights. Refine the UI. Market it. Package it. How do I find that money? How do I connect with the people who would understand what I'm doing here?

Can I go knock on doors? I will if it wouldn't be a waste of time...

EDIT: Might as well let you know what it is. Here's a link to a new version of the site we'll launch soon: http://design.qrimp.com
I know squat about most things, but I know a lot about a few things. When I'm here I can comment on the things I know something about, and express confusion and willingness to learn about the others.

You're 25 - you can't know everything.

You can do some stuff - get on and do it.

You come here and find people who know more than you do - learn from them.

Don't be over-whelmed - everyone here has their weaknesses, it's just that you usually don't get to see them.
In life, people are going to be faster, smarter, more well rounded then you. Thats one of the sureties in life, the best thing about that is that there is always room to improve and get better if that is your desire. So you shouldn't let it discourage you, you should just look at it as an opportunity for self improvement.
I just meant that the role of the stack is hardcoded. In most assemblys you can write to the stack pointer and presto, you're working with a new stack. This is a capability of assembly that C doesn't expose.
Firepitsite - Offers best electric patio heaters
The Firepitsite online store is the premier source for electric patio heaters, gas patio heaters, portable heaters and more! For more offers and reviews, visit our website
What personality-driven schism? (I'm serious: you could reasonably argue that the OpenBSD/NetBSD split was personality-driven, but to the best of my knowledge, FreeBSD has no personality conflicts with either.)
Good idea. The execution lacks quite a bit though.
Worth pointing out that this isn't actually a phishing form; it's linked off:

http://googleenterprise.blogspot.com/2010/05/more-google-app...
interestingly enough its rather cheap to do this now and is becoming cheaper every year. i doubt that this will only be a concern for apple employees as industrial espionage seems to be quite lucrative.
Not that you would want to, but if you fancy being even more humbled, try reading the top questions from http://mathoverflow.net/
Rails Magazine
Is it possible to use a common phone to sniff the GSM traffic? Or something like a GNU-radio capable external device is absolutely required?

GSM and GSM security are interesting topics but really hard to touch with your hands because of the difficulty of reading what's passing over the air. The more hackers will have access to equipments, the more secure will be our conversations in the long run.
I'm late to this party, so I'll give you two quick pointers: "You and Your Research" by Richard Hamming [0], and "Surely You're Joking, Mr. Feynman!" [1]

Read both in their entirety.

You will gain a new perspective on those who make great achievements. They experience the same self-doubt you do! Feynman notes in dismay that other researchers at Los Alamos effortlessly solved problems mentally after he'd spend days working out the solution. He also mentions when he starts in academia, he was overwhelmed by an academic paper being discussed at a conference because he didn't understand it. Richard Hamming notes a few extra pressures, specifically the pressure to solve great problems instead of small problems, and how this pressure ruins your work

Both books have similar lessons. Feynman says it implicitly, and Hamming says it explicitly: Keep modern, work with others, understand the twists and turns of your field, think about the future, and solve the small problems. You can't force yourself to do great things, but you can stack the deck in your favor.

[0] http://www.cs.virginia.edu/~robins/YouAndYourResearch.html

[1] http://www.amazon.com/Surely-Feynman-Adventures-Curious-Char...
Implications for user interface design?
While this exploit sounds like trouble, what's more disconcerting to me is that in mid-2010 Apple still doesn't have a functioning system in place to handle responsible disclosure.
It does work this way, though.

Try the following files:

#!/usr/bin/sed -f
s/a/b/g
s/c/d/g

#!/usr/bin/sed -e 's/a/b/g' -f
s/c/d/g
I've always found that it demonstrates security with one's intelligence to be able to admit ignorance. People that feel like they know a lot, but don't happen to know what you're talking about will freely admit to it. OTOH it's people that feel like they don't know enough and that think they should know something that will pretend they do.
Hey, thanks for checking us out again. I'm working to identify the problem now; refreshing seems to solve the problem for me. If you're still interested, we hope that you can try again, since we have been pretty starved of feedback aside from the occasional prospect we speak to.
If you are looking for just $250k you should rather start with angels. Too small amount for most VCs.
ignoring the tone from galois - what do we think the untalented should do? certainly someone will be in the ops position (including reading hn / awareness of the wider tech industry) without actually being talented.
Yodlee are generally amenable to negotiating with startups. After the Mint situation they might be willing to look at some form of equity share if you could demonstrate traction.
This doesn't seem to be really a blog-post, as much as a preface to a blog-post yet to come. The second, future one I want to read; this one just seemed pointless.
Now I'm curious what it is.
Everyone feels this way in every profession every where... doctors at medical conferences, race car drivers at racing events, movie stars at red-carpet events.

This is why team-work is so important, because individually none of us can really hack it.
Never judge your insides by other people's outsides.
Tempted me in with chat about crayons and color. Scared me off with some uber-complex subject within two sentences.
If you've got a product with paying customers, and a business plan that shows how an additional $250K in capital will bring you X% growth over Y years, you're definitely in a position to pitch to VC/Angels.

So, make some telephone calls, and set up some appointments with VC/Angels in your local area. Try to avoid the instinct to deliver the pitch over the phone; just paint the picture in broad strokes, and try to get the meeting.

Seriously: what's the problem?
Exactly - I often read "easy changes" as "I don't have to think about all the implications of this" which is never good.

Personally I find Java one of the easiest languages to make functionality changes in just because of the excellent refactoring tools that are available. People always claim to feel restricted by the language when they use Java. If they're using emacs or Textmate to edit it then sure, I can see that. Personally, whenever I'm writing something other than Java I feel desperately restricted by the tools - editors that don't have semantic knowledge of the program structure and just treat it all as text seem unbelievably primitive to me now after years of using IntelliJ.
I just typed up a reply and realized pg's suggestion of reading bottom-to-top is an excellent idea.

It's like only reading Nobel-prize-winning publications and then complaining you feel dumb...
Although it's not guilty of this particular idiocy, IE does like to override MIME types by content- or extension-based guesses. So it would, sadly, not be that surprising.
>Agreed; this didn't seem to be what you were saying before. But now I see you were less suggesting they were sex offenders but that they should face the consequences too & this would limit their desire for prosecutions.

Yes, sorry I wasn't clear enough. If it came out a bit ambiguous that's because it is for me. I suspect that in most cases none of the people involved are abusers but I maintain that there is something wrong with some of them (especially the officials seeking convictions where a normal person would realize the material in question is innocent).

>But if the clerk is acting in good faith

This a case where I'm ambiguous on. On the one hand the Clerk was probably just trying to stay out of trouble so it was it was the fault of the Cop for not dropping it or other officials who continued to peruse it further.

On the other hand "just doing my job" is no excuse. Further I would punish blind "job doers" much more aggressively than anyone else. They are the enablers of atrocities. No one would have ever heard of everyone's favorite Godwin subject were it not for (literally) armies of "just doing my job"s. Imagine what would have happened in Iraq if the US enlisted soldiers had simply refused to go there. Most any (if not all) atrocity one could name were enabled by people who more often than not didn't like what they were doing but ultimately did as they were told.

>I'd pick neither. end of.

Then your statement doesn't apply to what I said. I said that if I had to (e.g. gun is pointed at me, etc.) pick one of those two I would pick the Clerk.

>because two people hugging is not associated with anything sexual or inappropriate.

Nor were the photos in question.

>I was trying to highlight the idea that you might see something that others found sexually enticing but that simply concerned you - in such a case you are not a sexually excited by the event, just concerned.

I get what you were trying to do but I still maintain that if a person sees something normal and is disturbed by it then they have a disconnect. Something has to highlight this clearly for them so they realize they have the issue and can fix it. We should not cater to such eccentricity as this causes it to get even more extreme.

>What should have happened (assuming the clerk is still concerned enough in this perfect situation to have called the police) is the police man should have called the parents, chatted informally to assure himself that it was as he suspected and then left it at that.

That would have been a better result to be sure.
Ask HN: Accounting software for a small team and lots of recurring payments
We have been evaluating Xero, and really like it except it seems that reconciling Paypal transactions requires a lot of clicking. We would really like to be able to set up rules to batch-reconcile these types of payments so we can efficiently process hundreds or thousands of transactions.

With that said, we are looking for a SaaS solution to keep our books under control. We have typical expenses, a few revenue streams, but the main concern is the large number of small transactions from recurring subscriptions. We would really like to see the transactions, be able to compare the different account types performance, etc, if possible.

What do you guys use for accounting? Any suggestions?
When I first read your post, I didn't see the second question. I interpreted the first as, "What is it important to know for startups in order to be successful?" Then you state your second question as, "Which field of CS do you think that with a little more time will result in the largest number of new innovative startups?" My answer to this isn't specific to CS, but IT as a whole. The next big breakthroughs are going to come from the field of nano technologies. In this space, you will see some innovative startups.
If the code is accepted it would, and likely faster than sitting on our hands hoping that Apple will care about this.
Would you rent a friend?
Other posters have replied with some valuable things to keep in mind.

I'll add that you need to remember there is probably a difference in age between yourself and that of the person (experience and thus knowledge is partly a function of age of course) who posted some mind-blowingly interesting and esoteric bit of information (I'm regularly amazed by the broad range of knowledge by the HNers)
Beware of the other extreme.

I've seen organizations where this is the only "safe" answer and nothing gets done. Sometimes people say "I don't know" when they actually know enough to make a decision.
This is why I am continually entranced by numbers.
I didn't mind the execution so much, as I did something similar a couple years ago, but it was rushed and for an assignment anyway so it was actually not as cool as this. (For the craptacular "Web 0.5" webpage I used this as a repeated background: http://i659.photobucket.com/albums/uu319/itsyoshitime/fireWo... ) One thing it doesn't have though is the evolution to web applications.
I used to feel like that. I felt constantly inferior. Eventually, I stopped feeling inferior and started feeling like I was associating with peers. I suspect that this had to do with a combination of me actually getting some experience (so that I can now actually contribute to discussions about certain technical things without sounding like a fool), and realizing that every single uber-competent person was an utter noob at one point.

I used to stress over never being able to contribute to OSS projects because I felt like I was drowning when I tried to, and a bunch of other stuff.

Give it time, keep hacking, and you'll be contributing amongst a field of your peers before you realize it :)
Here's a similar attempt: http://psd.tutsplus.com/tutorials/interface-tutorials/five-l...
Seriously: what's the problem?

Like he said, fear of rejection. It's the same thing that stops guys from asking girls out. The reality is that the worst thing that can possibly happen is that you get a big fat "no" but your brain makes it out to be much worse. Like Hamlet says: "there is nothing either good or
bad, but thinking makes it so."
A5/1 protects the over-the-air voice stream in GSM. Details on the protocol and cryptosystem:

http://everything2.org/user/Jetifi/writeups/GSM

I don't think this is quite as big a deal as it's made out to be, since that A5/1 and /2 were both broken almost a decade ago, and most GSM providers have replaced these two ciphers with others since then. It might still be useful in places outside of Europe and the US though.
I've recommended Dropbox to several people, but have only sent invites to those I think wouldn't mind me getting something in return for the referral (and even to those I've told about the extra space we'd get and that they could of course sign up without my link).
CodeRed - Less SPAM, More Code
If you tell us what the product is, there's a much higher likelihood of getting help. In fact, there are people here who might invest. FWIW, I can certainly introduce you to angels/VCs who will take a meeting, but I'd have to know more about your business first. So bottom line: share!
Wanna have zillions of google profiles?
Vff shoe, vibram five fingers, barefoot running shoes on VffShoe.com
But if your would-be funders have to think too hard about what kind of contract they can offer you, that's enforcable --- they might not decide not to bother at all with funding you.
Fred Wilson: Apple Is "Evil"
I'm even later to the party so I'll just cite Ira Glass:

http://www.youtube.com/watch?v=-hidvElQ0xE

All of us who do creative work... we get into it because we have good taste. And it's like there's a gap... for the first couple years that you're making stuff, what you're making isn't so good. But your taste is still killer... it's good enough that you can tell that what you're making is kind of a disappointment to you...

A lot of people never get past that phase. A lot of people, at that point, they quit. And the thing I would say to you with all my heart is that most everybody I know who does interesting creative work, they went through a phase of years [like this].... the most important thing you can do is to do a lot of work. It's only by going through a volume of work that you are going to catch up and close that gap.

Et cetera.

Somewhat to my chagrin, this video never gets old.
The Semantic web isn't the solution IMHO.

The problem with the semantic web is that it forces a narrative based on an ontological approach.

But in my mind the real value in connecting everything is the connections themselves rather then their meaning which should never be settled. In other words the value of connecting everything is that it opens up for multiple interpretations, descriptions and clustering.

We should look at data more like neurons than ontological items. I.e. absent of meaning without context.
I'm was in the same place as you and have recently evaded this feeling by distracting myself with other projects. (I bet I'm the best boat restorer in the discussion now! I kid.)

I'm curious though; how do you feel now that you've gotten the communities feedback on the matter?

I'm also wondering if this is something that others are interested in knowing.
ActionMailer MissingTemplate errors in Rails 2.3
Math: The Angry, Injured Wolverine