hacker news with inline top comments    .. more ..    14 Feb 2013 Ask
home   ask   best   6 years ago   
Ask HN: I have a pretty good idea, but don't want to patent it
2 points by dutchbrit  30 minutes ago   1 comment top
skrebbel 9 minutes ago 0 replies      
A commonly repeated opinion in startupland is that an idea alone isn't worth very much, and it all comes down to execution.

Jeff Atwood has a nice writeup on http://www.codinghorror.com/blog/2010/01/cultivate-teams-not...

Also, for the cost of an EU+US patent you can probably make a very good start on the actual product, beating your ripoffers by time instead of court.

To avoid someone else patenting it, prove that you had the idea before their patent was filed. I've heard of people doing this by writing it down in a letter and mailing it to themselves. The postal stamp works as a date.

Better, however, is to ditch stealth mode altogether, start blogging from the start. This may get you copycats, but probably also customers.

Gemnasium, now with npm support
2 points by gravis  39 minutes ago   discuss
Tell HN: Stripe is coming to UK. I just got invited to the limited beta.
11 points by chinmoy  7 hours ago   5 comments top 5
jamesjguthrie 18 minutes ago 0 replies      
"In what we're putting down to a bout of Valentine's Day confusion " or a desire to keep the launch quiet " Stripe co-founder Patrick Collison tells us that emails about the UK beta were sent out to some users “in error”. So, despite some employees confirming the UK launch, Collison claims it isn't happening. We're continuing to look into this."


samwillis 2 hours ago 0 replies      
I would love an invite! Have also been on the list from the begging.


To anyone from Stripe reading this, I will give everyone at stripe a voucher for my website http://www.posterhaste.com/ if I could have an invite! Would love to move off Paypal!


jamesjguthrie 26 minutes ago 0 replies      
I would love an invite! I was just about to sign up with one of their competitors but would prefer to use Stripe.
anderspetersson 3 hours ago 0 replies      
That's good news for UK.

I'm in Sweden and been on that list since Stripe went public in USA, no email love here.

klaut 3 hours ago 0 replies      
i am in Uk and been on their list since forever and did not receive anything :(
Who is hiring? (Intern Edition) - Spring 2013
21 points by timtamboy63  12 hours ago   4 comments top 4
tectonic 6 hours ago 0 replies      
Mavenlink, Inc is looking for interns in San Francisco. We do Rails development, mostly TDD, mostly pair programming. Fun office, great co-workers, interesting problems. Send me an email - http://andrewcantino.com
whockey 3 hours ago 0 replies      
Plaid Technologies - plaid.io
San Francisco, CA - Internship - Developers & Designers

Plaid makes it simple for any developer or application to link with credit and debit card spending data. In the process, we're generating one of the largest transactional data sets in the world, and using machine learning and statistical analysis to draw insights about how consumers spend their time, money, and attention.
We're a small, all engineering team - looking to bring on more ambitious, fun team members. Our stack is made up of Node, Hadoop and Hive with Mongo and Redis. We're looking for experienced generalists, and prefer fast learners to specific experience with our stack. Whether you're a mobile developer, data scientist, or or a resident philosopher we'd love to hear from you.

Interns: https://plaid.io/summerofplaid

bittitan 9 hours ago 0 replies      
BitTitan (Seattle) - www.bittitan.com

We're a fast-growing startup working on cutting-edge email + cloud solutions. Some of the things we do:
- Run one of the largest email migration platform in the world
- Built our own programmable distributed SMTP stack from scratch
- Classify the type of email platform used by millions of domains

If you are interested in enterprise software, large-scale processing, email protocols, performance optimization and distributed systems, we want to hear from you. We're fully profitable with unmatched opportunities to make a big impact, ship code often and make a lasting contribution to a promising startup.

Marcus10110 11 hours ago 0 replies      
Saleae LLC - www.saleae.com
We're a hardware startup in SF. We're hiring software developer interns for C++! (this summer, but any time really)

We make logic analyzers, debugging tools for electrical engineers and embedded programmers. It's also a pretty popular reverse engineering tool. If you like playing with Arduinos & electronics, you might have heard of us.

Check out the hiring video on our site, www.saleae.com/jobs. Shoot us an email to jobs@saleae.com!
I love talking about what we do so if you're curious at all, feel free to write in!

Oh, and if you don't have a hardware/EE background, don't sweat! Although that helps, there is no need to have any electronics background at all.

Show HN: My first Windows 8 app, GabberWocky (a gtalk client)
4 points by jedi3335  9 hours ago   5 comments top 3
Maascamp 8 hours ago 1 reply      
It looks promising. Is the password stored locally? And if not will you be supporting OAuth?
pnictogen15 8 hours ago 1 reply      
Thanks! I had been waiting for a decent GTalk client on my Win8 PC. Will download it today once I reach home. Do you have support for video chats?
jedi3335 9 hours ago 0 replies      
oh, and feedback is greatly appreciated :)
Simultaneous wifi and 3G on Android or Iphone
4 points by DATAVID  8 hours ago   discuss
Ask HN: Any "FAQ as a service" services out there?
5 points by nanch  16 hours ago   5 comments top 2
dangrossman 15 hours ago 1 reply      
What you're looking for is called a "knowledge base" or "help desk", and there's a new SaaS for it almost every month. Here are a few for starters:





Most of the time it's integrated with a ticketing system, but there's no reason you have to use that part.

hajrice 15 hours ago 2 replies      
Thanks for the question, nanch;

I noticed Dan Grossman posted a link to Helpjuice.com

I'm the founder of Helpjuice.com, if all you are looking for is ONLY a faq/knowledgebase, then I'd suggest you dive into Helpjuice.com deeper.

However, if you're also looking for ticketing, fb+twitter support, phone support and all that other good stuff, some of ou competitors might be a better fit.

Ask HN: How do you deal with Rabbit Hole Syndrome?
135 points by photon_off  3 days ago   77 comments top 40
EvanMiller 3 days ago 4 replies      
If I had one piece of advice it would be: Descend the rabbit holes!

Rabbit Hole Syndrome is a symptom of having a curious, persistent, independent mind. If there were a drug that cured Rabbit Hole Syndrome, and everyone just worked on Shipping Their Products and Not Asking Questions, there'd be no one left to make the interesting discoveries that make the world better in the long run.

There are very famous quotes from Richard Hamming (see "You and Your Research") and Richard Feynman (see "Surely You're Joking!") about the importance of working on problems that seem trivial at first. Not only do they help you enjoy problem-solving for its own sake, but if you work on enough silly problems, then eventually the odds are good that you'll stumble upon something that other people will later think is really important. Incidentally if you read Thomas Kuhn you'll find that this tends to be how scientific revolutions happen: someone is bothered by some tiny little thing that doesn't quite make sense according to the prevailing theory, starts digging at the little cracks, and finally the whole system comes crashing down.

The major benefit of going down rabbit holes is that is opens yourself to serendipity: sometimes you'll turn out to be right about something for the wrong reason, or discover something that you later realize contains a solution to a seemingly unrelated problem. The more rabbit holes you've gone down, the more they start to connect.

In addition, frivolous research helps you develop a very "bottom-up" view of the world. If you know the details cold, then you are better able to see through high-level BS ("conventional wisdom") and evaluate things on their own terms. You'll find that regardless of what's optimal, most things are done a certain way only because they've always been done that way, and that regardless of what's true, most people believe things only because other people believe them.

Of course there are costs to all this -- in particular, "schleppers" will resent you for being irresponsible, and most people will think you're crazy if you ever explain what stupid little you've been working on lately. Which is why Rabbit Holers should try to should avoid actual responsibilities to the greatest possible extent and absolutely not care about what most people think about their work.

Anyway, to sum up, if you're lucky enough to be in a position to descend rabbit holes without impoverishing your family or bankrupting your company, I say go for it. It strengthens your most valuable asset (your mind), and who knows, maybe one day you'll discover something you can teach the rest of us.

aiurtourist 3 days ago 3 replies      
You're driving along a road and you notice a pothole. You pull over to the shoulder, put your hazards on, open up the trunk, take out a reflective vest and tape measure, then you begin to analyze the pothole. You spend an hour analyzing the depth and formation of the pothole and determine that the cause is due mostly to poor mixing of asphalt. You call the town hall and learn that the road construction crew uses a Caterpillar BG500E wheeled asphalt paver. After some extensive research you determine that poor mixing occurs from the inferior design of the BG500E's auger and that upgrading to the BG600D with its improved auger would cause better asphalt mixing and produce paved road conditions less conducive to potholes.

By now it's 9:30pm. It's dark and cold. You realize what your original purpose was: Dinner with friends. That was two hours ago. You missed dinner, but hey, you got some satisfaction.

The above was more of an analogy about Yak Shaving than Rabbit Hole Syndrome, but there are parallels. Like you, I used to be obsessive about details and solving subproblems. I used to come home from work and work on my own side projects for similar reasons as your own.

But then an advisor said something like, "You need to focus. If you want this thing of yours to succeed, you have to focus on making it succeed. Nothing else should matter." So I stopped my side projects and I became so effective at building our product that my employees wondered if I ever slept.

Stay on target. Make it to dinner.

antirez 3 days ago 2 replies      
To be honest I think that "it's not good enough until I can understand the class of problem and derive it for myself" kind of attitude is actually very positive. The problem with this attitude is if you do a "depth-first" kind of journey instead of refining the solution with successive passes.

So I suggest you to try to build the minimum viable working program ASAP. Along the way, write all the things you would like to improve in something like an Evernote note, just a few lines for every thing you want to address and make better.

Then if you have something working ship it ASAP, don't care about what other people will say about the sub-optimal parts of your work: many programmers trying to achieve perfection actually end with a mess of complexity that does not serve very well the purpose of the software, so there is little to be embarrassed for a programmer for shipping simple software.

In the second pass, refine every part with the same approach: find a solution that within the timeframe you have is better compared to the previous one, but will make you able to ship a new version.

Also when you face a problem, other than reading the existing literature, papers, and the proper way to do it, check if there is an intuitive solution that is comparable as a result (even if maybe not provable or not perfectly optimal) but much simpler to implement.

But IMHO the golden rule is: don't freaking care, ever, about what other people think about your work. Often perfectionism is just a form of insecurity.

jewel 3 days ago 0 replies      
Here are a couple of random suggestions:

1) Try the pomodoro technique, or some other form of time tracking. When you're about to take a side path which may or may not be a distraction, you can decide how long it'd be worth investing in it. Once the timer dings, you can stop and evaluate if it was worth it.

2) A few years ago I started repeating in my head the phrase "real artists ship". Embrace imperfect or partially finished solutions that are viable.

3) Keep a list of things that you'd like to investigate more. I've found that the act of writing down the idea lets me stop obsessing over it. Later when you revisit the list you'll be able to cross off the things that you thought were important, but turned out not to be. By delaying work on these items, you're able to better explore the most important parts of the problem you're solving, and so your future self will be in a better position to evaluate which areas need deep research.

invalidOrTaken 3 days ago 1 reply      
I think you're not being ambitious enough in your side projects.

I'm like you. I write fairly vanilla production code, then I go home and work on alien technology. And I used to have the same problem as you: I'd get sidetracked and sidetracked, and somehow I went from writing a fart app to reading about type theory.

So I started skipping the fart app part, and started learning some more abstract theory. The nice thing abstract theory is that it's abstract---it's not incidentally connected to anything, so there are fewer places for you to get sidetracked.

So go sign up for a math course on Coursera, or learn the lambda calculus. They are so alien from your everyday programming experience that you won't have anything to connect them to---until you do. But then you'll be coming at the new topic in the direction of abstract to concrete ("a trivial application of x") rather than concrete to abstract ("there's a greater truth here and I MUST understand it!").

engtech 3 days ago 2 replies      
This is an experience problem. As you become more experienced, and see how you've wasted your time coming up with a "perfect" solution that ended up not mattering, then you'll be fine not having a perfect solution.

At some point you realize your best days are the days when you delete more lines of code than you write.

But that being said, chasing rabbits is what will eventually make you more skilled than your peers. Which is awesome, except now you'll have put yourself in a perpetual category of being paid less than your worth because you don't fit the same performance evaluation criteria as everyone else.

All anyone cares about is a) are you easy to work with, and do you b) get things done to contribute to profitability.

Continutally stressing yourself out by spending more time on problems than they deserve and eating away at your work/life balance does not contribute to a) or b).

davidw 3 days ago 1 reply      
> I find myself striving for ideal and perfect solutions in parts of my work that might not matter much. Sometimes it's probably worth the time and detail, but admittedly, a lot of the time it isn't. It's just more fun and interesting to be "thorough."

This actually has a label: Maximizers vs Satisficers.


And a little something I wrote about it regarding programming languages:


I think the key is to "choose your battles", and be a maximizer where it really counts, and try and be more of a satisficer for the things that aren't so important.

samstokes 3 days ago 0 replies      
As with others on this thread, I question the rightness of "curing" this tendency. But you can certainly improve the way you harness it.

Something that's helped me: make sure you have multiple rabbit holes available at any given time. i.e. several problems, any of which is interesting enough to tempt you. Then you can make reasoned decisions about which would be the most rewarding to work on, while still giving in to the temptation of rabbit holing.

Another benefit: maybe by solving one problem, you'll discover the other was totally irrelevant, or a special case of the other. (At least for me, "Turns out I didn't need this to be perfect" doesn't carry much weight, whereas "Turns out I didn't need this at all" is quite convincing.)

Sujan 3 days ago 1 reply      
I write a ticket for someone else to take care of it. Even if someone else is only future me, it's enough for my mind to accept that it is taken care of and I can proceed with the really important stuff.

Most of these tickets get resolved as "doesn't matter / won't fix" two or three weeks later - but myself.

richardkmichael 3 days ago 0 replies      
This happens to me often as well. Although, I am not certain I would describe it as something I need to fix. All my practical experience, going back 15+ years has formed this way.

As a recent example, I just spent a long time on a tiny plugin for CarrierWave (the Ruby/Rails file uploading gem). This took me through most of their source code (always good to read code, and I could probably PR on their project now), new Rails internals and techniques, and mocking and stubbing with RSpec (in the process, I turned up a bug with RSpec, which they promptly fixed; and I have a better understanding of mocking best practices and clean RSpec).

I do empathize with feeling I'm "not getting enough done/shipped" (if you feel that way?). To alleviate it, I try to cut corners and just get something out.

Time-boxing helps me do this -- "accomplish X in 1 hour". This doesn't happen too often, however. I know, like you, I prefer the learning itself; and, I view all my spent time as building experience and a critical mass to accomplish work faster in the future.

Also, I find pair programming helps immensely. I am sensitive to the other person's time, and thus naturally refrain from digression when pairing.

As for motivating myself to "schlep". I'm not sure what you mean -- menial tasks? I do those when I'm tired or having down time.

Finally, as in your case, I do this on personal projects and not on "work". That said, it can make it hard to get your startup and product launched - your own "work". Again, disciplined time-boxing helps. I have not mastered this, and find myself regularly looking for good time-boxing tools.

aaronbrethorst 3 days ago 0 replies      
What else do you enjoy? Do you derive satisfaction from solving problems for users? Maybe you're trying to perfect something that's less interesting to you than another problem on your plate.

If positive user feedback 'gets you off,' as it were, try releasing something that isn't as perfect as you'd like it to be and see if there's any measurable difference in sentiment. I bet there won't be. Do it a couple more times and hopefully it'll break the pattern.

For the other case, try time boxing yourself so you can get back to the more interesting challenge. Make that other thing 'perfect' if you won't.

mblake 3 days ago 0 replies      
I've been very affected by this myself.

It happened the most while attempting to study research papers.

A lot of times I would be unable to finish reading what I had planned, because I had stumbled upon an interestingly-looking concept and then proceeded opening up another paper on that subject and so on.

And then, of course, having returned back to the original paper, I would have to re-start reading from beginning to freshen up my memory.

Terribly exhausting process, so I can perfectly understand your frustration.

The only solution I found was to un-clutter my computer 'work-space' as much as possible: close any non-essential apps, unplug internet cable and each time I have the urge to stop reading and go research a newly discovered subject, I remind myself that I am only allowed to do it after finishing what I'm currently reading.

Another helpful thing for me is to remind myself what I'm trying to accomplish with whatever I'm doing at that particular time and what my long-term goals are.

For instance, if I'm working on a project for a client, the goal is to get the work done as soon as possible and obviously get paid. I am not working on said project to primarily enrich my knowledge, but to make money.

I can use the time after the project is delivered to draw conclusions from the experience or do further research.

This may sound trivial, but it really does help to constantly remind yourself of what your goals are, it keeps you in check.

For extra effect, every time you have the urge to let your mind wander too much, try imagining the possible consequences of not completing your task (on time).

This can be particularly effective if you're doing client work. Imagine how embarrassing/unprofessional would have to explain to your client/employer that you won't be able to deliver on time because of something that you could've prevented.

Side-note: you have not provided enough info, but you may have obsessive-compulsive disorder, which is nothing to be ashamed of, but you can only 'solve' this with medication, so you would need to see a doctor.

dlss 3 days ago 0 replies      
Great post. Thanks for taking the time to write this up.

I think you're probably not doing projects to help people, but instead projects that you think would be fun to do. If you start with a burning itch, or a person that needs help, you will probably find it much easier to stay on task. This is not to say that there's anything wrong with exploring interesting technologies, or thinking about "the right way" to solve certain problems you find interesting... It's just to say that when there's a burning need the interesting diversions tend to fall away.

Hope that helps :)

buro9 3 days ago 0 replies      
Just think pragmatically.

Whilst the desire to strive for perfection is in any craftsmen, ultimately what matters is getting the product to the customers and solving their needs.

Only after solving their needs should you start to indulge in the craft for what the customer cannot see, the internal quality.

I also sometimes describe this as "be lazy"... don't do anything that doesn't need to be done (for the benefit of the business and your customers).

lastbookworm 3 days ago 0 replies      
I have been thinking about this a lot lately. It's been an immense problem for me and it's destroyed almost all my side projects.

The problem is that you're interested in the wrong aspects of your side project. You're interested in learning and solving the code problems that come with your project. You have to shift your perspective to the human side of your project. You have to learn to see the user's issues as the problem to be solved.

Let's use an "reviews" site as an example. Your users cant find reviews, that annoy them. What you're solving is not a programming problem; your problem is "make it easy for users to find reviews". That is your problem. Your problems is not what the best algorithm for ratings. None of the code stuff matters. These users do not care about code.

When you've shifted your perspective to the human side you'll start to see hacky solutions differently. A crappy algorithm for ratings isn't a poor solution, it's a perfect solution. You've solved the reviews problem. You have a perfect solution.

The problem is that most of aren't actually excited about the human side of our side projects. This is because we get excited about things that interest us, and what interests a programmer is usually programming. It's not surprising we choose projects with interesting code problems.

Start reflecting on the human/sociological side of things before you choose a project. You might be surprised at what you find. Projects that seemed interesting may suddenly become dull and the one's you thought were dull might suddenly become interesting. A human perspective doesn't exclude building stuff with a code focus, just make sure coders are your audience. You and your users just need to be excited about the same things.

There is this classic saying about "building something for yourself" resulting in the best products. As with most sayings, they left out some important information. They forgot to tell to you to make sure that what you're building for yourself is the same thing you're building for your users.

Make your goals align with your users. Otherwise, you'll find yourself trapped down the rabbit hole.

Some extra thoughts

Don't forget that all your tricks to solve programming problems work on human problems. For example, for a reviews site it's easy to phrase the problem as "make it easy for users to find the best reviews in the most efficient and enjoyable way possible while allowing them to simultaneously book and view and and and....". Break it down into it's simplest elements first, just like you would a programming problem. The simplest element of the problem is "make it easy for users to find reviews"; best reviews are a separate problem.

You're probably good at solving programming problems, breaking them down and being productive. You know all the 37signals posts, all the design patterns, and can quote re-work by heart. Use those principles you have learned and apply them to the human side. Everything your learned about productive programming applies to productive life.

handzhiev 3 days ago 0 replies      
Never happens to me. I'm always eager to finish, release and go on. Good enough for the users? Publish. Not so good? Publish. Some will bear it, the rest will swear it and I'll know what to fix.

I'd very much prefer to pick up an apple that isn't perfect than having no apple at all because of looking for the perfect one forever.

mootothemax 3 days ago 0 replies      
It's not necessarily that what you're doing is the interesting option; I'd say that it's the easier option instead.

Reading about interesting stuff is deeply satisfying, and so it's something you want to justify so you get to do more of it. Actually getting stuff done is hard.

It's a bit like why so many techies - myself included! - vastly prefer to code new app features rather than working on marketing or sales copy. One is has a definite end point, and we feel comfortable getting there.

The other one can seem like work!

msutherl 3 days ago 0 replies      
I think the key is to:

1. Set goals and fixate on them. Imagine what it will be like to have achieved the goal. Get excited about it and keep reminding yourself. When you're not making progress toward the goal, make yourself imagine the situation where you spend 6 months making unimportant things perfect and never achieve the goal. Imagine all the other goals you won't even be able to set because you're wasting your time.

2. Make other commitments. Make plans to meet a friend for drinks at 9pm. You only have 2 hours after work to get anything done " don't waste those 2 hours! If you can stay consistently busy, you'll notice quite quickly that not using your time effectively will lead you nowhere.

misleading_name 3 days ago 0 replies      
Catalog your rabbit holes if possible, and then review them before working on them.

What I mean is, if you see a problem to solve, and you are able to keep working on your current task and to solve the problem later, then do so... just note the problem. This will immediately make you much more focused.

Then at the end of the day, review your list of rabbit holes and try and determine which ones are necessary for the current project, which ones would be educational / you want to do, and which ones can be discarded.

Basically rabbit holes are a problem because they are long and narrow and do not offer an overview of the entire grounds, so before jumping down a rabbit hole force yourself to survey the big picture and to see if you can step over it instead.

philwelch 3 days ago 0 replies      
If it's a side project, you have to ask yourself what kind of side project it is. If it's a business or something you want to turn into a business, just take any task that takes longer than an hour or two, put it down on a notecard or sticky or some digital equivalent thereof, and put them in a priority queue. If it's just for fun, don't worry about it--if you're not frittering away on things just to please yourself, why are you hacking anyway?
alaskamiller 3 days ago 0 replies      
Short term hack: medication.

Long term hack: meditation.

How long with each, how much of each... that's going to take a lifetime to learn and figure out.

thenomad 3 days ago 2 replies      
What happens when you implement a dreadful, obvious, hacky solution? Do you find yourself compelled to change it? Or do you not even get that far?

It sounds like at least part of your problem may be perfectionism. I did a bit of research on this a while ago, and it turns out there's a lot of literature on perfectionism and how to manage it. A quick look on Amazon under "Perfectionism" should bring up a few interesting books.

rizz0 3 days ago 0 replies      
You apparently enjoy the interesting stuff, and love the fact that there is actual practical benefit - though initially very limited - from doing something that's theoretically interesting. Letting that chance slip would feel like a waste.

It might help to limit going down the rabbit hole too much, by researching what could be improved without actually doing it right then. Save it in a list for later, do the schlep, then when things get bigger chances are you'll actually need to take on some of the challenges on that list. And the more useful they become, the more satisfying it'll be.

engtech 3 days ago 0 replies      
Actually, come to think of it, I don't know if my previous answer of "get more experience" solves this procrastination problem.

I think it's actually "have kids" that solves this procrastination problem. With having kids you get so many constraints on your time that procrastination is no longer an option.

kronholm 3 days ago 1 reply      
Kind of sounds like procrastination to me. You should have a clear goal, and work towards it, allowing no or few of these side-distractions to take you off the path. A real life deadline helps immensively as well.
corwinstephen 3 days ago 1 reply      
I don't much have a solution to the rabbit hole syndrome, but at the very least I can point out that your rating system could be solved by a confidence interval made using a Bernoulli random variable, which is a useful and (fortunately for you) a relatively simple formula to derive and comprehend.
Mc_Big_G 3 days ago 0 replies      
Just remember that, most likely, not a single user will ever be execute this code.
danmaz74 3 days ago 0 replies      
At what time do you work on your side projects? I found out that if I wake up early and work on them before going to my day job I tend to be much more focused. That might be just because of the effort it requires to do so :)
chmike 3 days ago 0 replies      
I have the impression you are subject of a typical mild ADD syndrome. Explore that rabbit hole and you may learn alot about yourself and see what people do to handle this. An obvious solution is to just do what you like and you'll be much more efficient than the average person in that.
plainOldText 3 days ago 0 replies      
Oh boy. In a sense I have the same problem. I've started so many projects but I never release them because I've always been afraid they're not perfect enough. It sucks I know. I guess that's why a lot of people propose the MVP, then continue from there.
rjurney 3 days ago 0 replies      
This sounds like a good thing.

Over time, your rabbit holing will develop in a direction called a 'specialization.' Take note of which areas interest you and what areas have opportunity and rabbit hole that way.

The1TrueGuy 3 days ago 0 replies      
Discard the unnecessary. It isn't always easy to tell but there are often subtle signs around what is and isn't necessary. Unnecessary things usually feel sort of shadowy in your mind or require an additional effort that doesn't fit square into what you are doing. Think about what it's like to carry too many groceries into the house at once. Necessary things are solid and leap forward into your mind with evident emphasize. Be ruthless with your pruning of those unnecessary branches and your trip down the rabbit hole will be both smoother and more thrilling.
helen842000 2 days ago 0 replies      
I think it's about finding a happy medium. You certainly don't want to cut this passion for learning & consuming knowledge out completely but maybe you want go along the route of shipping your first solution and then improving incrementally based on further information.
espeed 3 days ago 0 replies      
"It's not enough that we do our best; sometimes we have to do what is required." -- Winston Churchill
neuroscr 3 days ago 0 replies      
as an engineer you have to realized there's not a best solution overall but a best solution for this particular problem. Each solution has pros and cons.

I think you spend time weighing each design because you're unclear on your final vision of your product. You haven't definitely answered what your values and needs are that you're trying to solve.

This may be a hard question to answer. This is why MVP are neat, you can get a product out to consumers quickly and use their response to develop values and a overall direction.

I find you if you think too far ahead, you don't leave any room for random disruptive opportunities that can occur in each step.

So know where you're going. Figure out and focus on the next step that gets you close to that.

clamprecht 3 days ago 0 replies      
Want to break the rabbit hole habit? Start your own business where you have to get things done. You'll either break the habit or go out of business.

BTW, going down the rabbit hole occasionally isn't a bad thing IMO. But if you go down every rabbit hole, it can slow you down.

sneak 3 days ago 0 replies      
calleskonto 3 days ago 0 replies      
I do it and don't try to stop, cause it is good to learn.
nostro 3 days ago 0 replies      
Possibly you are not that interested in the main topic?
Possibly adult ADD?
adrianbg 3 days ago 0 replies      
My mantra for this is "only solve problems".
Show HN: SXSW RSVP Concierge
2 points by dmor  10 hours ago   discuss
How would you like an open data platform to be?
6 points by jack_dbernier  20 hours ago   3 comments top
manishsharan 19 hours ago 1 reply      
Please let our pointy haired bossses with MBAs point their Microsoft Access or Excel at you platform and pull in whatever they need without calling up dev team in the middle of the night.
Ask HN: Does anyone need any Product Design help?
4 points by rishtal  13 hours ago   discuss
I made $200K and PayPal locked my account
463 points by blasten  5 days ago   267 comments top 92
InclinedPlane 5 days ago 5 replies      
Wow, the sheer quantity of unhelpful advice in this thread is simply mind boggling. Hey, let's all hate paypal because they "steal" people's money. Ignoring the seriously thorny legal bramble that the OP has run headlong into with nary a concern. There is a bounteous variety of comments of the form "Paypal sux! {Use X instead!}" Where X may be stripe, or wepay, or whatever. Ignoring the fact that stripe wouldn't help in this case (it's US only), if you go read the terms of service of stripe or wepay you'll find exactly the same things there as are at issue here. You'll need an SSN or EID or tax ID with stripe too, just as you would with a WePay business account. There's a reason for that, and it has to do with the law.

There are maybe only half a dozen reasonable, substantially helpful, and actionable replies in this whole thread (which would put it at maybe a 4% SNR), almost all the rest is useless. If this is what HN is going to be, I don't want it.

As for my advice, it's simple. Go talk to a lawyer as soon as possible, you have a lot of issues that need sorting and a good lawyer is absolutely necessary to get through those issues, and they'll help to put you on the right footing to deal with paypal. It sucks that you have been acting in good faith and doing good work and have gotten tangled in the mess that is the many layers of laws, regulations, and corporate policies that make up our modern immigration, taxation, and financial systems. You have my sympathies for that and I wish you the best of luck, hopefully you'll be able to keep the proceeds of your excellent work without any serious negative repercussions.

gojomo 5 days ago 2 replies      
Concur with javajosh's recommendation to find a California/USA-based lawyer for help. Advice from semi-anonymous strangers in internet forums is worth what you pay for it.

Generally, in the search for a lawyer, you get to talk to many (without charge) for 15-45 minutes each. You may be surprised how widely their estimations of the issues vary -- the law is the law, right? -- but you'll learn something from each conversation, and perhaps find someone you trust with your concerns. Also, legal confidentiality means that even if you've messed up on some tax/immigration/work-authorization/business things, talking with them honestly doesn't mean you've made any admissions that get back to the authorities (unless and until with their advice you decide that's the best course).

If a student in the US, your educational institution may also have a legal aid clinic.

You can probably get an 'ITIN', the equivalent to a Social Security Number for non-domestic individuals/entities who need an SSN-like number for tax/financial reporting purposes. See...


...and the related IRS pages. And again, just getting the number isn't admitting to anything or any tax liability. However, it then will be used by financial institutions (like PayPal) to maintain their internal and government-required reporting requirements. Separate from just tax issues, amounts in the tens-of-thousands (and sometimes less) are subject to reporting to control money-laundering from large-scale illegal activities.

nlh 5 days ago 6 replies      
Sorry to hear about the troubles :(

If this wasn't the umpteenth time I've heard this story, I wouldn't say this so pesteringly:

To everyone: Stop stop stop stop stop using PayPal. This happens over and over again. For once, thankfully, there are viable alternatives out there -- Stripe & WePay to name two (both of which I've had excellent experiences with).

Not saying they're panaceas or that there won't be security/freezing issues from the new guys, but PayPal has a documented, extensive, and repeated history of freezing accounts with large amounts of money in them over short(ish) periods of time.

ChuckMcM 5 days ago 4 replies      
Sad story, I agree with folks who say you should seek out legal advice.


If you are going to receive funds with PayPal and they are going to exceed the 'occasional sale' guidelines (which some people interpret to mean the same guidelines at the rule for sending an IRS 1099 form which is < $600 annually.

First establish your business presence in the US, that means creating an LLC, getting an EIN [1] and establishing a relationship with a US based bank.

If you get hung up on those steps, don't start taking money with PayPal because their zealous anti-fraud/laundering/drug program fires on a hair trigger. It didn't help that the OP is a student from Venezuela which is not one of America's trading partners.

I expect you will lose most of this money in legal fees. However, if the business is durable, and you manage to establish your LLC (that lawyer you got can help with that) then you will make it back and PayPal will back down. As long as the money trail can be tracked and everyone in the path reports it to the Federal Government so that they are satisfied it isn't part of a laundering scheme[2], or if it was they can catch the folks involved, you will be ok.

[1] http://www.irs.gov/Individuals/International-Taxpayers/Taxpa...

[2] This is how the laundering scheme would work. Some criminal enterprise hires a bunch of third parties to buy your 'widget' for an inflated price, say $10,000 per copy. You sell the 20 copies, get the $200,000, now you go to a coffee shop owned by the criminal enterprise and buy a Double Vente Latte for $180,000 made out of hand picked coffee beans. The crook now has $180,000 of "legitimate" income from his coffee shop, you have $20,000 in "profits" on your amazing Javascript widget, and 20 drug dealers have a bit of software they just delete from their hard drive (if they down loaded it at all). Everybody "wins." So the US Government wants to be able to subpoena your customer list to track the money from the drug dealers to you and then back to the crooks. Paypal helps with that. If you make it hard for them to do that, they keep you money.

patio11 5 days ago 2 replies      
Apply for a TIN - taxpayer identification number. PayPal can use it in lieu of an SSN. This will take you six weeks. In the alternative, consult a local lawyer and have them nastygram Paypal for you.
dangrossman 5 days ago 2 replies      
From your comments, you had multiple PayPal accounts (disallowed), were in Venezuela, using a US PayPal account, then transferring the funds to a PayPal account in Venezuela, and can't provide a tax ID for the US account. At the same time, you went from zero to hundreds of thousands in payments in just a few months. To PayPal, you likely appear to be a criminal involved in some type of money laundering or tax evasion scheme. I don't know enough about student Visas and international tax agreements to say you aren't actually engaging in tax evasion, perhaps unknowingly.

It's not surprising they locked the account and asked for documentation. The tax code pretty much guarantees they would within a year in order to file the 1099-K on your account. This stuff is serious to them, both from a financial (the potential losses if this money disappears because it's not been moving legally) and regulatory fronts (US Patriot Act among others requires banks, like those underwriting your US PayPal account, to be able to accurately identify their customers). This might not be easy to fix.

sp_ 5 days ago 3 replies      
When you say you're an international student, do you mean you're in the US on an F-1 visa? If yes, you might be in violation of your visa terms. If you have not researched this, please start reading at http://www.justanswer.com/immigration-law/330cd-holding-f-1-...
droithomme 5 days ago 1 reply      
The comments here are good.

One point not addressed in the comments is that whether PayPal ever gives you the money back or not, OP has earned $200,000 in income while in the United States and he owes the IRS and possibly the state government as well full US income tax on this amount since he was in the US at the time he did this work. It doesn't matter what his visa situation is, that has nothing at all to do with if he owes taxes. He is required to file an income tax return this year, and pay the taxes, end of story. If he doesn't pay the taxes, he might go to jail and probably will get a felony record and be permanently banned from returning to the US after release.

So this is a pretty serious problem and requires a legal team, which undoubtedly will cost the full amount on deposit to untangle.

He can't just walk away from the situation and let PayPal keep the money, unless he can get the amount he owes in taxes from a relative and pay it, which then puts him into debt.

anigbrowl 5 days ago 2 replies      
You have $200k sitting in your paypal account? Don't you have a bank account? What country are you in? What exactly did they say to you? How you mean you 'don't know how' you made $200k - you didn't expect to sell so much, or you sold $200k in one go with no idea who gave it to you? This seriously needs more information.
richardjordan 5 days ago 0 replies      
Contact one of the Silicon Valley law firms that's used to dealing with these things. Don't go to some cheapo ambulance chasing lawyer who doesn't know what to do. Even if you cough up $20k in fees to a law firm it's worth doing. They'll help you set up a company for your product and steer everything through that to unlock your funds. A lot of advice on here is overly negative and misinformed. As someone who has had to deal with changes of legal status, setting up companies as a foreigner, and has dealt with the hell of PayPal account freezing, I can assure you this is fixable if you work with a reputable experienced law firm.
electic 5 days ago 1 reply      
I think there is a problem here. If you are saying you do not how how you made it then there might be truly something wrong with your account. It is rare for any open source project that is a js widget essentially to pull in 200k in six months. I think there is a bit more information at work here and you are leaving it out. I think what Paypal did was justified while they investigate what is going on.
blantonl 5 days ago 1 reply      
Disclaimer: I have a love hate relationship with Paypal. My organization runs most of our payment processes through Paypal.

With that said, some questions:

1) How were you able to process 30k/month through Paypal out of the gate without providing a government ID?

2) How much of the 200K were you able to withdrawal? If any? Do you have any of it in cash?

3) Did you experience an abnormal amount of chargebacks?

I'd love to hear your thoughts.....

JoshTriplett 5 days ago 2 replies      
First, before you do anything else, find a reputable payment provider and switch your payment mechanisms over to that, so you don't keep getting money sent into a locked account. And with your new payment provider, make sure you sweep all money you receive out of any account they have access to as soon as possible, up to whatever limits they have on how much you have to leave around for chargebacks and similar.

I'd guess that PayPal wants an SSN so they can report your revenue to the IRS for taxes. If so, they might accept an EIN or TIN instead, which you can obtain as a business (which you probably want anyway if you plan on doing that much business).

Alternatively, if you are not actually in the U.S. (you didn't say explicitly), you may need the local equivalent instead, though good luck getting PayPal to accept anything that doesn't follow their script.

In any case, the instant you get access to your PayPal account again, get all the money out of it before they change their mind, which they frequently do, and switch over to the reputable payment provider you picked in step 1.

Finally, next time you start doing business with a service, even a popular one, search for negative experiences with that service and take them seriously. You now know not to use PayPal ever again, but that still leaves quite a few other services out there to get burned by.

saumil07 5 days ago 0 replies      
Hey Emmanuel - Saumil Mehta here from LocBox, we spoke a few months ago on the phone.

I would urge you to simply hire an excellent immigration lawyer to figure out your options w.r.t. the F-1 before you move forward. I have a San Francisco-based firm that I can refer you to if you like. They are (somewhat) expensive but they do deliver good results and they are not a big faceless firm - fast, efficient, get on the phone quickly.

Email me if you want to talk more. FWIW, I dealt with our dysfunctional immigration system for a decade - once having to forfeit a well-paying internship after forgetting to file a dumb piece of paperwork - so I do understand the pain of getting the shaft after busting ass, primarily because of immigration reasons.

Anyhow, hope this helps.

JohnHaugeland 4 days ago 0 replies      
So, I'm going to hold an antithetical position here, because I've been on the other side of this, but rather than panicking and screaming "villain," I took the time to understand what was going on, and I got a reversal. I think you can too, but you'll need to discard the common contempt for PayPal and consider that they might actually have a reason for what they're doing.


"PayPal has closed my account because I don't have a social security number. It seems like I don't qualify for one because I'm just “an international student” from Venezuela."

I just don't believe this one bit. People from Venezuela do use PayPal quite a bit.

More likely what this is actually about is that you haven't done the minimum to do business in America, which PayPal told you up front that they expected you to do.

They're not actually able to do business with you, because you haven't taken the correct steps yet. If you say "oh my god they're punishing me for being from the wrong country," you're screwed.

But if you figure out the problem, you can fix it.

Here's the thing. In America, like in Venezuela and most of the rest of the world, you're expected to pay taxes on money transfer. It's an income stream.

The social security number is how Americans track these things in their private lives. Sure, you won't get one because you're not American, but there are foreign equivalents, and they're cheap. We do want to do business with you; you just have to be clean.

PayPal can't give you your money until you do what the US Government requires. It would be illegal. It would make them into a criminal money laundering organization.

I'm not really sure; I'm no tax attorney. But, I think what you want is an ITIN - an Individual Taxpayer Identification Number. They are free, they're available online, and they only take a couple weeks to get.




It's very common in the tech community for people to hear "PayPal shut off an account? They're the devil!" But in reality, this is how America keeps its money from flowing to criminal organizations, and PayPal's hands are tied here.

If you took the time to talk to them, and said "listen, I didn't know there was a problem, can you help me understand what steps I need to take to get this turned around," it's very likely they'll actually help you, like they helped me.

The toxic Redditor behavior is getting out of control. Not every time a large company does something that seems punitive is it actually in the wrong, and in this situation, they're really just following the law. That's expected. That's correct.

Also, to put things in perspective, you seem to be frustrated that you have to wait six months to receive five years of an average American's salary. I mean, I don't think this is actually as bad as you're making it out to be, unless you've tied your entire life to taking money from the internet, and can't survive without it.

I think maybe you should consider the possibility of asking some of your users for a little spare cash through some crowdfunding site (full disclosure: I work for a crowdfunding site, which is why I'm not naming options right now, because it would be unethical.)

And then maybe just try to work with PayPal to fix the problem, instead of begging the internet to try to hammer-lock PayPal into breaking the law for you, because no matter how hard you try, that is never, ever going to work.

Try setting up a Google Voice account, and calling them on the phone. If they can hear your fear in your voice, the human will to do good and help will come out, and they will put in effort to assist. I promise. That's just how people work.

Also consider getting in contact with the American tax authority, the IRS. It's pretty common for people to hate and fear them, but they're actually wonderful people; their big job is to prevent rich people from cheating the system, and to support poor people, and your story is very sympathetic. Someone from the IRS will, if you just ask, put in hours and hours to try to help you, for free. That's what they do for a living.

You can choose to assume everyone's evil and out to get you, or you can choose to assume that you accidentally didn't get the rules right, and that fixing that could change things.

Which one of those assumptions you make will very significantly change the outcome you get.

There is a reason that people who expect good things from other people generally do well in life. They're able to ask for, and receive, more help. Bad things are fixed more reliably. Et cetera.

Just make a human appeal. "I didn't know I screwed up. I still don't know how. I earned this money legitimately, and I need it. Can you help me learn what I did wrong, so that I can fix it?"

Give them a chance to be good - maybe even a couple - and they will be good.

PayPal is not the evil faceless demon they're made out to be. International payments are complicated, and people from other countries often get domestic law wrong.

But I really don't think they want to cheat you; after all, they make their money by helping you do more business. Shutting you off doesn't do them any good.

Please consider approaching this like you might have made a mistake, because if it's you, and not them, then fixing it and changing this is entirely inside your power. Taking responsibility means acquiring power. Pointing fingers weakens you.

I hope the best for your situation. Please be safe.

rikacomet 5 days ago 0 replies      
Hi, I'm not a expert on US laws, but given how it mostly works, yeah you are in the wrong, if they say so. But all is not lost I suppose.

You must find a lawyer in any case, a good one! though there is no guarantee it will work, but if something would work, it would be this or a clear provision/flaw you may find on your own (I take it that you won't be able to)

Three legal courses might work on broader terms, leave the actual litigation to the lawyer.

1. The lawyer may prove that someone, who is a US citizen, a family member preferably, or a family friend, is the real owner of the product, and you mis-stated your facts. (meaning, you didn't say under oath, that the said service/product was your and yours ALONE)

The lawyer would take his cut in all cases, and if anything, you should give your family member a cut as well, in this case. Its better than nothing out of 200k$!

2. You may establish a US company, preferably in a state where tax is low and norms are lax, based on strong advice of your lawyer, with preferably the same name as your product. The lawyer in this case would prove (or try to)
that the company would receive the money (being a separate legal identity), and a friend of yours who is a US citizen, would be the trustee of the company.

Similarly to above, lawyer will get his cut, your friend would do as well (unless he is the nicest guy on the planet, if he does not take any money, do PM about it on reddit@rikacomet).

3. The lawyer, may establish, that there was an error in your understanding of the US laws (which is clearly so), and since paypal allows for you to be a member of any country, you shall recieve it upon changing the credentials of yours, to your native one's. The lawyer, shall argue, that the payment made by your customers, would hold true, despite you changing ONLY your address details.

Alternatively, if all your payments were made by credit card (which might be the case), you may contact, all your customers, to initiate a cash back (where they will legally call back money from their bank, after stating that a huge flaw was made, and the original deal holds untrue) the bank would know its way with paypal, so no worries there, but what you need to worry about is bank making a case against you. So you would need a lawyer again over here.

Disclaimer: Always, talk to a professional lawyer about legal matters, mine is only mildly suggestive in nature based on laws existing in my country.

NOTE: Please be very careful, while finding a good lawyer, while you do, make sure to make it clear to him, that the payment, would be only a cut out of the 200k in question here, and not out of your pocket.

Take this on a legal document in WRITING, with his signature and official stamp heads, in presence of 2-4 witnesses etc. You really don't want to lose 200k, and then also pay a American lawyer out of your pocket!

btown 5 days ago 1 reply      
I've been testing turn.js v3 for personal projects and am seriously considering buying it for production use in a business; it's the only thing out there for dynamically-rendered flipbooks. Sorry to hear about your troubles. At that level of revenue, I'd seriously consider charging using something like Stripe or Braintree. Your target audience (developers) won't consider typing a CC number as such a huge inconvenience.

Another note - releasing the 4th release's source code under something like the Affero GPL (or a similar noncommercial license) could drive adoption of that version, since many people like to "try before they buy" - and would like to do so with the most feature-filled version.

lectrick 2 days ago 0 replies      
Next time, ask for payment in Bitcoin, and avoid these outdated clumsy troublesome international payment law troubles in their entirety.
ck2 5 days ago 1 reply      
So much for the kinder, gentler paypal.


I guess it was all talk.

Never, ever, keep more than $100 in a paypal account (or as much as you are willing to lose immediately, forever).

Also, if possible, close the bank account your paypal is tied to as they will draw from it as they see fit without your consent.

sinak 5 days ago 0 replies      
I highly recommend contacting executiveoffice@paypal.com. I've had many problems with PayPal in the past, but they were the only group able to make corrections to my account and release funds.
javajosh 5 days ago 2 replies      
Hi Emmanuel, I'm sorry for your troubles. Sounds like Paypal is being unreasonable - hardly the first time. I would suggest a two-pronged approach:

1. Find a lawyer who can advise you, definitely based in the US, and almost certainly based on CA, the home state of PayPal. As you (potentially) have $200k in cash, you'll have no problem finding excellent representation. Hopefully you can get away with spending only a few thousand.

2. Select a different payment processor. You can do this immediately. Stripe has a good reputation, but there are others as well.

3. (Optionally) Post your progress. Especially if the lawyer can give you good advice that is applicable to others in your same situation, you are potentially saving other innovators many thousands of dollars not to mention headaches.

Good luck.

jey 5 days ago 2 replies      
Where does PayPal ask for an SSN? That doesn't sound right.
KennethMyers 2 days ago 0 replies      
Former administrator of an international student program, here. If you're an international student, you can work for the school (at least you could at mine). We used to give kids literally 1-hour careers sitting at a desk in our program at minimum wage so they could get social security cards. If you were to furnish Paypal with a valid ss#, could you then get your money? That's a lot of money. If your school won't do it, I'd work on tranfering your 1-20 to another school that will.
Raz0rblade 5 days ago 0 replies      
Maybe make it work using a different bank system and IBAN payments IBAN is international, you might consider opening a IBAN acount in Venezuela. I'm in europe and i like Ideal much more then paypall. As "Ideal" is much more secure. Other options might be bitcoin, or maybe game dollars wich can be changed to hard valuta like lindendollars ...
dexter313 5 days ago 2 replies      
I was always wondering, if PayPal locks a 200k$ account, where does that money go?
shocks 4 days ago 0 replies      
Hi there. Congratulations on your success, I'm very sorry to hear you're having problems.

The issue seems to be that PayPal are worried you're doing something illegal and are not going to pay tax. My advice would be to get a lawyer so you can do everything required to pay tax correctly. In the mean time, try to get some written confirmation from PayPal that your money will be safe while you are resolving this issue - that last thing you want is the money 'disappearing'.

StavrosK 5 days ago 0 replies      
Don't you have one in Venezuela? They were more than happy to accept my Greek id.
stickydink 5 days ago 0 replies      
You should talk to a lawyer immediately. You should also read up on just what exactly your visa allows you to do. Assuming you have an F-1 visa, you are pretty much (with some small exceptions), not allowed to work. This includes self-employment, freelancing, anything.

What you should have done (and this is still a legal uncertainty) is have the funds tied to a Venezuelan bank account, your Venezuelan personal and tax identification. It's a little late for that, however.

Best of luck retrieving your funds. I wouldn't be surprised if you got PayPal to release them (they are not themselves a government, so just require enough information to cover their own ass). But expect to be asked some very serious questions by USCIS. For that reason you don't want a regular lawyer, you main issue here will be trying to convince the US you weren't breaking your visa terms.

You need an immigration lawyer.

donohoe 5 days ago 1 reply      
codexon 5 days ago 0 replies      
Is anyone else amazed this guy made 200k with an open source js library like this?

What am I doing with my life?

eof 5 days ago 1 reply      
Find an american friend with a SSN? I am not sure this would really work, but it's definitely worth a shot. Of course your friend will have to count it as income; but honestly this will probably be a lot cheaper than hiring a lawyer if it works. I don't really see a downside to trying this method; since you can't really lose the money that's already gone.
sisk 5 days ago 0 replies      
These sort of things generally revolve around tax reporting. As an international student, you should be able to get an ITIN or TCN which, I believe, they also accept.
redact207 5 days ago 1 reply      
Why is PayPal's policy to wait until the account accrues significant funds and then lock it? If the OP doesn't have an SSN then why wouldn't PayPal block the account from being registered in the first place?
gamblor956 5 days ago 0 replies      
You need an ITIN, which is the equivalent of an SSN but for non-US taxpayers receiving payments from US sources.


drucken 4 days ago 0 replies      
Get any job (#), including part-time and temp jobs, and you instantly get a US social security number.

That said, Paypal are acting like dicks, as usual, since you do NOT need an SSN to open ordinary bank accounts in the US.

(#) You may need written permission from your school to work.

Source: http://www.ssa.gov/pubs/10181.html

purephase 5 days ago 0 replies      
This really sucks. PayPal is terrible for doing stuff like this, and I really feel for you. While I don't have any specific suggestions for dealing with PayPal, maybe you could setup a Crowdtilt or similar fundraising opportunity and link it on your site?

I love turnjs btw. Very slick tool.

webjac 5 days ago 0 replies      
Hey Emmanuel, long time no speak.

I would suggest you go to a lawyer as well, I know how hard it is for us Venezuelans out there. I had a PayPal block once as well and managed to solve, it takes time and a lot of documentation, however it was not even close to the ammount you're mentioning here.

There are alternatives like creating your own company and giving the info of your company to PayPal, that way everything will be as legal as they might need.

Let me know how it goes, best of luck bro

edouard1234567 5 days ago 0 replies      
First, I didn't know about turn.js, just checked it out, it rocks!
Second : You are probably breaking emigration laws. I'd recommend you consult with an emigration lawyer ASAP.
therandomguy 5 days ago 0 replies      
If you are on a student visa you are not allowed to get that money even if you had a SSN. You will be violating the rules of your visa. After you graduate, find a job and go on H1-B you still can't earn any money outside that job. No paypal, not adsense, no stripe. Eventually if you decide to apply for a green card these things will come up and you will have to leave the country.
anovikov 4 days ago 0 replies      
With any money transfer/payment service, DON'T keep money on it. Withdraw to cash every week, and spend or keep in a bank vault. I normally don't even put real mail address anywhere and ask different people to do ATM withdrawals. I am not doing anything criminal at all, but WHO KNOWS? It's always better to be protected especially when it doesn't cost me anything.
contentgorilla 3 days ago 0 replies      

Give him a call. He has handled cases for me with PayPal. He comes highly recommended, just search his name.

He can fix this mess without high expenses.

logn 4 days ago 0 replies      
You can get a Taxpayer Id Number in about 10 minutes from the IRS with basically no questions asked (they want to make it easy to pay taxes, even for sketchy situations). The TIN might be a substitute for SSN.
cjbprime 5 days ago 0 replies      
Sad to hear this, I've used and appreciated turn.js. Hopefully the tax situation works itself out as other commenters have described.
praz78 5 days ago 0 replies      
Emmanuel, sorry this happened! We can fix it... I sent you an email with my PayPal email address and my cell phone (call/email if you wanna understand what might have happened here). I have also sent his thread off to folks within PP who can help lift/adjust the restriction. Should be sorted in no time, dont lose hope :)
fastspring 3 days ago 0 replies      
Perhaps FastSpring would be a good fit for you. Any country the US isn't banned from doing business with is applicable. Users pay in various global currencies and the order pages are translated. I'm the CEO. Funny that you mention Venezuela, my wife just got a grant to do art history research there so I may be visiting soon.
heldrida 5 days ago 2 replies      
Why do people keep using Paypal ? Paypal is always taking money from people. Always! It's interesting what's going to happen here. If he can't get his money, is Paypal going to have it ? Why is there the assumption this guy is in the US ? Even if this guy was not legally in the US, this is still his money.

If you are young and don't have a national insurance number yet, ask them to change your account holder to one of your parents and give them the NI.

I'd basically create a website reporting this issue to the general public and attach all emails and information you can get from them. Also, I'd change the payment method in your website to something else LIKE RIGHT NOW! You should never, ever trust Paypal! Like NEVER!

You should also report this to the media, they will love it! $200K is a lot hell of money!

mikecane 4 days ago 0 replies      
See what this poor guy is going through? There are a lot of bright people here. Sounds like a start-up opportunity for someone. He can't be the only person who winds up in this situation. Solving this could open the door for others who have the skills to make money like he did.
pbreit 5 days ago 1 reply      
Do you or your parents have bank accounts in the US or in your home country? I would suggest working with PayPal to switch your account to your original country and seeing if you can then get the funds withdrawn.
sturmeh 5 days ago 0 replies      
You'll get your money in a few weeks, PayPal are just enjoying the interest for now.
georgek1029 4 days ago 0 replies      
Have you tried?: How to Unlock a PayPal Account http://www.ehow.com/how_7657756_unlock-paypal-account.html via @eHow

Also, other comments have stated that if the lock msg. came via email it could be a phishing scam. Try to avoid supplying personal info if looks like a suspicious email.

More: http://en.wikipedia.org/wiki/PayPal#Criticism

linuxhansl 5 days ago 2 replies      
It boggles my mind how PayPal can again and again get away with this.

The ability of PayPal to be a bank and yet avoid being one legally is interesting.
If you hold somebody else's money you are a bank, whether you call yourself that way or not.

jonathanmarcus 5 days ago 0 replies      
You should contact David Marcus, Paypal's relatively new CEO. At least one other HN thread shows his willingness to help: http://ndy.gd/JJgB
marizmelo 5 days ago 0 replies      
Sorry about what happened with you. The only why you could get the money is to had the PayPal account linked with one account in Venezuela instead of US. According with your F1 status (and mine) you cannot earn any money in US while studying, unless you get authorization from school to work out of campus (CPT), or after conclude your studies (OPT). Even under CPT/OPT you cannot earn money other from other place than the place you work on. Sorry, I wish you the best luck.
rafaelm 5 days ago 1 reply      
Maybe they have issue with the fact that you are from Venezuela? I've sen multiple venezuelan PayPal accounts being blocked because they know sometimes they are used for getting around CADIVI (currency exchange restrictions). Maybe your nationality and the fact that you made that much money triggered some flags.

From a fellow venezuelan, hope you get your money back. And congratulations on your success even in this unpleasant situation.

donniezazen 5 days ago 0 replies      
If you go to school here in US, you are allowed to work on-campus and that will make you eligible for a SSN. Check with your international center.
bambax 5 days ago 0 replies      
It seems turnjs.com is still using PayPal... At this point you should switch to another provider...
centdev 5 days ago 1 reply      
PayPal is not as crooked as people say they are. Just start a company with someone in he US. Payments go,to their company and they pay you. Assuming its a legit business "don't know how I made" 200k doesnt sound legit.
heifetz 5 days ago 0 replies      
I would get a lawyer in the US. They might think that you're laundering money, until you can prove your id.
camus 5 days ago 0 replies      
question , why the hell would you let 200k sitting on a paypal accound for 6 months ? i dont understand. At least invest that money in obligations, life insurance or something ... even with 3/4% returns it is worth it, you could almost live without working in Venezuela ...
jc527871 3 days ago 0 replies      
What you could always do is apply for an international business licence that allows you to have a satellite office in the united states. The only problem that you would have with that is you would first need to establish a business in your home country. At that point you would be issued a EID or Tax ID number for your business which would enable the US federal government to take taxes out on any profit that you make with in the USA. Hope this helped and I hope you well in all your future en-devours.
jonramz 4 days ago 0 replies      

If you get a job offer, such as a 5-10 hour a week job at your college, you are ALLOWED to apply for a SSN.

This is what I would recommend doing if you are just looking for an SSN. But do understand that working without permission is a huge no-no.

As far as applying for pre-completion OPT, you could do that... it will take 2-3 months to get approved and you will start using up the 12 months of OPT you get per degree level. If you choose to go this route, make sure you actually register your business with your local clerk's office and report it.

One other commmenter mentioned a STEM extension. The one problem with STEM is that you have to work for an e-verified company.

I hope I was helpful, I am an international student advisor, but I am not your advisor at your school who I would recommend speaking with.

rwanghacker 4 days ago 1 reply      
I don't know why people always use Paypal when it's had a history of screwing people over.

Use Google checkout for merchants, I've used it and it's really really easy to setup as well as safe.

unreal37 5 days ago 0 replies      
Apply for a TIN. That's equivalent to a SSN for tax purposes.
rgovind 5 days ago 0 replies      
Sorry to hear your situation.

For others: Assuming this problem is solved, in future, can an international student collect payments in his home currency? Will US govt allow full time students to do side businesses?

icedog 5 days ago 2 replies      
I'm flabbergasted by how 200k can be reached within six months with that product.
sidcool 5 days ago 0 replies      
Good luck buddy. I can only hope you get all the necessary help. That's because I am not in any position to help you.
WorldOfHacker 4 days ago 0 replies      
Call Paypal, Don't be stupid to email them, these are useless, when big money is involved. Call them, Talk to them, they will help you out.
dexter313 5 days ago 1 reply      
Were you lying about being an american student?
twanlass 5 days ago 0 replies      

I can't help you get back the money that PayPal has frozen, but I can help you keep selling it and ensure you keep what's yours.

Email me - tyler [at] simplegoods.co

NicoJuicy 5 days ago 0 replies      
I once saw a topic where the new CEO requested that people with problems contact him in person.

I thought it was david@paypal.com, i'm not sure.

pknerd 5 days ago 0 replies      
Wish these companies could make Terms and Conditions Human Readable
Porphy 4 days ago 0 replies      
I wont be much help but I can confirm that PayPal does this often and it IS reported upon frequently. I, personally, have had thousands of dollars held (just above 20k USD) for 8 months (6 month hold and 2 months of furious phone calls to get a check cut).

I will never use them again as I believe they stifle innovation and are a harm to small businesses that are "making it".

PayPal is very much one basket for all your eggs...don't get duped! Get other baskets!

readme 5 days ago 0 replies      
Lawyer up. This is ridiculous.
judegomila 5 days ago 0 replies      
This happened to me back in 2007, contact me for tactics.
iapi 5 days ago 0 replies      
Get a TIN its an alternative to SSN for non-us citizen who are doing business with United States
ll6068 5 days ago 0 replies      
INAL either, but I have gone through the ITIN process. If you follow this route you will need to send notarized documents(birth certs, passports). The difficulty is that the US will not recognize notarized by any one out side the US. This was not explicitly stated(a few years ago), after having ITIN applications rejected 3 times, we took the paperwork to the US consulate, they processed it and it was all good.
ForFreedom 5 days ago 0 replies      
Next time always remember to withdraw your earnings no matter how small the amount, once its in an account other than your bank.
darkhorn 5 days ago 1 reply      
Why you didn't pull your money from PayPal once every week?
plumeria 5 days ago 0 replies      
After you get your money back, dish Paypal and use Stripe.
puppetmaster3 5 days ago 0 replies      
Ha ha. Not PayPal Fault! Your fault for using them.
rodyce 5 days ago 1 reply      
You can get a social security number with you F1 or J1 visa.... I just did when I got my MSc. For example, if you work as a T.A. or R.A. you get a SSN.

Good Luck!

stch2 5 days ago 1 reply      
Sorry, they stole your money. This is a big advantage of theirs, they aren't regulated like a bank so they have no trouble taking money from marginalized people.
jfccohen 5 days ago 0 replies      
Use WePay.com
volandovengo 5 days ago 0 replies      
Paypal are bastards, as simple as that.
rorrr 5 days ago 0 replies      
vishalzone2002 5 days ago 0 replies      
i did suggest you ask this question at Quora too
bilyy 4 days ago 0 replies      
get a lawyer, get an accountant, get incorporated.
neo0oen 5 days ago 0 replies      
i've no idea.
But wish u good luck
StavrosK 5 days ago 0 replies      
That is extremely useful, actionable advice.
Mattbunner 5 days ago 0 replies      
wow, that's crazy? Holy crap
sharemywin 5 days ago 0 replies      
Do you have a cousin in Nigeria?
donnfelker 5 days ago 1 reply      
Use PayPal - get screwed. Rinse, wash, repeat.
Ask HN: Why does an email unsubscribe take "10 business days?"
6 points by jstalin  21 hours ago   8 comments top 4
myleshenderson 21 hours ago 3 replies      
Companies like that often work with third party vendors to do the actual distribution of emails. So when you unsubscribe, that notification likely has to be passed through various internal systems and then on to the vendors handling distribution who can remove you from their lists. These are frequently batch process that only run periodically...
kgermino 21 hours ago 0 replies      
I think part of this is CYA. CAN-SPAM (US) gives them 10 business days to stop the emails, so they allow themselves the full time. I've never gotten an email more than an hour or too after unsubscribing from legitimate emails.

Edit: Although byoung2 points out a case where you would get the emails for a few more days at least.

induscreep 19 hours ago 0 replies      
More importantly, why is an email subscribe only 0.01 business days while unsubscribe is 10 days?
thoughtcriminal 21 hours ago 1 reply      
I'd flag it as spam in the meantime.
Ask HN: SF developer burden rate @ $100k?
11 points by lquist  1 day ago   5 comments top 3
codegeek 1 day ago 1 reply      
Disclaimer: I am not a CPA or Lawyer so take this advice purely as a guidance based on my own experience of running my company.

The "cost" of an employee generally includes:

    Salary paid

This in your case would be lets say 100K

    Payroll taxes (employer portion)

Usually has 2 main components. Social Security and Medicare also combined to be called FICA. SSN is 6.2% of W-2 salary (applies max to 110K). Medicare is 2.45% of entire W-2. So in your case, totak of 7.65% of 100K = $7650

    Health Insurance premium for the employee

This really varies and depends on what you offer. I will just estimate an average of say $500-$800 per month per employee. So you are looking at about $6000-$10,000 per year. Make it $8000 average for this example.

    retirement account match

Really varies depending on whether you contribute or not. Lets say you match about 1000 per year max (a very average conservative matching) which is 1% of the salary.

    State level disability insurance

This depends on state. Some states charge employers while in some, employees pay for it.

    Workers compensation

Average cost per employee can be about $500-$1000 per year.

    Other costs to manage employee record

These could include payroll software cost per employee, accounting cost/employee, other benefits provided. I would keep about $500-$1000 per year min.

Adding all of the above, you are looking at approx 100K + 18,650 = 118,650

I am just giving an estimate here of course. But you hopefully got the idea.

doug1001 1 day ago 0 replies      
my employer hits my department budget with salary x 1.5 for every employee in my dept. I thought this was too high, so i went to see the controller, who showed me the numbers and indeed it is accurate--in other words, 1.5 x salary is a very good estimate for the actual hard dollar cost to the company for each employee, as a function of his/her salary. The intention was to capture all includes taxes, insurance, office space, hardware, meals, per-seat share of enterprise app licenses, etc.
Ask HN: How do you find motivation to teach yourself?
9 points by argonaut  1 day ago   11 comments top 8
glimcat 1 day ago 2 replies      
The problem with "learn x" from a motivational standpoint is that it is extremely open-ended. Say I want to learn more JavaScript. How do I know when I've met my goal? If the goal is indefinite, how do I measure progress? This is very demotivating.

Instead, try to find something completable which requires the skill you want to get better with. Build something, even if it's mostly frivolous. You need a destination, a path from here to there, and the ability to measure progress along the path.

argonaut 1 day ago 0 replies      
To add more details to my question: Right now I'm trying to learn web development (having previously done mobile development). The way I'm starting off is by learning Django using online tutorials.

I guess my problem is exacerbated by two things: 1) the field of web development is huge, and becoming proficient in it requires knowing a little about databases, a back-end framework, front-end development (JS, jQuery, HTML,CSS), and eventually some devops stuff for when I move off Heroku; and 2) Django itself is fairly complex (i.e. takes a while to get running at full speed).

I try to approach this systematically, with my goal right now of groking Django/the back-end before moving on to learning front-end development and exploring databases (SQL, NoSQL) and devops. HN has definitely given me a good idea of where to start, but it's still a daunting task.

My eventual goal is to write mobile/web applications with a back-end. I want to learn all this because I have a long list of all kinds of ideas for services/apps I want to write.

codegeek 1 day ago 0 replies      
Try and apply the S.M.A.R.T rule. Specific, measurable, achievable, realistic, time bound. Any learning objective should have most of not all of the SMART attributes. For example, if you want to learn a technology, figure out how you will measure whether you succeeded or not. How long ? Are you being realistic ? For example, "learn to code" is very abstract while "learn to code website in python in 6 months" is a lot more relevant.
mrbarrett84 1 day ago 0 replies      
Given my slightly advanced age, my motivation seems to come from the desire to feed and clothe myself and those I care about.

Initially, I was motivated by the idea that learning certain technologies could make me valuable to employers in many industries and regions. Having previously studied business and foreign languages, it took my breath away to search for tech jobs and find hundreds of job openings across multiple continents.

I guess it can be summed up as motivation by a lingering fear of failure with a desire for freedom thrown into the mix. Classes can help, but if you hate what you are learning, why not find something equally valuable that you love?

twunde 1 day ago 0 replies      
I myself have the same problem with MOOCs. I've found that it helps to chunk things up. So start off with the basic information and then look for online tutorials to complete. And of course the best way to learn is to use what you're learning in a project, whether personal or professional
revorad 1 day ago 0 replies      
I hear you. Can you be a bit more specific and say what you are currently trying to learn? I'd like to help if possible.
shkabazi 1 day ago 1 reply      
Decide why you wanna learn it. I consider this to be very important, because learning a new technology/language(or whatever) just because it's name is nice, wont take you far.
tagabek 1 day ago 0 replies      
Profit, Fun, Community
Ask HN: Is there a benefit to giving out free versions of web apps?
3 points by thisisdallas  21 hours ago   1 comment top
tectonic 6 hours ago 0 replies      
Our free plan has been an important channel for us. Not all, but most, of our paid users first tried the free plan, liked the product, and then upgraded for the larger feature set.
Tell HN: Nuuton crawler is active.
2 points by orangethirty  17 hours ago   2 comments top
cpeterso 16 hours ago 1 reply      
What is Nuuton? Why invent a proprietary robots.txt feature instead of the (common but non-standard) "Crawl-delay:"?
Ask HN: When are you ready to freelance?
2 points by ceeK  17 hours ago   2 comments top 2
redspark 17 hours ago 0 replies      
Simple answer... when you set a rate and find someone willing to pay it. If you jump in over your head, learn fast or contract to someone who can help you.
filvdg 15 hours ago 0 replies      
from the moment peers start to ask you for advice
Ask HN: Coderbits Vs. Github Vs. Coderwall
5 points by QuantumGuy  1 day ago   7 comments top
elssar 1 day ago 2 replies      
I don't think this is an either or thing here. Coderbits is different from github. Coderbits is about validating claims of proficiency by pulling data from various online sources, and github is one of those sources.

I would say Coderbits in in competition with [Coderwall](https://coderwall.com), and from first impressions, yeah I'd prefer bits over wall. And also in competition with Stack Overflow careers.

Ask HN: How do you consider the current social web trend among startups?
2 points by matteodepalo  19 hours ago   6 comments top 2
6thSigma 18 hours ago 1 reply      
Foursquare started because Dennis Crowley wanted an application where he could share his location to his friends and have them meet up with him.

Instagram started because Kevin Systrom's current app was mostly being used to broadcast photos so he pivoted. He also had experience in photography which led to the photo filters being a key addition to the product.

I don't know enough about Vine to comment, but Foursquare and Instagram both provide a ton of consumer value. Based on how they tell the stories of their origins, it seems they were also "organic."

Lastly, social is not a trend; in fact I believe it is in its infancy.

sharemywin 18 hours ago 0 replies      
Sharing/communicating information/experiences/ideas will always be. And the tools to do it will change and adapt to technology. Google glasses will probably have an impact. Tablets are already having an impact. Surface tablets, e-ink, gestures will impact. Photos(moments in time), music, opinions, videos all need shared in the future too.
Ask HN: Trouble With Tinnitus?
7 points by vnbn  1 day ago   4 comments top 2
logn 1 day ago 1 reply      
I've read somewhere that playing high frequencies (at a reasonable volume) which resonate with the tinnitus frequency can re-align the misfiring of the eardrum hairs causing the problem. Worth a shot. An app I made where you can generate a sine wave and set the frequency: http://sourceforge.net/projects/originalsynth/

If it's any consolation, almost all professional musicians and myself included suffer from this.

mindcrime 1 day ago 0 replies      
I've had issues with tinnitus, yes. Mine kinda comes and goes, and I've largely learned to just ignore it. But I did some reading a while back that suggests that Melatonin may help. I sometimes use melatonin to help me fall asleep anyway, so it's hard for me to really isolate things and say if it helps my tinnitus or not. But you may find this interesting:


Ask HN: Can you share startup's Market Positioning strategies?
4 points by manishsharan  1 day ago   5 comments top
mindcrime 1 day ago 1 reply      
We're still struggling with this at Fogbeam Labs, so I don't have anything definitive to tell you. But I can share some thoughts, observations, etc.

One: The idea of "positioning" (as written about by Jack Trout, Al Ries, et al.) strikes me as corresponding roughly to what Seth Godin calls a "lie" in All Marketers Are Liars. So "what's your position" is, IMO, roughly equivalent to Godin asking "What's the lie you need your customers to believe?" And one of the points that Godin makes is (paraphrased) "You can't beat your competitor by shouting their lie louder than them".

The idea is, if there's a competitor in space X, who "owns" the (position|lie) "we are the cheapest source of X" then you can't really just start screaming "No, we're cheaper than $COMPETITOR". Now you need to pick a different lie. It might be completely different "We have the most advanced and functional X" or it might be related to, but a spinoff from another lie, eg "We're just as cheap as $COMPETITOR, but our X lasts OVER FOUR TIMES AS LONG" or whatever.

This all seems to also tie into the stuff Steve Blank talks about when he discusses market segmentation. Are you going for the "low cost" segment, or the "best product" segment, or the "best overall value" segment, etc.

Of course, if you don't have competitors, your positioning is more about competing with the status quo. Now you need your customer to believe the "lie" of "I really need X because my kids will do much better in school if I buy it" or "This website will help me meet attractive members of the opposite sex" or whatever. In any case, there has to be something the customer believes about the world, that makes them (want|need) your product or service.

Again, I'm far from an expert on all this, but I recommend reading Positioning: The Battle for Your Mind by Al Ries, Jack Trout and Philip Kotler, Differentiate or Die: Survival in Our Era of Killer Competition by Jack Trout and Steve Rivkin, All Marketers Are Liars by Seth Godin and The Four Steps To The Epiphany by Steve Blank, if you haven't already. It's a lot to digest, and it'll probably take some trial and error and iterating, but it's not hard to get the basic principles down.

FWIW, since our products are all Open Source, I'm leaning towards starting out with more of a "lowest price" messsage, since my perception is that people expect Open Source products to be less expensive. But I think if we succeed, we can raise prices once we have more credibility in the market. For example, IIRC, Red Hat Linux was originally much cheaper than the alternatives, but - as I understand it - modern day RHEL actually isn't particularly cheap.

We'll see though. Part of it depends on if we can actually define a sufficiently unique market niche to be in a "resegmented" market. Our products touch on a lot of different areas, so we either have a zillion competitors, or none, depending on how you define things. This is why we're still struggling with this.

Ask HN: Resources to learn Angular JS?
4 points by keva161  1 day ago   3 comments top 3
wasd 17 hours ago 0 replies      
RailsCasts has a good pro episode.
tharshan09 1 day ago 0 replies      
The main angularJS site has a good tutorial to get you started. This blog i found helpful when getting started, specially the integration with yeoman: http://briantford.com/blog/angular-yeoman.html. These are video tutorials about angular.js: http://egghead.io/. The rest is up to you.
Ask HN: Ok to use HN for our blog comments?
4 points by Bradosaur  1 day ago   5 comments top 3
minimaxir 1 day ago 1 reply      
"Comment threads on Wordpress blogs across the internet are often low-quality"

I'd recommend switching to Facebook comments for your own blog if that's the concern. It improves quality dramatically.

1123581321 1 day ago 0 replies      
Your site will probably be banned. Instead of submitting, just check HN or one of the unofficial APIs programmatically and append the discussion link to a URL if that article is submitted.
27182818284 1 day ago 0 replies      
A link back to HN is generally enough when I'm on a blog post.
Ask HN: Any interest in a Brisbane, Australia HN meetup?
6 points by zensavona  2 days ago   4 comments top 3
JacobAldridge 2 days ago 0 replies      
Definitely! Just got back from London, and #HNLondon was one of the highlights of my month. Have been wanting to replicate that out here at some point, though I'm only slowly getting back into the community to see what the alternatives are.

My email is in my profile - feel free to drop me a line.

rsmaniak 2 days ago 1 reply      
Absolutely, count me in!. Email in profile.
hugo11 10 hours ago 0 replies      
Yep sounds good
Ask HN: What should I ask for in salary negotiations?
3 points by zrb0529  1 day ago   4 comments top 3
justin_vanw 8 hours ago 0 replies      
I'm assuming that you are in tech, and specifically a programmer. In negotiations, it's standard procedure to start by asking for something absurd. I would ask for what you make now + 30%, or what you think they will pay +30%. Either they will counter-offer something more reasonable, or they will balk and retract the offer. If they retract the offer, you didn't want to work there.

If you need a job because you are unemployed or something, well, that's a different situation entirely.

aiurtourist 1 day ago 0 replies      
Above all, find other people in your position and area and ask them what they make.

In addition to salary, also consider equity, which is a different discussion depending on the size and stage of the company.

Piaw Na's book has a good chapter on compensation negotiation regardless of your geographic area. It's well worth the $25: http://books.piaw.net/guide/index.html

See also iaw's advice. Good luck!

iaw 1 day ago 1 reply      
Don't offer a figure. Try to do research on pay for similar positions (look in various locations around the country, possibly using glassdoor and a cost of living adjustment calculator) but this should be for your own comfort.

[1] sums it up, the essence is that they know better than you what they can afford and that by offering a number you only disadvantage yourself. If you're uncomfortable about negotiating an optimal package just make them make you an offer and if it exceeds a threshold take it...

[1] http://www.kalzumeus.com/2012/01/23/salary-negotiation/

Ask HN: What should the curriculum be for a Computer Science high school?
5 points by snilan  2 days ago   9 comments top 7
csense 2 days ago 0 replies      
A lot of my favorite programs in middle and high school were written in QBASIC.

That's because you could write stuff like

PSET (8, 3), 10
CIRCLE (100, 200), 45
LINE (15, 15)-(25, 25)

Drawing stuff is really a lot more interesting than boring text manipulations or algorithms -- especially for a beginner of middle/high school age. Programming is fun because you're creating your own world with its own rules -- and that resonates right away with a student when that world is something they can visualize and interact with using realtime graphics, rather than just read about with text output.

Python/Pygame is probably the closest modern equivalent. Especially if you put some of the boilerplate like window creation in a file, and tell them to copy it into their program's directory and import it. (Or, having them run the boilerplate file, and having that file import the student's code, might work better.)

Show minimal drawing stuff right away. Then you can go in a lot of directions. Use a FOR loop to draw a pixel or circle going from left to right across the screen at a speed of one pixel per frame. Then you want it to reverse direction at the right edge, so you can show IF statements. Show how you can simplify the code by using negative numbers, this will introduce the concept of having velocity. Having a circle reverse direction is a little trickier than a pixel, because you have to take into account its radius.

Then make your objects go at 45 degrees to the coordinate axes -- more on the velocity concept without being too difficult/technical. Or have an arbitrary number of them -- now you have arrays. Or teach them how to replace circles with an image downloaded from the Web. Then put a background on it. Then introduce user input into the equation. Maybe you can click the mouse to spawn a new particle or move the particle to the mouse location. What happens if it's a circle, you did the radius fix, and the user moves it closer to the edge than it would naturally get? Then think about gravity: Just have the velocity increase a little in the "down" direction every frame. Of course, if you're imagining the bottom of the screen as a wall, then you have to figure out how to stop it when it tries to fall past the bottom of the screen.

A little more work, and you have a simple platform game. You just have to come up with an input scheme, figure out how to do vertical walls, and how to make the "bottom" be different heights depending on the x coordinate. Then have enemies that can "collide" with the player.

For a class project, every student (or small group) picks a different feature to add to the engine -- moving enemies, scrolling, healthbar, dangerous terrain, levels defined by files, levels generated randomly, enemies that shoot, players that shoot, (you could have them "toss baseballs" or "cast spells" if "shooting" is too violent), an animated player sprite (a great idea if there's an artistically talented student in the class, though even the most lacking artists could still complete the assignment with a quick visit to opengameart.org), or student ideas (must be approved by teacher). The teacher picks a couple features of his own to implement. Then everyone gives their patches to the teacher (for grading). After the patched versions are submitted, the teacher publishes them as diff -u style patches to the entire class, and everyone now has to add as many features as possible. This teaches the students a little bit about how collaborative development works in practice.

Having a high school devoted to CS lets you do a really good job with this concept, because you can devote an entire course to it. This should be their first CS course. Its primary purpose is inspiring them, motivating them, getting them excited for the possibilities of what they're learning. It will also:

Introduce students to different program constructs.

Introduce some physics/mathematics theory for the particular problem domain.

Introduce students to the way mathematical modeling/theory can be applied to a practical programming problem.

Introduce students to the use of external tools, libraries, assets, their OS's command-line interface, and API docs.

The beauty of having a high school devoted to CS is that you can have an intro-level project-based course that doesn't have to be comprehensive in any of these areas; later courses can do that. If you don't need recursion or string manipulation, you don't have to cover it. If you don't cover every available tool or every corner of your API docs in this course, that's fine. If this course is in Python because it's the best language for the purpose, but the AP exam is in Java, that's perfectly okay -- they can pick up Java in another class. The goal at this point should be to teach them how, not what -- that is, focus on how to program, and only cover what tools are available on an as-needed basis.

Having current or past large-scale projects when you're programming is useful because it alters your perceptions. Your brain recognizes when the thing you're learning is applicable to the project. This connection helps the memory become more permanent -- the brain flags it as "important" since it's related to something it spent a lot of effort on in the past. The connection also helps the memory become more integrated -- there's now a "pattern match" between the concept and its real-world application, so it's easier to both remember the application when you're confronted with the concept, and remember the concept when you're confronted with the application. You may not cover the entire AP CS content, but what you do cover, you can be sure your students will remember when they take the AP exam 3+ years later.

jdietrich 2 days ago 0 replies      
Machine code on an 8-bit processor - ideally an old microcomputer, failing that an ATtiny. It's the only sensible way of teaching the fundamentals of how computers actually work. A reasonably bright young teenager can easily understand a computer from the metal up, so long as that computer has a bare-bones instruction set and no more memory than can be copied onto a couple of sheets of paper. There are a number of excellent books written for the Vic-20 or Timex 1000 that cover all the fundamentals in an accessible way.
lumberjack 1 day ago 0 replies      
OK, I was going to write a huge post but I'm short on time so I'll just list what I made good use of after HS (my experience wasn't in the US btw). Boolean logic and boolean algebra and database design practices and SQL hands-on all have come handy multiple times. Programming was taught badly but after getting a hint of it, I managed to learn it my myself. Data structures and algorithms (usual stuff that you do in college but we only did up to binary trees, O(n) and without the math behind of it) again taught badly but I complimented school with independent research. OSI layers and other networking stuff. To this I would add some introspection in the popular protocols like TCP/IP, HTTP and SSL. We also had a computer architecture session that came in handy in compilers class later in Uni. And finally we had one of those project workflow sections with UML, waterfall and whatnot. Totally outdated. Should have been thrashed. I would replace it with hand-on deployment and development software hand-ons like Linux/BSD, basic shell, setting up OpenSSH, IP Tables, Nginx, vim/emacs, git...etc
malandrew 2 days ago 1 reply      
Is AP Computer Science any good? When I took it, it sucked horribly. That was when it was Pascal-based. The following year they moved to C++, which I heard was an unmitigated disaster. IIRC Allen Downey, a guy known for his great CS textbooks, was so fed up with the clusterfuck that was the AP Computer Science curriculum, that he wrote his own textbook for the intro course the taught and he based it on Python.

Either Scheme or Python should be the basis of an AP CompSci course.

Check out How to Design Programs version 2. The authors of that book have spent more time on the problem of pedagogy in computer science than anyone else I know. They've really thought the whole thing through very well.

logn 2 days ago 0 replies      
I think the AP Computer Science C++ program (both semesters) was excellent preparation for everything college and the real-world threw at me. They teach it in Java now which I'd support. My high school had an intro programming course before this as well.

People will get into religious wars about what language to to teach by my $.02 is that Java is sufficiently close to C/C++ for low-level prep and close to JavaScript/Ruby for scripting.

crynix 2 days ago 1 reply      
Shouldn't web programming come before Python/Java? In the class I'm teaching the students picked up Javascript and HTML/CSS much quicker than Python or Java.
macca321 1 day ago 0 replies      
Browser automation, leading to web crawling
       cached 14 February 2013 13:05:01 GMT