hacker news with inline top comments    .. more ..    14 Jul 2016 Ask
home   ask   best   12 months ago   
I have an idea but can't code.
19 points by blastoffering  10 hours ago   31 comments top 21
pbiggar 6 hours ago 1 reply      
I searched the whole page and I don't see the word "validate" anywhere. Is there no-one to tell this poor guy to throw up a landing page and buy ads to see if anyone cares?

Blastoffering - don't quit law school, don't invest, don't get a cofounder. Your only job right now is to validate your idea.

You believe in it - that's dangerous. You could be wrong. Building it and then discovering that is ludicrous. Imagine you dropped out of school, convinced your parents to invest 300k, convinced a coder to quit his job at google and lose $x00k of options, only to discover after building it that nobody gives a shit!. Instead, try to validate your idea in the cheapest way you possibly can.

Your inspiration should be Arram Sabeti, CEO and founder of ZeroCater. The dude had 500 customers before they wrote any code. He scaled it up to 500k ARR while running it off a spreadsheet!

There's this pervasive myth that once you get an idea you need to go find a technical cofounder. Bullshit. The last thing you want to do when you have an idea is code. You need to validate the idea as cheaply as possible.

Code isn't cheap for you. That advice about just building it - that's for engineers, where a few years ago building something was a cheap way to validate. Today, for you, it'll be cheaper to buy ads, pre-sell it to potential customers, or even do the cliche talking-to-strangers-in-a-starbucks things. All of those options are better than writing code at this stage.

Email me, I'll set you straight and help you turn the idea into practical steps which will allow you validate the idea without writing any code: paul.biggar@gmail.com.

gamechangr 10 hours ago 1 reply      
Ideas are almost worthless, but getting people to believe in ideas is not. Go prove it to yourself and get a developer to believe in your potential company.

If you believe in it truly, go and borrow and pay a top notch developer and have full ownership.

If you only think you truly believe in it, but on second look you are concerned about borrowing money to invest in it, then try to find a developer. Speak with conviction and maybe you will get them to quit their $100,000 job and invest their time for a huge amount of equity - maybe you keep 20% if it's a great idea or less if it's not.

The real truth is if it's ---

"easy for big, already established companies to replicate it in a heartbeat"..

You really don't have a chance if you can't program.

You need more than code. You need a whole infrastructure of people to scale and without being a programmer yourself, you will have difficulty getting talent to work for you and maybe even difficulty recognizing who is actually good.

forgottenacc56 9 hours ago 1 reply      
Finish law school, that's the best way to make a certain investment in your future.

I don't want to be too negative but ideas have a way of distorting the mind..... they look amazing to you, but in reality it's probably a flawed idea. Don't give up real world stability for a delusion.

steve_taylor 4 hours ago 0 replies      
Software devs usually have no shortage of their own ideas. They have no need for external ideas. People rarely get passionate about other people's ideas. If you want a technical co-founder, you have to bring a lot of value to the table, such as deep domain knowledge, customers, investors, and/or your own money.

The market for lawyers isn't looking good and you haven't started law school yet. Is it too late to switch to CompSci?

osmala 2 hours ago 0 replies      
I have idea, but as something with any idea from internet you should use your own brain to figure if it has merit.

Write everything down about your idea in a paper. Then store it somewhere safe. Let it go for a while, and concentrate on law school first year. Check if you can bring second year courses, to your first year. Check if you can study in the next summer also. Then if you can graduate in 17-22 months do it. If you can't do that, but can move workload from later years to first year then do that and be able to work on your idea in later years of your school more freely.Design your law school experience to get back to your idea in either 17-22 months from now as graduated lawyer, or 10-22 months from now part time because you have more free time in your school scheduler. This way your idea is motivator for you to work harder in your law school, instead of distraction. Your goal is to get as soon as possible able to work on your idea full time or with serious amount of time instead of splitting your attention between two.

meric 10 hours ago 0 replies      
You have two options: 1. Drop law school and do it. 2. Finish law school and do it.

You will always have another idea. You will make important connections even without law school. You will always be able to learn new things.

Let go of the idea of who you might become in 3 years.

Pick the option you think will make you feel the most alive, follow your stomach and intuition.

ogrev 3 hours ago 0 replies      
I'll sign an NDA and tell you if I can make it or not or maybe give you insight as to whether you'd get crushed or not. I seriously couldn't care less about your lawyerly endeavors but if it's worth it to you we can figure out either equity or payment. My email is in my profile.
coralreef 10 hours ago 1 reply      
it's pretty simple by nature, convenient but easy for big, already established companies to replicate it in a heartbeat, especially with the man power, smarts, and data that they have.

Sounds like you have a pretty good reason not to pursue it?

magicalpony 8 hours ago 1 reply      
Let it go.

Your idea is worth sh!t anyway, whatever it is.

Plus this sucks: "I want someone else to design, build, deploy and manage a technical project for me (and maybe market and sell it too). They'll of course get (insert equity slice and post-revenue comp plan here), so how awesome is that."

You and everyone else.

Have you talked to a potential customer yet? Start there.

If you can't figure out how to get to a minimal proof of viability from where you're at, just drop it. Getting it built is not the hard part, with or without (insert classmate/colleague).

Benjamin_Dobell 10 hours ago 1 reply      
If you don't have time to learn to code, then you almost certainly don't have time to be a co-founder etc.

It's unfortunate, but there's only so much we can do at once. It comes down to priorities.

combatentropy 8 hours ago 0 replies      
"To me, ideas are worth nothing unless executed. They are just a multiplier. Execution is worth millions." --- https://sivers.org/multiply
saluki 8 hours ago 1 reply      
You'll be super busy with law school, focus on that, make sure that's a priority, do your best and finish top of your class.

That said lots of people build their idea with full time jobs, while going to school and even with a family.

So make the most of your spare time, weekends, summers.

Whether you learn to code or are a co-founder it's going to be work.

This will be interesting for you:http://www.startupsfortherestofus.com/archives

And I love @DHH's advice here:https://www.youtube.com/watch?v=0CDXJ6bMkMY

Good luck, make the most of it.

nikdaheratik 8 hours ago 0 replies      
Ideas by themselves are not worth as much as you'd think, whether you can code or not. There are a limited number of ways to make money off of software. You can sell or rent the software to consumers as-is, you can sell or rent the software to businesses as-is, or you can rent the software to businesses including support and/or customization (Software as a Service).

Even a simple app direct to consumers requires developer time and resources over a number of years just to keep it current. The overhead in that case can be very low, but the odds of it turning more than a modest amount of money back is also very low. And if its easily replicable, as you suggest, then it's much more likely to just be done by an established company.

If you're interested in getting involved in startups or other software businesses in the future, you should look at it like any other potential career path in law. Keep an eye on the field, take the time in your 3L to look for internships or other opportunities to learn about this area of law, and try and look for meetups and other developer groups in the area and learn how it works from the dev perspective.

Ideas are only one part of what makes a successful business in software or elsewhere. If you want to have a successful career, you are better off learning as much as you can about the field, especially from people already in it, than following up on an idea. There's always another idea to follow up on in this field, but knowing how the field works and gaining contacts in your area will allow you to follow up on them long-term.

Stormcrow 7 hours ago 0 replies      
You're going to law school, so whats easier? learning to code or designing a legally-plausible system for work barter that provides any product in a collaborative way without involving money on the front end, but includes equity when its sold or funded? Use your core competency as a lawyer since you chose that and channel it into a system that gets your product created. That's my suggestion.
natch 8 hours ago 0 replies      
The chances your idea is both unique and useful are essentially nil.

It's probably not new. Just enjoy the thought "won't it be cool when somebody starts a company that does X" and realize that you are not that person (skill / life stage mismatch).

But you could also develop the idea quietly on the side while in school. If not the tech, then the legal aspects and some market and competitive research. Then if the opportunity is still not taken by others in a couple years, do more.

Also you should read some lists of business/tech ideas others have already had. There are plenty of such lists out on the interwebs. For example pet sitter for after you die, ok, whatever. If you find your idea on these lists, that tells you something... maybe there are better ideas. But if you don't, the converse is not necessarily true (it doesn't mean your idea is good).

chrisbennet 6 hours ago 0 replies      
R3dat 5 hours ago 0 replies      
I believe you should try to prepare a proto before the actual coding. Try validating your Idea first then make a proto; you can do it without knowing anything about coding. Use online tools it helps allot
xkcd-sucks 9 hours ago 0 replies      
If you can break down the project into small enough chunks to manage it properly, you can break it down into small enough chunks to learn coding on the fly. But coding ability is not the barrier here.
Stormcrow 7 hours ago 0 replies      
Once you create the system for your product as a test, make it work for ANYTHING and get with venture capitalists to take the mature products. That's my expound on the suggestion.
snarkyturtle 9 hours ago 2 replies      
Maybe look into a hackathon like a startup weekend: http://startupweekend.org/

It's specifically made for it to be quick and easy to share your idea and connect with devs/designers/biz devs.

phodo 8 hours ago 0 replies      
I applaud you for the humility you exhibit in asking this question, as it seems like you are an extremely sharp individual and capable to be your own engineer.

You need to be creative: Don't take this the wrong way, but you need to hustle and get creative with the skills you do have. You need to think like an entrepreneur, take ownership of your situation, and act pragmatically as a "ceo" would. Right now, you are the ceo of your idea.

I'll issue you a challenge that might serves the dual purposes of giving you a concrete next step / goal to aim at.. and (hopefully) provides value in moving your idea forward - and that doesn't require coding.

First, There are numerous lean startup-y approaches to vetting your ideas iteratively and sans-coding. See Steve Blank on google. Or Business Model Canvas. Or Lean Startup. And many others....

Second, once that is done, or in parallel to it, or if you know there is a market: Do as much as you can in building and testing the core concepts without actually coding it. From wordpress to scanning in a sketch + hotspots, to using MailChimp, to Google Docs as backend, to Powerpoint... and many others.... there is a LOT you can do without writing a line of code. If you read about many entrepreneurs, they start off that way. Numerous examples out there... I'd apportion your time learning what those tools are (e.g. what you can do with mailchimp in building a community).

Once you sense things are clicking in terms of market demand (however small) and product hypothesis direction, you will have no trouble attracting the resources you need (human and financial). Bootstrap.

Of course, in parallel, if you do have a desire to continue to learn programming, then you can continue to do that.

Ask HN: Is Microsoft sabotaging older versions of Windows?
3 points by _Understated_  4 hours ago   3 comments top 2
nhemsley 3 minutes ago 0 replies      
Who knows, but at the end of the day, they are only going to have so much resources to deal with older versions of Windows.

They seem to be operating with an attitude that if they can get as many people as possible to use their newest version of windows, that they will save money by not having to deal with such a diverse environment of versions.

Something tells me they looked at the way companies like google release their updates often, and by default. Release numbers are becoming less important, more of a tool for developers to use (which is what version numbers were invented for, before marketroids don't got a hold of them). Perhaps a light went on when they saw that chrome just quietly updated, without any fanfare about 'upgrading' to new whole numbers, large features just got included when they were ready, from whichever version they were releasing at the time.

This approach makes alot of sense ongoing, and in the long term. Developers in the past got used to having various versions of their desktop software being in the wild, and it was a part of life. Then people started going, hey with the web, I only need to be supporing one version of our codebase, which is actually pretty awesome. Google came along with chrome and decided that it made sense to have as few versions in the wild as possible. It seems Microsoft is playing catchup with this, but they still have large releases of windows, with interface changes between large versions, which causes folks like you to want to hold onto older versions. Seems they are still working on fine tuning their social engineering.

herbst 4 hours ago 1 reply      
They may are just shitty devs as always, maybe thats their tactic. Who knows. Just upgrade to Windows 10, thats what Microsoft wants you to do, and you know yourself you want all that Spyware stuff, else you would not title yourself windows dev.
Ask HN: What's your favorite way to save money?
134 points by jmaccabee  1 day ago   161 comments top 59
rufus42 1 day ago 1 reply      
This app changed literally my life. YNAB! https://www.youneedabudget.com

It takes time to get used to, but after 6 years on and off, I am using it for the last 8 months regularly, and I already saved enough money for the next 4 months in advance.

This, and in addition, read https://www.amazon.com/Early-Retirement-Extreme-philosophica...

You don't need more, trust me.

But, of course, what these two have in common, is simply:

1. Spend much less than you earn2. Try to just spend 30-40% of your income, but an emergency fund which stores 6 month worth of money, and then invest the saved money.

What I recommend, is a little game:1. Don't eat out for a whole month2. Don't do any big purchases for a whole month

You will see how much many you usually spend, and how your mind is triggering you to buy things. It will be really hard, so instead of thinking about "oh no, I shouldn't buy this", just write a note on a piece of paper everytime you want to buy something.

At the end of the month, you will see how "stupid" you were to want a certain things. If a certain things come up on this list over and over, then maybe it could be useful.

faebi 1 day ago 3 replies      
For me the simplest solution is to have a second bank account I never take money from. Then every time I get my salary a certain amount gets moved to the savings account. I do not miss money I never really had.Additionally some days before my salary all my money above a certain threshold gets also moved to the savings account, so that I have the same money every month, even when I spent less.Also I have my I am poor level. When I have less than 1000Fr/$ I cut my spending to very basic things like food only. This protects me from depth and touching my savings.

All of this is easily possible in nearly any bank in Switzerland, I am not shure about the US or other parts of the world. Hope I could create some inspiration.

drinchev 1 day ago 14 replies      
My father always says : "saving money is the beginning of being poor".

So I always try to save money by thinking how can I make more. These days money = time is a strong equation, so just don't loose your time and use it in a way to make money.

Stop thinking about saving money and spend your thoughts on revenue stream. That's why I rarely use services like that and don't count the pennies ( I'm neither rich nor bragging )

bluedino 1 day ago 1 reply      
Since this turned into a personal finance thread, how about favorite ways to spend money?

Starbucks. Every morning. Latte and a danish/cookie/muffin. $7.00 * 30 days = $210.00

Eat lunch out. Every day. And not with a coupon or fast food, but a sit-down restaurant. Sandwich, fries, soda, tip - $12.00. Every weekday, that's $240.00

Vending machine snacks, my job doesn't offer free snacks. $2.50 for a Mt. Dew/chips when I get that craving at 3:30. Every weekday, that's $50.00

Spend more at the grocery store than you would eating out a restaurant. Throw food away, don't eat your leftovers, buy expensive meats, cheeses and fancy ingredients. $150/trip or $600/month

Now that we're past the daily items, let's go into the monthly expenses.

SUV instead of a small car. $600/month and another $250/month in insurance, $60/week in gas. $1100/month

Buy a new MacBook. Every year. You sell the old one but you're still spending another $700 on the new one and sales tax. Don't forget to buy a new case/decal for the new one.

Upgrade your phone. Every year. Buy new accessories for it, and get the mammoth dataplan. This can be $150/month.

Frivously spend $100/month on iTunes purchases. Songs you don't really like, movies you don't even end up watching, games you'll play once and never open again.

Drink heavily! What else are you going to do with $70/night? Inebriate yourself a few times a week.

Piss away $25/week on lottery tickets. Might as well try, right?

Impulse purchases under $500? Don't even worry about it. GoPro, new tablet, latest game console, high-end pots and pans for your house - just buy it!

tummybug 23 hours ago 1 reply      
My method which is my least favourite but most successful was to marry a quite frugal woman. I was never the type who had any money left at the end of the month but have just put a 55k deposit down on a new house and have money left to furnish it (about 2 yrs of saving). I also have a young child, live in a nice area with high rent, have a car and have many hobbies which I enjoy regularly. The main savings have come from cutting back on expensive impulse purchases, the second would be cutting down to one coffee a day and bringing my own lunch to work. Next on my list is to quit smoking which should also greatly increase my savings ability.
s_kilk 1 day ago 1 reply      
I just record all my discretionary purchases in a spreadsheet and recoil in horror at the end of the month.

My monthly spend has been steadily dropping since I started doing this about six months ago.

EDIT: I seem to have misunderstood the topic of this thread, but, as another commenter puts it, the best way to save money is to not spend money in the first place.

patatino 56 minutes ago 0 replies      
I know myself and my spending habits, so I have an account at another bank, no online banking, no credit or debit card. If I ever need that money I have to go to the bank.
tedmiston 1 day ago 1 reply      
1. Fatwallet

Until it was acquired a few months ago I was a longtime user of FatWallet to make a few percentage points back on the dollar at many stores.

2. Jet Anywhere

Jet.com has an incredible cash back program called Jet Anywhere. While the number of stores is small, the percentages are very strong. For example, 20% back at Nike or Saks Fifth.

What I'm getting the most out of though is plane tickets. Flight purchases through them get 5.6% back via Orbitz or 4.8% back via Expedia. After verifying you completed the travel, they dispatch cash back in the form of Jet Cash in 30 days. Many items on Jet are equal or cheaper than Amazon, so this is effectively cash. 5% back on plane tickets becomes a significant amount of money very quickly.

By the way they do not have a Chrome extension and I have interest in working on one.

3. Cash back credit card

I also purchase everything on a card that gives 2% cash back on every purchase without exception. This is literal cash off your bill, not a rewards program.

I've received $100+ back from the first two methods, and even more from the third.


I'm really passionate about the topic of "money hacking" and happy to discuss more via email if you're interested. I'm currently writing a few blog posts on personal financial habits myself.

papacoen 1 day ago 0 replies      
Personally, I save money by not buying stuff. Otherwise I tend to buy secondhand. Requires some sort of lifestyle to get this to work, since you don't always find stuff the moment you need it.Not needing/wanting to spend money, is also a (new) mindset; appreciating or even realizing/knowing what you already have. Yes, this is very close to tree-hugging-hippie-style-living, but what the heck :)Also: never, ever spend money you don't have. Don't borrow money. Maybe for a house, but never, ever for a car, t.v., laptop, whatever.
eswat 1 day ago 0 replies      

It wasn't until recently that started to cook my own meals every day. I felt time was always time limited when I worked for a company so I would get takeout a lot. Especially in my time in Toronto due to the large amount of good places to eat at. Switching to eating predominantly stuff I make has saved a lot; next to rent food was my biggest monthly expense.

Phone plan:

In Canada carriers have different plans for each province, with the prairies getting the best deals. It's gotten so ridiculous that there's a "black market" where resellers sell SIM cards from other provinces and carriers trying to lock that down.

Anyway I lived in Manitoba and got a phone plan there where I'm paying half the cost for 3x the amount of data and features I would get in Ontario. The only downside is that most people calling me would get dinged long-distance since I'm using a Manibota number in Ontario, but Canada-wide calling plans are so common for mobiles now that I don't feel guilty about it.

jasonpeacock 1 day ago 2 replies      
How about something that prevents purchasing, or forces a 1-day wait. The best way to same money is not to spend it, and most of us don't need half the stuff we buy....
simonbarker87 1 day ago 0 replies      
I save money the old school way - envelope/budget system.

We have a current account for day to day expenses (groceries, toll road pass top up, a couple of meals out) and the same amount gets out in that at the start of the month. Then with a separate bank we have an account for all direct debits and standing orders (mortgage, electricity, internet, phone etc) including a standing order to an investment account which we view as a monthly expense (we are essentially paying ourselves but it's taken monthly so no excuses to miss paying it), so we put the same amount in to that every month.

We then have a number of savings accounts that cover the various expenses that crop up on an irregular/long terms basis. Holiday fund, clothes fund, Oh Crap! fund, TV License, insurances, christmas/gifts etc. We know how much needs to be in these by the time a payment is due (say annual payments) so each month one 12th of the amount gets added so when the payment is due the money is there. For gifts and christmas we adjust as we go on a six monthly basis, basically by Christmas we know we need a certain amount and it's great come November and all of christmas is paid for.

Any money left over gets put into a either investments or a big pot for a large purchase we may want to make in the future (eg, property).

Historically we have tracked expenses with a web app that I wrote however recently have switched to Pennies on iOS.

For cash back we use Quidco, to reduce monthly costs we look at moeysavingexpert (Martin Lewis's old site).

Beyond that we often check if something counts as lifestyle creep - the tendency to needlessly upgrade aspects of your life just because you have more disposable income that before. If we see a habit developing that costs extra money or we are making a big purchase we have a quick chat and ask if it's needless lifestyle creep? Sometimes we decide it is and we're ok with it, other times we'll decide that in the long run it's not worth the extra spend so stop.

Seems to work for us.

thesignal 1 day ago 0 replies      
Since I set a goal for myself(hose/flat/something like that), I looked for a lot of ways to save money, my tips are:

- keep track of every cent spent, i started using GnuCash, but there are a lot of other solutions available- don't buy yourself a lunch every day, make a sandwich at home, or buy a thermo-box for warm food (this saves me ~30 every week)

- if possible, drive by bike instead of the car or public transport

- i changed my petroleum gas and power provider and save about ~100/y

- my opinion about coupons and "best deals" (on the web) is: they only mislead you to buy something you don't need. I only use coupons for grocery, and here you also need to be careful and compare the reduced price to prices of other stores.

- instead of going to the cinema/restaurant my girlfriend & I make picnics in the park or nature near, sometimes a bottle of wine + glasses is sufficent ;)

- second hand buying, ebay doesn't have the good deals anymore i think, but there are other (local) platforms (maybe there is a plugin which cross checks other platforms and puts it next to te amazon price tag?)

cylinder 1 day ago 2 replies      
I would love a Chrome extension that converts all dollar figures on the page into a the number of hours of work at my salary it would cost.
codegeek 1 day ago 2 replies      
Give me a chrome extension that always alerts me if I am missing a possible coupon on an e-commerce site that I am on. For example, automatically check sites like retailmenot.com etc and tell me possible coupon codes for a product i may be checking out without applying any coupon. Bonus points if u also apply that coupon for me :)
Ntrails 1 day ago 1 reply      
There are a bunch of apps that help you spend money more efficiently - but I always feel they're in the lower % of effective saving, and the real answer is 'choose not to buy that thing'.

So my question is - are you looking to help people buy thing x more efficiently (and I'm not sure there's a lot of unment need there), or to help people not spend at all (in which case monetisation becomes contrary to the goal of the app).

onion2k 1 day ago 1 reply      
I read a lot of philosophy books. They taught me to think deeply about the things that make me happy, and it turns out most of the things that make me happy are essentially free (reading, coding, etc).

I doubt it'd work for everyone, and it would be tricky to turn in to a Chrome extension, but something that put a Stoic quote in to Amazon's checkout page might help people.

CalRobert 1 day ago 1 reply      
I live in a city where I don't need a car.

I brew my own beer (fortunately I enjoy this activity, and I live in a place with very high alcohol taxes).

I eat little meat.

dsfyu404ed 1 day ago 4 replies      
Since nobody else said it.


If it flies, floats or fks it's cheaper to rent than to buy.

If you can't stay single at least avoid kids...

I know that won't be a popular opinion but the numbers don't lie.

timwaagh 1 day ago 0 replies      
you might look into helping people save people money on their work commute. i save something like 232 euro each month by commuting outside of peak rail times (meaning i spend just 99 euro each month on this). but I'm not sure what the costs are for other options (if i bike it would cost more time, if i get a car then there is a number of costs to take into account). an app might analyse all the options and give people a good overview of the pros and cons.
vemv 1 day ago 2 replies      
There's https://digit.co :

Every few days, Digit checks your spending habits and removes a few dollars from your checking account if you can afford it.

pjc50 1 day ago 0 replies      
Essential life habits: reduce, reuse. Do I need to buy a new thing? Do I have space for the new thing? (housing floor space costs a lot here) Am I really going to get good use out of it? Can I just use the old one or buy something good enough from a charity shop? Can I make do with the $2 Chinese electronics solution?

Beyond that, review your regular expenses. Anything daily or monthly. Is that subscription still good value? Mortgage interest rate and payment schedule optimal?

About once a year or two I'll pile my downloaded bank transactions into a spreadsheet and look at the biggest categories.

I'll also reccomend moneysavingexpert.com to anyone; UK-focused but great general advice. I'm not a big fan of coupons as they're mostly a way of getting me to buy things I wouldn't otherwise, which isn't actually a saving.

3eto 1 day ago 0 replies      
Buying second hand. From utensils to a motorbike, the amount of money I have been saving is insane. Perhaps if the extension showed me the second hand value of the item or when available, where to get it?
meric 1 day ago 0 replies      
I never buy anything unnecessary if I'm counting how much financial impact it's going to have. I don't have a car, but if I do, it's because I need it for the income, or because I have so much money buying a car feels like getting a packet of chips. "Why not, looks like something fun to do.".
kyleblarson 1 day ago 0 replies      
Zillow: use it to buy a house that's not in the Bay Area and move to a place with a reasonable cost of living.
Rmilb 18 hours ago 0 replies      
I live in a 126 sqft Tiny house I built my self with my partner. Saves an incredible amount on rent.
ogandda 1 day ago 0 replies      
Here is a chrome extension - Honey - that deals with coupons.


johnloeber 1 day ago 1 reply      
Not quite on-topic, but I think that for a normal tech worker, it's usually easier to increase your revenue stream than to increase your savings.
s3nnyy 1 day ago 2 replies      
Saving money is primarily a mindset. Tools might help but in my opinion they are absolutely not needed.

Reading http://earlyretirementextreme.com/manifesto.html helped me to get the "saving money mindset" into my bones more than any other resource.

hkmurakami 1 day ago 0 replies      
Automatic deduction into a 401k plan.

Separate bank accounts for everyday spending and long term saving.

ehnto 1 day ago 0 replies      
I often frame my not-spending as a positive revenue, which works really well for small items. Don't run your business this way though!

For example, I didn't buy a coffee on the way in, that is five dollars more at the end of the day than I would have had otherwise, so the question becomes "Do I want five dollars for doing nothing?"

I have some habitual spends like that which are much easier to cut down on if I think I frame it that way.

orthur_b 1 day ago 0 replies      
I am using this spreadsheet https://www.reddit.com/r/personalfinance/comments/2tymvf/poo... for budgeting
cdnsteve 14 hours ago 0 replies      
I physically put a piece of electrical tape over my Visa card number. It sounds completely weird but I encourage everyone to do this. You'd be amazed that when you whip out your card all excited to buy something that it really, really makes you embarrassed to use it in public. Aka save the money, or you can't afford it.
ziggit 1 day ago 0 replies      
I like simply using the approach of pretending a portion of my income doesn't exist at all. I've got a Money Market account that I shuffle money over to automatically, and in a reasonable enough quantity that I don't have to run the risk of tapping into it.

I make a point to never look at my paychecks and never check the balance of the account, and instead simply deal with my post tax, post saving total.

It doesn't lend its self to an app, but it has served me well over the years.

jheriko 1 day ago 0 replies      
not spending. :P

its a shame banking services are still pretty archaic in their infrastructure - with secure access to user data through a good, secure, api, i'd love an app that would give me alarming notifications if i was spending money out of my account. :)

myroon5 1 day ago 1 reply      
I also created a Chrome Extension that searches for the best discounted electronic gift card on Raise.com to help people save money.


Havoc 1 day ago 1 reply      
I like the CamelCamelCamel.com extension for amazon. It does something useful - shows me price history graphs so that I can see if that 40% discount is actually a discount or a sales tactic...and they also allow me to set alert for the stuff I buy in bulk but need regularly (toothpaste etc).

The amazon prices seem to fluctuate enough to make this worthwhile.

grecy 1 day ago 0 replies      
In the past I quit my job and spent 2 years driving from Alaska to Argentina on my savings.

Now I've done it again and will spend 2 years driving around Africa.

By far the number one question I get asked is how do I save money to do all of this - it's become a huge topic of discussion.

I wrote an eBook on the topic - called "Work Less to Live Your Dreams" which describes exactly how I'm able to do it.


Gustomaximus 1 day ago 0 replies      
For me a good way to save money is 'not have it' and not get used to spending it. Each pay cycle I move set %'s of my income into 5 separate accounts.

These are;

Daily spending, risky investments, safe investments, lifestyle savings (e.g. holidays or other luxury spends) and bills/fixed expenses.

Often I will dip into lifestyle savings if I overrun my daily spending.

The best simple extension would be to have something that tracked my current spend for a month against time left in a month for my 'daily spending' account. But not sure I'd want to give just anyone access to my bank details.

amerkhalid 19 hours ago 0 replies      
Before I purchase anything, I read reviews, both positive and negative for balanced views. A lot of time negative reviews change my mind, even when product is rated highly overall. Though it is not intentional for me but I guess if someone is trying to save money, show them negative reviews first.
arc_of_descent 1 day ago 1 reply      

 * Walk a bit more so I save money on my drive to work * Work from home most of the week * I've stopped eating/ordering outside food dramatically * Stopped smoking cigarettes almost 15 months now * Reduce alcohol consumption * Turn off fans, AC, TV at home/office
And of course, investing. I usually force myself to invest whatever money I get in stocks or forex trading.

JamesBarney 19 hours ago 0 replies      
Instead of buying a house, bought a triplex. I save about $2,000 a month in rent/mortgage from this one decision, and it only taxed my willpower once. And I get to go out with my friends and loved ones as much as I want without running into any money problems.
sickbeard 21 hours ago 0 replies      
Frankly.. do boring things that don't cost you a thing. Stay away from vices (bars, pay to pay games, tech gadgets you don't need etc). Spend money on things that last, a nice bed, nice shoes, reasonable car, your family.

Live.. but don't waste.

danieltillett 1 day ago 0 replies      
The best way is get your income above your interest in spending money. I buy everything I want and I end up saving money because I earn more than I spend. It helps that I am not that interested in consumer goods, but I can't think of a better way to save money :)
bechampion 1 day ago 0 replies      
I do something that's been working for me:i save X amount every month ... if I save > X then it makes me happy , the rule is never save less than X , whatever it takes.I don't buy expensive clothes anymore or go on the piss massively you now it's all about balance.
kwc98 18 hours ago 0 replies      
Growing a pony-tail. I have not had to pay for a hair-cut in more than 1.5 years. When I get a little neck trim-up they only cost 10 dollars. Haircuts are expensive.
sawthat 1 day ago 2 replies      
Don't use credit cards. I also recommend YNAB: https://www.youneedabudget.com
kearneyandy 1 day ago 2 replies      
I like https://paribus.co/It automatically requests refunds for things you buy online that drop in price. It's nice because it's very passive and it's basically found money when it works.
fleitz 1 day ago 2 replies      
Ad Block Plus, no ads, no desire to purchase the products I didn't see.

Seriously, not buying stuff / eating out is the best way for me to save money, especially if I spent the time that I would have been shopping / going out, working.

Something that might be an idea is linking to a savings account and adding a button beside the purchase link on amazon, etc, like "Save money instead, if you saved $56.32, you'd have $2345.54 in total savings" it would be epic if it went into a GIC or something not very liquid.

paloaltokid 1 day ago 0 replies      
My strategy:* use mint.com for budgeting and expense tracking.* a budget line item is "savings".* set up an automated transfer from my direct deposit checking account to my savings account. * fire and forget.
kamaal 1 day ago 2 replies      
1. Learn cooking: Saves a lot of money, healthy and a lot of long term advantages.

2. Learn to do the 'beginning with the end in mind': A lot of us here in India go and buy a plot on a reasonable loan, and then try to clear it off within 2-3 years. This way you get to acquire a resource, make a investment, and are forced to save up every month to clear the loan. This is more like forced savings. Repeat this for a long time, and you will get really really rich.

3. Keep a diary: Keep a habit tracker, try to get a continuous streak of $0 expense days.

4. Pick up a hobby like music: Gets you entertainment without bills for TV/Cable and things like that.

5. Buy for need and durability: Don't buy everything that you see people buying. Buy only if you need something and buy durable stuff.

There are a range of other things I do. But it might get a little too long for a HN post.

fuzzfactor 22 hours ago 0 replies      
Be a producer, not a consumer.
koolba 1 day ago 0 replies      
Create a chrome extension that somehow keeps people working as if you're busy making money, you're generally not spending it.

Something that disables access to HN would probably be enough.

tmaly 23 hours ago 0 replies      
from this book the richest man in babylon, I like the simplicity of just putting aside 10 percent to start.

It build up over time, and it is dead simple to implement.

start123 1 day ago 0 replies      
Automate. Automate. Automate.
pm24601 1 day ago 0 replies      
How about modifying the displayed price to reflex the cost of the item after cc interest.

If person is going to put something on a cc, display the price after 6 months of interest has been applied.

sdegutis 1 day ago 0 replies      
Show me a free alternative to some product show-cased on HN.
pramit 1 day ago 2 replies      
> The stock market gives 10-11% returns on an annual basis.

Before 2000, maybe. Not so much since, especially if you took the two rides all the way down.

Tell HN: New features and a moderator
2358 points by dang  2 days ago   449 comments top 170
aleem 2 days ago 5 replies      
Some UI issues and recommendations.

1. The up/down arrows after a vote leave behind a clickable void. That means you can still click that void after you have voted. If you changed the visibility on .votelinks instead of the buttons this would get fixed. Though even better UX would be to have togglable up/down buttons ala stackoverflow and others.

2. Why not provide the favourite link directly on the comment instead of forcing an extra click and page load. If it's a UI clutter issue maybe consider adding star and flag UNICODE characters. Again, having togglable icons for the same would be nice.

3. The collapse icon would be better off on the left for improved UI consistency.

EDIT: UNICODE characters don't show in comment. Is this a bug? They show in the textarea while composing the comment.

EDIT2: Add the following User CSS using your preferred browser addon for a bit of cleanup.

 .togg { float: left; margin-right: 5px; } .votearrow { margin-bottom: 10px; }

trjordan 2 days ago 9 replies      
Suggestion: Can you move the collapse button to the left of the username? One way I tend to use nested comment threads is reading all top comments, collapsing as I go.

Great stuff, overall -- thanks!

duncanawoods 2 days ago 1 reply      
Great features, thanks!

The one feature I can't believe I lived without that the HN Enhancement Suite chrome extension provides, is highlighting unread comments since your last visit. It actually makes it worthwhile revisiting e.g. a 200 comment thread when there are now 300 comments without just reading all the same comments again and being unable to spot the new ones.

If it became supported cross device by HN itself I would be very grateful.

splawn 2 days ago 14 replies      
I bet whoever has the top comment on this one is going to see their karma go up and down as everyone tests out the unvote and undown feature. :)
Someone1234 2 days ago 2 replies      
I found a potential bug/oddity.

If you collapse a comment in a thread it also collapses when viewing the comments page on a user's profile, and visually it is very hard to spot when collapsed on that page due to the styling.

For example, open the below link[0], collapse this comment, then refresh the link. The comment becomes quite hard to spot on that page. The red/orange star or vote button is also strangely missing while collapsed, which further makes it visually hard to distinguish.

[0] https://news.ycombinator.com/threads?id=Someone1234

minimaxir 2 days ago 1 reply      
Why is hiding stories available to logged-out users? Reloading just makes them appear again. :p (EDIT: may be bug)

On a related tangent, why have all instances of "submissions" on HN been replaced with "stories"? It's an change which IMO does not fit the usage. (A Show HN wouldn't make sense as a "story.")

lotharbot 2 days ago 1 reply      
How long does the "unvote" option last? Permanently? If I accidentally bump the "unvote" button on a comment that's years old, can I re-apply my vote, or only if it's an upvote?
internaut 2 days ago 0 replies      
Welcome Scott!

Three pieces of feedback generally.

1. Thank you for the comment collapse feature! And having the patience of Job generally speaking!

2. Some comments really stand out as exceptional and a +1 karma doesn't quite seem to be enough. Maybe if enough people save it into their favorites it could be promoted in some way? Dark blue text would be a nice feature. Not too intrusive but recognizable as a mark of quality.

3. While the karma system mostly works to deter trolls it is also a somewhat troubled concept. Each forum has political facets or biases even with the best of moderation efforts and there are noticeable shifts over time too. Is there a way to separate political point me-tooism and 'dueling' from forum maintenance?

I have two ideas that might help here. Obviously moderators getting involved is a good route to disaster, but maybe if one setting is a coarse filter to prevent a user having to see any politics. Another setting (toggled by discrete thread button) is to 're-black' a comment thread to see what the dissenting views were (and odd cases like your post being grayed out right now, maybe the flamewar detector got triggered by accident).

jedberg 2 days ago 0 replies      
I'm glad to see you guys finally got the resources you deserve to make these changes!

I'm also happy you guys are stealing all the best stuff from Reddit and leaving the other stuff behind. Great set of new features!

gedrap 2 days ago 2 replies      
What I find more annoying is that it's on the right hand side even though all the other actions (vote on post, vote on comment, reply) are on the left hand side. Seems like a trivial thing but that is annoying quite a bit.

>>> 5. Find out which stories were the most popular on HN on a given day by visiting /front?day=yyyy-mm-dd. You'll see all the front page stories for that day, sorted by how much time they spent there. For example, Alan Kay's AMA had the most front page time on June 20: https://news.ycombinator.com/front?day=2016-06-20

That's cool, I guess, but algolia <https://hn.algolia.com/> seems like a much better tool for the task.

ChuckMcM 2 days ago 2 replies      
Dang those are some nice features! :-) I really really love the collapse feature. Does the collapse persist across new comments being added or are those not collapsed? We'll have to see.

And final thought on the stories/submissions vs comments the challenge is that comment is both a verb and a noun, you comment, and you can read a comment. Whereas stories is always a noun. Submission is the correct name for something submitted.

jacquesm 2 days ago 0 replies      
I've been playing around with the 'hide' feature on the new page for a bit and I've developed a simple workflow to help catch spam:

Look at a submission, decide whether to just ignore it, upvote it, flag it as spam or open a tab and leave a comment or to watch it for later.

Then 'hide' the submission. Like that you can easily keep track of what you've seen and what still needs to be looked at.

You could use the same method for the homepage.

It's a super useful feature.

Thanks Dan & Scott!

fmavituna 2 days ago 2 replies      
Hey, good job there, much needed improvements. Thanks.

There is a CSRF vulnerability in the "favorite" feature.

A very quick demo, Visit this URL:https://jsfiddle.net/o9hw1u75/embedded/result/

Now visit your favs from your profile and you'll notice that "SQL Injection" post is automatically added your fav list. Just like upvote system fav needs to be protected against CSRF.

abtinf 2 days ago 2 replies      
Great features!

Request: Feature 5 most-popular-by-day is almost exactly what I've wanted for a long time, except in RSS form - a feed that updates once per day with the top 30 stories from the previous day in the order of most time on front page. None of the external HN-specific RSS generators do it quite right.

theli0nheart 2 days ago 2 replies      
Thanks, folks, for the great improvements!

1. The time-capsule feature is really cool. Traveling back in time to see what sort of tech people were building / what other things were on the front page when X popular product launched is going to be so much fun. Update: it only goes back about a year and a half. See below.

2. Undoing votes has also been something I've wanted for a long time. I've accidentally downvoted/upvoted more times than I'd like to count when using my phone.

3. I currently use a bookmarking service to keep track of posts I want to save on HN, but native favoriting is much better. :)

Also, welcome, Scott!


Edit: I tried to view the front page [1] on the day I launched Breakup Notifier [2] ~5 years ago, but I get an error message. Is there any way you HN wizards can add the ability to go back further in time?

> We don't have this data before 2014-11-11.

[1]: https://news.ycombinator.com/front?day=2011-02-21

[2]: https://news.ycombinator.com/item?id=2243650

epaga 2 days ago 0 replies      
Huge thanks to you guys. Collapsing comments are working perfectly on iPad.
danso 2 days ago 1 reply      
> 1. You can collapse comments in threads. If you're logged in, collapses persist across page refreshes and devices for a week.

The most impressive thing to me is that this feature exists and yet HN seems to have kept its good ol' fashioned <table>-layout. Obviously, it logically follows that it is perfectly possible to write a script to traverse a hierarchy of nested-<tables>, just as it's possible to recreate the Apollo guidance software in Brainfuck...but it's still impressive nonetheless.

akkartik 2 days ago 0 replies      
Thanks dang et al. for doing such an absolutely stellar job. Even more than this steady stream of new features, the key thing I've been noticing for the last couple of years is a complete absence of laments about how things have been going downhill. Keep it up!
Someone1234 2 days ago 13 replies      
I have a piece of feedback.

The new collapse button is at the end of the comment. This means that the collapse button's position on the page changes based on username length and duration wording (hours Vs. minutes, etc).

One nice thing about other websites which I won't name, is that you can read and collapse all of the top comments without having to "seek" the collapse button constantly. You can literally scroll and collapse as you read, it is always in the same spot.

The functionality is most welcomed, and I'd take this design over not having it. But it could be slightly better with a subtle design change.

smnscu 2 days ago 0 replies      
Yay, some extra RAM for me! I was using this extension to collapse comments, the new functionality seems to be identical with what the extension does.


thehodge 2 days ago 0 replies      
Great features, the collapsable comments chrome plugin is one of the first things I install on a fresh machine
panic 2 days ago 1 reply      
Awesome! One small bit of feedback: clicking [-] to collapse a thread moves the nearby text ("user 3 hours ago [+ 5]") a small amount vertically. It would be cleaner visually if it stayed in place, and it's easier to un-do an accidental collapse if you don't have to move your mouse.
AstroJetson 2 days ago 0 replies      
Welcome Scott. @dang - Good luck with the initial "vacations and a day off". I found that the initial incantations of these turned into a "Astro work day on neglected home projects" by the life partner. Hopefully not too many down rounds before you see a positive cycle.

Like the new features.

andy_ppp 2 days ago 1 reply      
Please make the Up and Down arrows 3-4 times larger and put a square around them that changes colour when it's hovered.

Thanks a lot for these useful additions though!

EDIT: An image says 1000 words (slight exaggerated): http://imgur.com/LKyUaSl

Tomte 2 days ago 1 reply      
Ah, I noticed sctb a few days ago when he posted along the lines of "we detached this thread" or something like that and wondered how many low-key or sporadic moderators there are.
ronreiter 7 hours ago 0 replies      
I created a "best of Hacker News" page based on feature 5:



dsr_ 2 days ago 2 replies      
Collapsing threads! Thanks!
zbuttram 2 days ago 1 reply      
Looks like this means HN's JavaScript is no longer just a single short script tag's worth. Definitely welcome changes, and thanks to those involved.
jedireza 2 days ago 1 reply      
I love the hiding feature, thank you. I did noticed I can't hide YC company "hiring" posts.

Ex: "GitLab is hiring a security engineer (gitlab.com)"

ergothus 2 days ago 1 reply      
Bug: This appears as a "Please read about some new features. [x]" heading, but clicking the "x" does nothing (including after page reload)

Otherwise: Awesome! The collapse feature in particular is something I've long wanted.

elsurudo 2 days ago 0 replies      
As someone who can never keep track of interesting links, I welcome the "favorite" functionality as another system I will use for a while, until it gets cluttered up and meaningless :) But honestly, good stuff.
pedalpete 2 days ago 0 replies      
I think many HN readers should take a good look at this list of features and look at how long HN has been around. These may seem like obvious things, but HN stayed very true to MVP for a very long time.

Any insight as to why now was the right time to add in these features might help others identify timing of expanding on a core feature set.

daveguy 2 days ago 0 replies      
These are awesome improvements. One change set, 1000% improved messaging. I think the only thing left that I wish I could do is click on a parent link from a given link (when you're in the middle of a long comment list and you want to see the specific post to which a message is responding).
dragonwriter 2 days ago 1 reply      
> You can collapse comments in threads. If you're logged in, collapses persist across page refreshes and devices for a week.

This is a nice feature, though I'd prefer if collapsing preserved the "root" comment and collapsed the responses, rather than hiding the root comment.

metafex 2 days ago 2 replies      
When hiding the first and then the last story, this was the result: https://news.ycombinator.com/snip-story?onop=news&id=1207282...

I guess that's not intended...

valgaze 2 days ago 0 replies      
This is an interesting read: https://news.ycombinator.com/hn.js?fviVA4TBdTrpMa3yBUk0:

function $(id) { return document.getElementById(id); }

ixtli 2 days ago 0 replies      
I am happy to add "undown/unvote" to my list of internet words that should have existed before but did not.
vitd 2 days ago 1 reply      
Just curious - why are things like "Gitlab is hiring" not hideable? I don't plan to apply for a job there, so I don't care to see that story anymore today. But I don't see a way to hide it.
robmass94 2 days ago 1 reply      
Does anyone still use Greasemonkey? I created a small little script[1] a while back. It's not nearly as sophisticated as the HN Enhancement Suite plugin, but it adds some nice features. It previously added comment collapsing, but I disabled it since it's now a permanent feature.

[1] https://bitbucket.org/robmass94/hacker-news-enhancements/src

JamesBarney 2 days ago 0 replies      
"Scott is[...] an excellent programmer with a meticulous eye for detail, and a thoroughly decent human being"

Worked with Scott, can confirm he is both a great programmer, and great human being.

c17r 2 days ago 1 reply      
All good stuff. The HackerNews Enhancement Suite plugin for Chrome really borks the page the now!


peterkelly 2 days ago 1 reply      
The collapsing comments thing is great, but what I'd really love to see is the ability to display only the top-level comments, so then I can drill down to sub-comments I'm interested in reading. Often I find that there'll be one sub-comment thread I'm not particularly interested in (e.g. discussion trails off into a completely different topic) and end up scrolling a lot to try and find the next top-level comment.
marcoperaza 2 days ago 1 reply      
Very cool. Great work!

Small suggestion: Maybe put a link to /hidden somewhere, like the user's own profile page.

amyjess 2 days ago 0 replies      
Thank you!

#2 in particular is most welcome; as hard to hit as the buttons are on mobile, I've misvoted a few times, and I'm glad I can finally correct that when it happens again.

aban 2 days ago 0 replies      
Great to see so many long-awaited features land today!

Awesome job and big a thanks to everyone involved.

OliverJones 2 days ago 0 replies      
Hey, dang and sctb, thanks for all the great moderating work. You've built a fine site. Happy to hear you're getting a vacation!
fapjacks 2 days ago 0 replies      
Ah, I for one really appreciate the unvote feature! I have an awful habit of mis-voting or accidentally voting when I just want to see a profile. Thanks!
Fenntrek 2 days ago 0 replies      
>Save and share the best stories and comments.

Tried using different bookmarking apps etc but always prefer native saving of items on actual sites, great addition!

...Also welcome Scott!

geuis 2 days ago 0 replies      
I'm concerned about the "voting" feature. Years ago we had a downvote feature. Basically, downvoting lead to a big decline in the quality and level of discussion going on.

pg removed it because it was leading into a trend of people downvoting comments because they disagreed with them, not because the comment in question wasn't making valid points.

And if the collapse feature could be moved to the left, woot!

etendue 2 days ago 0 replies      
The new features notification bar at the top was really nice. Maybe it could be used again in the future when the topbar goes black in memoriam?
mgr86 2 days ago 0 replies      
These are great! especially the collapse comment threads!

Welcome sctb.

ryanlm 2 days ago 2 replies      
The persistence of collapsing is a killer feature that I wish reddit had.
dingo_bat 2 days ago 1 reply      
> Scott is my cofounder from Skysheet

Off-topic, but if anyone is interested in educating a non native speaker: why is the word "my" used here? Wouldn't this mean that Scott founded the author? Which doesn't make sense. Or does it mean that the author and Scott are both co-founders?

Thanks for any input.

iraphael 2 days ago 0 replies      
Interesting to see more js in hn, esp with collapse-comments.

For a while now, hn has (in)famously had only a couple of functions: https://news.ycombinator.com/item?id=11307758(Not that the new features changed this dramatically).

tedmiston 1 day ago 0 replies      
Somebody had to try it...


 We don't have this data before 2014-11-11.

 Not there yet.
Nice touches :)

justinlardinois 2 days ago 0 replies      
Thank you so much for #1. When you're scrolling a deeply nested comment thread it's hard to tell what branch you're on sometimes because all the indent levels sort of just meld together to the eye. In the past I often would open a comment on its own page just to isolate its children.
prakashk 1 day ago 0 replies      
Favoriting doesn't appear to work for me. When I click on the 'favorite' link on an article page, I am taken to my favorites page, and nothing is shown added to the list. I only see the message "To add a story here, click on its timestamp to go to its page, then click 'favorite' at the top."

Using Firefox 47.0 on Ubuntu 16.04. uBlock Origin shows "0 requests blocked".

winteriscoming 2 days ago 1 reply      
Thank you for adding these new features, like them!

A couple of things:

1. I upvoted this submission, but I don't see any unvote link anywhere (I even refreshed the page and am currently logged in). Am on Firefox 35.0.1 (if it matters).

2. Would have liked the favorites to be private and not accessible to other users (just like comments/submissions that I upvoted), but all the same, I am happy that we now have support for favorites. Just curious - was there some specific reason why you decided to go with making favorites publicly accessible to other users?

SCdF 2 days ago 0 replies      
Yay, thank you HN developers, whomever you are! One more Chrome extension I can disable :-)
ebbv 2 days ago 0 replies      
Welcome Scott. These are all good features, thanks.
spydum 1 day ago 0 replies      
Interesting, not sure if this happened a while back or in part of this update, but I am noticing you can only down vote relatively new comments? See here:http://imgur.com/0bNIi6B
joepvd 2 days ago 0 replies      
I wish you a nice and well deserved holiday, @dang! And good luck + fun, @sctb!
sixothree 2 days ago 0 replies      
I would prefer it if all root level comments were collapsed by default. That way people would be better able to organize their postings. Without it, many threads seem to get the same root level comment multiple times.
gist 2 days ago 2 replies      
How do you reverse a hide on the homepage? I am not seeing anyway to do that.
B1FF_PSUVM 2 days ago 0 replies      
Feature request: a "fold all/none/random" button (top level, a single "link" cycling through would be fine.)

Rationale and further spec: "ain't+anyone+got+time+for" reading 400+ comments, not if they're doing anything else. Setting a profile value for the N comments I'm willing to look at in a first pass would help, and a random sampling would probably be fine.

Snag: desired behavior is folding off a single comment (i.e. hiding its text, leaving the id and time), not all those beneath, as current hierarchical folding obviously works.

a13n 2 days ago 0 replies      
I run a site called Product Pains where people can post and vote on feedback for any product. Several people have contributed to feedback about Hacker News. Interestingly, the top post is "Make comments collapsable".


Hacker News stands out to me as a product that could be significantly improved through aggregated user feedback. I encourage others to contribute and Dan + Scott (Welcome!) to subscribe to feedback.

Thanks for the improvements.

ChrisGranger 2 days ago 0 replies      
It's so nice to be able to collapse comment threads. That's a feature that was a long time in coming. Now I have one fewer reason to use Greasemonkey...
nickpsecurity 2 days ago 0 replies      
The Hide feature will help with tangent arguments that add little to discussion. The vote change will help with long-time problem of people clicking wrong button. Great improvements. :)
cm3 2 days ago 2 replies      
Is there a place to ask for features?
0xmohit 2 days ago 0 replies      
> Please welcome him and be nice!

Welcome, @sctb.

(Just wondering: who won't be nice to a moderator?)

@dang, Is there a post available that talks about some of the tooling that you might use for moderation?

dredmorbius 2 days ago 0 replies      
Awesome! Now I need to dig out my list of suggestions for HN improvements, and see how many you hit, but this is a lot of them.

(Extending / changing markup to catch _underbars_ and include them on highlighting would be nice.)

OK, misses a number of Mobile usability issues, but still an improvement.


protomyth 2 days ago 2 replies      
Love the changes and thanks for the un-feature. My only wish now is making the up / down arrows bigger, but the un might just make that a moot point.

Is this still written in Arc?

amzpka 1 day ago 0 replies      
Is the hide feature known to work in incognito mode?

I do not see hide link with any of the stories on the front page. However it is visible once I open up the story. Intentional?

harrisreynolds 2 days ago 0 replies      
This is an official welcome of Scott's official role!!
Viper007Bond 2 days ago 0 replies      
Thank you so, so much! Reading anything but the first top level comment was a complete pain on mobile and now I can collapse it to see other discussions. Thanks!
JoachimSchipper 2 days ago 0 replies      
This is useful. And welcome sctb!
harperlee 17 hours ago 0 replies      
It would be great that hidden posts are also not show in /best
logicallee 2 days ago 0 replies      
Welcome to Scott, people have long wondered whether you were using the royal "we". We'll have to start writing "Dan/Scott". :)
joshmanders 2 days ago 0 replies      
This is my first favorited story! Thanks dang and HN team!
tedmiston 2 days ago 0 replies      
These are very welcome and exciting improvements, especially on mobile!

Is there a way (through site or API) to see all users who have favorited a given story?

Kinnard 2 days ago 0 replies      
Love the minimalism of the collapse/uncollapse!!!
rismay 2 days ago 1 reply      
Will Feature #5 be available through the Firebase API?
drcreed 2 days ago 1 reply      
This update broke regular indentation for me; comments have no indentation at all for me now.

My setup is: Chromium Version 54.0.2794.0 (64-bit) on Win8.1, uBlock Origin with literally everything blocked.

I could start allowing scripts from news.ycombinator.com but I'd rather not make an exception.

dimino 2 days ago 1 reply      
I recall vaguely that one of the reasons for not allowing collapsable comment trees in the past was related to the desire to make it difficult to continue comment trees, which was a good thing (more comments is generally bad, beyond a point, was the underlying philosophy).

Does this represent a departure from that philosophy, or was this never part of consideration for the feature?

orky56 2 days ago 0 replies      
Once collapsed, the summary gives a count of the child comments. However, the gut reaction is that this correlates to upvotes/karma. I'm wondering if [-] & [+] can be fixed to their appropriate size while the number of children is supplemental to this. Not sure what the best way to format it would be but worth exploring.
chris_va 2 days ago 0 replies      
UI request

Can you make the "flag | hide | past | web ..." buttons have consistent spacing from the left margin? I'd like to keep my mouse in the same position while I filter through the articles on /newest, rather than hunt and click as the "hide" button moves back and forth based on the username/etc length.

jpwagner 2 days ago 3 replies      
Thank you, these are all fantastic except #4.

The problem with the story-hide feature is that some days you may think something is not interesting from the title, but then an hour later there are 100 comments.

edit: A solution is not "well then don't use the hide feature" - Because this feature is site-wide, in some cases, that momentum would never occur.

manish_gill 2 days ago 0 replies      
Thank you for the great features! More than the collapsible comments, I'll look forward to people's favourite list :D
duck 2 days ago 0 replies      
Great to see new features like this that are simple and a good fit with the current site.

@dang - Any chance you will be working on the API more soon? Would love an easier way to build out http://hackernewsletter.com each week. Thanks again!

soheil 2 days ago 0 replies      
Love the collapse comments in threads feature.
antouank 2 days ago 0 replies      
Glad to see the "collapsing" feature. It's definitely helpful.

Weird to see the "favorite" one. I implemented it on my reader[1], but almost no-one used it ( I do though ).

Any update on whether auth will be given to the API consumers?

[1]: https://hack.ernews.info/

ifdefdebug 2 days ago 1 reply      
There is one thing I often think about when I see certain comments downvoted: downvoting a comment should cost one karma.

After all, this score system is called karma. And hurting someone else's Karma - even for valid reasons - is bad karma by definition :)

trop 2 days ago 0 replies      
Interesting! Would https://news.ycombinator.com/classic get the "hide" treatment as well? (It doesn't currently.) Or perhaps one assumes one doesn't need to hide anything on the classic page?
baby 2 days ago 0 replies      
Good thing for HN, but this is actually really annoying for people like me who have been using the HN suite extension on firefox to place the [-] on the left.

Now that it's on the right you:

* can't minimize and maximize quickly

* can't minimize a series of comments quickly (you have to move your mouse a lot to find the [-] every time

Pxtl 2 days ago 1 reply      
The comment-collapsing feature is nice, but the big [-] on every comment is somewhat ugly, visually speaking.
lettercarrier 2 days ago 0 replies      
I have a skimpy monthly data plan, and appreciate the fact that your changes does nothing to increase data intentionally or accidentally (like Reddit).

I like the fact that the hide feature does not persist when I am not logged in. I mostly use mobile and never log in (via mobile).

pknerd 2 days ago 0 replies      
There should be a feature to highlight posts that don't get featured on Home Page despite of being good. May be something like Moderators' Choice or Posts of the Week?
ninjakeyboard 2 days ago 0 replies      
Upvote and collapse buttons have similar symbols. Could the upvote button also not be the collapse thread icon?Have to collapse thread to see the comment score (as [+25]) - could [-] not also mean that a comment was downvoted? You have to know that grey means negative score.
profmonocle 2 days ago 0 replies      
Unvoting is a very welcome change. I've misclicked and accidentally downvoted people a few times.
blatant 2 days ago 0 replies      
Welcome Scott!
Johnny555 2 days ago 1 reply      
I'm thinking of signing up, I've been wanting to play the game, but don't really like walking around so this gives me the best of both worlds. I still get the excitement of the gameplay without so much unnecessary exercise.
spdustin 2 days ago 0 replies      
dang, I have to admit some surprise that you didn't "favorite" this post.
leesalminen 2 days ago 0 replies      
This is awesome. Thank you for all the work you do to keep HN one of the best sites on the web.
josh_carterPDX 2 days ago 1 reply      
The "hide" new stories feature is awesome. Thanks for rolling this out. High five!
rachkovsky 2 days ago 0 replies      
Great stuff!The only feature I need now is 'open links in a new window' option. Yes, I know that you can do Ctrl+click or click with the mouse wheel to achieve the same, but that is not the same!
z3t4 2 days ago 0 replies      
One thing that I find annoying is that when you get down-voted you have no idea why ... If your post is opinionated you can figure out it's a silent "I disagree", yet, without any reasoning. So you learn nothing.
jsingleton 2 days ago 0 replies      
Nice work, I was wondering where that favourite link came from. For a brief moment I thought you had accidentally made upvoted stories and comments public.
Animats 2 days ago 0 replies      
Enough already. Turn off the banner after it has been dismissed once.
FollowSteph3 2 days ago 0 replies      
A quick suggestion, can u move the logout link away from just below the refresh buttons on mobile devices. I've hit that logout buttons more times than I care to when trying to refresh a page.
FreeFull 2 days ago 0 replies      
I've actually written an userscript not too long ago to hide downvote arrows, to prevent accidental downvotes.. Seems that's not too necessary now that they're undoable.
Artlav 2 days ago 0 replies      
1. Awesome. Hm, it's kinda close to edit/delete button in your own ones. Might be a good idea to separate them a little.

2. Nice.

3. Kinda convoluted, but neat.

4. Kinda pointless. Would be less so if the unhide was accessible with less friction.

5. Neat.

Hi Scott!

username3 2 days ago 1 reply      
Can collapse only collapse the replies and not collapse the comment?
Mz 2 days ago 0 replies      
Welcome Scott.
macintux 2 days ago 0 replies      
Would undoing votes be (as) necessary if the UI didn't lend itself to mis-voting? Especially on a touch device, the two buttons are a real challenge to deal with.
proee 2 days ago 0 replies      
Would you consider adding custom color settings for the background and font colors? You offer color settings for the top bar, why not for the rest of the site?
bane 2 days ago 0 replies      
Awesome work, lots of long for asked for features and a new moderator! Sorry ahead of time when my mouth(keyboard) gets ahead of my brain.
deafcalculus 2 days ago 0 replies      
Could you please hide comments at depth > 2 by default? Comments on popular posts tend to be deeply nested.
andreygrehov 2 days ago 0 replies      
Great stuff! Minor bug with the threads collapsing and browser's Back/Forward buttons. Thanks for all the hard work Dang and Scott.
dumbfounder 2 days ago 0 replies      
Option to hide viewed articles. I had a plugin that did it but as I view from different browsers would be good to not have to download that plugin every time.
ahmedbaracat 2 days ago 0 replies      
Why not trigger the collapsing feature by tapping the post? I myself, intuitively, thought this is the case until I noticed the tiny minus button :)
grandalf 2 days ago 3 replies      
One feature request: Notification of comment replies.
kazinator 2 days ago 0 replies      
BUG! I get a strange response whenever I hide the bottom-most item in the page.

Appears gone now; it reproduced consistently just a few minutes ago.

theycallmemorty 1 day ago 0 replies      
Thanks so much for the 'skip this flamewar button' aka the collapse button.
kup0 2 days ago 0 replies      
Very useful updates. Especially glad to see #2 and #3, as those have been features where I've naturally run into their absence when using HN
EpicEng 2 days ago 0 replies      
>You can collapse comments in threads

Oh thank you so much for this.

oolongCat 2 days ago 0 replies      
Why am I this happy about a very tiny change to HN.
DanielStraight 2 days ago 1 reply      
Should I be able to see the unvote link on older votes or is it only available for a limited time or only on stuff voted on from now on?
JMiao 2 days ago 0 replies      
great to know you two are back together! i think i checked skysheet.com a couple months ago to see if you finally launched. ;)
dmvaldman 2 days ago 1 reply      
Feature request: Cache favorites so they never 404
therealasdf 2 days ago 0 replies      
Nice work.A suggestion: add keyboard shortcuts to help navigate and collapse comments.
Analemma_ 2 days ago 0 replies      
Hacker News, adding features that people have been requesting for years? Is it April 1st already?

Nah, I kid ;) This all looks great, thanks!

ausjke 2 days ago 0 replies      
Everything is good, just hope to add one more big feature, that is a mobile app, something like what Reddit has.
mannykannot 2 days ago 1 reply      
If the [-] means I have downvoted a comment, it seems that I have downvoted everyone everywhere. Sorry about that.
oblio 2 days ago 0 replies      
The Hackernews server, slowly turning into the Reddit server 0.2 (minus Reddit's famous performance problems) :)
Yhippa 2 days ago 1 reply      
Re: 5

> We don't have this data before 2014-11-11.

Aww bummer. Would have been cool to see what was the new shiny over time. Still a cool feature!

dylanz 2 days ago 0 replies      
Collapsible comments... thank you so much.
anonbanker 2 days ago 0 replies      
favorites will save me a ton of karma, so I no longer have to post as breadcrumbs to a great idea. thanks for that.
Tomte 2 days ago 5 replies      
Still, the most urgently needed feature is missing: telling me which comments I haven't seen, yet. It's a constant nuisance in longer threads. Really, this is much more vital than just about every feature you've introduced over the last months.
sjukfan 2 days ago 0 replies      
New features? The Apocalypse is near!
toephu2 2 days ago 0 replies      
Welcome Scott!
auston 2 days ago 0 replies      
kazinator 2 days ago 0 replies      
It would be good to be able to hide non-submissions like job postings and whatnot.
edwintorok 2 days ago 0 replies      
Looks like there is an unvouch for vouched comments too, or was that there before?
a_c 2 days ago 0 replies      
It is funny to see how similar comments on this post to that of youtube
baudehlo 2 days ago 0 replies      
Still no ability to comment via the API? Apps are still scraping to do this.
techolic 2 days ago 0 replies      
> You can collapse comments in threads.

Thank god we're finally having this.

dageshi 2 days ago 0 replies      
Thank you!
mrmondo 2 days ago 0 replies      
Thank you for your work and implementation on this :)
Noseshine 2 days ago 0 replies      
How about a feature "mark all read" (on the frontpage)?
aaronsnoswell 2 days ago 0 replies      
Yay! Been waiting for collapsible comments for ever! Thanks!
hxxbit 2 days ago 0 replies      
thank you so much
Shamiq 2 days ago 0 replies      
dang, this is excellent. thank you so much :)
mathattack 2 days ago 0 replies      
Welcome aboard!
astrodust 2 days ago 1 reply      
Having a Reddit-style inbox for responses to comments is urgently overdue. Most new users would never think to click on "threads" to find replies.
sidcool 2 days ago 0 replies      
Finally our prayers have been answered.
Entangled 2 days ago 0 replies      
Collapsible comments, I love that.
Globz 2 days ago 0 replies      
Thanks for the update this awesome!
ssebastianj 2 days ago 0 replies      
[Expand|Collapse] all comments.
Aelinsaar 2 days ago 0 replies      
1.) I stopped reading there for a minute, because I had to wipe away the tears of joy. Seriously, thanks for this one!
msie 2 days ago 0 replies      
1 - FINALLY!!!!!2,4 - COOL
0x54MUR41 2 days ago 0 replies      
Well done, Hacker News.
amenghra 2 days ago 0 replies      
Feels like april 1st!
nxzero 1 day ago 0 replies      
Please do user testing on the existing features before adding more features.
nxzero 1 day ago 0 replies      
Link to "hidden" stories should be on the user profile page and if you click "hide" it should take you to the user profile page.


Take you to the "HN.com/hidden" URL and tell the user to bookmark it.


Just be on the main nav if you've hidden links and are logged in.


Hidden the link to unhide links that hidden... To hard to do.

hipcactus 2 days ago 0 replies      
Great Job!
edwintorok 2 days ago 0 replies      
I was clicking hide, hide, hide for the stories near the bottom of the front-page until I got this back:https://news.ycombinator.com/snip-story?onop=news&id=1206078...

 [" <tr class='athing' id='12065699'>\n <td align=\"right\" valign=\"top\" class=\"title\"><span class=\"rank\">1.</span></td> <td valign=\"top\" class=\"votelinks\"><center><a id='up_12065699' onclick='return vote(this, \"up\")' href='vote?id=12065699&amp;how=up&amp;auth=099c6eb692711a8f986d31bf0f7d86021ded1115&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12060787'><div class='votearrow' title='upvote'></div></a></center></td><td class=\"title\"><a href=\"https://coding.net/u/jinzw/p/mathEditor/git\" class=\"storylink\">A WYSIWYG math editor</a><span class=\"sitebit comhead\"> (<a href=\"from?site=coding.net\"><span class=\"sitestr\">coding.net</span></a>)</span></td></tr><tr><td colspan=\"2\"></td><td class=\"subtext\">\n <span class=\"score\" id=\"score_12065699\">63 points</span> by <a href=\"user?id=tvvocold\" class=\"hnuser\">tvvocold</a> <span class=\"age\"><a href=\"item?id=12065699\">1 day ago</a></span> <span id=\"unv_12065699\"></span> | <a href=\"flag?id=12065699&amp;auth=099c6eb692711a8f986d31bf0f7d86021ded1115&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12060787\">flag</a> | <a href=\"hide?id=12065699&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12060787\" onclick=\"return hidestory(12065699)\">hide</a> | <a href=\"item?id=12065699\">21 comments</a> </td></tr>\n ",null]
What happened? (refreshing the page makes it work again)

Edit: there it is again:https://news.ycombinator.com/snip-story?onop=news&id=1207486...

Steps to reproduce:https://news.ycombinator.com/hide?id=12074096&goto=newshttps://news.ycombinator.com/hide?id=12073011&goto=newshttps://news.ycombinator.com/hide?id=12074388&goto=newshttps://news.ycombinator.com/hide?id=12074388&goto=news (last news item on front-page)


 [" <tr class='athing' id='12065592'>\n <td align=\"right\" valign=\"top\" class=\"title\"><span class=\"rank\">1.</span></td> <td valign=\"top\" class=\"votelinks\"><center><a id='up_12065592' onclick='return vote(this, \"up\")' href='vote?id=12065592&amp;how=up&amp;auth=7b542c4f6ee7726621bada191c3874162d4475d1&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12074388'><div class='votearrow' title='upvote'></div></a></center></td><td class=\"title\"><a href=\"https://www.bloomberg.com/view/articles/2016-07-04/brexit-is-a-lehman-moment-for-european-banks\" class=\"storylink\">Brexit Is a Lehman Moment for European Banks</a><span class=\"sitebit comhead\"> (<a href=\"from?site=bloomberg.com\"><span class=\"sitestr\">bloomberg.com</span></a>)</span></td></tr><tr><td colspan=\"2\"></td><td class=\"subtext\">\n <span class=\"score\" id=\"score_12065592\">200 points</span> by <a href=\"user?id=vool\" class=\"hnuser\">vool</a> <span class=\"age\"><a href=\"item?id=12065592\">1 day ago</a></span> <span id=\"unv_12065592\"></span> | <a href=\"flag?id=12065592&amp;auth=7b542c4f6ee7726621bada191c3874162d4475d1&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12074388\">flag</a> | <a href=\"hide?id=12065592&amp;goto=snip-story%3Fonop%3Dnews%26id%3D12074388\" onclick=\"return hidestory(12065592)\">hide</a> | <a href=\"item?id=12065592\">146 comments</a> </td></tr>\n ",null]

ddorian43 2 days ago 1 reply      
We need to hide jobs too if possible.
xkeemy 2 days ago 0 replies      
Disable HN Enhancement Suite

See collapse is all the way on the right and realize unread highlights are gone

Renable HN Enhancement Suite

sgt101 2 days ago 1 reply      
3 doesn't ring true - why should I care what anyone favorites?
sdegutis 2 days ago 3 replies      
These mostly seem like bad ideas:

#1 This is the only good feature listed. It helps people skim comment threads for a relevant discussion.

#2 Without this feature, people are encouraged to think before voting, and only vote when they mean it.

#3 Without this feature, people are encouraged to use HN as a transient source of news and intellectual discussion, and not twitter.

#4 Without this feature, people are encouraged to go away and do real stuff until enough time has passed that the front page is new again.

#5 Without this feature, people are encouraged to read or discuss an article based on its own merits, not just what appeals most to hivemind upvotes.

Ask HN: If you have a hard time reading can you still be good programmer?
6 points by Onixelen  9 hours ago   7 comments top 6
jerven 6 hours ago 0 replies      
One of the most impressive programmers I know is blind. So yes,it is possible.

Being dyslexic myself I can say some languages are easier for some people than others. For example I like java verbosity and camel case as it helps with my particular variety of reading problems. This frustrated me because I love python in its philosophy but I can't work in it.

dqdo 4 hours ago 0 replies      
My brother reads on average 0 to 1 book a year and he is a better code than me. I personally read about 50 books per year. There is nothing about programming that requires you to be a good reader. If you are an avid reader, you will get some more interesting ideas to make your life and work more fulfilling. If you study another language, you will find many similarities with the grammar structure of a "human" language and the grammar structure of most programming languages leading to much cleaner and more well formed code. As a programmer, as long as you can think clearly about your problem, understand your users, and have a good understanding of the documentation of the tools that you are using you should be fine. Reading more exposes us to ideas that we would usually never think of ourselves but in my personal experience there are few ideas that come through this way. Most things come to you the old fashion way -- trial and error. As long as you are persistent and dedicated to your craft you can become a good programmer regardless of where you start and how often you read.
bjourne 2 hours ago 0 replies      
It depends on what "hard time reading" really means. But generally the answer is no.
nness 8 hours ago 1 reply      
I have a degenerative eye disease and have worn many different variety of contact lenses (RGP, scleral, piggy-backing etc) before eventually undergoing a corneal transplant.

I made do for years, it has never been much of an inhibitor.

spotman 9 hours ago 0 replies      
Depends how hard you try, but don't let reading stop you!

My greatest mentor was mostly blind. He could see the terminal but would need to be about 2-4 inches away and would be energetically moving his head as he read the contents of the screen.

amorphid 8 hours ago 0 replies      
I have a super hard time reading. ADHD and all that. Getting started with a new tool is hard, but I power through it. Sooner or later it gets easier.
Ask HN: Finance industry devs, where do you put the business logic, DB or Code
16 points by ruslan_talpa  15 hours ago   21 comments top 9
antrix 13 hours ago 0 replies      
I've worked in finance technology for eight years now, in various domains.

As a broad generalization, if you are latency bound (milliseconds or less) then everything is done in code and the DB is never in the main loop.

At the other end, if you are throughput bound - think end of day/month activities - then stored procedures all the way.

For everything in between, prefer to have the logic in code due to the maintenance benefits that come with it.

> Do you have an API on top of DB that enforces the rules?

In general, a database is owned by the app it is associated with and the app mediates all access to that data. The usual enterprise integration patterns (esb, messaging, web services, file dumps) are used to share data with other systems.

> Is the security/data validation also done in the API/app layer?

Largely yes. There's some level of security (like app access control and encryption at rest) that's handled in the DB tier but authorization is largely an app level concern.

Similarly, some constraints are imposed in the DB schema but those are quite basic. Most validation is done in the app tier.

niftich 14 hours ago 2 replies      
> * You can't test/debug BL in DB (or it's very hard)

You test/debug in a separate, isolated full-stack environment that has a copy of the data.

> * You can't do continuous integration


> * The code a mess and hard to maintain/make sense of

This is conjecture, and it's entirely dependent on the quality of the code.

CyberFonic 12 hours ago 0 replies      
My experience is with insurance, funds management and telco billing systems.

Although every project is different, as a general rule I prefer to use stored procedures to make changes to the data. The SPs are written to ensure data integrity. Of course, there are some very basic business rules evident at this level but the primary concern is the correctness of data as updated/inserted. I would characterise these as the "data integrity rules".

Each SP encompasses a document, a test suite and the implementation. It goes through the DEV-TEST-UAT-PROD QA - promotion stepwise deployment. I see that as a reasonable substitute for continuous integration.

The OO layer implements business rules. (The SPs are transactional/procedural). I consider the BRs as a lower level business logic. Then the application provides the high level business logic, e.g. validation, workflow, etc.

In reference to your question, I generally end up with three layers, DB, BR (API), BL (app). Technically the DB also has an API, but that is only visible to the BR layer.

bbcbasic 14 hours ago 0 replies      
I've worked at finance places where a lot of BL is in the DB.

Testing is a trade-off. You can test the end points of stored procedures that the app has access to for example. Although where I worked admittedly there was no automated testing.

You can do CI if you have a way to deploy changes to scripts automatically.

The code doesn't need to be a mess but admittedly PLSQL doesn't have the same nice abstraction patterns as OO so it does get a bit W.E.T. sometimes.

nostrademons 14 hours ago 2 replies      
Most hardcore finance shops (quants, hedge funds, algo traders) I know don't use a DB in the traditional SQL RDBMS sense. Proprietary time-series databases rule here - because microseconds count, it's very important to think about the access patterns of your data and optimize for the algorithms you're actually running.
schappim 14 hours ago 2 replies      
When doing consulting for an agency, I was managing the integration of a new iPhone app with a legacy government database. We were given access to their code and their database.

One of my wise old developers frowned and when I asked why he told me there were literally hundreds of stored procedures in this database and no documentation.

It was at this time he told me to when possible keep business logic in code so it can be managed by a version control, and easily replicated for CI.

He advised the exception to this rule was when the stored procedure gave a large performance boost.

flukus 10 hours ago 0 replies      
I don't like a lot of logic in the the database, but you can do continuous integration with tools like flyway:


In fact, it's pretty hard to do CI without tools like this, even with zero stored procs.

cdnsteve 14 hours ago 1 reply      
All in app for this particular API, using CI, good test coverage.

DB handles data integrity.App/API handles data validation.

usernamebias 14 hours ago 1 reply      
I am not in "Fintech", but I may be able to help with some background in solution architecture.

A pattern that applies to most industries is Service-oriented Architecture (SOA) -- Where each layer (presentation, logic, data) is independent of each other.

This allow for fantastic scalability and granular debugging.

Ask HN: A systematic approach to picking app colors?
4 points by archagon  13 hours ago   5 comments top 4
tracker1 10 hours ago 0 replies      
Look into the source for bootstrap 3 or 4... They only define a handful of colors. In the end, pick your main branding color, and work out from there.

Even if you don't use bootstrap, it's a good baseline to look at, and imho every web developer/designer should definitely dig through the source of that codebase.

spotman 8 hours ago 0 replies      
You are approaching it too much like a programmer in my humble opinion.

Yes there is rules and guidelines, but before you can follow them you need a style , a feel , a culture .

You should get ( pay ) a graphic designer friend to come up with some food mockup of a single page. Work on it worth them or have them do a few iterations until you are really excited about it and both of you think "aha!"

Once you get that far your next challenge is to truly use this as a style guide and pivot off of it as you design the rest of the pages.

Good luck, it can be rewarding!

niftich 10 hours ago 0 replies      
I've used 'color scheme designer' [1], recently renamed 'paletton' [2], in the past. It has some of the specific features you are looking for, like darkened/lightened alternatives of your main colors.

[1] http://colorschemedesigner.com/csd-3.5/ [2] http://paletton.com

MyNewAcc 10 hours ago 1 reply      
Just so ya know... the color scheme will look very different on different monitors. So make it look good, but be careful not to yak shav over colors only you will ever see as intended.
Ask HN: Dangers to making public young-project code?
12 points by probinso  13 hours ago   4 comments top 3
Terribledactyl 13 hours ago 1 reply      
Accidental release of sensitive info/keys/values etc.

If it's an alpha/beta or just a proof of concept then state that or you may have issues with public expectations.

If you plan on making a business around this project, might make some paths more difficult to take or lower the bar for competition.

gravypod 12 hours ago 0 replies      
Terribledactyl basically nailed the only issue I see: leaking your private information.

Other then that, I'm sure the other cautions that they bring up aren't as big of an issue.

You are basically ok in my book so long as you plop a copy-left license on it.

bwackwat 13 hours ago 0 replies      
Ask HN: What is the emerging state of the art in fuzzing techniques?
123 points by hwhatwhatwhat  2 days ago   53 comments top 19
wepple 1 day ago 4 replies      
in general, have a poke around https://fuzzing.info/papers/

First, I think the next big step in fuzzing will actually be a complement to fuzzing - solving.

AFL and friends can bitbang their way to massive code coverage, but can still fail on fairly simple testcases. Some recent research[1] by the authors of Angr[2] show that by pairing the brute-force coverage and exception discovery of a tool like AFL with constraint solving tools can really dig deep into a program, by actually solving the path to a given block of code. Microsoft's infamous SAGE fuzzer does this IIRC.

Second, I think there are still massive oportunities for fuzzing closed-source programs, as well as programs with tricky state, such as browsers or network daemons.

[1] https://www.internetsociety.org/sites/default/files/blogs-me...

[2] http://angr.io

scriptdevil 1 day ago 1 reply      
I am very interested in learning about this too! I started out with AFL for fuzzing but soon had to move to LLVM's LibFuzzer because I didn't want non-ASCII inputs (by design, we know we wouldn't get that) and also SantizerCoverage seemed to be more robust than the 64kB shared memory array that AFL uses for large programs.

However, libFuzzer being an in-process fuzzer has again created a lot of headache - especially in places where we malloc stuff and expect free to implicitly happen at exit - in libFuzzer's case, the exit is caught and the entrypoint function is restarted causing memory leaks and OOM crashes. This made me have to include #ifdef FUZZ ... #endif lines in the codebase - adding different behavior in fuzzed and unfuzzed cases which felt wrong.

I have considered implementing an out-of-process fuzzer from scratch (or base it off AFL), but have been holding off till I get time to read about more prior work given that this is not of the highest priority at work.

That said, SAGE from Microsoft seems really interesting[1]. It generates inputs intelligently by constraint-solving on inputs to conditional statements. It isn't exactly new though.

[1] http://research.microsoft.com/en-us/um/people/pg/public_psfi...

robto 1 day ago 1 reply      
I've started using clojure.spec[0] in my regular day programming with an eye on using generative testing, which I understand is a form of fuzzing. I'm very new to this, but it feels incredibly practical in terms of bang for buck - like the 'cutting edge' of practical use. I'm not sure what it's academic background is, but I'd highly recommend reading and listening to what Rich Hickey has to say about it. He's a smart guy.


qntty 1 day ago 0 replies      
For people as confused about this post as I was:


ikisusi 1 day ago 0 replies      
There is a 30 seconds video based on 90 minutes of a collaborative experiment by 22 fuzzing practitioners. Aim was to write down couple of points about fuzzing state of the art.

Video: https://www.youtube.com/watch?v=UrhRUKgeDQI

Text: https://github.com/ouspg/ouspg-open/blob/master/presentation...

Updates e.g. as pull requests most welcome. :)

Harvester57 1 day ago 2 replies      
Here you have some interesting work from Fabien Duchene, ENSIMAG/CEA researcher, about black-box genetic fuzzing (I know it sounds like a lot of buzzwords, and in fact it was a little bit mocked during SSTIC 2016, but it's some really good stuff !)


SEJeff 1 day ago 0 replies      
Checkout TriforceAFL as well, which allows using AFL (American Fuzzy Lop) inside a qemu virtual machine.

This is a pretty interesting writeup on it: https://www.nccgroup.trust/us/about-us/newsroom-and-events/b...

jorangreef 1 day ago 0 replies      
This is not exactly what you asked for, but if the code you want to fuzz is written by yourself, you could learn fuzzing by doing the fuzzing yourself. It might also be easier to do this at first, since you're closer to your code, and would need less adapters for existing fuzz solutions.

1. Write a simple test function which will generate a very wide range of allowed inputs to the function you want to test. Try to generate average inputs most of the time, and outliers some of the time. Use a seeded Mersenne Twister as your random number generator. For example, if the function you are testing accepts an array of buffers, then for a single test of the function, you could choose at random how many buffers to generate, and then at random the length of each buffer, and then at random the contents of each buffer. You could then call the function many times, each time with a different array of inputs. Or if you were testing a document editor or CRDT, you might want to randomly generate different combinations of user edits, e.g. a delete 10% of the time, an insert 50% of the time, etc.

2. Write the simplest possible independent implementation of the function you want to test. For example, if you are testing a custom hash map, you could use the hash map from your standard library as the basis for the independent implementation. Or if you were testing a key/value storage engine, you could consider using an in-memory hash as the basis for the independent implementation.

3. Run your random fuzz inputs from step 1 through both your implementations and assert that the outputs of both are always the same at each step. Both implementations could be called a few thousand times depending on the run time.

mytummyhertz 1 day ago 1 reply      
shameless self plug: https://www.nccgroup.trust/us/about-us/newsroom-and-events/b...

allows you to run AFL on arbitrary VMs. so far we've used it to find some Linux vulnerabilities, and are starting to find stuff in other operating systems too. and we're just getting started :)

anonymousDan 1 day ago 0 replies      
You could take a look at the proceedings of conferences like ICSE (International Conference on Software Engineering). For example there's been a lot of work over the last decade or so on making dynamic symbolic execution techniques more practical (as exemplified by e.g. KLEE or SAGE).
humbleMouse 1 day ago 1 reply      
My friend is working on some next gen fuzzing stuff here:


hguant 1 day ago 0 replies      
DARPA's Cyber Grand Challenge is pushing the state of the art when it comes to RE, exploitation, and the like. Very presentable talk by Mike Walker, who's heading up the project with a bunch of ex-Raytheon guys.

There are links to some repos of in the talk: it's not exactly what you're looking for, but if you're interested, it's a good resource.


pag 1 day ago 2 replies      
I worked on the cyber reasoning system (CRS) at Trail of Bits for our entry into the Cyber Grand Challenge [1]. Some slides describing the system are here [2].

Specifically, I implemented our fuzzer. I created a dynamic binary translator [3] that emulated the DECREE [4] operating system and x86 arhcitecture. It had the Radamsa [5] mutator built-in, along with a number of other simpler mutators.

I think our fuzzer out-performed our competitors, though I am biased ;-) The fuzzer was single-threaded, but could perform more than a million fuzz/mutate-execute (with coverage) iterations every two hours. Before I optimized it, it beat the pants off PIN [6]. We ran many such fuzzer processes concurrently. They would saturate the CPUs, and actually performed no I/O because I emulated all I/O in memory ;-) This was key to us achieving such high-throughput.

Our fuzzer wasn't super smart (though Radamsa is), but it benefited a lot from a feedback loop with our symbolic executors [7]. The symbolic executors would produce inputs that would then get fuzzed. These inputs could feed back into the symbolic executors, etc. That added more brains to our system.

All in all, we ran the CRS across something like 300 large EC2 nodes (across three availability zones). Per node, 8 or so fuzzers processes were running constantly for 24 hours. I'd ballpark that as 28.8 billion mutate+execute cycles.

In conclusion, the key for us was to make a production-quality, high-throughput fuzzer that did only one thing really well and really fast, then complement it with other more sophisticated tools like symbolic executors.

[1] https://blog.trailofbits.com/2015/07/15/how-we-fared-in-the-...[2] http://infiltratecon.com/archives/Slides_Artem_Dinaburg.pdf[3] https://en.wikipedia.org/wiki/Binary_translation[4] https://github.com/CyberGrandChallenge/libcgc[5] https://github.com/aoh/radamsa[6] https://software.intel.com/en-us/articles/pin-a-dynamic-bina...[7] https://en.wikipedia.org/wiki/Symbolic_execution

vulnan 1 day ago 0 replies      
You might not be as far from the cutting edge as you'd expect.

From what I've seen, fuzzing is divided into two major camps (I'm generalizing to the extreme here):

1. Mutational - These include tools like AFL, are gaining traction in the open source community, and have a lot of applications, perhaps most notably in library and application fuzzing.

2. Generational - These include commercial tools Defensics and PeachFuzzer, and open source tools like Peach, Spike, and Sulley. The state of the art is held by commercial offerings in this camp, and it's what businesses are more likely to be interested in.

My hypothesis as to the reason for this split: Open source hackers are interested in finding bugs. Businesses are interested in assurance that their software is safe ("safe"). Protocol-specific tools give the impression that we've done the best we can at securing IP/TCP/TLS/HTTP/etc. Defensics is by far the dominant offering (in terms of apparent popularity), and Peach is the only active competitor I've ever found.

The open source generational branch is moving very slowly. The primetime candidate was once Peach, now called Peach Community [1]. Unfortunately the corporate backer switched to a closed solution, and left the open source tool out to dry. The latest tool of note besides Peach is Sulley [2] [3].

Books: I haven't found any books that go below the surface. "Fuzzing: Brute Force Vulnerability Discovery" has decent reviews on Amazon, but I found it more breadth than depth.


1. IMO the seminal paper on fuzzing is Rauli Kaksonen's thesis, "A Functional Method for Assessing Protocol Implementation Security." [6] This will take you almost to the state of the practice. Kaksonen was a co-founder of Codenomicon. Very interesting read.

Talks: If you want cutting edge research, conference talks and blog posts may be as good as papers.

1. 2007 Blackhat conference Sulley talk "Fuzzing Sucks! - Introducing Sulley Fuzzing Framework" [2]

2. Google Charlie Miller fuzzing. My favorite slide decks are [7] and [8]. High fives (and a beverage on me should time and space ever permit) to anyone who can find audio or video from the actual talks.

Shameless plug(s):

1. Due to lack of response on Sulley pull requests, I forked to a new project called boofuzz [4], and I commit to at least address pull requests more quickly.

2. I'll be giving a fuzzing talk at Defcon 24's Packet Hacking Village which will address, among other things, the state of open source fuzzing [5].

[1]: http://www.peachfuzzer.com/resources/peachcommunity/

[2]: http://www.podcast.tv/video-episodes/pedram-amini-aaron-port...

[3]: https://github.com/OpenRCE/sulley

[4]: https://github.com/jtpereyda/boofuzz

[5]: https://www.wallofsheep.com/pages/dc24

[6]: http://www.vtt.fi/inf/pdf/publications/2001/P448.pdf

[7]: https://cansecwest.com/csw08/csw08-miller.pdf

[8]: http://pages.cs.wisc.edu/~rist/642-fall-2012/toorcon.pdf

realkitkat 1 day ago 0 replies      
thornjm 1 day ago 1 reply      
I would have a look at Project Zero.

P.S. I think many governments and corporations would keep their fuzzing techniques quite secret. You don't want to do the same fuzzing as anyone else.

platz 1 day ago 0 replies      
curious how people who have been doing fuzz testing feel about property-based testing (at least the part about generating inputs, not asserting results)
majke 1 day ago 0 replies      
You should watch for upcoming presentations of Mateusz Jurczyk @j00ru . I'm not entirely sure where he's going to present next though.
Ask HN: Best Windows tablet for work email, office document review, edits
6 points by skynetv2  18 hours ago   12 comments top 4
code777777 11 hours ago 1 reply      
Surface Pro 4, it's a great machine with a useful stylus.

A few people at the office really like the Dell XPS 12 2-in-1[1] with the upgraded keyboard[2].

[1] http://www.dell.com/us/business/p/xps-12-9250/pd?ref=PD_OC

[2] http://i.dell.com/sites/imagecontent/products/PublishingImag...

freestockoption 17 hours ago 2 replies      
I've been using a Chuwi Hi 8 Pro. 8" 1080P screen, 2GB ram, latest Atom processor. Fits in some of my pockets. $90.

Bought it from a store that shipped from China. They also have tablets that have cellular and higher resolution screens. Runs for $200-300. But I'm not sure I'd spend that much for an offbrand.

At that point I feel I'd just get a Surface or Galaxy Tab Pro S to get the warranty, peace of mind, etc.

Still, a Windows tablet is incredibly useful! Especially for dev work.

AngeloAnolin 17 hours ago 2 replies      
If your primary laptop is a MBP, and then switching over to a Windows 10 tablet, there might be instances where you may get confused on how things work, as both features offered by the OS (Microsoft vs Apple) is very different.

But to stay the course of your question, the best Windows 10 tablet would be Surface Pro 4.

giucal 18 hours ago 0 replies      
(Joke) The best Windows tablet is no tablet at all.
Ask HN: What to do after failing final interviews twice?
101 points by uyoakaoma  2 days ago   141 comments top 65
johan_larson 2 days ago 1 reply      
Take heart. The interview process is designed to say no. A common anecdote at Google goes like this: "I persuaded the best programmer I know to apply at Google. And we rejected him." These companies say no to all kinds of talented people every day.

Apply again next time you are looking for a job, if Amazon and Google really are the sort of companies you want to work for.

Think back on your interviews and figure out what you did wrong, then study up on that.

And next time, prepare very carefully, with a focus on algorithms and data structures. I would use this book, although it's a bit dated now: https://www.amazon.com/Data-Structures-Algorithms-Alfred-Aho...

This one may also be useful: https://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp...

buss 2 days ago 3 replies      
I know how you feel, but take solace in two facts:

1. Any good company will have a high false negative rate, because it's more expensive to hire a bad candidate than reject a good one. That's why the big ones (Amazon, Google, FB, etc) will keep re-interviewing you for the next few years. They know they make mistakes and want to try again under new circumstances.

2. If you actually are unqualified right now, you're very close to being qualified! If you've made it to onsite interviews then you're doing better than the majority of candidates. Most people are rejected at or before the phone screen. You're close, give yourself another year of improving your craft and interview again.

Background: I worked at Amazon, and conducted interviews while there. I've conducted lots of interviews at a startup, I just interviewed at Google for the third time and finally got an offer (now 6 years after graduation). At all places, we optimized for false negatives.

moondev 2 days ago 1 reply      
Just making it to those on-site interviews is an accomplishment in my book. Just because you did not get the job does not mean you didn't gain anything. Use your experiences moving forward and you will land somewhere.

There are plenty of non-unicorn places that are awesome to work at. Maybe focus on some startups and other places, you don't have to take the job if they offer you. You are just as much interviewing them to see if it's a good fit.

The other thing too is the more you interview the more comfortable you are with it. You have already experienced probably the tougher interviews out there. Keep at it and you will land somewhere you love.

sp527 2 days ago 1 reply      
I've worked at Google and Facebook and I've been rejected from almost all of the top companies at one point or another (including Google, amusingly). It really doesn't mean much other than that not all the variables lined up during that particular interview process. It happens. Don't let it get you down!
aphextron 2 days ago 0 replies      
Interview for a third time. Just getting to the point of an in-person interview with both Amazon and Google means you're clearly a qualified engineer. Chalk it up to practice. Tech interviewing is a skill, just like anything else.

They just have the luxury of being very picky and rejecting people for no real reason.There are plenty of great tech companies out there, I promise you.

nilkn 2 days ago 2 replies      
This is nothing to worry about. These companies do not blacklist candidates for not getting offers. You can try again in the future. Their interview processes are designed entirely around finding reasons to not hire someone, so much so that they very often make mistakes and reject talented applicants.

It's also important to understand that there are many great companies out there. In fact, I think Amazon has a fairly controversial reputation as an employer for programmers, so you very well may have dodged a bullet. I'm really not exaggerating on that either to try to make you feel better. I've legitimately heard lots of horror stories about Amazon.

bkjelden 2 days ago 1 reply      
Keep Trying.

Informal stats I've seen say that the big players still reject 80% of their onsite candidates - you're not a loser, it happens to a lot of people.

I failed 3 in a row in one week once - not fun. I know how you feel. I was pretty bummed for a few months and it took me a while to restore my confidence.

For me, my progression with tech interviews was definitely non-linear. I sucked at them and felt terrible and incompetent, and then suddenly things started to click very quickly and I'm alright at them now. The only real way to get better is practice.

danso 2 days ago 0 replies      
I don't have much to add but "complete losers" don't get invited to Google's and Amazon's campuses, nor do they get several hours (at the least) of top talent devoted to finding and interviewing them.

But that perspective is hard to see right after being rejected. The worst thing you can do is let that drag you down into a self-fulfilling prophecy, unable to meet the plenty of opportunities that will come your way.

mindcrime 2 days ago 1 reply      
Remember, they don't actually know if you're qualified to work there or not. Interviewing is hardly a science. There's a lot of intuition and "gut feel" involved. Being reject could mean anything from "you actually are unqualified" to "the interviewer's dog got run over by a car this morning" or anything in between. More likely it means something closer to "these people don't actually know how to evaluate me to see if I'm qualified for their job or not, and the outcome of this process is closer to random chance than anything else.

IOW, don't let it get you down. If you feel the need, continue studying, working hard, learning new stuff, etc. as that can only help you in general. But there's no need to feel like a loser.

CommenterMan 2 days ago 4 replies      
"Jumping from failure to failure with undiminished enthusiasm is the big secret to success."

I don't know the source of this quote, but it was repeated by a physicist in the documentary "Particle Fever".

lefstathiou 2 days ago 0 replies      
Here's an idea: consider working with us : )

Finsight (New York) www.finsight.com

About Us: 3-year old NYC-based enterprise fintech startup. We create web-based tools that help investment banks use data to automate workflows and sell fixed income and equity securities.You can very loosely think of us as an Angelist for institutional investors. Every month, $10-20 billion of financings are exclusively marketed through our platform (Angelist did $150 million in 2015). We work with all the leading bulge bracket investment banks (Goldman Sachs, Morgan Stanley, Bank of America, Citi, JPM, Barclays, etc) and hundreds of the nations leading corporations like Fannie Mae, Freddie Mac, Ford, Hyundai, etc.We are bootstrapped and profitable and believe we are in a very unique position to significantly impact an extremely valuable segment of Wall Street (new issue offerings).

What We're Looking For: Full stack is ideal but we are flexible. Most important for us is someone who enjoys coding and is self-organized. We are a very lean team and need a lot of help - we don't have bandwidth to do a lot of hand holding so we need people excited about taking ownership over their work. We have great clients who are supportive and we have a roadmap that can easily get us into 2017. We know what we need to do, need help doing it...

Stack: Front-end: angular and express Backend: laravel, php, node.js Database: MYSQL Deployments: chef and dockerInterview Process: 1. Resume screen 2. Phone screen with hiring manager 3. Onsite interview with team (expect some technicals) 4. Done.

Contact: leo@finsight.com

mwfunk 2 days ago 0 replies      
In my experience, the majority of people who interview at the big tech companies don't get offers. It's not even necessarily because the interviewee made any mistakes, just for whatever reason many companies like that are super picky because they can afford to be.

You shouldn't feel bad about it at all, but I know the feeling- it sucks, especially if you really got your hopes up. However, the fact that you got those interviews reflects very well on you, and the fact that you didn't get the jobs does not reflect poorly on you.

Just going through the interview process is a really useful learning experience. It builds confidence for future interviews and gives you a feel for how you might want to further develop your professional and/or interpersonal skills.

Sometimes job-seekers get lucky and get an offer right away. Sometimes people interview at 10-20 different companies before it works out. All you can do is not take it personally, learn what you can from each experience, and keep trying. If you keep trying you are guaranteed to eventually succeed (well, on an infinite timescale :), but if you give up you are guaranteed to fail immediately. Good luck!

davesailer 2 days ago 0 replies      
OK, you revealed only far down this thread that you actually are a special case, not just some random local who got an interview. That does add complexity.

But (and I am no expert, and I have never come within a million miles of this level of employer), I decided decades ago that anyone who didn't have the brains to hire me was someone I didn't want to work with. No, really - what you see and what you think you want might not be what you need, and a different employer could be a better match.

I've found in my life that unexpected and unanticipated opportunities usually turn out better for me than ones I think I ought to pursue. Maybe that's only me, maybe not.

And finally, as others have said, interviewing gives you more practice at interviewing, which makes you better at interviewing, and more likely to make it through the inevitable random fluctuations that reject qualified candidates. Randomness is not your fault, but practice at recognizing it and dancing around it will help you.

joncp 2 days ago 1 reply      
Well, it's pretty standard knowledge that Google's hiring process is a capricious shambles. Give it a third try and you might get in.

Not sure about Amazon's hiring process but from what I hear, you're better off not working there.

eachro 2 days ago 0 replies      
I got rejected at 7 final onsites before landing an offer. There is hope for you. Just keep working on projects and whiteboarding. Don't underestimate how much focused interview prep can help. Good luck!
fenomas 2 days ago 0 replies      
The thing to remember is, there are maybe 10+ possible reasons you didn't get an offer, and only one of them (doing badly in the interview) is under your control. The others (position got cut, somebody else was a better fit, internal requirements changed, position filled by an internal transfer, etc) are, if not random, at least indistinguishable from random from your perspective.

Of course, they usually don't tell you the reason in your case, so all you can do is guess - if you think you bombed the interview then study what you missed, and if you don't, chalk it up to randomness.

gorbachev 2 days ago 1 reply      
If you didn't get any feedback as to why you were rejected, there's no point in feeling bad about it.

There are all kinds of reasons companies reject candidates. A lot of them have nothing to do with your competence.

Maybe they had a better or cheaper candidate come along. Maybe the open position was closed. Maybe they thought you were overqualified. Maybe the interviewer(s) had a bad day and rejected everyone. Maybe one of the interviewers is an asshole and vetoed your candidacy over the objections of everyone else.

You have no idea of knowing what happened, even if they did give you feedback. They are certainly not going to tell you that everyone but the asshole wanted to hire you.

blackflame7000 12 hours ago 0 replies      
First off, you are not a loser just because you weren't selected by some of the most elite tech companies. Google will never know how many talented people they have accidentally turned away over the years because of trivial things like the whiteboard test.

My advice to you is pick a language and just program anything and everything. Make it a point to master one language rather then learn 10 for a resumes sake. No one cares how well Shakespeare wrote Spanish and no one will care if you don't know perl if you are a c++ guru.

Finally, don't let your opinion of yourself and your capabilities be dictated by someone who barely even knows you and what you are capable of. Google is a fantastic company but even they make mistakes. Focus your energy on trying to prove them wrong.

nindalf 2 days ago 0 replies      
A real warrior doesn't dash off in pursuit of the next victory, nor throw a fit when experiencing a loss. A real warrior ponders the next battle.

Ponder your next move and come back stronger.

philwelch 2 days ago 0 replies      
I recently quit my job because of burnout and management problems. Since then, I applied to 39 jobs. I pulled out of the process with four, 34 rejected me, and the last one was the offer I accepted. Out of the 34 that rejected me, 11 rejected me after a full loop. I don't know what was more insulting, doing 11 full loops (3 of which required air travel!) without getting an offer, or getting rejected by 23 companies without even reaching the full loop step.

Big companies have fixed interview processes that are designed to weed out false positives at the expense of having a lot of false negatives. Startups by and large don't know WTF they are doing when it comes to hiring. Companies in the middle deceive themselves into thinking they have a process when they really don't know what they're doing. Some companies experiment with their hiring process, which is a lot like not knowing what you're doing except they get usable data out of it afterwards (at the expense of you, the applicant). And some companies don't even have a clear idea of what roles they need to hire for when they bring you to a full loop. Twice I've received interview feedback to the effect of, "we like you, but we can't actually move forward with the role we interviewed you for because we lost budget/want to rework the role requirements".

If you're interviewing with places like Google and Amazon, you're in a career that pays six figures. A six figure career isn't treated like a five figure career, and tech is a pathological example of this. Most six figure careers--doctor, dentist, longshoreman--have some sort of barrier to entry where you go through years of hazing, high expenses, and unreliable income. Other six figure careers are really just the top of a five figure career. With tech, I don't know how it is if you have some sort of marker that you've already been through years of expensive hazing (i.e. a degree from MIT or CMU) but for a guy like me who went to a mid-rate state university, there's the same instinct to have a high barrier to entry but instead of making that barrier to entry something that you can spend a few years climbing through, it's a gigantic wall that you get one chance to jump over. And that wall is the interview process.

oykos 2 days ago 0 replies      
I interviewed at Google 3 times over 6 years before they hired me. I am now a senior staff engineer (L7). Don't sweat failure - learn from it!
EliRivers 2 days ago 0 replies      
Stop reading Hacker News and everything like it. Such echo-chambers have persuaded you that working for one of a handful of companies is all that counts, and that your worth is measured by doing so. It's damaging your mind.

Come back mentally protected.

devonkim 2 days ago 0 replies      
You were not rejected by Google and Amazon, you were rejected by fallible, biased, and hopefully well-intentioned representatives at Google and Amazon as part of their human-driven internal processes.
JSeymourATL 1 day ago 0 replies      
> What to do...

Go find a small-shop, where you can learn and grow. Where they will appreciate your contributions more. And you'll have greater impact.

Be so good they can't ignore you. Incidentally, that path will also make YOU a future prime target for the Big Guys. Google especially is fond of acqui-hires > > http://blogs.wsj.com/digits/2015/12/23/bebop-was-more-than-a...

ajeet_dhaliwal 2 days ago 0 replies      
You should not feel like a complete loser because the interviewers are just people like you and their decision says nothing about you as a person, they just think they didn't see what they were looking for, they may be wrong and even if they are not wrong, it says nothing about your potential.

That said I don't think any advice here will really help. I've been in a similar position years ago and you have to experience actually getting into one of these places and then realizing everyone's just the same as you to feel better about this. I'm in the opposite situation to you now and trying to get out of a large tech company and do my own thing. I would say keep applying if this is what you want and keep practicing the interview style questions - personally going over algorithms and data structures without any other motivation besides interviews is hard for me. If you can work on something of your own, even a game or something not important do so, because when you finally do get in to one of these companies, you might find out (perhaps sooner than you expected) that you want to get out and having experience doing your own thing might make that easier.

partisan 2 days ago 0 replies      
When I didn't manage to make it past my Amazon interviews, I hit a wall. It was a harsh realization that I was either not my best self or that I was not good enough. After a two month slump, I decided that I was just not up to the standards of a rigorous technical interview, but that I could get there with hard work and a new mindset.

I can't tell you not to feel badly about it, but I do want to tell you that 4 years on, it doesn't matter whether I would have been hired by Amazon. In fact, I probably would not have my own company if I had been given an offer.

cloudjacker 2 days ago 0 replies      
What I hate about Google onsites is that EVERYONE YOU EVER KNOW is invested in the outcome, without consider what you think is right for you.

You could be interviewing full time at 20 companies through Hired.com and nobody bats an eye - no matter if they are interesting, pay extremely well (or not), are located in a cool place - Google's interview has people in lalaland. Which makes a non-offer outcome much more compounded than actual.

TheMog 2 days ago 0 replies      
As a lot of people have already said, even getting to an on-site with either of these companies is an accomplishment in itself. I've had on-sites at both and like you, I've been turned down. Doesn't stop Amazon from coming back to me with different job opportunities about once a year.

Keep in mind that in most cases you will not be given the real reason for rejection (mostly as a lawsuit-avoidance measure) but something vague like "not qualified" (which can mean anything starting from a wrong haircut to the interviewer bearing a grudge against your school) or "decided to go with another candidate". Heck, I've been told by an employer that they'd found an internal candidate for the position only to find out nine months later via the grapevine that the rejection happened the exact day a hiring freeze with "rightsizing" had been instituted.

You're not a loser, otherwise you wouldn't have made it in there in first place. What it means is that on this particular day, the stars didn't align for you.

shaftway 2 days ago 0 replies      
Take it as a learning opportunity and try again.

I'm assuming you're a software engineer....

You didn't say anything about your skill level or experience, or what level you were looking for. Interviewers are often given a target level to interview you at, and if you are not at that level you will get low marks (though better interviewers will often suggest you be hired at a lower level).

You should have a pretty good idea of how you did on each question. Did you check edge cases? Solid test coverage? Did you ask clarifying questions? How good were your answers? If the obvious answer is O(n^2) then there's an answer that is O(n log n). If the obvious answer is O(2^n) then there's an answer that is O(n^2). Look for infinite loops. Memoization. Recursion, and unrolling that recursion into a loop.

Don't get discouraged. You were just handed a study guide for your next interview in 6 months.

Remember to ask questions about the company. Even if you know the answers. An interviewee that's asking questions looks more engaged and is more likely to get more attention. I like asking questions like "What's the best/worst part of working here?" Things that it's legit to ask more than one interviewer, in case they talk and share your questions.

Acting calm and relaxed, and being able to hold a conversation helps a lot. You're not just interviewing for your ability. You're going to be part of a team, and if your interviewer can't imagine working with you, that may translate into a pass.

Learn something new. Disjoint sets are a great tool for interviews. I've taken questions that the interviewer thought was O(n^2) and solved it in O((n)) which grows so slowly it might as well be O(1). I boned up on proof by induction before my Google interviews and it helped carry me through.

Practice interviewing. I went on half a dozen interviews to prep for my interview at Google. I occasionally interview even if I'm not looking. I've had 10 jobs (I used to jump around a lot) and I've probably gone on well over a hundred interviews. Most were practice ones I didn't particularly care about, some were practices that turned into jobs. Very few were specific jobs I was working to get.

You might have just gotten unlucky. http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog... has a good synopsis of the stress and dejection that not getting hired holds, particularly at Google, and how you might have just happened to get the wrong interviewers.

acconrad 2 days ago 0 replies      
Practice! Books like Programming Pearls and Cracking the Coding Interview will be useful for you. Meet with friends and do mock interviews.

Developer interviews are similar to the SATs/GREs/any other standardized test. It's not a test of your general ability so much as it is a test of your ability to do well on a standardized testing format. And in general, the best way to ace those is to practice interview problems a lot.

williamstein 2 days ago 2 replies      
Since this question is specifically about in-person interviews, I wonder if you could work on your attention to detail regarding language skills. For example, in this very question you wrote "After going to on campus interviews with both companies but only to here the word you are not qualified", which contains multiple mistakes (the punctuation is incorrect and "here" should be "hear").
youngButEager 2 days ago 2 replies      
H1B story. I was contracting as a middleware software engineer a while back.

They posted job descriptions for two senior-level programmers, both positions requiring Masters degrees.

These two 'job opening' announcements were placed in the break room so everyone saw them.

The pay? $65,000 a year.

The steps to hire an HIB require:- the employer make a documented effort to hire a U.S. national first- by posting a 'Job opening' - by interviewing

A lot of times, tech firms are hiring H1Bs from India etc.

Right? Just take a look at the over-representation of foreign nationals, compared to U.S. college grads/citizens, at the tech firms you've worked at.

When I saw "$65,000 annual salary" well my goodness. Do you think they'll find someone, a U.S. national, to take that position? No.

It's an unhappy truth, but if you know you're qualified, not too old, and felt a lot of rapport with the interviewers, and did well on the tech part of the interview, and don't get an offer, the firm my not WANT to even be doing that interview but they must before hiring an H1B.

abovechange 15 hours ago 0 replies      
it's not about what the other say. They try to judge you in a few minutes, even though a real judge needs months or years. I still figure out a lot of positve aspects of people working with me, as well as negative, after months in the same company.The truth is that it's all about what you think you can make, not what the other say. Just smile and keep going on your road, always with head up! =)
jknoepfler 2 days ago 1 reply      
In the eyes of the interviewers, you were not the most qualified candidate for the position they were hiring for. That's nothing to feel bad about, it just means that if your goal is to be hired by Amazon or Google (or etc.), you need to improve your qualifications (work a different job), and/or improve your ability to communicate your qualifications (work on your "whiteboarding" skills. Also if English was the language the interview was conducted in, work on your conversational English with a language swap partner). You may even "run better" if you re-apply without any improvement, but why take that risk?

There is no penalty to you for re-applying to different jobs at Google or Amazon, and you may find a team for which you are a better fit, you may have better interview luck, or you may be evaluated against a less competitive pool. In the meantime, get a different job and don't let your skills rust.

vmarsy 2 days ago 0 replies      
Try Microsoft and Facebook.

Try applying for an internship if applicable, the barrier of entry is lower.

Don't get discouraged, I got rejected 4 times at the phone interview level before getting an offer. You should feel proud for going on-site with Google and Amazon already. Try to reflect on your mistakes during those 2 events to make the 3rd on-site interview a success.

tomjen3 2 days ago 0 replies      
Don't feel like a complete loser (yes, that is easier said than done). You failed two interviews, but an equally valid way to look at that is that you go so far as the interview stage at two companies, one of which is legendary for being monsterously difficult to interview for. You just did something 99.9% of the world will never ever have the change to do.

Did they tell you why you didn't pass the interview? If so work on that, if not, know that there are tons of companies out there that will want to hire you.

I never applied for anything like Google, but I had companies that wouldn't take a second look at my application and companies that spent the entire interview stage trying to wow me to sign the employment contract. Most companies (probably in particular Google) have an employment pipeline that has _nothing_ to do with whether you would be a good employee.

Don't be discouraged by a few companies choosing not to hire you.

matt_wulfeck 2 days ago 0 replies      
It's so important for you to be rejected from many places because it helps build your rejection "tolerance". If you read about people you admire, you will see their paths absolutely paved with rejection.
ndesaulniers 2 days ago 0 replies      
Get back on your horse and try again. Took me 4 tries to get into Google.
rdl 2 days ago 0 replies      
1) That's two companies. And presumably for two roles total. There are probably 50k other options.

2) If you can get feedback from friends who work at either on how the interviews went, and specifically what they found unqualified about you, you can try either remedying those deficiencies (which might be real, or might be perception -- different ways to fix), or you could apply for roles/companies where those matter less.

Amazon and Google are pretty different, aside from both being "big", so it would be helpful to know what you liked about each and their roles.

subway 2 days ago 1 reply      
You find another org you're interested in working with and move on with life.
Bahamut 2 days ago 1 reply      
Happens - I failed interviewing with Google 5 times this past year, the last time being my first in-person with them (feedback was inconsistent performance).

I've learned at least with Google, sometimes you get bad luck with the draw...and in my case, I had some quite bad luck with recruiters who weren't the greatest communicators. One technical phone screen was waived due to the team's familiarity with my work, only to be rejected as not what they were looking for for that specific role.

Also, sometimes rejection is a blessing. The important thing is to make the most of your experiences.

kdamica 2 days ago 0 replies      
You are not a loser. Getting in the door at these companies is an accomplishment in itself, and puts you in the top tier of applicants.

Treat every interview as a learning experience for the next.

One thing you can do when you start looking for jobs is to accept interviews for roles you are interested in but wouldn't feel terrible turning down. This will give you some experience before you interview for the roles you deeply want. Interviewing is a skill, one that I've found needs to be relearned for every job search.

Taylor_OD 1 day ago 0 replies      
As others have said... Keep trying. If you really want to work at one of the large players its often a multi year process of interviewing and getting turned down until you dont.

As far as feeling line a loser... Interview more. I'm sure there are plenty of smaller shops that will throw plenty of money and praise at you if you need a ego boost.

greenleafjacob 2 days ago 2 replies      
The measure of an engineer is what he builds. There is plenty of top notch engineering going on outside Google. Think WhatsApp, CoreOS, Rust at Mozilla, Azul JVM, etc.
orsenthil 2 days ago 0 replies      
If you like to work for one of these companies, then try again. You should try until you get it. Also, it helps to remember that, cracking the interview is just one part and you will be able to do it at some point in time with practice, but working as a software developer is a different story. You could aim to become a good software developer at anytime, irrespective of where you work. I hope you give preference to the later.
rincebrain 2 days ago 0 replies      
Practice and breathe.

Realize that even if you're doing well, interviewers can still perceive you poorly, and the process is weighted to reflect how much more painful a bad hire is than rejecting a good hire.

Practice is going to improve your performance and put you at ease with the process, and give you a better understanding of when your performance was not up to snuff versus just not meshing with how the interviewers wanted to interact with you.

schwarzmx 2 days ago 0 replies      
Like others said - keep trying. I was rejected by both companies once, and now I work for Amazon. You get better with time.

Also, both companies have quite different styles of interviews (whiteboard programming aside). Really pay attention to what the recruiters suggest to study up before the interview.

asimuvPR 2 days ago 0 replies      
Its normal to feel defeated. The process is tough. But you should recharge your batteries and try again. :)
swagtricker 2 days ago 0 replies      
Screw 'em. Take the opportunity now to learn that a career in software development is far more than cranking out code on bullshit deadlines where you're just another numbered drone in the hive. It can also be making colossal mistakes at small to medium sized organizations where you deal with stupid politics and influence major architecture and platform decisions because business people don't know what they're doing:)

Seriously though: get involved with a local users group & meet people interested in your language/stack of choice. Get to know a bit about the smaller places they work & why they do it. Network, look for new opportunities & take a run at some place where you can have some impact.

Disclaimer: due to personal biases and the shared experiences of friends & colleagues, I would _NEVER_ recommend someone who loves their CAREER filed get pulled into a JOB at a big U.S. company. Take my advice with a grain of salt (or perhaps a full kilogram).

Xyik 2 days ago 1 reply      
Understand that the success rate is probably something like 5% for high tier companies, being 1 of the other 19 that failed isn't anything to be ashamed of.

What's important is that you reflect on things you could have done better in your interviews and learn from it.

pm90 2 days ago 0 replies      
Every Google interviewer I've spoken to has told me the same thing: most Googlers got in on their 3rd or 4th attempt. Don't take it personally; there are a ton of opportunities for Software Developers in the US.
3pt14159 2 days ago 0 replies      
Often times its really hard to say no to someone, especially if they've gotten that far into the interview process. Just keep moving forward. You'll find something that you like and you'll forget all about Amazon.
bobdole1234 2 days ago 0 replies      
You'll interview again, and again, until you are qualified.

Then you'll get hired.

Joof 2 days ago 0 replies      
These companies have a very high rate of false negatives and are often happy to have people reapply next year. Apply to more companies and get as many rejections as you can!
cheez 2 days ago 0 replies      
Don't worry about it. Rejection is part of the process. I was rejected even being the best candidate, according to them, because of "culture fit".

I translated this to mean old.

thefastlane 2 days ago 0 replies      
if feasible, try to have a debriefing conversation (on the phone) with your google recruiter. obviously will depending on their individual style, but they can sometimes provide vital feedback that you can use to get better for when you interview with google again in the future (which you definitely will at some point.)

above all, get back on the horse! and again, and again, and again. don't let feelings stand in the way of what you want to accomplish.

sjg007 2 days ago 0 replies      
The founder of what's app was rejected from Facebook.
gsmethells 2 days ago 0 replies      
Build something the world has never seen and carve your own path. Nothing builds confidence like productivity and it helps you learn new things to boot!
lackbeard 2 days ago 0 replies      
If you're still looking for a job: apply to other companies. If not, reapply at Google and Amazon in 6-12 months.
sgt101 2 days ago 2 replies      
This is pretty odd, surely they saw your CV before the interview? Perhaps ask your contact at these companies for more feedback?
known 2 days ago 0 replies      
They may not have the "relevant" opening for you.
Walkman 2 days ago 0 replies      
just fail a couple more times perhaps?
cagey_vet 2 days ago 0 replies      
i've blown perhaps hundreds. it gets better.
Ologn 2 days ago 0 replies      
After having interviewed many people (and having been interviewed), I eventually modeled in my head the average technical competence of candidates as a Gaussian curve with a normal distribution. The lower part of that curve got weeded out by headhunters and HR. Then we go through resumes and weed more out - you need to have a certain level of competence (or a friend with such) to know enough to put a resume that looks good, even if it is puffed up some. Then we weed more out with phone interviews.

By that point, unless someone slips through, usually we are interviewing people on the right half of the curve. Which means the bulk of people will be average - as good as the average programmer, or admin, or what have you.

About one in six will be one standard deviation above the mean. About one in twenty will be two standard deviations above the mean. About one in three hundred or so will be three standard deviations above the mean. Bruno Bowden said the top leadership at Google was at least three standard deviations above the mean.

So that's the answer. Are they interviewing six people, or twenty (or three hundred)? Without a reference from someone in the group, the person they hire will probably be the one who is one or two standard deviations above the mean.

I think one example of this is in answering questions. Usually the first three questions I ask are the same for each person. People who stumble over the questions, who kind of can answer them, barely, rarely recover after them. People who hit all the questions out of the park right off the bat usually hit all the other questions asked out of the park. In a sense, for people who don't hit the first three questions out of the park, I'm only continuing the interview to not be rude (also usually my opinion is one of several, but no one ever said someone was competent that I said was not).

So I think that's one thing. You should be able to answer 100% of the questions asked, in detail. Because that was the hit rate of the people we thought were good. Not stumble over a sort-of answer, but answer in full, and explain whatever area is asked about in full detail if asked.

The one in six or one in twenty who could do this were given offers, unless they had severe personality issues. In my experience, here being average is good enough, although different places have different ideas on fit.

Flipping this model around, maybe one out of twenty interviews I've gone on have I been asked inane questions, where me not doing well was more the interviewers fault than mine. But for the other nineteen of twenty times, I would say if I didn't get the offer it was either because I applied for a position I was not qualified for, or I just was not prepared and filled-in on the subjects as I should have been.

Also, your English language and spelling skills are lacking, as someone has noted here. Were the interviews in the English language? If they were, that's something to work on.

beachstartup 2 days ago 2 replies      
> I feel like a complete loser.

if you quit after only two tries, you may have a point.

Ask HN: How to tell a good friend you don't want to include him in your startup?
5 points by sueddie  17 hours ago   7 comments top 3
davismwfl 11 hours ago 2 replies      
Not to be a dick, but just man/woman up. Tell him/her that sorry, I just don't think we'd make good partners right now and (if true) I'd rather preserve our friendship. If it is true tell them the friendship is more important then a business that may or may not make it, and frankly you don't think the two of you would make a successful business together right now.

If they don't grasp that they are a pretty fair weather friend to begin with so don't loose sleep and get your business moving.

mod 11 hours ago 0 replies      
I've had this problem with my family. I own a brick & mortar business with my brother, and I am a developer. I built a side-project that he was part of and he failed to do his part, and it is just sitting, stagnating at this point.

He has more ideas he wants to pursue and I'm unwilling, due to his role in the first.

But because I have an ongoing partnership in the b&m business, it's hard to be fully forthcoming about not wanting to work with him.

My situation is different in that I'm not going ahead with the idea without him. Mostly I've just put off working with him again and he hasn't been too persistent about getting started on anything.

Even still, if I were faced with the conversation of "why don't you want me to be a part of this?," I would tell him exactly why. He wasn't a good co-founder in the past, I don't expect he will be this time either, and I'm not prepared to risk another business on him.

I would tell your "good friend" that you don't enjoy working with him, even though you like him, and that you won't be including him.

AnimalMuppet 16 hours ago 1 reply      
I might say, "I don't think I can do a startup with you and still maintain our friendship. And I'd rather be your friend." (Without telling him/her why you can't do a startup and still be their friend...)
Ask HN: Anyone running a SaaS based on machine learning?
13 points by osazuwa  1 day ago   1 comment top
LuisFerreira 1 day ago 0 replies      
Im trying, is a service for acounting people we get data from the local IRS then we use machine learning to predict the best way to classify it and type it again on the original system but already classified.
Ask HN: Could a religion be started today?
11 points by dhruvkar  1 day ago   11 comments top 7
tlb 1 day ago 1 reply      
An interesting trend is secular churches that provide the community and inspirational parts of church without invoking the supernatural. For instance, http://www.sundayassembly.com/

Transpersonal psychology has some elements of a religion. https://en.wikipedia.org/wiki/Transpersonal_psychology

Both the above seem compatible with logic and freely available information.

Gustomaximus 1 day ago 1 reply      
Scientology is obvious example. But sure. Most religions, even old one tend to adopt parts of other religion quite closely. Which also makes Scientology more unique.

Some others: https://en.wikipedia.org/wiki/List_of_new_religious_movement...

pesfandiar 18 hours ago 0 replies      
With a looser definition of religion, we already have modern forms of religion: Apple, Whole Foods, ...

They stimulate the same neural paths [1], they have the same cult following, and they for sure have reliable revenue streams from their members.

[1] (low quality link, sorry) http://www.businessinsider.com/apple-is-a-religion-neuroscie...

prawn 1 day ago 1 reply      
How different would it need to be from existing religions? If not especially different, I imagine variations spring up almost daily around the world.
Lorenz-Kraft 1 day ago 1 reply      
I think that starting a religion is not that difficult because almost all religions are based on austerity/deprivation with a promise.
meric 6 hours ago 0 replies      
The way people write "Science" capitalising the first letter, and says things like "one day Science will solve these problems for us", sound a lot like putting faith in a religion to me. What is religion but philosophy mixed with some faith?
lttlrck 22 hours ago 0 replies      
I would daub that so long as there are religious/God believing people in the world there is the potential for new religions to be created.
Ask HN: Are the Pokemon Go articles real, or is their PR firm amazing?
25 points by somid3  1 day ago   26 comments top 16
rwhitman 1 day ago 1 reply      
I haven't played it, but pretty much every time I look out the window of my apartment here in NYC there are random people wandering aimlessly around my block with their phone pointed in weird directions. I have friends and family in my hometown telling me all sorts of stories about swarming amusement parks, masses of kids out in the street etc...

Genuinely viral, not a PR blitz. The network effect of human activity in close proximity, physically gathering in already crowded public spaces, and then spreading to areas of non-players is probably the key viral component on this one. Someone sees other people on the street playing it, they check it out, explore other areas, the network grows and so on.

Likely more effective virally than social networks because it's a well developed game mechanic - skill, mastery, rewards etc - and apparently it encourages strangers to interact, not just existing social circles. So the activity leaps over the "tribal" firewall.

It just turns out that viral social media manifested in the real world starts resembling an actual virus.

_jdams 1 day ago 0 replies      
Pokmon is one of the biggest franchises in the world. It's like the McDonald's of gaming, and the people that grew up consuming it are now in their 20s-30s and extremely active on Social Media.

Before major news outlets pick it up, micro-blogs, niche blogs for gaming, and other entertainment media outlets are going to publish stories about it, and the content writers of those sites are all the demographic that grew up with Pokmon, so it's no surprise really.

ovt 1 day ago 1 reply      
I was wondering this as well because...pokemon came along...when? After my time, anyway, like late 90s.

And then kind of died down, I think, or at least wasn't a monstrous craze at least.

And now in 2016, does it mean that everyone who was super into them 15 years ago is all for it?

If I think about what I was super into at 10, the nostalgia doesn't go that far today.

I mean I see I'm late to the party here and everyone's already said it's real, but I was just surprised.

Around 2007, for some months there, the world was saturated with articles about Second Life. Eventually I saw an article about how it had come about as a result of hiring a new PR firm.

(Or has nostalgia changed? At least if I imagine giving 1940s kids something connected to that in 1965, it seems like they'd be like "Um, I'm a grown wo/man." But today hollyworld is all superhero movies.)

Bonus question: How long before we grow really sick of hearing about it?

captainmuon 1 day ago 2 replies      
Actually I've been wondering if a PR agency has been running a huge campaign against Pokemon Go. There were a bunch of articles last week:

- People sent to churches and graveyards

- One person found a dead body while playing

- Someone supposedly had an accident while playing in the car

- One black person pointing he couldn't play the game safely as it would be dangerous to wander around aimlessly as a black guy in the city

- A bunch of inappropriate places like strip clubs were included

This seems to me like the next candidate for overblown, unjustified outrage. Like D&D in the 80s, or Google Glass recently. I'm just waiting for Moms Against Pokemon Go.

samfisher83 1 day ago 0 replies      
Pokemon is a 50 billion dollar franchise. It has made billions of dollars for its owners. The franchise has made more profits than twitter, Facebook and maybe a few other unicorns combined.

Its not that surprising it is doing well.

wallflower 1 day ago 1 reply      
My cousins played Pokmon in elementary school. They were obsessed. They invited me to play a couple games when I visited them (I had no idea which Pokmons were good). Now, they are graduating college. It is an entire generation that was raised on Pokmon, now starting their millenial lives.

It's probably the most interesting thing that has happened in games since Minecraft. Mobile games were stuck on Bejeweled clones or even more upmarket stuff like Clash of Clans. This almost guarantees a shift in development dollars towards AR.

Seeing Pokmon Go players in person is a little disconcerting though. They are more 'out of it' than usual, where 'out of it' baseline is the person texting while walking down the street.

angryasian 1 day ago 1 reply      
The buzz for this game is very real. I've been in SF and LA over the last week and you see people walking around everywhere with this game on. The only question is that because of the barrier of having to be in physical locations and having to walk/drive is this game sustainable. I think with additional game mechanics niantic can definitely make this a long term hit.
chatmasta 18 hours ago 0 replies      
Definitely genuinely viral (although of course that does not preclude the pokemon PR people from pushing articles!)

I'm not surprised. I have multiple friends who bought Nintendo 3DS's to play Pokemon over the past couple years... mind you, these are not nerdy kids. They are mainstream friends who are not gamers. They've been openly playing pokemon and there has been zero stigma attached to it.

I think what's most amazing about this latest craze is that it managed to attract these mainstream, non-gamers. My Facebook feed (early 20s college educated) is seriously 20-30% Pokemon posts. And it's not the nerdy kids posting screenshots, it's people you would never expect, evenly distributed across genders.

Can you imagine people sharing screenshots of their world of warcraft quests on facebook?!

crazypyro 1 day ago 0 replies      
No, I think it's just actually that popular of a franchise. A ton of my friends (early 20's) are talking about it on Facebook to the point where its a large portion of my entire newsfeed.
k__ 1 day ago 1 reply      
Well, Niantic already had their first successful product years ago, so I wouldn't call them a startup anymore.

Also they riding on a 20 year old hype train that had nothing to do with them.

So it's in the news because of The Pokemon Company, Nintendo and Google/Alphabet.

bjourne 1 day ago 0 replies      
In Stockholm, I've observed two different people taking photographs of stuff for their Pokmon Go collection or whatever it is. It's spreading quickly like the Harlem Shake, Ice Bucket Challenge and the Gagnam Style video of the past.
NamTaf 1 day ago 1 reply      
See all these people in the below photos? They're playing it. At night. In a public park. I walked through there at midnight on Saturday night and it was just as busy. During the day it's even more so. Walking through just about any inner-suburban public park currently involves watching groups of 20somethings scurry around trying to locate pokemon.

It has been explosively successful in the traditionally non-gamer markets. News outlets are picking it up because it's so ubiquous.



MyNewAcc 1 day ago 0 replies      
My girlfriend who never plays video games had me walking around the neighboorhood with her, catching pokemon. This is the real deal, not PR.
31reasons 16 hours ago 0 replies      
Pied Piper moment of technology (the original story not the HBO show!)
bbcbasic 1 day ago 0 replies      
Read about PoGo players wandering into courthouses taking pictures and getting into trouble in Sydney.
miguelrochefort 1 day ago 0 replies      
Did GitHub just change its default font family to system defaults?
53 points by jasalo  2 days ago   17 comments top 12
BafS 2 days ago 3 replies      
Yes, the new font-family is now:

 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";

0x54MUR41 2 days ago 0 replies      
I think, they did. I am running Ubuntu 14.04 LTS with Mozilla Firefox. The font size has a big size than the previous one.

Related discussion: https://news.ycombinator.com/item?id=12073109

anishathalye 2 days ago 0 replies      
If you don't like it, you can fix it by using this: https://github.com/rreusser/the-old-github-font
toufique 2 days ago 0 replies      
Looks like it. I was thrown off too.
fo747 1 day ago 0 replies      
I wonder if they looked at the difference in markdown look on OSX+Chrome. Bold is completely broken, see screenshots comparison here (tweeted at Github): https://twitter.com/MrOlovsson/status/752843094765236224
ryan-allen 4 hours ago 0 replies      
Where is the blog post explaining how and why they did it?

I am really interested in the reasoning behind the change, the insights, I bet they are really interesting.

xfalcox 2 days ago 0 replies      
Noticed this earlier today. It's using Ubuntu on Gnome Ubuntu 16.04 with Chrome.
holyketzer 19 hours ago 0 replies      
New font is awful
WorldMaker 1 day ago 0 replies      
I like Segoe UI, so this works for me, at least.
cauterized 2 days ago 0 replies      
Whatever it is, its legibility is horrible.
hopechen 2 days ago 0 replies      
i think so, it used to be helvatica
Ask HN: How to deal with family not supportive of you doing a startup?
6 points by panicocats  16 hours ago   4 comments top 4
coreyp_1 16 hours ago 0 replies      
This is a hard one. If you are relying on them for financial support, then they have every right to complain. The answer, then, is to not rely on them for financial support, because then you can tell them that you are making the best decision for yourself.

I suggest that you take a job so that you are self-sufficient, and schedule around that. Your time is valuable, too, and if you adopt the "I can meet anytime" philosophy, then that means that none of your time is particularly valuable. Provide for yourself and DO NOT apologize for it.

Your goals are not your family's goals. Accept that, and figure out how to live with this mismatch, otherwise you will only be miserable.

For what it's worth, I commend you for taking the chance, and I hope it works out.

Good luck!

wayclever 13 hours ago 0 replies      
In general, if it's my experience that German citizens are very fiscally conservative. Now you may disagree with your family, and they may feel obligated to persevere in their duty to prevent or minimize any adverse consequences that result from your naivete, or willful ignorance. Pay attention to the following story... And the lesson you need to learn.

Bill Gates and Paul Allen were negotiating how to split the founder's stock for their new company, Microsoft. Gates argued that Allen had a part time consulting job so he, Gates, ought to receive a majority of the shares. ALLEN RELENTED agreeing to a 60/40 split favoring Gates. They signed their agreement and all the necessary paperwork, and the next day Gates went out and landed a CONSULTING GIG much like Allen had!

The lesson is this... Don't be the dumbass who gets played. Be the smart ass who wins without taking unnecessary risks.

If you're serious, and you're smart, you will maximize your upside and minimize your downside. You might have to become more efficient, seriously committed to your success, and less concerned about your ability to work at a level you have never before attained. Admit that to your family and let them know you're going to do it m.. And that you will require their support. As you may at times cry like you're a 6 year old boy. Your parents will support you, as long as you're not being a dumb ass.

Be a smart-ass and your family won't hassle you nearly as much. Heck, they might even start to offer to contribute... Time, resources, effort. But that's only if you really start to figure your shit out.

Peace Out.


kafkaesq 10 hours ago 0 replies      
It is true, I may well be homeless if it isn't for them.

Like they say in your country: Da liegt der Knackpunkt.

If you were at least nominally independent financially -- you would have every right to remind them that you're an adult, and to tell them to buzz off -- provided you don't see yourself running into debt and perhaps needing their help some day.

But since it seems you are quite dependent on them financially, to some degree, at least in the short run -- then you have very "bad cards" in this regard.

internaut 12 hours ago 0 replies      
I'd advise you to take the long view. I'm familiar with the culture you describe.

As I'm sure you're aware opportunities are not distributed linearly. However most of those opportunities are better exploited with the gradual accumulation of skills and domain knowledge.

I echo coreyp's advice: get a part time job. As long as you can pay for food and shelter the rest of the hours in a day are yours.

Ask HN: Should SaaS charge a non-profit?
13 points by michaeloblak  1 day ago   21 comments top 15
giaour 1 day ago 1 reply      
If you're going to have a policy, I would caution against having one that requires a case-by-case evaluation. That will not scale well and can lead some to allege bias.

As an example of a reasonble, scalable policy: Salesforce used to (and still might) offer any 501(c)3 non-profit organization 10 free licenses. The IRS makes a judgment call when issuing or renewing 501(c)3 status, and you can save yourself some time by relying on their evaluation. If an organization is big enough to require more than a small number of licenses, then they're big enough to pay for them.

matthewowen 1 day ago 1 reply      
I used to work for a digital agency that specialized in working with non-profits.

It's perfectly acceptable to charge non-profits for services, and non-profits expect to be charged. Getting free services and products is often a great way to get crap. Non-profits have budgets, and they're willing to spend them to achieve their goals.

It might be effective to offer discounts or limited free functionality to non-profits, but you should probably view this as a marketing strategy more than as a moral pursuit.

davismwfl 1 day ago 0 replies      
Set up a policy and not a case by case evaluation as giaour pointed out.

Personally, differentiate between charity and non-profit. All charities are nonprofits but not all nonprofits are charities. I'd give a significant discount to charities upon proof of status, say 50% off, but not necessarily for non-profits. Think of it this way, your Home/Condo Owners Association is likely a non-profit, so are a number of exclusive country clubs etc, but they are not charities and shouldn't be seen as equal.

Also, having been an exec at a Charity, make sure you also talk to your own accountant as if you follow a set policy like this, and validate proof of status (annually) I believe you are entitled to some tax benefits as well.

codegeek 1 day ago 0 replies      
They may be Non-Profit but you are probably not. If you really like their cause, you can offer them a small discount. I don't usually know if my subscriber is non-profit but when they do mention it, i happily say that we offer a <insert random> percent discount and give it to them.

Don't bother checking if they really use your service for non-profit. Check if they are abiding by your TOS and that's it.

herbst 1 day ago 0 replies      
I dont see why non profits should be free. Isnt even FIFA a non profit on paper? If it fits your company i would just mention somewhere that you offer discounts for non profits and decide from case to case.
jasonkester 1 day ago 0 replies      
Only if it makes business sense to do so.

For a long time, I used to give out free Twiddla licenses to students and teachers. It generated a ton of good word of mouth referrals and established it as something that people use in the classroom. Now that I'm charging again for those licenses, I sell quite a bit more because of that positioning.

I occasionally get non-profits asking for free licenses too, and I always say no. There is no upside like there was with .edu, so it just amounts to giving things away for free.

A non-profit is an organization with a budget that they can spend on things like software. Your software has a price, so they get to pay it. Tell them as much and they will understand.

saluki 1 day ago 0 replies      
I would offer them a discount and think about donating to them once a year a portion or all of their subscription if you like the cause.

Free accounts could become a burden over time and could lead to people just trying to sign up for a free ride.

Add a link to your pricing page that says Are you a 501(c)3 non-profit contact us for discounted pricing.

See how much interest you get. You can decide on the discount when the first email rolls in. (Setup a new contact page/form that indicates to you they are interested in non-profit pricing).

Make a difference.

sjs382 1 day ago 0 replies      
I don't get enough people asking for discounts to matter, but I usually give a discount to anyone who asks.

I do this a bit as a pay-it-forward thing. When I was in college, Github was offering their lowest plan (which included a few private repos) for free for educational use, if you emailed them. Well, I reached out to them, they gave me the free account without any verification. I had the account well past my time in school, though I lost it sometime in the last few years.

I'm happy to pay the same sort of thing forward to anyone who asks.

wallflower 1 day ago 0 replies      
Slack has a great policy. It is not a blanket policy - they have exclusions.


Domo 'gives back' by helping non-profits use their BI platform (Hadoop with a pretty front-end).https://www.domo.com/customers/goodwil

nparsons08 1 day ago 0 replies      
Do you have overhead? If so, yes. A non-profit still generates a significant amount of revenue... especially since they don't have to pay the same tax as a normal company does.
gus_massa 1 day ago 0 replies      
Do you like the activity that they do? Would you donate $5 to them?
partisan 1 day ago 0 replies      
Check the pay for the top executives at non-profits. Then decide whether you should forgo your profit for theirs.
3eto 1 day ago 0 replies      
>How to make such help good for both sides?

Convert the value of your service and reinvest it back into the nonprofit as unrestricted funds. Nonprofits are usually in need of unrestricted funds.

mankash666 1 day ago 3 replies      
Unfortunately, most non-profits are notorious for money-laundering and illegal activity. I believe you should consider waving fees on a case-by-case basis, if you can spend money to evaluate, but if you can't, I'd err on the side of caution and not waive fees.
Mz 1 day ago 0 replies      
First, educate yourself about the NPO sector, example:


Second, look for articles like this:


Not for profit organizations are not inherently more moral than for profit entities. They aren't inherently better run. They aren't inherently doing a better job of serving the greater good.

Some sorts of services work better under certain organization models than others, eg it is best to have a government run or volunteer or not for profit fire department that automatically responds to all fires, regardless of ability to pay. That simply works better than a for pay model because if you do not put out your neighbor's fire because they are poor and cannot pay, the fire can soon become your problem and, at that point, it can be a bigger problem that is harder to solve.

But that does not mean that a non profit model is inherently superior in all cases. Business done right is a force for good. It is a civilizing, peace promoting force. And, sometimes, NPOs are all kinds of fucked up and were created for all the wrong reasons.

Ask HN: How do I disclose bugs to a company without a bug bounty program?
11 points by scott_hardy  1 day ago   9 comments top 7
pmiller2 1 day ago 1 reply      
As anonymously as possible, IMO.
MaulingMonkey 1 day ago 0 replies      
> I am reluctant to email their customer support.

If this reluctance is out of security concerns, you could always ask for the best contact method to report security vulnerabilities without disclosing the vulnerability to that email.

Plugging their website into https://whois.icann.org/ may give you some alternative contacts if you just hate customer service.

yladiz 1 day ago 0 replies      
Even though you're reluctant to email their support, you can contact them without disclosing the specific issue and just ask for their security contact (or a person who is authorized to handle this kind of issue). An alternative is to contact them by phone number, if they have one readily available. Also what MaulingMonkey pointed out, you can see if the whois gives you any more contact info.
JSeymourATL 22 hours ago 0 replies      
Try emailing the CIO/CTO direct. You can look up his address here > https://emailhunter.co/
flukus 1 day ago 0 replies      
Post the exploit here. It will get to where it needs to go... eventually.
NameNickHN 1 day ago 0 replies      
You could contact a well known security expert that does this kind of stuff professionally, unless you want to make a name for yourself.
alexmingoia 20 hours ago 0 replies      
Don't. Hold them for ransom. Why do you want to do charity work for for-profit businesses?
Ask HN: Family friendly beach town in California?
10 points by ishbits  1 day ago   13 comments top 12
poof131 1 day ago 0 replies      
Lived in the bay area, LA and San Diego for extended periods.

If I were remote, focused on family, and somewhat price conscious, first choice would be San Louis Obispo: beaches, nice downtown, college town. My next choices would be San Diego (north of La Jolla) or Santa Barbara. If you are less price conscious and want to move north, then Half Moon Bay or Santa Cruz. Can find more remote places too that are amazing if you want that, like the Big Sur area or north of the Bay Area. Tend to like the places mentioned more than Carlsbad or Ventura, but those places arent bad by any stretch.

Been to Costa Rica, its nice, but more expensive than people think and issues with crime, like dont ever leave your house unattended. Brother goes to Nicaragua to surf a lot, sounds like Costa Rica but cheaper and less stable. Mexico still feels too dangerous to me. About three months ago our nanny was scared to go home because of the crime. When I was in the military not too long ago, you needed a Generals approval to go. Some areas are probably good but doesnt strike me as family friendly, more like retirement and vacation compounds. No idea about Panama, but all sound like an adventure.

Good luck and have fun. Remote sounds better by the day.

re_todd 5 hours ago 0 replies      

 San Luis Obispo is awesome as others have said, but it is about 10 miles from the beach. Ventura County is also good, but has been getting very expensive that last 10 years. Carpinteria would have been great 15 years ago, but prices have gone through the roof. This would be my short list: - Between Carlsbad and La Jolla - Cayucos/Morro Bay/Los Osos (all pretty close to each other; I prefer Los Osos because not many people know about it and thus not a lot of traffic on holidays and weekends) - Some of the lesser known towns between Monterrey and Santa Cruz - Fort Bragg/Mendocino area If you're ok with living 5/10/15 miles from the beach, housing gets much cheaper.

jasonkester 1 day ago 1 reply      
You asked in the right place. I recently spent the better part of ten years trying to find this place, for exactly the same reasons. Sadly, the short answer is that it doesn't exist.

Like you, I'm 100% remote, so my constraints were "Somewhere in the world, with pleasant living and good surf". Sounds easy right? The problem though is that they nearly always put the good surf right on the beach, so anywhere that also has pleasant living will have $5m houses to go with it.

California crosses itself off the list immediately. Santa Cruz has tiny run down houses for around a million dollars in the Pleasure Point area, walking distance to some really good surfing, but you need to at least double that if you want a house that isn't being sold as a teardown. Santa Barbara has good waves and possibly four houses within 30 miles that you can afford, but none down by Rincon where you want to be.

San Clemente could work. If you drive far enough up the hill from Trestles, the soulless, yardless, cheaply built houses eventually come down to $800k. Further north, you might find a house inland from one of the urban breaks for that price, provided you don't mind people shooting at your kids on occasion.

As to Parts South? I'd recommend you spend a good full season in Nicaragua or similar before you buy there. You'll learn a lot about the psyche of your typical Expat Surfer In Central America. Turns out he's kinda bitter, and not a very pleasant guy to spend your time with.

And the places where you'd buy your house tend to be of the "cleared farmland on the coast between fishing villages" variety, with gates at the road to ensure you never meet any locals and Fancy-yet-Sad houses overlooking the sea at prices that aren't really as cheap as you'd expect. It's unlikely that you'll actually find a nice piece of land next to the quaint fishing village with an undiscovered point break out front.

We spent several winters in places like that, and never found one that really felt like we could make it home.

One ray of hope might be Puerto Rico, in the West Rincon or Aguada area. Spend next winter there and see if you can deal with the combination of dusty cinder block houses on the coast with giant Walgreens/KFC strip malls on the outskirts of every little town. With a good architect and a well chosen plot of land, you could make it work there. A lot of people have, and the vibe is a lot more friendly than the Mexico crowd.

All the best, and don't hesitate to hit me up with any questions!

Peter_Franusic 18 hours ago 0 replies      
Arroyo Grande (AG). It's close to Pismo Beach and SLO (San Luis Obispo) along Highway 101.

My wife took my young sons to Pismo Beach often. She let them play in the surf with no worries, because the surfers were vigilant of little kids.

As for afforable housing, we have friends that live inexpensively in rural AG, back in the hills. Very beautiful.

SLO is a great college town. Lots of engineering students and faculty for potential friends. Lots of fun things to do in downtown SLO.

niftich 1 day ago 0 replies      
Coastal towns are expensive everywhere, but that being said:

Santa Cruz suburbs are a good bet; Soquel, Aptos, Watsonville (last is inland).

Or in the San Luis Obispo area: Pismo Beach, Morro Bay. Cayucos, recommended already, is here too.

gspyrou 1 day ago 0 replies      
Naxos island in Cyclades , Greece http://www.naxos.gr/en/ .
3eto 21 hours ago 0 replies      
Not on your radar, but I've been getting a solid answer for the same question. Cape Town
axrami5 14 hours ago 0 replies      
Look into Redondo Beach CA. Amazing little town. By far one of the most affordable beach towns, not a ton to do but its quite and safe.
saenns 1 day ago 0 replies      
cayucos - better weather than SC


LarryMade2 1 day ago 0 replies      
South of Bodega Bay is going to be more expensive than North of it, but Nothern coastal communities are much more rural.
mergy 1 day ago 0 replies      
Santa Cruz or Aptos.
harroweddude 14 hours ago 1 reply      
This comment violates the HN guidelines and we ban accounts that do so. Please re-read them carefully:


Ask HN: How to document scheduled jobs for non-technical users
5 points by Pamar  1 day ago   2 comments top
wallflower 1 day ago 1 reply      
Private Internet Access: We Are Removing Our Russian Presence
20 points by radiorental  2 days ago   2 comments top
partisan 1 day ago 1 reply      
How difficult would it be for this to happen in the US?
Ask HN: What are possible drawbacks of using a company in Singapore?
5 points by ianderf  2 days ago   1 comment top
bbcbasic 2 days ago 0 replies      
Sounds like a big question you'll probably need a lawyer and tax advisor that specialises in Singapore. What attracts you to there are you based there?
Ask HN: Is there anyone here who has sold software via Gumroad?
13 points by thesoonerdev  2 days ago   3 comments top 3
helen842000 1 day ago 0 replies      
I sold a WordPress plugin for writers via Gumroad, sold a handful. This is compared to selling hundred of other types of basic products like pdfs, ebooks etc via the same platform. I promoted the plugin on ProductHunt, Twitter and via friends - not really directly with the intended audience which was a mistake. It was a fun experiment but I think most people are unfamiliar with buying software in that way. For the customer it doesn't seem like it will be a product that is supported.
sjs382 2 days ago 0 replies      
About 6 years ago, I wrote and sold a dumb little modification for WP-eCommerce that added additional details to admin emails. I think I charged $20 one time fee.

I promoted it in forums and Q&A websites that asked specifically for the feature.

I think I sold 10-ish total? I was young.

david90 2 days ago 0 replies      
Yes, we sell MakeAppIcon Desktop on Gumroad.

Overall they provide a nice looking store and easy integration. But it's hard to do trackings over the store.

Ask HN: How do you decide for a backend language?
96 points by dvcrn  2 days ago   91 comments top 56
nl 2 days ago 8 replies      
I have a personal rule, which I've shared on here before and people seem to think has some merit:

If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

drinchev 2 days ago 2 replies      
In my freelancing career I usually choose the language with the following Q&A to my colleagues ( myself, if it's a side project ).

1. Are there business requirements for the language ( already written project, specs, etc. ) ?

2. What kind of budget does the company has for hiring devs ( killing point for Clojure, Elixir, TypeScript, etc. ) ?

3. What's the most difficult problem that needs to be solved by the product ( you probably don't want to create a 3D Game with NodeJS, right? Or a highly dynamic charting with PHP ) ?

4. Is there going to be a front-end / back-end division in the team ( Having a division makes you more comfortable in choosing the back-end language, since most full-stack devs are using NodeJS/PHP/Ruby ) ?

5. Finally if you are working on your own task and previous questions didn't give you the right answer, you could ask yourself : Do I need to learn something new or I want to build something fast?

At this point you will have eliminated most of the obvious choices. Recently I'm using Isomorphic TypeScript with NodeJS for most of my side-projects, but first thing I will do if something goes above a certain amount of users is to start thinking business-wise and answer those questions on my own.

endymi0n 2 days ago 2 replies      
Now we're talking optimizing for a hugely multidimensional system here.

Expressiveness: If you've aiming for a large team, try to work with a language that enables large scale services and large teams - also in the long run, strongly typed languages will work out better for this case, Java / Scala being the obvious candidates. But if you go down a microservices route, other choices might work too.

Niche stars: Some languages have obvious strengths in certain niches, depending on what you want to build. Machine learning - Python, Microservices - Go, isomorphic JS web servers - Node.

Performance: Very many requests -> closer to the machine. Note that JITs have skewed this equation somehow towards being able to use scripting language, but it still generally stands, because if for some reason you can't track, code is falling out of the optimizer after a one line change, you're still screwed. Closer to the machine is more predictable.

Maturity / Current traction / Traction curve: Brand new is shiny and attracting bleeding-edge devs (making hiring easier), but be prepared to be the first one with a problem or having lots of devs around who love tech more than results and are gone for the next shiny thing in half a year. Lots of current traction is good, rather don't choose languages that are great but on the path down (Ruby). Be extra careful in choosing too exotic languages, you won't be the first company dying from not finding any devs for your ageing Groovy on Grails stack.

Availability: PHP and Java are safe bets, but it's much harder to separate the wheat from the chaff developerwise. Languages like Go or Clojure will find you more driven devs usually because they're not usually taught at university. Caveats: see above.

Lots and lots of other variables here, just some of the larger thinks to think about.

fallenhitokiri 2 days ago 1 reply      
Personally I feel most comfortable in Python / Go / Java - while I have no problem kicking off a project in another language, those three just happen to hit the sweet spot for me for different use cases while not getting too much in my way.

I assume we are talking about some side / hobby project, not starting new projects for a client?

One thing I usually take into consideration is if there are libraries or frameworks that will drastically reduce the amount of boilerplate I have to write.

Starting a web application in golang for example is surely possible, but while deciding on a router, template engine and datastore I can already start writing code in Django / Play / RoR.

If it is not an experiment to get to know a language or language specific features I usually prefer to go with some battle proven libs I can rely on and try to not reinvent the wheel.

Another thing to take into account is what kind of app you are actually going to build. Small CMS for a non profit? Crunching lots of numbers? CLI tool? Will you have to maintain it? Does it have to scale? How much time can you put into maintaining and scaling?

Those questions alone should already reduce the number of choices. For a simple CLI tool you could package a VM or require the user to rely on package manager and language which is installed on the system or you simply use a language that compiles to an executable.

So I guess my checklist in order I ask myself the questions:1. Does one of my goto languages fit the project?2. Are there libraries that would help me build it?3. Which language of the remaining ones annoys me the least?

nedsma 2 days ago 1 reply      
If you're starting a one man project, just take the one you're being the most productive in. If the project is a team effort, then it comes down to the team preferences or team members' willingness to change. From my experience, team adopting a completely new language isn't the big deal per se, more difficult is team dynamics, requirements/people changes, hiring new team members especially if your area can't provide many people with desired skillset. Take a look around what's the trend locally, for the vast majority of projects it's more important to deliver a quality project on time, than to code in a, now matter how, exotic (and other super attributes) language.
lucasarruda 1 day ago 0 replies      
Start based on the project itself.

If it's a personal project and there are no risks involved, it's a change to pick a new, innovative or trendy language, like Go, Elixir, Clojure, Rust, etc.

If it's a personal project, but you want to complete it fast, probably pick whatever you are more comfortable with. Don't try a new environment if you have to deliver in time.

If it's a corporate project and chances you are not alone in that project, pick whatever is more comfortable for the team. Don't try to innovate that much or you have a chance of have a world of not predicted problems with that language/environment.

But if it's a corporate project and you are mostly alone, then you could pick a different language from that world. Some language that you have deeper knowledge that others and maybe you wanted the team to try/adopt. And that's a quite nice opportunity to both showcase you abilities, initiative and the language itself - because companies generally have a hard time adopting new things.

Ronsenshi 2 days ago 0 replies      
1. Which language you know the best.

2. How well this language is suitable for a given task.

3. If language you know the best is not suitable, pick second language you know best and repeat 1. and 2.

For example, you wouldn't really use Go to write big, but traditional web application. You'd use something like Ruby, Python or PHP (maybe Java too). So pick among these.

adwf 2 days ago 0 replies      
Depends on a number of factors for me. If it's a small, well-defined project, just go with whatever you're happiest in. If it's a large project or a large company, then go with who you can hire (eg. Java, C#, etc.)

Actual language/subject matter practicality is a relatively minor consideration in comparison. You're usually talking about some sort of performance/dev-time/cost tradeoff and short developer time almost always wins. So small projects go with a quick happy language, big projects go with a "enterprise" language designed for large teams. Ultimately they're both about reducing the total devtime.

It's very rare for any particular task to be tightly coupled to a language. I can only really think of a couple, Erlang and SQL. Maybe C/C++ for high perf jobs. Otherwise, since all Turing-complete languages can technically do anything any other can, you're probably going to waste more time fiddling about in a new language that might be more appropriate, than if you just got cracking in your everyday general purpose language.

Most considerations beyond the above are probably just going to be people's personal opinions about their favourite language. It's like arguing emacs/vim or tabs/spaces, not going to help much ;)

manuelflara 2 days ago 0 replies      
Well it depends the nature of the project you're starting from scratch. If it's a new project at your employer, there could be factors like "how easy would be to hire / train people to work on this project in the future?" or "how mature this technology is / how likely is it that unknown problems will bite us in the ass in a few months or years". But if it's for personal use, I guess it's a matter of what your main motivations are for it. Personally, if I'm building an MVP or in other words, my main reason for building it is to get it in front of customers ASAP, I probably go with the stack I'm most familiar with. But other times I start a project just to play around, learn or get more familiar with a new stack, so then I do just that.
cies 1 day ago 0 replies      
For server and client side I'd go with a strongly typed language. This to help me maintaining the code base, mainly by making refactoring cheap.

Server side they are: Haskell, OCaml (or Facebook's Reason), F#, Rust.

Client side: PureScript and Elm; and to a lesser extend: TypeScript and Flow.

Now what counts is maturity of the "web" ecosystem. For server side I think Haskell and OCaml are more mature then F# and Rust in this regard. Client side non of the contenders are _very_ mature, where TypeScript and Flow are more of an extension on vanilla JS, so they will have good interop with existing libs.

For me Rust is a little too low-level for web dev, but it depends on the performance characteristics you are looking for.

theli0nheart 1 day ago 0 replies      
My business is working with non-technical startup founders and helping them get the technical side of the business off the ground. Your question is one I (and my clients) ask myself all the time (I'll leave out my preferred stack since it's not relevant to the question). Here are some questions you need to ask yourself:

* Are you planning to grow the business if the app succeeds? If so, how hard will it be to find developers familiar with the stack you've chosen? Or how difficult will it be to train someone to learn it?

* What is the ecosystem like? Is it already large and active? Or is it large and languishing? Is it easy to find help on StackOverflow / Google if you run into an issue? How easy is it to configure it to run on a bare VPS / EC2 instance?

* How familiar are you with the stack personally, and what's your planned completion date? If you want to get something up and running fast, unfamiliarity will lengthen your timeline. If you don't care so much about spending extra time learning a new skill, then use whatever stack you are most excited about learning.

Ultimately--and I know this probably sounds unhelpful--this is really a "feel" thing. Use whatever you feel the most comfortable with, whether that comfort is existing knowledge of the language, or the comfort is knowing that you'll be able to find help when you need it. Different things matter to different people, so I can't quite tell you what to decide, but this has always worked out for my technical decisions. Passion for your project can always overcome a sloppy or bad technical decision.

augb 1 day ago 0 replies      
If you have not already done so, I would recommend choosing a language to invest in, with the goal of becoming proficient in it. The purpose here is to select a language to be your "default" language. Write out a list of the things you value the most in a language and the things you wish to avoid. Examine the languages/paradigms you have already learned. Do any of these meet the criteria you listed (pros/cons)? If so, pick one of these to learn at a deeper level. If none of these are satisfactory, spend some time researching other languages or paradigms. Do other languages/paradigms match your criteria more closely? If so, it may be worth investing the time to learn something new.

I have yet to come across the "perfect" language or paradigm, but I have come across ones that have stretched me to learn new concepts I likely would not have learned otherwise.

One criteria I would not leave off the list is this: "I want to enjoy working with the language/paradigm."

danso 2 days ago 0 replies      
I imagine many people will say what you said, including me: For corporate projects I usually comply to whatever language the system is already written in and adapt to that

Assuming you're talking bout about a personal project, or a one-man startup...I'm interested in why you ask? That is, why do you doubt yourself? You've covered an impressive variety of languages; what keeps you from picking

a) What you are excited most about.

b) What you're most comfortable with, all things considered (years of experience, interaction with the community).

c) What the conventional wisdom says is good for the project that you have in mind, e.g. Rails for a full-featured web app, Elixir for something more minimalist with higher scalability, etc.

I don't have an ambition to deploy something into production, so I use Ruby for any quickie static sites, Python for data analysis (sans web-facing product), and am now redoing Past projects in Node because I've discovered that I enjoy ES6

csn 2 days ago 1 reply      
This is like asking a group of artisans what is the best kind of timber to make furniture out of, I'm afraid.
gizmo 2 days ago 0 replies      
If you just want to dabble with a bunch of languages pick whichever language is at the top of HN that week.

If you want to create good software then pick a language and stick with it for a decade so you really get to master it.

If you want to become a better programmer then work on interesting and difficult problems regardless of the language.

out_of_protocol 2 days ago 1 reply      
* Golang for something CPU-bound, small apis that should be really really performant

* Elixir/Phoenix for mostly everything else, including REST APIs, regular web-apps, various chats, backends for games, mobile apps.

How? It should be easy and fast to write some functionality, easy to add functionality on late phases of development, it should be "secure by default" (e.g. autoescaping untrusted input, cross-site-scripting protection on by default), fast enough for your task (usually all the langs fast enough but 10x is 10x :) (rails vs phoenix)). You'd also want to check for specific requirements of your target architecture (e.g. processing video, websockets)

zwetan 1 day ago 1 reply      
I can propose another one: ActionScript 3see: https://github.com/Corsaair/redtamarin

So yeah I'm the author of this project and while when I started it, it was mainly for fun "let's run AS3 on the command-line", couple of years ago I started to force myself to use it more and more server-side in the spirit of "eat your own dog food", and quite happy with it for my own side projects.

Now, as any other dev I also work with many others programming language server-side, and on a project where I'm the one to make the choice about which language to use I would say it does not matter much.

Seriously, most backend languages are more or less equivalent, except few details or "religious faith", it's not like the features of one particular language can make or break a project.

To chose one I pick the tech based on: who gonna maintain the project in the long run ?, what other dev (team) or owner (company, vendor, etc.) expect ?, what type of project or architecture is needed ? etc.

To be honest, being able to chose the language feels like a luxury, if you put "religion" aside, some people must trust you will make the right choice, even if you can chose whatever you want small comments like "we would like it to work on a LAMP stack", "we are a Microsoft shop", etc. can influence the choice.

But I do believe there is no wrong choice there.

guhcampos 1 day ago 0 replies      
I always start with Python, because I can't find any other language to be just as easy for others, including the "me of the future" to understand.

Then I go through Python's ups and downs for that specific project.

Is Python too slow for this? Then let's take a look at the most python-like techs on the "fast as hell" list.

Does it need to be small/embedded? So let's look at the Pythonics of the the crudest languages.

In recent years, this means almost anything I write is either Python or Go.

ams6110 1 day ago 0 replies      
Of the ones you listed, for backend I'd narrow to Python, Ruby, Java, or PHP. Reason, they are mature and have a ton of libraries, frameworks, and projects to build upon. They are not going anywhere.

For front end, it doesn't matter. It's a continually moving target. Your front-end will be an endless work-in-progress, as the pace of browser change, UI conventions/fads, and tech stacks shows no signs of slowing or converging on a common solution.

yc-kraln 2 days ago 0 replies      
The thing is, most projects can be solved by most languages and frameworks. Apart from some special cases, there isn't usually that high of an impedance mismatch. This means that you have to look to other factors to decide... things like:* Tooling support* Talent pool / ability to hire* Available resources* Support / stability

FWIW, the last time I had to make this decision, I went with Python--a language I had never used before. No regrets.

kenkam 2 days ago 0 replies      
There are several things I might consider, but this is by no means an exhaustive list:

* Tech fit -- how does this technology solve the business problem? Have you considered how the overall architecture will look like? You might end up splitting them up to several different components each potentially valid to be written in different languages, depending on their nature. Given that, what do you need to achieve? Perhaps a Rails app is fit for purpose if you're writing a proof of concept. Or you might opt for a language that has established libraries for exposing a RESTful interface and write an SPA on top of that. My point is that it really depends on the business problem and how that is tackled.

* Ecosystem -- are there libraries out there that help you do what you need it to do? Will you have to roll your own?

* How will it be maintained? If you're not working for yourself, then you can assume your code will be maintained by someone else. Is the technology chosen accessible for your intended audience? Like you said, if it is a xyz shop, then it might make sense to write it in xyz. If it's a polyglot shop, then perhaps this is less of a consideration.

* What are the development tooling like? IMO this is quite important for my sanity because I dislike using clunky tools.

* How will the code be pushed out to production. Are there established best practices for pushing the code you're written in xys language into production?

* How easy is it to write tests for the language?

Something to also consider is whether it is good for the future. There is an element of YAGNI here, but it's worth considering the longevity of your technical choices and how easy it will be to upgrade.

chuhnk 2 days ago 0 replies      
I started by learning what the company used; Java, PHP, Ruby, Bash, C. From there I picked up Javascript, Go, etc.

Personally, I pick the thing I'm most proficient in and enjoy building with. In a certain context certain languages make sense. Dynamic scripting can be useful for rapid development. Javascript is usually a must for frontend or simplifies code sharing longer term. Backend you usually need something more performant so after much searching I finally found Go to be a perfect fit but again thats a personal preference.

If working with a team I think it complicates things slightly. Now you must take everyone's skills and opinions into account. If working within a company you need to think about hiring and longevity of the code base. That's where normally you agree on 2-3 languages, again based on context and what's fit for purpose.

If you're just building something for yourself, go with what you're proficient in. If you want to learn a new language, pick one and build something to learn the language. If you're working with a team, democracy usually wins.

Hope that helps a little. Just my opinions and what I'm used to. Not gospel.

aggieben 1 day ago 0 replies      
I usually decide based on some combination of a) do I know the language/platform well b) is this for a client or for fun c) is this for learning, and d) is this a mainstream platform, then (e) if not, then does it have an advantage solving an important problem at hand?

If (b) for a client, then (a)/(d)/(e) are important. I know the .NET platform best and it's a mainstream platform, so I tend toward that one. If your strongest platform is X, then I think usually you should use X in general, unless something else has a distinct advantage (i.e., write device drivers in C or C++, not C#; use Y because it has libraries available that would save you tons of work, etc).

If (b) for fun, then I pick whatever I feel like piddling around with. Sometimes Node, Go, F#, C++, whatever.

If (c) for learning, then I pick something useful to me or something I need to get better at. Right now this is F# and C++ for me, but will sometimes be something esoteric.

segmondy 1 day ago 0 replies      
I choose base on what type of project I'm working on.

If there is a legacy project/library that I need to work with, I just go with whatever exists.

just a normal web application?- ruby or php.

building for enterprise?- whatever i feel like for jvm or .Net, but java or c# for the SDK

heavy on rules?- prolog

performance, small memory footprint- go/c++/c

prototype, machine learning- python

concurrency required- erlang/elixir, java/clojure

freek4iphone 1 day ago 0 replies      
I look at whether I need a quick prototype or a long term solution. I find it is much quicker to hack a web based prototype in NodeJS as compared to Java. Also, what kind of UI do we need, most of the times it's a web/javascript based UI then the choice is NodeJS because of seamless data transfer using JSON, other times the backend doesn't necessarily have to talk a lot with UI like Batch jobs and I prefer Java. If I am going to need a lot of CPU intensive jobs where manually spawning multiple threads can be beneficial I would go for Java, NodeJS will not be very beneficial in that case. Other than that it comes to features each language provides, like rich and robust concurrent and collections library of Java. Similarly if a lot of data analysis is required python is a clear choice of many, again because of the rich data analysis libraries.
flatline 2 days ago 0 replies      
Just use C++. C++11 is a nice, modern language. Lots of OO and functional constructs. It compiles and runs just about anywhere. Lots of people know enough to get stuff done with it. You don't have to worry about a VM and performance issues, and with RAII and smart pointers you don't have to worry overmuch about memory management.
ebbv 2 days ago 0 replies      
I choose languages based on what is best suited for the project. That is determined by the architecture of the project (is it a SPA or a more Ye Olde Fashioned web site? Is it just an API? Does it need web sockets? etc.)

The architecture is dependent on the requirements. Who will maintain this once I'm done writing it counts as a requirement. If I'm making it for someone else and I won't be maintaining it, and they don't have someone on hand to maintain it, I might not want to write it in Clojure or Node because it might be harder for them to find someone who can work on it affordably than if I write it in PHP or Ruby.

Sometimes multiple languages will be equally suited to the same type of project, in that case I go with personal preference. But that's very rare. Usually there's some good objective criteria like those listed above which will help you nail it down.

onion2k 2 days ago 0 replies      
It depends on the requirements of the project, but generally speaking I'll write in whatever I feel I'll be most productive with (previously that was PHP, these days it's Node). This is because the code I write doesn't need to scale up - I write pretty niche things that will never have more than a few tens of thousands of users. The language choice won't ever lead to a performance problem because it'll never get so busy that the implementation is the bottleneck. If there's a problem it's most likely to be down to my code/logic.

If I had to write a scalable system where the code would make a difference for whatever reason, then I'd do a lot more research in to that specific area.

sudhirj 2 days ago 0 replies      
If the problem is programmer bound, I use Ruby / Rails. For CPU and memory bound problems, Go. For very JSON and HTML centric APIs (Elasticsearch, documents), or for those the involve executing JavaScript from untrusted sites (scraping), I use NodeJs.
ceejay 1 day ago 0 replies      
I'd actually like to see more mixed shops. I proposed this once, but the idea got shot down. This was at a time when we were having a very hard time recruiting good developers for the technologies we were using.

IMO there's not enough difference between well-written Ruby / Python / PHP / JavaScript etc. to make a big fuss about it.

It's pretty well documented / understood how one would decouple the backend by simply interfacing your front end with a RESTful API backend.

That and the fact that it's become relatively clear to me that the present and the future of the web is in rich client architecture.

chadcmulligan 2 days ago 0 replies      
tooling available and libraries / frameworks are as important as language imho, often the domain of the application drives the choice of these. From these the language is determined.

Other factors are familiarity and what tech the people who have to support it are familiar with. Language is in some ways a less important choice and is seldom a matter of choosing the 'best' one.

if you're talking about a side project though, knock yourself out. Personally I'd recommend looking at Typescript (web), C# (windows), Swift (apple) or Delphi (cross platform).

swalsh 1 day ago 0 replies      
I use the best tool for the job. If it is a quick scripting kind of thing, python. An API, i'll probably use Ruby which has a gem for everything. If there's a lot of complicated rules where I might refactor a bit, i'll use a strongly typed language like C#. If its a data thing, keep it in sql. If its a stats thing maybe R. If it's a hardware kind of thing, C++.

I don't really care about what's hot or trendy, I just want to accomplish the goal, and i'll use the tool that gets me there fastest.

arc_of_descent 2 days ago 0 replies      
If it's a purely learning project for myself I would usually pick a new language which I would like to learn.

If it's not, you owe it to your client to have an open discussion about which backend (and frontend) language to select. If you are working with a contract, remember that you are only selling your services as a software engineer and that the client will eventually own the code (unless there is some other agreement).

BurningFrog 2 days ago 0 replies      
It's more about frameworks than languages.

You're already learning 2 languages a year. That's not so hard. The surrounding tech is the bigger investment.

tmaly 1 day ago 0 replies      
As some others have stated, if the problem domain is well understood, choose a new language you have an interest in learning. If it is not, it is better to stick with a language you already know. If you add a new technology to a problem domain you do not understand, there is a higher probability that you will create errors and headaches for yourself.
markokrajnc 2 days ago 0 replies      
For companies with existing technology stacks try to reuse existing knowledge (JNode, Java, .Net, ...).

For companies "starting from scratch": analyse possibilities and make a strategic decision about your technology then try to stay with it and build up the knowledge along the way...

In 1996 I made a decision to use Java everywhere where it is possible and I sticked to that decision up until today, so I prefer Java...

Akashsharma 2 days ago 0 replies      
For a personal project I usually prefer to get done with development as quick as possible so I choose the one which I am most comfortable with.
nikon 1 day ago 0 replies      
Personally I've agonised about whether X language has the best support, community, performance and whether it's the cool thing right now.

But if you're starting a project and you're strong in a language/framework already, just use that. Otherwise you'll spend months learning a whole new ecosystem instead of building the damn thing!

alpeb 1 day ago 0 replies      
If pretty much the same things can be achieved with all these languages, then the difference is not in the language itself but on other things like community, learning curve, availability and price of devs. With that in mind I would prefer Python or NodeJS.
verdverm 1 day ago 0 replies      
We are looking at Goa (http://goa.design) because it's Go and it generates a suite of extra tools and goodies. (API server, swagger spec, JS client, Go client, CLI tool, tests, docs)
Gnarl 1 day ago 0 replies      
Choose a language that has robust exception handling and that enforces a reasonable level of correctness at compile-time. Also, realize that checked exceptions are your best friends, although you might not always be able to handle them.
FollowSteph3 1 day ago 0 replies      
I say you're all wrong, the best language he/she should use is this: https://en.m.wikipedia.org/wiki/Brainfuck
gregwagner 1 day ago 0 replies      
I usually pick Java for projects I know I'm going work with other since most programmers know Java. If it's a solo project, I'll pick a language I want to learn, so I can get some stick time with it.
eru 1 day ago 0 replies      
I am surprised I haven't seen HN's typical love for Haskell in this discussion, yet.

(I do like it well enough, that I might even decide on my project on what I can write in Haskell. People usually go the other way round.)

sebastianconcpt 1 day ago 0 replies      
On the dynamic side of things I'm getting curious about Gemstone/S. Using Smalltalk as backend would have a huge productivity impact.

On the static side, Swift in the backend might be interesting.

k__ 1 day ago 0 replies      
First I look "which technology stack will suite the project best"

Then I remember that I'm bad at looking into the future and stick to "the technology stack I know the best"

neverminder 2 days ago 0 replies      
Scala is missing from your list, it has a wider adoption than Clojure and battle tested stack of frameworks/libraries such as Play, Akka, Slick, Spark just to name a few.
ed_blackburn 2 days ago 0 replies      
Inertia. Unless they're looking to extend a VB4 app without contemplating .NET I generally go with what the client already has. Boring answer sorry.
emidln 2 days ago 0 replies      
I use a language that I enjoy hacking. These happen to correspond to languages I understand very well in case I need extra features.
xiaoma 1 day ago 0 replies      
For a growing number of applications, the correct answer is WordPress and whatever plugins needed to turn it into what you need.
qaq 1 day ago 0 replies      
SPA that needs client side rendering -> nodeNeed WS, soft realtime, HA -> Elixir
projectramo 1 day ago 0 replies      
I'm surprised you don't have a default language.

I just always pick Python.

ruslan_talpa 1 day ago 0 replies      
Maybe you don't need a language at all for the backend (PostgREST)
pknerd 2 days ago 0 replies      
1- Based on past experience

2- Scope of the project

3- Cost

4- Duration

eggestad 1 day ago 0 replies      
First revel in the fact that you actually get to choose :-) most programmers just get to play with a choice someone else made.

First of all, are you going to be the product owner, or is this a consulting gig you're gonna walk away from? If the latter, chose what allow you do get the job done for the least amount of hours. As your reputation grows for getting the job done in few hours (cheap) you can increase your hourly rates. You don't need to read on. Also, if you're sure that no bottle neck is going happen. Meaning that the user will always get a response in less then 0.3 second, some thing. use whatever will get the job done fastest. In which case you should be looking at what components (like Databases, search engines, etc) are out there that allow you to get the job done fastest. Then choose you poison according to those sub systems. There is an argument for easy maintainability, in which case it comes down to how you tend to debug. I tend to use debuggers a lot, and that leaves be with Java from the languages I know from your list.

You need to identify the bottle neck your application is going to have. You're rarely going to be wrong. I tend to operate with 5 bottle necks:CPUMemoryDiskNetworkIPC

CPU: Easy, won't happen. It requires that you've avoided a memory bottleneck, meaning that you've figured out how to feed the CPU with data. There are only three languages where this is really possible, C, C++, and Fortran.

Memory: Unusual for a backend project, but possible. Solving it requires that you lay out your data the right way in memory, and you're again basically back to C, C++, and (to a lesser degree) Fortran. Anything with a new operator and garbage collector tend to be bad. If possible try finding an existing piece of software to do the job for you, but it's rare.

For disk and network bottle necks, programming languages don't matter.

If disk bound you need to try picking a sub system that do proper caching for you, like a SQL, NoSQL, or other system. Your design choice here will be on what you base your language decision.

Since you say backend, I'm assuming that you're on a web or mobile app frontend. In all likely hood, this is the bottle neck you're going to face. You should be concerning yourself with the frontend to backend interactions, not programing languages. Web frameworks and proper use of AJAX are more important. Worrying about languages is like worrying about getting a Ford model T, a Pinto, or a F-150 for a indy 500 or formula 1 race. You've asked the wrong question.

IPC! Strictly not a bottle neck, but a problem that occur a lot. Remember that a IPC call take about 1 000 000 times longer than a method or function call within a program. You have to assume 40ms latency from the frontend to backend. Calling web services, database requests within you backend if you spread it over multiple servers have a 1-10ms latency. You can assume 5-10ms in practice. Trying to keep a response time for a user interaction below 0.3s, i.e 300ms you should realize that you have a tight budget for IPC calls. A backend operation that involves 1000 DB requests is just not going to get done in 300ms. If you know that your DB operations will be the bottle neck, avoid ORM's like hibernate. You're going to be spending your time making DB procedure and optimizing SQL. If you're going to have a lot of business logic, chosing a language that don't lend itself to writing large programs may run you into trouble. It's tend you to keep programs short and use IPC to call the business logic. As a result I tend to stick to Java. Well, have been doing a lot of C and C++ stuff earlier in my career, so I tend to be a little biased. On the otherhand, have been wringing a lot of frontend logic in Javascript as well, and detest the language.

Hope this helps.

graycat 1 day ago 1 reply      
For a server-side language:

First, I decided to use Windows for my operating system. Why? Because when I made the decision, my computing experience had been on IBM mainframes, super-mini computers, PCs, and OS/2 with no Unix or Linux experience.

Second, on Windows I wanted a language that was a main Microsoft language with their best integration with .NET, ADO.NET for access to SQL Server, ASP.NET for access to the Microsoft IIS (their Web server software, Internet Information Server), etc. I wanted Microsoft's best documentation.

For performance, I wanted a compiled language.

And I wanted a language with syntax and semantics that were traditional and easy to read, write, teach, and learn. I did want to avoid the deliberately idiosyncratic syntax of C also borrowed by C++ and C#.

I have no interest in functional programming.

So, I settled on the .NET version of Visual Basic .NET.

For the language, I'm just thrilled with it. For my startup, for the on-line production code, I've typed in 80,000 lines of text with about 20,000 statements in Visual Basic .NET.

I find the language syntax and semantics easy to work with. The compiler is nicely fast. I am not sure I have yet found a bug. How the language works with IIS for developing Web sites is just terrific and, apparently, not commonly, clearly explained.

Oh, and I use no IDE (integrated development environment, e.g., Visual Studio) and, instead, just type into my favorite text editor and use some command line scripts.

My main beefs with Microsoft are (1) I wish the quality of the technical writing in their documentation was much better and (2) I wish Windows was much less vulnerable to computer malware.

But, for the question here, for a language, for me and my startup, it's Visual Basic .NET. I'm thrilled with it.

For client side code:

I use just some simple, old version of HTML with a little, simple CSS. For my Web pages, so far I have yet to write even a single line of JavaScript although Microsoft's ASP.NET writes a little for me. From what I've seen of more in client side programming in Web pages, I want as little as possible.

Ask HN: Is it advisable to develop a high-scale website using only AWS Lambda?
9 points by demetriusnunes  1 day ago   4 comments top 4
ewindisch 1 day ago 0 replies      
Just mind that the tools and services around Lambda are getting better, but you will certainly be a relatively early-adopter. It will undoubtedly result in some extra time spent learning, but you'll also eliminate a number of critical operational concerns and concerns about scale.

Mind that Lambda will not handle state for you, functions are stateless. You'll need to store state into hosted services like DynamoDB, Firebase, S3, etc... or stand up (micro)services that manage that state (say, a PostgreSQL database in Docker, saving to an EBS volume).

andreineculau 1 day ago 0 replies      
I am exactly there in terms of MVP and team. We had an AWS connoisseur who left just after I joined. Tiny micro nano services all the way except his know-how didn't rubb off that well with the rest if the team which is new to the web dev altogether. That's one thing. The other being the sea of reinvented lock-in technology that AWS is. While support is quick to reply, you will face many "huh?" moments that have little to do with arguments and more to so with unapologetic opinion, especially API gateway and its integration with Lambda.It's for reasons like the above that we're experimenting now with a more mono architecture, replacing API gateway with Beanstalk for now, nginx later, but still run Lambdas in the background.
nreece 1 day ago 0 replies      
It's not that risky, specially for early-stage MVP or prototyping. In my opinion, serverless is the future, at-least for 90% of Web apps, APIs and device app backends. It's great for rapid delivery, high scalability and low maintenance from day one.

Cloud Guru, a local Melbourne startup, is built entirely on AWS Lambda. They host Serverless/Lambda community meetups as well, and write about the tech at https://read.acloud.guru/tagged/serverless

gmac 1 day ago 0 replies      
I am considering very much the same question in fact, I got here via an HN search for 'AWS Lambda'. I am currently using Heroku + Heroku Postgres, but increasingly feeling overcharged and not entirely impressed.

At the moment I'm weighing up Amazon RDS Postgres plus either Lambda/API Gateway or Elastic Beanstalk.

Ask HN: Is TypeScript really that productive?
9 points by prmph  1 day ago   4 comments top 2
jmlee2k 1 day ago 1 reply      
- You can see which version of typescript is being used in VS Code in the bottom-right corner while a typescript file is open.

- It does take a lot of time to get a TS environment setup, but I have to agree with the previous commenter, the benefits are completely worth it. This is just my opinion of course, but it's allowed me to finally treat JS as a development option.

mattmazzola 1 day ago 0 replies      
There seem to be two different questions in your post.

1: Is TypeScript really that productive?Yes, absolutely. Intellisense, Go to definition, and compile time errors greatly increase productivity.

My opinion is that if you're working on a brand new project that has small code base you probably won't see much benefit from TypeScript. You would already know every function signature and connection between logical layers because you wrote all the code and it's small enough to keep all this in your head. However, if you start working on larger projects or get handed a new library / framework and you need to quickly ramp up on how to use it, the features I listed above basically mean the code is self-documenting (you no longer have to go to the API/docs website because the code is fully typed) and this forces you to learn how to use the new code correctly and with a short feedback loop because there are compile time errors.

2. Does TypeScript currently have a higher barrier to entry?Yes, absolutely. Although it's getting significantly better with every release and the next version which allows customizing module resolution and more flexibility for location type definitions through npm will help this significantly.

More detail on your other points:"tsc compiler seems to use a different version from the one in VS Code"VS Code should be using the local version installed in your project or the one located globally.

"I cant even find an easy way to know the version of TS that the VS Code editor is using"You should be able to see the version by typing `tsc -v`

"I see highlighted errors in the editor that do no show up when I actually compile"There's not enough information to know how you're compiling the code outside of VS Code, so I can't say for sure, but it would be recommended to setup a tsconfig.json file in your project (which is just json representation of the command line options you can pass to tsc) and then a basic setup would use `tsc -p .` to compile using this configuration in the current directory.

You can always extend with gulp webpack ect..

"Why Typescript can only compile .ts files is beyond me."I believe there is a newer "allowJs" option that does support something like this. I believe it uses JSDoc comments as substitutes for types and allows you all the benefits of TypeScript for libraries without .d.ts files if they have thorough JSDoc comments, but I haven't experimented with this myself.

In most cases you can just declare a module as "any".

"there seems to be a thousand different ways to reference and/or import other modules"I would agree this has been a problem. For me the confusing came from typescript having introduced 'module' keyword before es6 modules were standardized. Avoid using 'module' keyword and use ES6 style modules. If you really must you can use namespaces but there are often better ways to restructure files for same effect.

Also, avoid using /// <reference path="path/to/lib/index.d.ts" /> and use typings tool instead.

Lastly, there are some libraries which don't have correct type information and have to be imported like this:

import foo = require('foo');

which is a combination of es6 and commonjs formats, this caused me much confusiong as well, but from my understanding it's a necessary workaround to allow people to use those libraries TypeScript. IMO, avoid this syntax whenever possible.

"Until they fix the tooling issues, I think I will just say no"You're not alone with this opinion, TypeScripot definitly has more things to learn to get it setup and it's own set of frustrations, but at least you can know they are working on it and hopefully if you look back in few months the ecosystem will be ready for you.

Please confirm 2nd gen Intel bugginess in YMM overlapping
7 points by Georgi_Kaze  1 day ago   4 comments top 2
Georgi_Kaze 1 day ago 0 replies      
The testcode (C source and executable) is on Intel's forum:https://software.intel.com/sites/default/files/managed/2a/09...

During decompression of 'alice29.txt', on i5-2430M, it fails:

D:\Tsubame\buggy_AVX_compile>Nakamichi_Tsubame_YMM_PREFETCH_4096_Intel_15.0_64bit_SSE41.exe alice29.txt

Nakamichi 'Tsubame', written by Kaze, based on Nobuo Ito's LZSS source, babealicious suggestion by m^2 enforced, muffinesque suggestion by Jim Dempsey enforced.

Note: Conor Stokes' LZSSE2(FASTEST Textual Decompressor) is embedded, all credits along with many thanks go to him.

Limitation: Uncompressed 8192 MB of filesize.

Current priority class is HIGH_PRIORITY_CLASS.

Allocating Source-Buffer 0 MB ...

Allocating Target-Buffer 32 MB ...

Allocating Verification-Buffer 0 MB ...

Compressing 152,089 bytes ...

-; Each rotation means 64KB are encoded; Done 100%

NumberOfFullLiterals (lower-the-better): 4

NumberOf(Tiny)Matches[Tiny]Window (4): 157

NumberOf(Short)Matches[Tiny]Window (8): 52

NumberOf(Medium)Matches[Tiny]Window (12): 11

RAM-to-RAM performance: 11 KB/s.

Compressed to 73,071 bytes.

Source-file-Hash(FNV1A_YoshimitsuTRIAD) = 0x1366,78ee

Target-file-Hash(FNV1A_YoshimitsuTRIAD) = 0x8cec,be70

Decompressing 73,071 (being the compressed stream) bytes ...

RAM-to-RAM performance: 1152 MB/s.

Verification (input and output sizes match) OK.

Verification (input and output blocks mismatch) FAILED!


brudgers 1 day ago 1 reply      
I believe the Hacker News ranking algorithms often penalize submissions without links. The link might receive more attention if it is submitted directly. It is ok to add a comment with additional information once the thread has been created.

Good luck.

       cached 14 July 2016 12:05:01 GMT