skysight-inc/HackerNews huggingface dataset:
Back of an envelope calculation, assuming a CPC of $1 and a conversion rate of 1% (say 10% download your app and 10% of those decide to purchase) it'll cost you $100 to make a $30 sale. You can plug your actual numbers in to give you a better estimate though.

For search have a look at the data, use google adwords tool to figure out how many people search for the terms you're targeting and check out how competitive those terms are. Remember even the top ranked search term only gets 20% of the clicks from that search and it drops rapidly as you go down the page.
Edit: This is not actually true. I stand corrected.

The Kayak number doesn't include fees and taxes, whereas the Hipmunk number does.
Why do you think that? %2.75 is a perfectly sustainable rate for a credit card processor.
For one example, try Travelocity's FareWatcher.
For more crazy rocket CI fun: http://www.youtube.com/watch?v=MK1p7Nz5c9s

(Wherein guys on a project I worked on had an Atlassian Bamboo CI server hooked up to the USB rocket launcher)
The latest global figures give WP7 1.6% of the market. Even Bada has more at 1.9%, and Bada is at least rising.

Serious WebOS devs would gladly take free stuff, but likely not bet on WP7.
Our photo process is lightjet chemical process,
most other companies use either a digital or
inject process which is not as good as chemical
photographic process.

I bet 99.9% of customers cannot tell the difference between prints made by a

1) lightjet

2) Fuji Frontier

3) Noritsu

4) $500 inkjet printer

According to your FAQ, you are using "Fuji Crystal Archive" paper, which many of your competitors use (Snapfish, for instance).

It looks like you are targeting yourself to a high end market, while your print sizes are 4x6", which is very strange.

Don't get me wrong, I don't want you to fail, I'm just surprised with your business model, it's really confusing.
Looking at the quality of the HP TouchPad ads reminds me of the hilarous movie The Producers, where the show has to be a flop or it will financially destroy the movie makers. HP hired comedians to make fun of potential customers, like looking photos of buck-toothed relatives. Then there was the VP demonstrating the Touchpad without the camera getting a clear shot of how to operate it. Finally, shutting the show when it has barely started.
From my experience, at Very Large Corp, if there are any vim users, they're likely in ops rather than developers. In smaller companies, you're much more likely to run into vim users. My company of ~10 developers has 6 devs that are significant vim users.

I think the recent DevOps movement (which is actually a label to something that's been around for a while), is strongly correlated with vim (or emacs) users as well. Developers who get their hands dirty on remote systems often want a tool as ubiquitous as vim.
Pssst... the registration form, not the login form. As in sorry, we cannot create you an account as your selected username has already been taken.
Good to know.

For what it's worth the other flights were one-way so my misunderstanding doesn't affect the price difference.
PayPal should have been doing this years ago. Kudos to Recurly for bringing this to the public in front of Stripe which is still private.
Technically off-topic, but I would like to spread word about this documentary by Al-Jazeera English that talks about the revolution that was not covered in the west. It is an absolutely horrifying video covering the protests and the brutal crackdown (including how the govt used social media) in Bahrain.

http://www.youtube.com/watch?v=xaTKDMYOBOU

To those that argue against encryption and privacy with trite phrases like "you have nothing to hide" must realize the harsh consequences such as the above that could result from that kind of argument.
How so? Please do elaborate.

(edit) In a context of a system that allows anyone to register new account, which appears to be what the linked article focuses on.
His point is that you can't add code to ducks... full stop. If you want to talk about "software [that] tracks ducks", then do so, but by talking about physical ducks one further encourages the ancient fallacy that object orientation is about physical modeling and should be all about physical objects and their physical relationships. What was said was what was meant; you can not add code to ducks. They shouldn't be in the tutorial at all, just as Chevrolets shouldn't be.
Tutorial: Securing Layer 7 POlicies with Axiomantics
Way back when I was first learning OOP, the typical "car extends vehicle" examples caused me not to see the practical point of OOP for a long time. I still resist using object-oriented approaches except in cases where the code demands it. (A feature, not a bug?) And, these days, if I do use OOP in places in the code, it's for encapsulation -- which is only a style consideration -- so the "car extends vehicle" example still doesn't apply.

I think a simple example from GUI programming would do much better. How about window classes? I did something like this recently:

class Window {
public method show()
public method title(newTitle)
public method close()
}

Easy enough. What if I want a modal window though? Almost everything in it would be the same as a regular window, except I might need to do some things slightly different for show()ing and close()ing the window. Aha! A perfect example of an appropriate time to create a subclass:

public class ModalWindow extends Window {
public method show()
public method close()
}

Programming tends to attract practical individuals. I think teaching "car extends vehicle" then is usually going to cause one of two results: either a student that then uses that approach all the time, even in cases where it's not warranted, because they don't understand when it's appropriate and when it's not; or a pragmatic student that resists using it because the given examples don't apply to anything that they're actually going to have any chance of working on.
Well... If Microsoft decides to give free stuff, I may give them my attention for free too.
Nasa Finally Turns on the Cylon its Been Building
FYI: There are error in the display of the blogpost announcing it at: http://blog.recurly.com/
The All New Evernote for Mac 3.0 – Designed for Lion
Are Bachmann and Perry Qualified to Be President?
Just one piece in the whole object orientation blows but still is the best thing we have to make complex systems understandable to simple people quandary.

It is true that the real world object examples confuse everything that OO is really used for. It is also true that we need them to make OO approachable at all.

OO is essentially an ontological cluster-fck where multitudes of logical and representational levels are trampled on. The thing is, OO uses* the adhoc mixture of logical confusions that is most people's description of their world. Somehow people's amazing brains muddle through speaking natural language despite it's terrible muddling of everything. Thus we can stand the confusion of not really knowing whether "class window" is a glowy thing on the screen, a location in memory or an abstract datatype.
Several years ago I was helping a small community theatre get off the ground. One of the things we needed to figure out was payment processing. We got tons of salespeople and junk-mail about it.

I consider myself a smart person, but figuring out the multi-variable equation in figuring out which processing service would be the best was nearly impossible. They wanted to know a ton of information about our business, which hadn't even opened its doors yet.

- What would our average transaction total? We had no idea. We hadn't figured out ticket prices yet, and didn't know how many the average person would buy.

- How many debit vs credit transactions would we have? How many would use a pin, how many would be manual swipe, how many would be over the phone? Again, we had some projections, but it really wasn't something we could accurately say in the short or long term.

They wanted to lock us in, have us buy a machine, had various types of statement fees and monthly fees, transaction fees, overage fees, fees for using too few transactions, higher fees for Amex vs Visa, etc.

Simply put, figuring out the exact % of our incoming money that this would take was impossible. And they all seemed like companies that I didn't feel I could trust the customer service. Frankly, it all felt like a scam of some sort. The application process to each was also very in depth.

In contrast, I signed up for a Square. I didn't know what I'd use it for specifically, but it turns out that I joined a few bands right after, and it turned out to be massively useful. "I'd totally buy your CD, but all I have is a card." - no longer a problem. Some of the bars we played didn't even accept cards, and we did. Application process was easy, and understanding what it could cost me was super easy.

Why in the world other credit card processors can't do similar just seems to equate to nothing but greed on many levels. The fixed cost to them of doing a digital transaction is almost zero, yet they act like they have a fixed floor on it that can't be bypassed. Where this money goes, I'll never know.
It's a good thing we didn't write off Android in mid 2009 when they had 2% of the market.

Note: I'm not saying WP 7 will lead the world in 2 years. I am simply pointing out that market share 2 quarters after your first device launches isn't the best measure of future success.
Uniscan 4.0 vulnerability scanner Released
Thanks for the link, edutechdev. I am speaking on a panel for edtech entrepreneurs and educators in SF in October on exactly this thread topic, experimentation. I will reference your design-based research guide. It is very important that those of us who know something about social science experimentation weigh in on this national conversation.
I agree. I'd also recommend Cormen/Leiserson's Intro to Algorithms as well as Knuth's Art of Computer Programming
College Dropouts Cost the Economy Billions
Solutions to selected exercises can be found at:

http://www2.algorithm.cs.sunysb.edu:8080/mediawiki/index.php...

Also, the course page has some interesting stuff as well (links to assignments, lectures, etc.):

http://www.cs.sunysb.edu/~skiena/373/
Preview of Google TV add-on for the Android SDK
I fail to see the problem. I would bet that there are tons of real games that actually have a Car class that extends Vehicle.
Very interesting, loved the rant!
How is this PCI compliance?

You're exposing credit card number on the input field of the original publisher's HTML page. This means that the publisher can pick up the credit card number himself, or an included third party javascript library(like google analytics).
Honestly, when I was a newbie, the simplistic examples drove me crazy because I didn't get the point. I can solve the toy problem effectively with concepts already introduced (functions) why am I burdening my code and my brain with all this new overhead?

The OP's suggestion to use a GUI interface is much better. GUI objects like windows are a common and interesting subject. Ironically, Object Oriented features in languages like Java and C# made a lot more sense to me after writing a Win32 gui app in straight C.
A nerd journal. :-)
You forgot to take the conversion rate between clicks and keystrokes into account.

c = (k.d.t.r) / 13333337

Where:
c = click
k = keystroke
d = distance in centimeters between the "J" key and mouse
t = area to be clicked in pixels²
r = screen resolution in pixels²
Personally I'd add the code to "TrackedObject" rather than "Duck" just in case we ever wanted to track geese or cormorants.

I don't get the impression that the person who wrote this ever had to seriously teach software development to software developers. Simplistic metaphors are used so frequently for this kind of thing because it prevents the learner from having to ascend more than one conceptual hurdle at a time.

Perhaps, though I think his real point is that often folks teaching software development will only put out that first hurdle and forget about the rest. Teach 'em that "ducks are animals" and think they understand inheritance, when in fact these simple physical analogies are a bad way of understanding how and why you might use inheritance in the real world.

I think it's a phenomenon quite common across the whole OO pedagogy, in fact. If your only mental examples of "objects" are ducks and bicycles then you're going to get pretty confused when you escape simple example land and start trying to understand the difference between an NSView and an NSViewController.
Global Gas Card Review Commercial
I'd like to hear about how they've attracted the volume. I never see ads for them and 1mm searches/mo seems bigger than the set of "techcrunch + hacker news readers".
I found it easier to grasp vi's 'command mode' versus 'edit mode' when I realised that most other text edits use a modifying key (ctrl+, alt+) to indicate to the editor that you want to run a command rather than enter text.

Command mode in vi is kind've like a Caps Lock, but for commands. "lock" goes on (enter command mode) and you're running commands. "lock" goes off (enter edit mode) and you're entering text.

I realise it's not quite the right way to look at it, but it helped put a big piece of the puzzle in place.
why go so far as Bahrain? The kill switch against political protest was used several days ago right here in San Francisco.

http://www.huffingtonpost.com/2011/08/15/bart-cell-phone-shu...

Can you name any other place in the world that can be considered having as much or more political freedom than San Francisco?
I would like to say that I would never release code with a failing test, but in truth, my NSNMP module on CPAN has a test that fails occasionally due to some kind of race condition that I've never bothered to fix, because I kind of abandoned NSNMP when I stopped doing any SNMP work in I think 2005. I get email about it from CPANTS every week, and have been since at least 2005.

Now that I've made my confession, I think that this is the latest piece of evidence in a long line showing that the PHP core team just doesn't know how to program. See also this horrorshow that is the list of attempted fixes for an integer overflow vulnerability in 2007: http://use.perl.org/~Aristotle/journal/33448 and this complete freshman-level lack of comprehension of C: http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=34.... And of course there are the evidences of incompetence permanently enshrined in the language, like the fact that "a ? b : c ? d : e" parses incorrectly as "(a ? b : c) ? d : e", but those could simply mean that Rasmus didn't know how to program when he was first designing PHP.

Nevertheless, it must be said that PHP is an incredibly useful piece of software. It clearly shows that intelligence and even basic programming competence are not sufficient or even necessary to build great software. You can do it on sisu alone, and without sisu you can't do it.
That would be a question of marketing for most people, I imagine.
Love your work in Silverchair.
Show HN: Simple HTML5 localstorage todolist app inspired by TiddlyWiki and Vim
The code is shitty and the keyboard interaction is highly customized for how I wanted to used it. Hope it is useful to someone.
crypt()'s MD5 is salted and iterated and therefore perfectly adequate to use for your authentication. Just not in PHP 5.3.7. bcrypt() or scrypt() might be better, but crypt() with MD5 is perfectly adequate.
Having a Crash for Wii Replacement Parts
Automate settings app for Android (like Tasker and Locale)
Vertical was the newest, besides what they just released today.
Nope, from the the footnote: "Prices are per person and are for e–tickets and include all taxes & fees in USD."
IMHO the correct example should be something like: Project Duck is composed by classes Heart, Brain, Lungs... etc.
Polymorphism is an abstraction technique whose goal is substitutability. "Car extends Vehicle" is useful if other kinds of Vehicles can be substituted for cars.

"That's great", thinks the student, "I'll keep that in mind on the offchance I ever need to write code for an automatic carwash..."

Honestly I think these examples are fine as far as they go, but they should be immediately followed up with nontrivial examples demonstrating how you might actually use this in programming problems which don't fall into the category "simulation of real-world objects". Otherwise the student can easily dismiss the whole idea as esoteric.
Found Photos : The Last Word On Nothing
Where this money goes, I'll never know.

http://www.charterworld.com/images/framework/3272/VISA%20-%2...
Hard to focus on either when no one focused on the page's text readability.
Smalltalk IDEs Come to the Browser
While I agree in principle this example is bad - chances for someone to be on HN or any other techno-startup site are _much_ bigger.
Yes, yes you can. Robustness isn't determined by auditing -- we know this doesn't work in practice. Robustness is determined by beating on it and seeing how it breaks; this is the point of heavy testing, including fuzzing in the case of drivers. You absolutely don't need source for this.
True, though good writing isn't just about good prose and putting well-chosen words in an appropriate order, it's also about more macro-level structure and tension and pacing and characterization.
If I understand correctly, this rant is about the use of simplistic examples in teaching OOP, correct? i.e. it's not just about using such examples when debating language features.

If so, then I very strongly disagree with this guy. I have painful memories of trying to come to grip with OO in high school in the early 90's. Sure, those zoological and automotive examples are almost insultingly trivial, but that's because you don't need real-world engineering complexity interfering when you're just trying to wrap your head around inheritance and extension!

Bird ==> Duck makes sense because they're classes. As in, those are classes of animals in the real world, and there is a relationship among them. Expressing that relationship in code doesn't mean you're coding animals, it means you're modeling a real-world class hierarchy with your data definition.

I think that people are forgetting that OOP is actually hard. If you don't already have a very strong grasp on the underlying mechanics of a language (e.g. function pointers and vtables in C++), then it's going to always seem like magic.
Study Shows Powerful Corporations Really Do Control the World’s Finances
Wc for the impatient
Of course you can turn while falling. Hell, you can turn without air. It's a rocket

Ah, but then you're no longer falling.

You're not even "falling with style".
Amazon, Dropbox, Google and You Win in Cloud-Music Copyright Decision
I don't think I'd describe this as "making the leap" - I have a published TouchPad app, and I was curious about the upcoming Mango/WP7.5, so I emailed about the WebOS->Windows offer - basically, I got an email back with a list of resources to explore to build a Windows Phone app. Not sure what the followup is going to be.

There's nothing really free about it - my dev environment is OS X, so I'd have to get a copy of Windows 7 ($100 from Amazon), install it in Parallels for the Mac ($60), join Microsoft's AppHub ($99/year), all to get (maybe) a free WP7 phone.

Also, from what I can tell, there's zero overlap between WebOS and Windows Phone 7 development, so all these WebOS devs would be starting from scratch.

Frankly, I'm kind of surprised that Google's Android dev relations team didn't make a similar offer.
how do i know it's high quality developers or high quality clients? do you screen somehow?
True, but I still don't think this is a good analogy. When you are learning inheritance you don't know what "x extends y" even means. Using a non-code example obscures what you are talking about.

I'd use an example like this: HPDriver extends PrinterDriver. CanonDriver extends PrinterDriver. EpsonDriver extends PrinterDriver. See, you can make 3 different drivers and share common printer code. That makes sense to me if I'm just learning inheritance. Duck extends animal does not.
I did not know about the

do () for x in foobar

syntax. Thanks.
While I agree boost::lambda is more trouble than it's worth, I haven't seen or heard of terrible things happening because people used it.

And this is precisely my point: nothing bad could happen because people haven't used it in serious projects, even though it is possible -- it's just more trouble than it's worth. This is actually the whole point of argument against operator overloading: it is troublesome for both implementors and users, and the value provided is minor - most people use operator overloading for math-like types (bignums, complex numbers, matrices) anyway. On the other hand, it requires (sometimes considerably) more work on the designers' and implementors' side, and more caution and experience on the programmer's side.

That said, I'm not against operator overloading myself. However, I'm heartily against operator overloading in C++, because it interacts really, really bad with other C++ features (especially implicit casting rules (which are bad anyway) and manual memory management). Please, see [1] for more information, it's explained better and wider there than I could do it here.

Regarding bit-shifting I/O, I've never figured out why they even thought it's a good idea at all. It isn't any more terse. If it's combined with output formatting it's much harder to figure out what's actually going to be written than with printf-like functions, because the formatting and expressions are mixed together. The only advantage I can think of is that it can be a little faster than parsing the format string every time. But still, you don't need to parse it every time. If the language design allowed it, they could have introduced something like CL's define-compiler-macro, but I think the utter mess created by presence of such tool in C++ would be overwhelming -- it's bad enough as it is, with template "metaprogramming" instead of real metaprogramming facilities.

The internationalization issues I mentioned make this completely useless: the usual way to support multiple interface languages is to use something like gettext for strings in code (see e.g. Qt Linguist for C++ implementation). Basically, for every string that's supposed to be user visible, you use a special translating function, i.e. instead of

printf("Hello, %s, it's %s!\n", name, day_of_week);

you write

printf(tr("Hello, %s, it's %s!\n"), name, day_of_week);

This simple approach does not map at all to the bit-shift I/O -- I'm fairly sure that experienced C++ hackers could create something along the lines of

cout << (translate << "Hello, " << name << ", it's " << day_of_week << "!\n");

but this is obviously useless because obviously not all (not even many) natural languages has syntactical structure of English. Better option would be:

cout << (translate("Hello, %{1}, it's %{2}!\n" << name << day_of_week);

but again, it's clearly only printf with unnecessarily convoluted syntax.

[1] -- http://yosefk.com/c++fqa/operator.html