hacker news with inline top comments    .. more ..    19 Apr 2017 Ask
home   ask   best   3 months ago   
Ask HN: Best business advice for software developers
580 points by zabana  9 hours ago   226 comments top 79
mattjaynes 4 hours ago 12 replies      
Since this is an audience of passionate technologists, here's the top piece of advice I have:

Do not be seduced by the technology!

I killed one of my startups this way. I've seen many many die this way.

It can hurt your pride as a passionate technologist to choose non-cool but mature and easy-to-hire-for tools. But it's those tools that are the most economical.

Remember, your customers care 0% about the backend technologies you're using as long as they are getting the value you promised them.

"Be regular and orderly in your life, so that you may be violent and original in your work." Gustave Flaubert

You're running a business, not a technological showcase for other engineers (who are not even your customers!).

Remember that the most economical tool for the job is often not the coolest or trendiest - but is some old boring workhorse that other engineers will scoff at.

Build your business for your customers, not for your technological pride or to demonstrate your technical prowess to friends.

Don't get me wrong though! There's certainly a time and a place to play with all the coolest and trendiest stuff, but if you're optimizing for growing a business, that is the time for choosing low-risk, simple, mature tools.

jargnar 7 hours ago 12 replies      
It's a skill that can be learned like every other skill. You can take the "in 21 days" route or the MOOC / University course route, or constantly read business articles, Steve Jobs videos, etc.

But some top tips stand out for me over time:

* Talking to people, networking > Not talking to people

* Bug free > Elegant code

* UX > UI

* Simple products that do one thing well > Complex products

* Understanding entire market > understanding some people

* Building brand > Making quick money (for the long run)

* Sleep, exercise & healthy food > late night coding

* Solving your problem first > Solving the worlds problems

* Adaptability, pivoting > Ego

* Knowledge of where the money is > No knowledge of it

* Overestimating cost/expenses > Underestimating it

* Patience > No Patience

* No procrastination > Procrastination

* Reading books > Not reading books

g105b 8 hours ago 2 replies      
I found out pretty soon that setting up a successful software development business only receives 20-40% of your time developing software.

Business, like developing software, is a strict discipline, and there is a vast amount of knowledge that only comes from experience.

I found myself trying to do everything, until a friend taught me a clever trick:

1) Write down all of the tasks you have to do on a daily, weekly and monthly basis.

2) Write a short paragraph for each task's job description.

3) Write a job application from yourself for each of the jobs.

4) Contemplate why on earth you would ever hire _you_ for the job!

My advice is to work out exactly what tasks there are in running your business that you are not an expert at, such as accounting, sales and marketing, copy writing, etc. and hire people to do those parts for you. You'll see a return in no time... unless you don't... in which case your business model would never work.

segmondy 5 hours ago 5 replies      
If you build it, they will not come!

Scream it in a loud voice, IF YOU BUILD IT, THEY WILL NOT COME!

You are going to have to build it, find them, plead with them, fight their refusals and shove it down their throat.

There are many unknown "unicorns" that currently exist as code. The code is done, there's just no users, because the world doesn't even know it's a thing and those that do know have not being convinced that it's needed.

My opinion, my advice. Forget the code, find the customers/market first.

A software developer with complete code and no customers is just a software developer.

A business person with tons of customers and no software/product is in business.

So decide if you want to be in business or to be a software developer. I suspect that most developers just dream about business as a means of escape from their day to day reality, but secretly don't even want to be in business, they love writing code more than being in business.

pavlov 8 hours ago 7 replies      
The best advice I've had (and seen applied in practice) is this:

You need to get your company to 10k USD monthly product revenue within three months. If you can't, either the product, target market or team needs to be revised drastically.

It's hard advice to follow, but it will save you a lot of time because you can't wait months and years doing unessential tweaks to the product and marketing, hoping that sales miraculously grow.

It's also useful as a pricing yardstick early on. If you have very few customers, they need to be paying enough that you reach $10k almost immediately. If your product isn't worth that much, then you need to scale out. It's best to figure this out right from the start.

If it feels like you can't do $10k MRR in three months on your own, then you need to find a cofounder who can do it together with you... So it's a good way to calibrate cofounder expectations as well.

lpolovets 5 hours ago 1 reply      
I was a software engineer for 10 years (first 10 engs at LinkedIn -> first 10,000 at Google -> first 10 at Factual). After that I was about to start a company but fell into venture capital instead. Here are a few things I've learned about business from the VC side that I didn't appreciate very much when I was an engineer:

1) Customers don't care about the technologies you're using, the elegance of your XYZ algorithm, or the novelty of feature ABC. What they care about is solving some problem they have, making their day easier, becoming more productive, etc. When you're pitching your product, talk about how it helps the customer, not about how it's built. A great 5-minute video on this is "Understanding the Job" by Clayton Christensen: https://www.youtube.com/watch?v=f84LymEs67Y

2) Think about monetization early on. Like most engineers, I had dozens of side project and business ideas. For each idea, I had thought about the features I'd build and how I'd build them, but not the business viability: who would I sell to? What would the pricing model be? How much money would that translate to for a typical user? Would users have the work/personal budgets to pay what I wanted to charge? Was the price enough to cover marketing and user acquisition costs? I haven't read it, but have heard that a great book on this topic is Monetizing Innovation (https://www.amazon.com/dp/B01F4DYY1I). Another good book to think about business models is The Art of Profitability (https://www.amazon.com/dp/B000FA5TTM, brief notes: https://codingvc.com/the-art-of-profitability)

3) Finally, think about marketing and customer acquisition in parallel with product. After almost 5 years as a VC, I can readily confirm that most products don't sell themselves. Even the really good products need sales, marketing, etc. A great book to get started on marketing is Traction by Gabriel Weinberg (of DuckDuckGo) and Justin Mares (https://www.amazon.com/gp/aw/d/B00TY3ZOMS/)

mmcconnell1618 7 hours ago 3 replies      
1) Figure out who you are selling to and what problem you're solving for them BEFORE you build something. It's very easy to fall into a routine of building the best software ever while forgetting you need someone to buy it.

2) Banks will loan you money when you don't need it and won't loan money when you do need it. Apply for a loan or line of credit when you're flush with cash in case of a rainy day.

3) Running a business is a different skill than developing software. Be prepared to learn a lot of new skills.

4) Don't hire too quickly. Payroll + benefits can eat through profits like crazy in a software business. The counter-point is that a good salesperson will bring in far more revenue than they cost in salary and commission.

5) Know your numbers. You should have good accounting records and know from week to week if you are on track or slipping.

6) Don't hire a 'marketing' firm. They will charge 10's of thousands of dollars to ask you questions like 'What do you think we should do?' and then feed it back to you. If the product is positioned well with customers, you know more than the marketing company ever will.

7) Don't let a single customer account for more than 10% of your revenue. If that customer leaves, you'll be in a painful situation. It's difficult to do this at first but it keeps you from chasing a big fish to the detriment of the rest of your business.

8) A good reputation and word-of-mouth is better than buying the #1 spot on Adwords.

9) Figure out how to sell again and again to the same customers. A one time sale makes means a high cost of customer acquisition. Once the customer likes your company you should see what complimentary products and services you can sell too.

10) Once you've had a taste of the freedom (and stress) of working for yourself, it will be very difficult to go back to a regular job and work for anyone else.

pbiggar 4 minutes ago 0 replies      
The only thing that matter is validating. Don't write code if you can avoid it, try to validate for cheaper. "Will someone use this" can be better answered by calling them first, then build with their feedback.
lprubin 7 hours ago 3 replies      
If you choose to run a software development agency:

- Shoot for between 3 and 10 clients. Any less and you'll be very stressed about losing a client. Any more and you'll be overwhelmed with juggling too many balls.

- Fire bad clients. They aren't worth the stress, frustration, and opportunity cost.

- Work on your process. Doing an hour of client works earns you one hour of revenue. Improving your agency processes can earn you a large multiple of that.

- Don't be a <insert software technology> shop. Be a solver of a specific business problem for a specific type of business. Example: "We streamline backend processes for multi-million dollar trucking companies." The most valuable contracts are for solving expensive problems.

latishsehgal 5 hours ago 0 replies      
* You get to be your own boss, but thats not always a good thing. Because being your own boss does not mean that you are a good boss.

* Execution>Idea. Don't work on multiple projects till at least one is shipped.

* Pairing up with other like minded folks is better than going solo, but only if you can get along really well.

* The highs are higher, and the lows are lower.

* Develop good habits

* Make your first project a small one

* Failure (at least small ones) is not a problem. Failing to recover is.

* Sales and Marketing are very important. They need as much time as working on your products/ideas

* Start now, you'll never feel ready

This is the tl;dr version of a longer blog post I wrote about my personal experience http://www.dotnetsurfers.com/blog/2016/03/29/lessons-learned...

altharaz 8 hours ago 0 replies      
I would say: be patient and determined.

1. Your idea and your software will probably not be aligned to your market needs at first;

2. Go out and talk to your customers;

3. Do not just focus on code;

4. When your customer really needs something that is not in your software, do not hesitate to bill this customer for special developments: it will finance the feature for all your customers and keep your feet on the ground;

5. CIO are overstretched by sales rep, so B2B sales cycles can be really long (at least in France).

Disclaimer: CEO of a French Cybersecurity software company.French market is known to prefer service over software and "On Premise software" over "SaaS". As a result, we switched from SaaS mode to On Premise, and we started with Penetration Testing to join the end of the month.While my advices might not be the best, we are in our third year of business and should finally reach profitability :)

joelennon 7 hours ago 1 reply      
Beware the dangers of the green field. It seems to be every developer's dream to have a green field for a project. You're there at the beginning, so you think you can spend the time to make the correct design decisions early on to ensure you don't end up with the kind of technical debt you've seen at the companies you've worked for before. You'll thoroughly enjoy being a perfectionist, refactoring your code to your own idea of code standard bliss. Immersing yourself in code will keep you busy and make you feel like you are doing important work. The thing is, you're probably not.

Build something, get it in front of customers as quickly as you can and get them to pay you. You'll likely need to do this multiple times to get the right product or features that people actually want and will pay money for. Skip anything nonessential at the start. Focus on the key features that customers will pay for. It will feel broken, but it's only broken if you can't get any customers. This seems like obvious advice, but you're a developer, it will be difficult for you not to aim for perfect before you ship.

Know going in that you will probably be embarrassed by your codebase, but it doesn't matter. When you find the right product formula and need to scale, you'll probably need to refactor or rewrite large parts of it anyway. Even if you build it "perfectly".

Whatever you do, don't use this time as an opportunity to learn some new language or framework. Use whatever you are most efficient with - now is not the time to be learning React/Vue/Angular or whatever else you've been wanting to get stuck into recently. If you can build it faster with mostly server-side views, then do that. Don't stress about picking a language or framework based on future problems like how you'll hire a team - worry about getting that far first. If you're a pro with PHP, use PHP - don't worry about others thinking you're less of a developer because you're not using Go or whatever the flavor of the month is.

Oh and keep it cheap and lean. Don't go building out a huge microservices infrastructure that you may never need. Build a simple monolithic app first and host it on a dirt cheap VPS. Once you get traction you can start splitting it out and worry about scaling individual services.

I've written a little more about this on Medium - https://hackernoon.com/shit-startups-do-episode-1-cbfa73f9c2...

ryanSrich 7 hours ago 1 reply      
The number one thing is understanding what customers want. Every business guru and product person in the valley will tell you to "talk to your customers". The major exclusion there is how you talk with customers. Simply asking people how you can improve your product or being more deliberate and saying "what do you want? If I could add any new feature, what would it be?" is wasted time. These questions feel normal and correct, but they'll lead you down the wrong path. What you instead want to figure out is the contextual situation which has lead your current customer or prospect to you. Figure out what that customer wants out of that product _for them_. That's how you start to build great products.
chuckus 2 hours ago 0 replies      
We've already established that the main thing to know what makes your customer tick so I'm surprised this isn't mentioned yet:

Your first MVP is simply a static website describing problem, solution and signup, with Google Adwords and analytics.

* Given that your target market are going to be ideally using Google to search their problem or solution, with Adwords, you can test exactly what they are actually searching for when they are looking for your product.

* Analytics will be powerful to measure the engagement of the user to your desired product. Have buttons or measure scroll for engagement. Do they read your problem and leave? Obviously not relevant. Do they continue onto your solution but leave? Wrong market-product fit. Have options on the website for easy A/B testing to figure out your demographic.

* Static website is super easy to change and make pretty as so many templates out there, and even if you don't use A/B testing tools, you note when you make changes, so you can compare sets of user analytics data.

This approach was popularised by lean startup methodologies, but what I love about it is it takes a couple of hours to setup, and an hour each week to tweak and monitor, and you'll know early on whether it's worth even developing the software from the very beginning. The saved time is worth the adwords cost (you can set a budget per day on their dashboard) and cost of static website hosting.

danieltillett 7 hours ago 1 reply      
That it takes industry longer than you expected for it to move on to the next new thing.

I made this mistake in 2012 thinking that my product would no longer be wanted by 2016 and so didn't invest in expanding sales. 2017 has arrived and our sales are at an all time high and I have no idea when the market will start to decline. I lost a huge amount of money getting this wrong.

In my defence eveyone else in our industry thought the same thing and made the same mistake.

dkural 2 hours ago 0 replies      
If I had to pick one piece of advice for software developers looking to jump into entrepreneurship, it is that most companies fail because they build something no one wants. In fact they build it really well.

Thus technical debt, scalability etc. simply don't matter until you iterate your way to solving a problem other people care about. That's much better than solving a problem well, a problem that not enough people have.

Ie. in short, stop engineering software and start figuring out what people actually need. Not just 'nice to have', but a real need that causes real pain. To see if enough people need what you are planning to build - you don't need to built at all, just draw it out, explain it in a doc, and go ask people. You have to really ask them and push beyond their initial "sure yeah, it'd be nice to have". Ask them how they do the task / fulfill the need now. Ask them how much that costs. How much would they pay if you built a better one, etc. Really try to get a "no i don't actually need it" instead of being content with the polite lie of people wanting the product.

c0achmcguirk 4 hours ago 0 replies      
SHIP IT. Even when you are embarrassed about it. Ship it and try to sell your ugly baby. If you can't sell it, ask why and iterate on that.

I've seen what happens when you keep the product secret, trying to perfect it before you show it to the world. You'll run out of money making a pretty baby that no one wants.

apstyx 8 hours ago 2 replies      
I know you said one thing, alas here are 6 one things

1) It takes longer than you think/imagine

2) Start smaller, no smaller still

3) Self fund for as long as possible

4) Be positive, stay positive

5) Identify people you can talk to about your work

6) Be honest with yourself, hard/brutal honesty

novaleaf 3 hours ago 0 replies      
1) make an MVP. minimum viable PRODUCT (not prototype)

2) Pick an idea that you would pay to use (product champion). If you are not the target market, you need to find a product champion who will join your team prior to the MVP creation.

3) Do things that don't scale. don't future proof your MVP, just make it so you can validate that your product has a market beyond your product champion.

4) Create a website for your MVP and make sure you can run it at low/now cost for at least 6 months before you decide to abandon. Marketing is hard and product discovery might be the biggest challenge you face. As long as you have more customers every month you are doing ok.

5) Even if you give your product away for free during MVP/beta, figure out some way that customers who want to pay you can. This is very valuable for determining product fit. if nobody wants to pay, figure out what would make them decide to, and use that for determining how to pivot.

source: myself, I made/make phantomjscloud.com

tylercubell 6 hours ago 0 replies      
Coming up with the idea is easy. Sustaining the motivation to grind over long periods of time is hard. Entrepreneurship is an internal struggle more than anything else.
1ba9115454 8 hours ago 2 replies      

A developer with marketing skills can build products and achieve revenues far in excess of their skill set.

wj 2 hours ago 0 replies      
Some industries have incredibly long sales cycles and you will use up all of your savings and then some getting your first customers.

If I were to do it again I would focus on the creating a solution to the smallest subset of the problem I am solving and trying to sell that. Program that one feature and do not start on the next feature until you have a paying customer for the first one.

cdicelico 6 hours ago 1 reply      
I have been walking the line between technology (working software engineer my whole career) and business (small business owner, technical cofounder, startup employee several times over) my whole life and if I had one thing that I wish I had known earlier it's this: trust yourself! Just go, learn, and repeat - action is king.

Let me elaborate on that a bit. Seeking more and more knowledge and wisdom in an effort to learn some kind of system or trodden path to success is understandable but can quickly consume all of your time & energy and likely won't provide much real value over the long term. Nothing, and I mean absolutely nothing, beats jumping in, doing stuff, being objective and introspective enough to identify what works and what doesn't, and iterating. What people are doing now will change. What people are using to do those things will change. What won't change, though, is the value of being able to take action and move through that world with confidence and resilience.

Reading, research, and listening to people is good but you should trust the laboratory of action above all else, especially over other people's opinions. Why, if you're a normal, intelligent, rational human being, would you ever put the opinion of some arbitrary person above what you can observe yourself? Because it's on the web or in a book? That's silly. Be extremely selective in who you allow to be your advisors - you wouldn't indiscriminately sleep with just anyone at the drop of a hat, would you? Don't just take advice from everyone, either.

Don't let people pigeonhole you, don't let people project their ideas onto your passion, and learn to identify where you should spend your precious time & attention - most of the time, you should spend those on action, not navel gazing and not "preparation" for action.

There are maybe a handful of books and blog posts that are really worthwhile. Once you have read those, everything else is simply other people regurgitating what they have read and is therefore not very useful. Also, on points that are very crucial, like legal and financial matters, I would hope you have an attorney and accountant to help you make those decisions - don't try to learn everything yourself and carefully establish and nurture your inner circle so that you can focus on - you guessed it - action.

hd4 7 hours ago 2 replies      
If you are working a day job as a programmer (while setting yourself up to go down the startup route), go with contracting as soon as you can, the rates are what you set them at and you should always set them high.

The other advice that has been invaluable to me is NEVER EVER reveal your salary to recruiters. Always state what you want to be paid and go from there. When you reveal what you are earning, you are immediately weakening your negotiating position. This may seem obvious but it would surprise you how many people just go along with their very invasive questioning.

g105b 7 hours ago 0 replies      
I assume your software development skills are second to none and you could apply them to any problem.

You won't get anywhere solving any problem.

Find a niche for what you can offer, and only go forwards once you've saturated that niche. For example, find a specific line of business that you're passionate about and approach them. Get a name for yourself and excel.

baccredited 3 hours ago 0 replies      
I posted to my twitter/medium but will copy here:

I wish I knew that I could start saving and investing the money I was already earningand retire while still young. Your odds of success as an entrepreneur are basically zero. (I know some of you are going to do the startup or nights/weekends project anyway and I wish you the best of luck.)

If I knew this I could probably have shaved years off of my FI date.

davidw 4 hours ago 0 replies      
There's a ton of stuff in 'Start Small, Stay Small' by Rob Walling. It's a bit dated, but lots of great advice.


clubminsk 3 hours ago 1 reply      
Probably, the best business advice for software developers"Solving the problem that frustrates you - may be one of the best ways of finding an idea for your startup". Look at these software developers who acted accordingly before they found success. https://belitsoft.com/php-development-services/saas-ideas-st...
andreasklinger 2 hours ago 0 replies      
Surprised nobody mentions it. The #1 rule i needed to learn:

> Willingness to pay

Most people see it "charge as much people pay"

But the real lesson here is a different one:

You create a value. The value - costs is profit. Someone along the chain makes this profit. Might be the people you work with, your boss, might be the person sitting at your client looking smart for buying in cheap or your client's boss. Someone does. People are ok to pay as much as long as it's less than the value provided (and comparable to the rest of the market - sidenote: specialization)

Someone makes the money. Stop charging in hours. Charge based on the value. (obviously it should be more than the hour costs otherwise dont take the project)

benmorris 5 hours ago 0 replies      
I learned some lessons 5 years ago when my initial plan was to do software development on my own after I quit my job. I have concluded a much more fruitful way to go is to develop your own product in a niche and pursue that. Perhaps even multiple products. There are numerous pitfalls to developing on your own that don't have anything to do with software development. Things like getting paid, dealing with customers, scoping projects, conducting meetings/phone calls, providing dead end quotes, etc. When I quit my day job I also hedged my time by building my own products, as of a year or so ago I washed my hands of all freelance development and focus on my own products.
maxxxxx 6 hours ago 0 replies      
I made the mistake to not focus on the business first. The tech is interesting but priority number one, two and three should be the business. Finding customers and serving them efficiently should be the main focus. Only then think about what tech to use.
ChuckMcM 2 hours ago 0 replies      
mattjaynes nailed it pretty much. On a slightly different spin though on the 'wish you knew vs what you know' my journey was a bit different.

When I came to the Bay Area I knew I wanted to be entrepreneur but I also knew I had a lot of gaps in my understanding. The two big ones were sales and marketing, and the other end production and release. I took positions at established companies (Intel and Sun) to learn what these functions do in "real" companies. I then joined as an early employee a start-up, and learned everything I could about funding and equity and the unique environment of small groups tackling big problems. Then did it again and got to learn about the whole acquisition process, the challenges of taking things public (or not), and learned I still had a huge gap in what MBAs called the 'business model.' I went to work at a company that had an excellent leader and business model at the time (NetApp) and started internalizing what adds value, what doesn't, and what is and what isn't a reasonable way to look at things.

If I had to do it again, I would probably have gotten an MBA while I was at Sun (my second job). While there is a lot to dislike about 'MBA culture' that would have been a faster way to accumulate an understanding of how to evaluate a business to see where it could be improved.

inopinatus 4 hours ago 0 replies      
* Learn to say "no" to feature requests that don't fit.

* Look after yourself. The body supports the mind and vice versa. Neglecting one is neglecting both.

* Delegate.

* Create a distraction-free environment. Co-working space, public library, converted garage/shed, quiet cafe. Only work from home if it is truly free of distractions & interruptions.

* You can't be an expert in everything. Focus on the value creating activities.

* Serve people, not problems.

* Solve problems, not people.

no1youknowz 1 hour ago 0 replies      
Haven't seen this mentioned yet, so I thought I'd bring it up.

Communication, communication, communication. I'll say it again, communication.

When it gets time to hiring someone to take over the day to day handling of your clients support needs and/or sales inquiries. I suggest you get someone who is very knowledgable about your product and who is interested in converting every single lead into a sale.

This will mean the difference in your business making money or not.

I'm starting a venture and I have many vendors. I must have spoken to 50 potential vendors across many different markets and there are so many sales and support people who are utterly clueless about their company and product. Who go above and beyond telling a potential customer to pound sand. Sometimes I am speechless in the service that I have had with some companies.

In fact, a few times I've actually had to use the nuclear option, which btw I hate. I've had to find the CEO's email and contact them directly. This always made the difference in the connection.

When I have had to do this, it always it went from the support person detailing reasons why the business can't do "that" and that they supposedly pushed it up the chain or spoken with colleagues and it's just not possible to accept my request.

After emailing directly with the CEO, who then forwards the communication to a senior manager and the issue gets resolved quickly.

In fact, I have a beauty of communication which I may one day publish on Medium. Which outlines the how someone went above and beyond not to win my business. I'll be framing this email in my office for sure!

Other great examples are when I am trying to clarify a question and highlighting something in a faq or a webpage and then I get that url link right back at me with the same quote. As if they are copying and pasting me wording from a support document. Which quickly leads me to believe VA's are handling the support and they immediately lose my interest.

Finally, the best ones are when on the vendors side, the communication goes cold. That they just are not interested in getting back to you. Which I can't understand. I want to give them lots of money!

Don't be one of these companies. One lesson I have learnt in the past. Is that if someone approaches you to make money, don't immediately turn them down. Even if they can't help you right now. They may do in the future and it may be really beneficial to both parties then!

p0nce 8 hours ago 0 replies      
The most important question to ask might be "Do you imagine buying this? Why not?"
poirier 3 hours ago 0 replies      
Know with more clarity than anyone else on Earth: Why.

Apply Why? to everything.

- Why this tech?

- Why this market?

- Why this team?

- Why do I want this life, experience, challenge, team?

- Why do paying want this product?

- Why will I push through when everything is bleak?

Watch for vanity answers as mentioned by others.

[edit: formatting]

adeelraza 5 hours ago 0 replies      
I wrote a post on this topic back in 2013. Can a software developer be a successful entrepreneur: http://adeelraza.co/blog/can-a-software-developer-be-a-succe...

4 years later, happy to report that I have a successful startup.

DenisM 4 hours ago 0 replies      
Business is market [1] + product [2]. Don't start with product, start with market.

[1] Market is a group of people whom you can reach and who have a problem you could probably solve.

[2] Product is whatever thingamajig that solves the problem market has. Probably software, but don't force it.

seajosh 4 hours ago 0 replies      
it's worth repeating:

Take cash over equity. Drop acid or shrooms at least once. Don't get married young.

brightball 3 hours ago 0 replies      
For what it's worth, I wrote in a lot of detail about my experience a few years back. Might save somebody here from learning hard lessons.



dorianm 2 hours ago 0 replies      
lazyjones 7 hours ago 0 replies      
- that it's all going to be worth it in the end (it would have been comforting during those 100-hour-weeks)

- Some of that quick & dirty temporary code would be used for the next 18-19 years.

- I might as well have used PHP instead of Perl. Same (bad, messy) code quality, but even faster development and much easier hiring.

- Costly hardware early on was a waste of money (we outgrew it so fast that a beefy desktop PC would have been a saner investment at that point).

- Managing people is the one thing that you can't "fix" permanently. It's always an uphill battle unless (presumably) you're naturally talented/charismatic/psychopathic.

- don't bother with marketing people, advisors, business consultants early on and don't create product dependencies (e.g. by building a specific version of your product for others). It's not worth it until your product is polished and proven.

- Don't hire people carelessly because you don't want to invest precious time. Don't hire friends/acquaintances unless you've seen them working. Firing people is one of the most difficult tasks.

- Bad things will happen. Don't spend too much time trying to prevent them, or worrying to much. Just make sure you know what your options are when you need to put out fires and manage basic info (don't go searching for your hosting provider's phone number when you need it).

jpatte 3 hours ago 0 replies      
Knowing how to sell/market your product is more important than having a fully functional or carefully engineered product. Nobody will give you money for your (master)piece of software if they don't know what it does or what it's for. Sounds trivial, and yet the better you are at software development, the harder it is to keep in mind.

Just because you are good at something doesn't mean you should be focusing on that thing and leave the rest for later.

dboreham 5 hours ago 1 reply      
If you allow it, your customers won't always pay you the money they owe. Always assume that if you don't have the money, it may never come, and arrange your life around that possibility.

Disclaimer: in my experience small privately held companies do pay consistently and on time. Other kinds of customer, not so much..

bpizzi 8 hours ago 0 replies      
That you already know how to build a software, and what you do need to learn is how to sell a product.
TimJYoung 8 hours ago 0 replies      
It will be 20 years next year for me.

My one thing: The software business changes faster than you think, especially when you're young and your frame of reference regarding time is so short. Just when you think you're hitting your stride and the business is cruising, that is when you should be working on your next big thing. If you don't, you're going to find yourself "out of the game" pretty quickly.

haribabug 2 hours ago 0 replies      
Why not seduced by technology ? As a engineer we create new technology and try our luck if it makes business. If we compromise on that basic fact, we end up as that one of avg business guy
cbasoftware 3 hours ago 0 replies      
Before you hire anyone make sure you just can't live without them and then wait longer. Before you hire your first developer read the Mythical Man Month. Yes, it's old, it still applies. And, especially today, try your best to use contractors. And, make sure you have a Work for Hire agreement!
amorphid 7 hours ago 0 replies      
Off the top of my head:

- when venting/bitching/complaining, make that clear by saying, "Hey friend, I'm just venting here. <venting> ... </vent>"

- don't run out of money

- don't take money from anyone who can't afford to lose it

- search for ways to delegate & outsource non-essential tasks, but plan on doing them yourself, as you'll find there are somethings you can't offload no matter how much you try

- try to avoid putting yourself in a situation where your business dies if any single person dies/walks/disappears

- assume anything you say to anyone was not correctly heard, and ask them to repeat it back to you

- commit to working in 100% in person, or 100% remotely

- be prepared to have to trust others, and adjust your expectations accordingly

buro9 6 hours ago 0 replies      

Learn how to do sales end-to-end.

How to listen to a customer and understand their needs, how to market to those needs, how to convert those leads into contracts, how to bill those customers, how to make them feel valued and show value to them, how to upsell when the contract expires (how to get more value from them).

Learn sales. Mostly because it helps you understand the whole of a business, and will guide any prioritisation of your engineering like nothing else.

It turns out, you really don't need to build a great thing, you just need customers who pay.

lostatseajoshua 4 hours ago 0 replies      
- Speak only when you know you have something useful to offer. Speaking at meetings just to get a word in can lead to others not paying attention over time due to the lack of useful information that is shared. If you are 100% sure of a subject/fact or you have a very useful thing to add to the conversation then try to get it out in the least amount of words. Others will build trust that anytime you speak it is useful information so they will pay attention and listen.

- Be organized! Many developers have messy desks, cluttered folder structures, and no task lists. Taking time to organize and get a good practice of listing out tasks, place items in correct order, and knowing what your daily plan helps in becoming a better developer and more valuable to a business.

- Tooling! Get useful programs, apps, and utilities to get you more productive. Good spreadsheet application, useful powerpoint templates, and documentation tools are an example of items that will go a long way in business.

danm07 5 hours ago 0 replies      
There is no clear cut definition of "business." You have a picture in your head of what you want the future to look like, and "business" is all the actions associated with making it come true, and this can vary dramatically by sector.

Best advice I can think of is to not think generally about what is good strategy, or anything of that sort, but about what makes your product valuable in the lives of the people you hope to make it for.

The rest will sort itself out.

wonderwonder 5 hours ago 0 replies      
Understand that marketing is as important or more important than creating an elegantly coded product. You can have the most amazing product in the world but if no one knows about it or is sold on it, it will never go anywhere.

This can be any method of marketing you want, but you need it and it needs to be effective. The odds of being the exception that does not need it are low.

libertymcateer 5 hours ago 1 reply      
I'm a software attorney - I negotiate software development, installation, support and licensing, deals, including agile software development, SaaS, PaaS, API agreements, SLAs - you name it. I was also in house counsel for a group of tech startups for five years prior to my current role. Finally, I write software, actively - these days in Node - yes, I know this is an invitation to mockery, which I welcome. All of this is a long-winded introduction to try to say I know a thing or two about this.

tl;dr:1. The most important thing for developers to understand is the business goal of the software they are delivering. 2. The second most important thing for software developers to understand is how much they cost and their opportunity cost - especially if they are on staff.

To explain in more detail:

1. Software you develop professionally serves a business goal. Engineering decisions should be made in support of this goal - they are, themselves, not the primary motivating force. There are often cases where an engineering decision is a key part of the business offering - e.g., a specification, compliance with a protocol or a law or regulation, performance metric, systems compatibility - but this is still a business point. You are still building software for it to be sold. Part of understanding the business goal of the software is how the client (whether that is your employer or your actual client, if you are an independent developer or studio) actually makes money off of that software or how it fits into their business model. This means that, by and large, while executives are actually very sympathetic to engineering decision - you have to understand that a very large number of engineering decisions (possibly a majority?) are non-responsive to business concerns - i.e., they truly do not care if you go with react as opposed to angular for engineering reasons - but they do care if you tell them that there are more developers out there familiar with angular, they are easier to find and hire, the codebase is more actively maintained, it is less prone to failure, it is more likely to continue to be stable in five years, and it will not cost as much to re-factor the old parts of your production-software to this new platform as opposed to an old platform (NB: this example is made up. I have no idea if it is or is not true, with regard to react v angular). They don't care if one is shinier or newer - unless it has a material impact on the ability of software developers to perform and deliver, or it will have a material impact on the stability, security or performance of the underlying software.

2. Software developers are monstrously expensive. Mind-bogglingly so. And non-technical people have a very, very hard time understanding what you do all day. The many, many attempts to metricize software development - velocity, kanban boards, (god forbid) LoC measurements - are an attempt for non-technical people to try and match cost to output. Please understand that this is well meaning - they do respect what you do, they just do not fully understand it, which is why they have to build these elaborate systems to try and make sense of it. To express this another way - you cost money with every breath you draw, and you are fantastically expensive to keep around. A few months ago I was at a JS meetup here in NYC, where a CTO walked through how much work it took to install bower, grunt and babel into their production stack. He said it took 3-4 senior engineers three months of dedicated time to make this transition. I thought to myself, he must have made a great business case, the business managers must have understood this was necessary for the health of the product, his managers must defer to him without question, or the organization has very loose controls, or some combination of the foregoing, because that is somewhere on the order of 3.5 (persons) * 150 hours (productivity / month) * $125/hr (cost of a senior dev, fully loaded) * 3 months = ~$200,000 worth of work for changes to the stack that were purely internal. The math is crude and very back of the envelope - but consider the opportunity cost - that was senior dev time not being put into feature development, critical bug fixes, or performance optimization - it was purely back-end refactoring. Personally, I have no idea if this investment will turn out to have been worth it - I don't know enough about what it was like to write code in that org before and after these changes - I do know a tiny fraction of JS devs work in es6 - so I am skeptical of the utility of babel at this point, but that may be very shortsighted. What I can say with some certainty, however, having negotiated many, many millions of dollars worth of software development agreements, that this was a major operation, even for an 'internal' client. To put it another way, if you hired outside guns to do this same thing, double the cost. The whole point of this story is realize that, when this was all pitched to the management, who are decidedly not software developers, they had to put tremendous faith in their engineering team that this really large cost was worth it, when I'm sure there was a yard-long list of bugs, features and optimizations that were being de-priotized for this fix that the managers would never actually see, touch or interact with directly. When you are pitching engineering decisions to your clients, you have to make it very expressly clear why it matters for the business case - not just why it matters for the engineering case. You may be right and they may even understand and agree - but in the end, unless the engineering changes are going to have a business impact, it is not a good business decision to invest in them. Please understand - sustainability, security, performance and the happiness of the software development staff are important business considerations - so you can include them in your pitch. But if you just tell a manager that react fiber is better and the way of the future, and you must do a full-stack migration from your static HTML forms to react fiber and it will take 1000 hours of dev time, don't be surprised if you get the stinkeye. Tell them this is an investment in the sustainability of the product and it will mean it will work on more systems, more browsers, work better on mobile and make it easier to hire engineers? You may succeed in your pitch.

gtycomb 6 hours ago 0 replies      
Instead of your 7th new programming language, learn accounting, read annual reports of corporations, write a profit and loss analysis for three years forward (this will be vague, nevertheless spell it out the best you can) and know worst-case scenarios.

Work out simple and efficient ways for rock solid end-user experience. Anticipate lots of time spent with customers.

Help others, friends are the most valuable. Protect your plans in the early phases and be prudent with your capital, prepare for the long term. Do not be afraid in taking risks, patience will pay.

dawie 7 hours ago 0 replies      
Sell, sell, sell. Learn how to solve painful problems and sell the solution.
blunte 4 hours ago 0 replies      
Learn to talk to people.This leads to networking (and intentional or unintentional marketing).Talking to people, getting to know them, making an effort to remember and contact them periodically... opens doors in the short and long term.
franze 3 hours ago 0 replies      
Not: Create something you would use yourself!

Do: Create something you would buy yourself!

iluvdata 4 hours ago 0 replies      
Here are some thoughts for engineers to broaden their horizons - https://www.linkedin.com/pulse/differentiation-age-commodity...
EternalData 3 hours ago 0 replies      
I wish I knew that 80% of impact really does come from about 20% of work -- and I'd have organized my work life accordingly.
contingencies 6 hours ago 0 replies      
Even if you build something on a "build it and they will come" premise, you are right, and there really is demand, you still have to spend time and money to use it - ie. don't forget to test, measure and allocate time and money towards marketing channels.
corford 5 hours ago 0 replies      
Relationships, networking and face to face advice matter (a lot). Put the time in to build this up, ideally starting before you've quit your day job and jumped in to building a business.
panste 3 hours ago 0 replies      
Make your customers happy. Learn about Marketing, it will show you how to do that.
jv22222 3 hours ago 0 replies      
- Shift your mentality from developer to founder- Do something every day to maintain momentum
matt_lo 2 hours ago 0 replies      
All the false positives from perceived success.
id122015 7 hours ago 0 replies      
I did read a lot to understand business and the billions of funding that one day must be paid back.

But the best article I read some time ago: he said that a man does not need to earn more than 3000 euros per month to be happy.

cpolis 4 hours ago 0 replies      
Users care about value add, not features. Remember this when selling and planning development!
nslindtner 8 hours ago 0 replies      
It's no sustainable to own part of small company, you're not actively working for !

When you leaving the company - you and your partner/partners HAS to agree on a price.

Remember this in your paperwork (where you try to think of all kinds of breakup)

knodi 3 hours ago 0 replies      
Do nothing without contracts!
astoilkov 8 hours ago 0 replies      
You could check out Indie Hackers. It's the most amazing place for software developers to learn from example. https://www.indiehackers.com
skdotdan 6 hours ago 0 replies      
Awesome thread!

Starting the first company may be the most difficult thing. Once you are in the entrepreneurship loop, it must be easier to fund new businesses.

corobo 7 hours ago 0 replies      
Talk to an accountant and/or someone that knows business. You know software but you (probably) don't know business.
jp_sc 7 hours ago 0 replies      
Find customers first, THEN build a product
goatherders 5 hours ago 0 replies      
No one cares about your code. They care what it does.
pryelluw 7 hours ago 0 replies      
Nothing is at it seems. Remember that above everything else.
mindcrime 2 hours ago 0 replies      
what is the one thing you wish you knew before starting out ?

I'd like to have been exposed to Steve Blank's works, The Four Steps To The Epiphany and The Startup Owner's Manual sooner. They are BTW, both the same book and not the same book. That is, TSOM is sort of the 2nd edition of TFSTTE, so in that sense they're the same book. But while there is a lot of overlap there's also plenty of material in each book that isn't in the other. So for anybody who is interested, I'd actually encourage you to read both.

Likewise, I would have liked to have been exposed to Jeffrey Thull's selling process, "Diagnostic Business Develoopment", which is described in his book Mastering The Complex Sale, Exceptional Selling and The Prime Solution. I'm a fan of his model and while I can't claim to have empirical proof that it works yet, it feels right somehow.

I would also like to have had the chance to read How To Measure Anything by Douglas Hubbard sooner. It's not a book that's about entrepreneurship, selling, or anything of that nature, but the ideas in the book strike me as broadly applicable to many domains. To give a tl/dr; it's roughly something like "use calibrated probability assessments to generate initial estimates, build a model possibly incorporating nth order effects, and then use a monte carlo simulation to build a probability distribution using the estimates and the model". There's a little bit more to it than that, but that's the gist (as I understand it anyway).

Finally, I'd say that I'd like to have been exposed to the ideas in *The Discipline of Market Leaders" earlier. The core idea in that book is that there are different bases for competition. One (obvious) one is price, and another pretty obvious one is "technical (product) superiority". But the book makes the point that there are other, less obvious ways to compete, like "operational excellence" (basically, running leaner and managing costs/defects, etc. better than the competition) and - my favorite - "customer intimacy". The last one basically means being more knowledgeable about your customer's business, making more tailored solutions, and basically becoming more of a partner than just a vendor. That happens to align well with the whole "Diagnostic Business Development" idea that Jeff Thull pitches, so I think these ideas complement each other well.

Outside of all that, my advice, FWIW, would be to say "you can't learn and understand enough about marketing and sales". Seriously, building technology comes easily to us... doing sales and marketing does not always do so. But I firmly believe that this stuff can be learned, and I think that if you're selling something you're actually passionate about (and if it's something you built, you probably will be) then you can learn to sell it without being a "natural born salesperson". Yeah, maybe some personality types take to selling more easily than others, but I think pretty much anybody can learn to sell to some degree... and in the early days of a startup, unless you're lucky enough to partner with somebody who is a "sales guy" type already, you probably will have to do the initial selling.

rongenre 4 hours ago 0 replies      
Understand basic accounting. At least the difference between profit and cost centers. Be the former.
spcelzrd 7 hours ago 0 replies      
Not a one thing, but I would suggest reading, or at least skimming, The Ten Day MBA. Really good overview of everything that goes into running a business. It's dated, but mostly just in the case studies.
Ask HN: Taking a junior SWE job at around 7 years?
22 points by toexitthedonut  1 hour ago   24 comments top 8
kenferry 0 minutes ago 0 replies      
When hiring a junior developer (or anyone, really), the attraction is the gleaming future potential of a person. So, if you want to get hired, you'll need to be projecting an exciting upward trajectory no matter what. I think you'll find it unconvincing to say "yes, I've been at it for seven years, but look, I should be able to do your junior work at least, yes?"

So you want to frame it differently. For example, provided this is true, you could emphasize that you've been the most senior person in your company, but that your company offered limited growth opportunities. Now you're just champing at the bit to work with people from whom you can learn and grow, and you're overflowing with energy to do so. Demonstrate why it's true, perhaps with examples of things you've been poking at on your own. Or something. You need your story to be true, and the above might not be. But you do need to have _a_ communicable story.

stale2002 32 minutes ago 2 replies      
You are almost certainly selling yourself short.

If you have 7 years of experience, you almost certainly have important, non-junior level skills of value.

But companies do not hire people based on how good of a developer they are, they hire you based on how good you are at interviewing. These are corrolated, but not equivalent skills.

What you need to do is get better at interviewing.

Interviewing is a skill that needs to be practiced.

That means you need to get better at programming silly algorithms on a whiteboard.

Fortunately, this is a skill that can be practiced. There are loads of resources out there that will teach you exactly the stuff you need to know to become good at interviewing.

eikenberry 26 minutes ago 0 replies      
I'd say go for a mid-level position. Most mid-level positions are really junior positions anyways given the way most companies define mid/senior positions. When interviewing look for feedback practices that can help you learn, like regular code reviews and peering. Every developer is constantly learning and some companies embrace that more than others, if you can find a company that takes it seriously then it shouldn't really matter if it is a junior position or not.
thesmallestcat 2 minutes ago 0 replies      
What a crazy idea. I mean, if you want to be paid less, go for it. Mid and senior engineers aren't walking tomes of CS knowledge. And junior engineers aren't the only ones learning. I've mentored quite a few senior engineers. As others have said here, you're probably bad at selling yourself in an interview.
magic_beans 38 minutes ago 1 reply      
There's a difference between a software engineer and a web developer.

I'm assuming you build websites? Web developers don't typically deal with the sort of algorithmic problems that software engineers tend to deal with.

You're essentially switching to a new career path, which is not a deal-breaker.

Simply explain to companies that you are a senior level WEB developer, but a junior-level software engineer.

steven777400 20 minutes ago 0 replies      
Have you actually received offers at the junior/mid level? Or are you just thinking of applying?

I wouldn't worry about "years" too much. It's very very easy to work a number of years and still be a "junior" skill level. I see it all the time. It's not even a criticism of the person at all; if your job is "perform minor fixes/improvements to this web app" and you do that for 5 years, for example, you're not likely to have technical skills beyond the junior level even though you've worked for many years. This is not a problem. It just means that if you want to move your career forward you will need to find a position in a more tech-oriented, forward-moving, mentorship-based organization.

A senior developer at a non-tech organization can easily translate into a junior or mid level developer at a major tech or tech startup.

jcslzr 40 minutes ago 1 reply      
Do a side project, sell yourself on it, unless it works out and you can profit from the side project itself.
jamesmp98 1 hour ago 2 replies      
I am going to get downvoted like hell for this, but if you feel like what they are saying is true, then sure.
Ask Jessica Livingston: If Founders at Work were written today, who'd be in it?
116 points by tzury  1 day ago   27 comments top 9
JSeymourATL 18 minutes ago 0 replies      
More profiles beyond the SV Bubble.

Ben Chestnut Co-founder and CEO of @mailchimp (aka mailkimp aka mailshrimp), seems a worthy subject. > https://twitter.com/benchestnut?lang=en

eegilbert 1 day ago 2 replies      
I loved Founders at Work. However, it suffers from (somewhat severe) survivorship bias [1]. The next time around, it would be great to hear from more companies/founders that were "supposed to make it" but didn't for one reason or another.

[1] https://en.wikipedia.org/wiki/Survivorship_bias

jjtheblunt 5 hours ago 0 replies      
If Founders at Work were written today, would they please research the opening paragraphs about sprinters, because they accrue speed the further they get from the blocks.[ Former sprinter here, who couldn't read any further, amazed at the book opening incorrectly. ]
yeldarb 1 day ago 0 replies      
I'd love a second edition of Founders at Work. It's one of my favorite books and I recommend it to other founders regularly.
stevenj 1 day ago 0 replies      
I'd love to read another edition of Founders at Work -- it's one of my favorite books.

Some of the companies I'd be thrilled to see included:

AirbnbStripeUberLyftSlackRobinhoodPalantirSnapInstacartSpaceXGitHub DraftKingsWarby ParkerOfferUp

smt88 1 day ago 3 replies      
Which YC companies are successful?

I'm asking because, in order for the new data to be useful, it must include both successes and failures, which would allow Jessica to test her hypotheses.

ohjeez 1 day ago 0 replies      
Relevant, too: Programmers who defined the technology industry: Where are they now? (2010) http://www.itworld.com/article/2826737/development/programme....
tixocloud 1 day ago 1 reply      
The one thing I felt was slightly lacking was interviews with founders of enterprise/B2B startups.

For the most part, the stories were great but all revolved around folks who growing consumer/developer-focused companies.

I'd buy the 2nd edition in a heartbeat.

brilliantcode 1 day ago 0 replies      
> Which YC companies are successful?

I dont know the founders but the idea that you could start the apts section of craigslist that out values real established businesses itself is a huge motivator.

Of course with close examination, nothing more than a repeat of near zero interest rate capital flooding a crowding market.

Some will strike the lotto, most will not. Hindsight bias is not at all being discussed here.

Ask HN: Why do we have to study before applying for a job?
8 points by bsvalley  3 hours ago   11 comments top 6
JSeymourATL 50 minutes ago 0 replies      
> Why is it still bad in 2017? Honestly, how could we fix this?

Simply refuse to participate in asinine technical interviews. Counteroffer with a discussion proposal.

This subject actually comes up with great regularity. Here's a solid TC article from 2015 > https://techcrunch.com/2015/03/21/the-terrible-technical-int...

afarrell 2 hours ago 0 replies      
Because it takes skilled thoughtful effort to design an interview process that gathers sufficient information, corresponds reasonably to the work required, but which doesn't require a whole bunch of company-specific context or impose prohibitive costs.

The company I work for tries to focus our interview challenges on knowledge that you would actually exercise and think about while on-the-job but isn't language and framework specific. It has trade-offs (we have a take-home test, which does impose a cost on candidates' free time) and I would be interested in seeing someone more experienced than I go through the process and evaluate how well we do.

trcollinson 3 hours ago 1 reply      
I believe this happens for a few reasons.

* A lot of software developers don't apply to enough positions. A number of developers who talk with me and complain about the interview process don't apply and get enough interviews to be picky about the interviews they are accepting. Companies play on this fact very well. They know developers get their heart set on only a few jobs and so make them jump through hoops to get the position. Try applying to 10 developer positions a day. Seriously. It's fun and refreshing.

* Software developers don't market themselves well enough. I honestly don't even have a resume available. When people ask for one I say, "I don't have a resume nor do I need one." They will then say one of two things. A) "Fine, we're not interested in you." Great! I didn't apply with you anyway and frankly don't have time to jump through your hoops. B) "Oh that's not a problem can we just chat with you for a bit? I know you spoke at Conference A, B, and C, and we saw you at MeetUp X, Y, and Z. You're good friends with our Senior Ops person. We don't need a resume." Fantastic. My marketing is working out well. By the way, when they bring me in to have a chat and say "We'd like you to write out a red-black tree on the board in your favorite language, please. Oh and answer a bunch of random Big O notation questions." The answer is: No. Remember how you heard me speak at those conferences? Remember how I did a live coding and pairing session at that MeetUp? I think we can assume I know how to code. And if we can't, that's fine.

* Finally, have confidence. Honestly, most interviewers aren't confident in how to hire or what to hire. So, be confident for them. 50% of the time when I say I will not answer your asinine questions, more interviews stop and say, "Oh, well excellent, let me just talk to you about our problems." Which is where most interviews need to go.

So, you ask, how could we fix this? Fix it for yourself, individually. You aren't going to fix the industry. You aren't going to fix how bad people are at judging others work in a short period of time. But you can make your own situation substantially better.

fav_collector 1 hour ago 0 replies      
Because we get paid a lot. The reward/cost ratio for studying for interviews is very high.
throwaway_45 3 hours ago 1 reply      
Because there are a lot of developers they can chose from. Also its a young mans game. We have a new version of React or some random new framework every few months. I guess experience is not valued in this industry.
dozzie 3 hours ago 1 reply      
> Aren't we supposed to be qualified for a job when applying for a job?

Juniors aren't, though they are expected to show some capability in thematter (and that's why everybody demands from them a college degree).

In the old days companies were training their employees on the job. In thosedays it wasn't uncommon for employee to stick to a company for twenty-thirtyyears, so training paid off for the company. Today employee works only forcouple of years before moving (or being moved) to next company, so it's notsurprising nobody wants to train anybody from ground up. Training requiresloyalty from both parties, which is a scarce resource nowadays.

> I'm a senior software engineer, why do I have to spend hours/weeks/months on Leet Code, Hacker Rank, etc. in order to be prepared for a "technical interview" these days?

I don't. Apparently it's a location-specific phenomenon.

> Why do technical interviews force me to re-learn something not relevant to the actual job I'm applying for? [...] I'm referring to the mathematical/academic concepts like big O, binary trees, graphs, linked list, etc.

I don't know what are you doing in your work, but in my job data structuresand computational complexity are important basics. Without ability to jugglewith those in my head (assessing complexity on the fly) I couldn't evenstart to think about anything substantial. And I'm not even fully fledgedprogrammer, I'm in large part a sysadmin.

Ask HN: How Hacker News post are ranked?
3 points by ghostpirate  4 hours ago   3 comments top 2
gus_massa 4 hours ago 0 replies      
Essentially, they are ordered by

points / age^2 * a-lot-of-penalties

A more detailed (old) discussion is in: http://www.righto.com/2013/11/how-hacker-news-ranking-really... HN discussion: https://news.ycombinator.com/item?id=6799854 (920 points, 1240 days ago, 190 comments)

The algorithm is tweaked from time to time without warning, so many details may have changed since this was posted ~3 years ago. But the main idea is still there.

gamechangr 4 hours ago 1 reply      
This is asked very regularly. HN has an official policy which you can google.

Here is one interesting (maybe too long) answer:


YC Summer 2017 Invites/Rejections
81 points by sureshkumarsjv  1 day ago   311 comments top 66
snowmaker 21 hours ago 14 replies      
Hey everyone - I work at YC. I'll keep you updated on the status here.

We're now sending the rest of the response emails. You should get yours by 7PM.

jaymeh13 17 hours ago 5 replies      
Just got the glorious rejection email :) https://mail.mixmax.com/m/kWxSBXQlxWO9sN6AC

We interviewed in-person for W17 in October and got rejected because we didn't articulate a good plan for growth. - we grew 4,000% since October- launched huge features for both sides of our marketplace- received acquisition interest in < 3 months of being live- most importantly, made something that people are loving and using on a daily basis.

It's a bummer for sure but not the end of the world.

To anyone who got an interview,Figure out your biggest weakness and a plan for how you overcome it. Your interviewers will exploit it.

Here's some notes on our experience going through the interviewhttps://paper.dropbox.com/doc/YC-Interview-Experience-L45KzT...

Good luck all

flendeborg 1 day ago 4 replies      
Guys - As I impatiently wait as well, I just want to say whatever happens today won't define your success. Whatever the outcome is, I want to encourage everyone to continue to build a great company.
gibsonj 3 hours ago 0 replies      
We received our second rejection for an interview yesterday, but luckily for us YC was just a nice to have and not end all.

As I read through the comments, I believe many businesses forget the fact that business is ran by the numbers. Yes, can YC help you get attractive numbers for investors, but you can do the exact same thing on your own if you build something people need (love). I find it hard to believe that any investor that YC can introduce you to will turn down your meeting if you have built a business that has attractive numbers. That's what they look for anyway...YC funded or not.

For those that got an interview, congrats. For those that didn't, keep going and be great in what you are doing.

apsec112 17 hours ago 6 replies      
I was turned down after an interview last batch. I think I probably won't apply again. YC's standards now seem so high that, by the time I expect to meet them, there won't be much point in YC anymore. If I have 2,000 users, which is pretty tiny, that's $40K a month at $20 per person. If I get 50 signups a week, that's a 10% per month growth rate. If I have $40K in high-margin monthly revenue with a 10% per month growth rate, why sell stock at a $1.7M valuation, in the hope of getting some connections to sell more stock at a $5M valuation? It just doesn't make business sense. All you'd have to do is wait a few years, and you'd have more profits in the bank, in cash, than the "valuation" you'd get from California VCs.
spencer-matonis 17 hours ago 1 reply      
Planning a possible YC "reject" event. Post here if interested: https://news.ycombinator.com/item?id=14144922

Would have our own presentation day, pitch feedback, try out each other's products, etc. I think it would be great! :)

paytheos 1 hour ago 0 replies      
Congratulations to those of you invited an interview! If unfortunately you don't get in, check out a group which is getting together to set up a Demo Day for rejects after the YC demo day: https://news.ycombinator.com/item?id=14144922
instadeal 18 hours ago 0 replies      
For all the "rejected" : There are always two choices. Two paths to take. One is easy. And its only reward is that its easy. Let's keep going guys,even after 1000 rejections. At the end, the difference between an unsuccessful person and a successful one is that the latter never gave up.
blhack 13 hours ago 2 replies      
I have to be honest, this is an emotion I'm not entirely familiar with.

I totally get rejection, I've been rejected for all sorts of things, but normally for rejection I can understand on some level why.

This I don't get. Not only are we applying with a company that fits with an RFS, not only is our team really solid, not only is concept proven, but we have a possibility to do real social good that both makes money and helps people.

Even in talking to other people, the reaction was either "why are you even doing YC" or "Sheesh I'm embarassed to by applying next to you". I know that sounds really arrogant, and Im sorry for sounding like that. I'm just...confused, I guess? I really wish that the applications came with a reason why they were rejected, even if it was one sentence.

I can't honestly believe that typing a one sentence "rejection for reason" would take that much extra time. Even a drop down of "we rejected you for this one of the following 5 canned reasons" (your team was bad, your idea was bad, you have no revenue, etc.) would be helpful.

Is it because my cofounder is from another country? Or because we don't live in the bay area?

I seriously do not understand this. I know that sounds a little bit whiney, but it's just frustrating to have put this much emotional investment into something[1] and to get rejected for it without even a brief explanation of why.

[1]: For people that don't live in the bay, applying to this program is a big deal. I skipped out on events next week because we might have to block out time for an interview, I moved things around this week specifically so that I could schedule an interview if possible, I moved things around this summer so that if I needed to be in SF I could etc.

I get not counting your chickens and all of that, I don't think we did. Nothing is lost for us here, and moving events and things around isn't a big deal, obviously that is just part of doing business. It is just frustrating to get a rejection email that doesn't even include a few seconds explaining why.

Forever onward, obviously. It just really sucks not having feedback on why you were rejected.

Yug04 23 hours ago 10 replies      
Got invite just now, they started sending invites.From india.
Ashu_14 14 hours ago 1 reply      
A rejected application the second time in a row. Had applied to YC W17 batch wherein got rejected after interview.I really doubt if I'm going to apply again in future. As someone marked in the previous comments, YC is now all about high standards and the companies they sign would anyways had done great without them as well.Since the last time we applied, we experienced quite a good growth in terms of revenues and customers. plus we introduced some unique engagement model which previously was not at place and was hypothetically roaming around in our minds.I thought YC support could help us gain networks over in different sectors with experts and that's where we have been seeking support since long. Even in the application we clearly mentioned our "ask" and what we expect from YC.I think they don't deal with hardware startups or even if they do, those startups are the ones who already might be enjoying millions of dollars of revenue.
nurkhz 23 hours ago 10 replies      
got an invite now. happy to get it. still cant believe btw! :) time to prepare.
reviewmon 17 hours ago 0 replies      
This is our 3rd time applying. S15 - Rejected. S16 - Invited then rejected after the interview. S17 - Rejected (we grew to a much higher MRR since S16 with a stronger product). YC's decisions can be unpredictable and I believe you have to get lucky with the batch (your startup showing more promise than others in the pool).
yoloceo 23 hours ago 0 replies      
So when do we get the rejections? so we can move on.
lloydYC 1 day ago 0 replies      
They should be responding to everyone by evening today.

Till then have your lunch, breathe, work on your product and check your emails later this evening. :)

instadeal 23 hours ago 1 reply      
This is my third application with the same company. We got investors and launched our product since the first time we applied. Even though it would be amazing being selected, life will continue even though YCOMBINATOR rejects your idea. ;) Keep building an awesome product! Good Luck to everyone.
ParameterOne 17 hours ago 0 replies      
baironlondono 1 day ago 1 reply      
I will make my company the most successful with YC or without YC, you decide YC :D
manujbahl 19 hours ago 3 replies      
Does anyone know if they send in one big batch or smaller batches.Also has anyone received rejections yet or rejections get sent out last/later.
krishnanvs 1 day ago 5 replies      
Just got the invite! Best of luck guys!!
acirinelli 21 hours ago 3 replies      
We received an invite earlier this afternoon! This came after a pre-interview earlier in the week. So stoked! This is our 5th or 6th time applying.
RBBronson123 19 hours ago 0 replies      
Just got our invite
blhack 1 day ago 1 reply      
Sounds like the emails come in later this evening. That's not going to stop me checking my email every 5 seconds until then.

Anybody else in Phoenix? My cofounder and I are going to hang out and get some beers/lunch together while we try to wear out the refresh buttons on our laptops if anybody wants to join us.

manujbahl 19 hours ago 3 replies      
Congrats to all who received their invites. We are still waiting for a response.
entrepreneurSF 18 hours ago 0 replies      
I guess a successful exit in my last startup and revenue in our first 6 weeks for this startup weren't good enough, LOL.Kick some ass everyone! :)
wilton 18 hours ago 2 replies      
We're not selected to interview. We were invited to the pre-interview (video call) last week. Solo founder. Good luck everyone!!
elizabeth8890 18 hours ago 0 replies      
Congratulations to everyone for applying, and giving it a shot, whether or not you got an interview! Go get 'em! :)
mlibazisi 19 hours ago 3 replies      
Just got our invite! Good luck to everyone else!
oscargs 20 hours ago 1 reply      
It's 6:11 here in Birmingham, AL. I have also been patiently waiting! Best of luck for the ones who have already received an invitation!
rachitgold 21 hours ago 1 reply      
No news till now....is anyone else still waiting?
Ashu_14 15 hours ago 1 reply      
Received my 2nd rejection mail from YC. had applied for W17 as a hardware startup.
bridget2185 21 hours ago 0 replies      
Nothing yet! I'm super interested to hear when/if any single founders get interview invites though. Let me know, pals!
dilarakececi 21 hours ago 1 reply      
Are they sending the rejection mail as well today? Or if we are not getting an e-mail,does it mean that we are rejected?
wyg 1 day ago 3 replies      
For some reason i thought answers would be given yesterday. So this is the 2nd day I'm biting my nails (not much left from yesterday)
pedramsheraf 1 day ago 0 replies      
I'm pacing and my dog is just staring at me
asadjmalik 22 hours ago 10 replies      
Anyone here applying as a single founder?
ljmason 15 hours ago 0 replies      
Are a lot still waiting to hear?? Its 11pm MST, and no news...
mzg92 23 hours ago 2 replies      
Has anyone applied just a few days late in the past? Any idea how long your application decision is delayed by?
Ashu_14 14 hours ago 0 replies      
Anyone with hardware concept applied for this batch?
hakki 22 hours ago 2 replies      
Guys, do you get the invites to your mails or is there a way to see it within the hacker news?
mconnolly 1 day ago 1 reply      
Received an invite last year at 8:15 pm est so looks like we have around seven hours to go if we're judging by that.
pauliotre 18 hours ago 0 replies      
Rejected. Thanks everybody. Congrats to invites and good luck to all!
instadeal 21 hours ago 1 reply      
Does anyone know if all the people who got invited so far were pre-interviewed before?
demetriusg 1 day ago 0 replies      
We haven't received anything either and we're on the east coast in U.S. We're guessing it will be very late tonight.
mariafg 17 hours ago 0 replies      
I haven't received any answer yet. Is anyone still waiting?
GlennJoe 19 hours ago 0 replies      
Do you know what time you will re start sending invitations and rejections
spencer-matonis 18 hours ago 2 replies      
Anyone receive a rejection yet? :/ I think we're toast ;-;
vedicbrands 18 hours ago 1 reply      
Anyone still waiting? Do they save the rejection emails for the end?
sontek 19 hours ago 1 reply      
Just got our invite! wooooo
obaid 18 hours ago 2 replies      
Does everyone get an email? Even those who have not been selected?
mrx500 1 day ago 1 reply      
Didn't receive anything yet, South East Asia passed midnight here but only 11am in Mountain View.
evanbrinkbit 18 hours ago 0 replies      
Got our rejection. I guess it'll be Winter 2018 for us.
mohsenElgendy 1 day ago 0 replies      
We haven't received anything yet as well. Egypt/Cairo is 9 hours ahead of Mountain View.
samulloa 18 hours ago 0 replies      
Rejected as well. I will keep making progress regardless.
suhailameen46 1 day ago 2 replies      
I wonder how many international companies are getting invites for the interview!
GlennJoe 23 hours ago 0 replies      
Appears they are starting to send invites based on date of applications.
syedabrar 1 day ago 1 reply      
We haven't received an invite or rejection yet. (eagerly waiting).

When will the invites/rejections be sent out anyway?

lzimble 17 hours ago 0 replies      
Has anyone pitching a non profit heard back?
sameerrj 1 day ago 1 reply      
How many startups, do you guys think will get invited for interview this time?
ilolis 23 hours ago 0 replies      
Am I the only one who checks the emails every 1 minute?
bookbild 18 hours ago 0 replies      
Rejection mail just hit the inbox.
GlennJoe 1 day ago 0 replies      
It is 1200 noon in Mountain view. No email yet.
romshark 1 day ago 0 replies      
South Germany (9 hours ahead) - not yet so far... awaiting
rzkeller22 18 hours ago 1 reply      
Just received my rejection.
dregray 20 hours ago 0 replies      
Thanks for the update cheers!!
instadeal 18 hours ago 1 reply      
just received mine. rejected! Well, good luck for the interview guys!
Ask HN: What are some things you should know before starting a SaaS?
44 points by nkkollaw  1 day ago   19 comments top 8
tarikozket 1 day ago 1 reply      
Most of the SaaS companies pretend that their website generates 99% of their revenue. Don't believe to them.

70% of the money will come from the enterprise/offline sales you do and the rest will come from your website.

brudgers 1 day ago 1 reply      
If you are not familiar with HN'er Patrick 'patio11' Mackenzie, I would recommend looking at what he has written and said regarding building and running SaaS businesses.


Good luck.

pryelluw 8 hours ago 1 reply      
Try and sell it for a one time payment first and then try to sell it with a monthly payment. Might be the product is seen as a great one time purchase but bad as recurring.

Focus on sales. Did I say sales? Have you ever sold anything? Did you write your prospect list and started setting appointments?

Sales. If you are bad at those, anything else wont matter.

codegeek 1 day ago 2 replies      
Few things I learned running a bootstrapped SAAS:

- On-boarding and acquiring new clients is still a lot easier than sustaining/retaining them. A lot of us focus too much on marketing, getting new clients etc. but not on sustaining them. For some businesses, that works but for SAAS, customer retention is a big deal and really hard.

- Every month, a small percentage of Credit cards will fail to renew the client's subscription. Sometimes it is just the banks being stupid, sometimes the cards expired or reported stolen. You need to have a process to ensure clients are aware and fix this asap. Fancy word for this is "dunning"

- Unless you have a solid team with good funding, offering a free or freemium version will be difficult for you since you will get tons of tire kickers and time wasters. So you will be spending too much time talking to them when they are probably not going to be paying customers anyway. Hint: If after 2 discussions/emails/calls, someone still asking questions are most likely the ones who will never convert. Yes, there are a few who take time but in my experience of doing this for 3 years now, I almost know who will convert and who won't.

- Not all clients are same. You may have to be partial at times depending on the client. For example, some clients just want the whole world and don't get the idea of a SAAS. Learn to keep them in check while it is ok to pamper the good ones a bit more. Hint: Keep track of support emails/questions/tickets for each client. If you see too many unreasonable requests from a client, be polite but frank with them about what is possible vs not. Often times, clients mean well and just don't understand why a feature cannot be built just for them. It is your job to explain that to them.

- Reduce friction when it comes to on-boarding. A lot of clients leave because they find it difficult to get started. This is not the same as building an easy software. This is about ensuring that your clients learn how to use that software when early on. Documentation, FAQs, Guides whatever you call it. And no, don't listen to people who say that only badly designed software needs documentation. Everything needs documentation. Trust me.

- Backups. Remote backups. Not on the same server. Don't take this casually.

- Learn to Sell. Only way is to actually do it. Don't "outsource" your sales specially in the beginning. You being able to convince someone that your product is worth it is what matters.

- If you start growing and think you need to hire, be very careful. Hire really slow. Fire really fast. If you can, hire a freelancer/sub-contractor instead of full-time. Then go from there as needed.

- You will need to do some basic accounting yourself to understand your business numbers. Learn how to create a simple PnL statement. If you don't know, talk to a good CPA (or equivalent in your country).

- If you are making some money, don't forget to incorporate AND also hire a good CPA if you can afford. For small businesses or SAAS products, a good CPA can cost anywhere from $500-$2000 for the entire year (depending on what you ask them to do)

Finally, I will leave you with this. Running a SAAS is awesome once you get a hold of what matters and what doesn't. You will learn with experience and probably make a few mistakes. But don't give up and keep fighting. Nothing is better than seeing recurring payments hitting your bank every month and knowing that you are providing value to some people in the real world.

jwilliams 14 hours ago 1 reply      
I've run with many bad SaaS ideas, some good ones and one great one.

It takes great to get liftoff. The bad ideas aren't the hard ones. The hard ones are the good ideas .. Maybe people are paying. Maybe they even like it. Sadly good isn't good enough in SaaS. For a SaaS product to really win it needs real, measurable velocity.

If I could offer one big of insight I've managed to pick up - genuine traction in SaaS is hard won, but then it's really (really) obvious. If it's not slapping you in the face, then time to change tack. Maybe that's a tweak or it's a pivot, but keep trying till you have that clarity.

saluki 1 day ago 1 reply      
There are lots of SaaS tips/advice in the StartUpsForTheRest of us podcasts.


goatherders 1 day ago 1 reply      
Get a customer first. Then build it. Find someone to give you money to be a customer. That is the only way to qualify if you should even bother getting started.
canterburry 19 hours ago 0 replies      
From my experience you'll spend 20% of your time building your SaaS and 80% of your time selling, marketing and supporting your SaaS.

The kicker is, how well you do on the 20% determines how hard your 80% will be.

Ask HN: Licensing concerns for work
6 points by akulbe  1 day ago   6 comments top 6
1ba9115454 5 hours ago 0 replies      
I would tell the customer if they ask, which they won't, that I invented the cool technique earlier and that I'm just re-using it.
joezydeco 22 hours ago 0 replies      
You'll need a lawyer to define what these 'techniques' are and how far they fall into intellectual property category.

If, in the middle of a project, you suddenly change brace style in your code? Nobody will care.

If you invent something like map-reduce? You can be sure the customer will own that invention.

There's a huge spectrum here. Lawyer up.

tarr11 23 hours ago 0 replies      
You should speak with an attorney. They can teach you about all the various ways that your good intentions can go wrong.
siegel 16 hours ago 0 replies      
dazfuller is correct in that you cannot conflate IP and copyright. Copyright protection is a certain type of IP protection that can be afforded to certain types of tangible creative works. But "IP" is a much broader concept than just copyright.

There's a lot of focus in the law about core types of IP that are protected by statute: copyright, trademark, patent.

It is quite possible that the type of cool technique you develop while doing code for a customer wouldn't be protected by copyright, trademark, or patent law. But most customers probably want you to enter into a contract that governs ownership of IP.

By contract, you can protect certain types of IP that, for example, wouldn't be subject to copyright protection. Depending on what is in your contract with your customer, you may end of inadvertently winding up with your customer "owning" any technique, idea, know-how, etc...that you come up with in the course of performing services with the customer. ("Owning" this type of IP is not the same as "owning" certain other types of IP, as concerns 3rd parties. But that's not particularly important for your question.)

Even if the customer couldn't sue you for copyright infringement for using a technique they end up "owning" by contract, they might be able to sue you for breach of contract or trade secret misappropriation, depending on how you use the technique and its value proposition to the customer. Or, if the technique is patentable, they might be able to apply for a patent covering the technique and prevent you from using the technique that way.

There are a number of ways to work around this in your customer licenses. How, exactly, depends on what you are doing for your customer, what your customer does, and your negotiating leverage. But it's certainly doable and happens everyday.

dazfuller 1 day ago 0 replies      
I'd say it's worth defining a line between IP and copyright. If you can reapply a technique without giving away the companies methods then you should be okay. But get someone who understands legalise to advise.
stuaxo 20 hours ago 0 replies      
Those agreements don't make sense with open source if you ever want to upstream fixes (you do - the alternative is basically forking projects you use).
Ask HN: KISS company website: Wordpress, Square Space or roll my own?
37 points by leonroy  1 day ago   33 comments top 21
rwieruch 1 day ago 2 replies      
If you want to outsource it, I can agree that the easiest way is to provide a simple interface for the other party. That's where a CMS like Wordpress would make sense.

On the other hand, if you want to have more control in the long term, I can recommend to use Hugo [0] as a static website generator.

They have plenty of themes [1] to choose from. You can still adjust it with basic knowledge in HTML/CSS. Afterwards you can chose where to host it. You can use Github Pages [2] for free or pay for a service like DigitalOcean [3]. I wrote a technical cheatsheet [4] on how to setup your own website with these ingredients.

- [0] https://gohugo.io/

- [1] http://themes.gohugo.io/

- [2] https://pages.github.com/

- [3] https://www.digitalocean.com/

- [4] http://www.robinwieruch.de/own-website-in-five-days/

toddmorey 1 day ago 1 reply      
For a SaaS company like yours, I would do a site that's static content served from a CDN (generated by something like jekyll and friends). Obviously a site deployed that way is largely fail-proof and fast, but there's another (and larger) benefit people don't often mention:

Having your site content live in the git repo instead of a database is amazing. In fact, this is the approach taken by most documentation sites these days. It makes it so much easier and faster to make changes, updates, and experiment. I use Netlify as a static host; they have features to make any commit, pull request, or branch into a hosted preview. It's an awesome way to work.

(For less technical editors, you can plug them into the process with something like NetlifyCMS, a clever open source project from the same folks that basically is a CMS interface running on git / github.)

javipas 1 day ago 3 replies      
I'm surprised to see so much answers leading to use a Static Website Generator. WordPress certainly can be problematic, but I think that there are clear advantages in both cases. You've got to make tradeoffs in both too.

I've been hearing a lot about Hugo lately, but my main concern as a blog editor with static website generators is the fact that they are great for, well, static content. If you want to update your site with new content and features (posts, pages, sections, widgets, comments, web statistics) WordPress make that easier.

On static websites generators at least the ones I tried a couple of years ago, octopress/pelican/jekyll these systems are great if you want to just have a good/superfast landing page and a few other pages laying around. Once you want to add new pages and posts you had to recompile everything again, something that wasn't a good idea with sites that grow dinamically through time with hundreds or thousands of posts (like my blog, for example).

Please let me know if Hugo (and others) solves the "recompilation" issue to rebuild the site each time, I'm probably wrong or not updated here. In your case it seems that static website generator could be a good fit though.

Squarespace is really nice too, btw. Good attention to design and detail, not so versatile as WordPress.

alxwu 1 day ago 0 replies      
I recommend using jekyll or hugo for your site using either netlify or forestry.io for the CMS and hosting. This is the future, and it can be hard to convince the non tech savvy, but I think you know the benefits. I'm willing to help if you run into any questions with setup. You can find me here: http://templatestud.io/.

P.S. This is from working with Joomla, Drupal, and Wordpress sites in the past. Static sites are the way to go.

codegeek 1 day ago 0 replies      
From a purely technical perspective, WordPress is so meh. But from a business and "time to market" perspective, it is not a bad choice. You can quickly put up a landing page, career page etc on a decent VPS and get going. WordPress also will give you tons of SEO and content marketing options out of the box.

One example. ConvertKit is killing it these days, right ? See their marketing website. It is WordPress.

wheelerwj 1 day ago 0 replies      
i've spent a CONSIDERABLE amount of time looking into this lately for a few projects. at this point, id definitely recommend wordpress + oneclick install on digital ocean for a company site. its so fast and easy, its really hassle free. which is the single most important thing when launching. time is already in short supply, so you want to (have to) invest it wisely. is a better "about us" page going to give you more return then product refinement or sales? absolutely not.

this is one of the few times that the right thing is also the easy thing.

timdorr 1 day ago 0 replies      
What segment of the telephony market are you targeting? Are you going after a smaller number of large companies, or as many small deals as you can get?

Basically, how important is human involvement in your sales process?

If it's really important, focusing on your website at all is probably a waste of your time. Just choose whatever involves the least amount of work (probably SquareSpace or Launchrock) and crank something out quick.

Revisit it later when the website is actually interfering with your sales.

mabynogy 1 day ago 0 replies      
Static and markdown is the simplest I know.
surfin 1 day ago 0 replies      
What are your requirements in terms of editing / updating (e.g. adding new blogs) content once your site is live? If you expect non-technical person being able to author the content, you may consider headless CMS like Kentico Cloud (https://kenticocloud.com/) or Contentful (https://www.contentful.com/) to store and manage your content and then pull it to your template via technology of your choice. Eventually, you could feed that content to static web page generators like Hugo and serve only generated pages.
kaushalmodi 1 day ago 0 replies      
A really good static site generator: [Hugo](gohugo.io).
uniacid 1 day ago 0 replies      
If you are fine with PHP there is also the option of OctoberCMS built on top of the Laravel framework, have to say I really enjoy it so far.




snowwrestler 1 day ago 1 reply      
A host who specializes in Wordpress can take a lot of the sting out managing it (patching, caching, security, etc). I'm in the process of moving a bunch of WP sites off of dedicated hosting for this exact reason.

So far the best options look like WPEngine, Wordpress.com, or Pantheon.

I've also worked with Squarespace and would caution that developers can find it to be frustrating--requires a lot of hovering and clicking to configure pages and post content. Not really a fan now--too much of a pain.

rewrew 1 day ago 0 replies      
I wish I had some brilliant non-WP insight to share with you but once you deal with WordPress' security issues (not minor but conquerable), its ubiquity and flexibility make it a great solution for most smaller-scale (content-wise) projects -- the fact that you can turn to anyone from the local college kid to a major agency and hand them your site and they're going to be able to execute, or you can take it back and do it yourself at a moment's notice, it's just hard to beat that.
aussieguy1234 1 day ago 1 reply      
Use WordPress for your website with a custom theme. There's really not that much to it and your going to get tons of features basically for free.

However use other things for your SaaS platform, WordPress is too slow for that kind of thing. Instead go with something lightweight like Slim Framework.

kayman 1 day ago 0 replies      
If only you'll be editing the site, as a dev, I always like to roll my own. Simple HTML/JS/CSS.Feel like I have more control, less learning and I enjoy it.But that's the dev bias.

If you want other non technical people to edit or make changes, choose a CMS.

Your goal is to get your message out there asap so you can solve problems.

End of day, the customer doesn't care, only you do. You can always change it later.

flaviocopes 1 day ago 0 replies      
I would leverage your existing knowledge but avoid WordPress, and instead use Grav (https://getgrav.org). It's open source and much more flexible than WordPress, plus it does not require a database (it's a flat-file CMS) and it's very easy to build a site with it.

You don't have to have WordPress as the go-to resource for everything, but also you don't really have to roll your own CMS every time you build up a site, which is quite a time consuming task.

Grav offers a light experience to a CMS, and you can decide if you want to just work with markdown files, or rely on the Admin panel for easier editing.

(Disclosure: I'm a dev team member).

jusob 1 day ago 0 replies      
if you want to outsource, WordPress is the best choice. Make sure you use different domains for WordPress and your app. Sucuri (recently bought) provided a good managed WAF & security monitor for WordPress.
dbancajas 1 day ago 0 replies      
github pages. redirect your domain name. easy.
lucasmullens 1 day ago 0 replies      
I would be surprised if you could only find companies that can design Wordpress pages and not Ghost/Jekyll pages.
chrisgoman 1 day ago 0 replies      
If you are just throwing something together, static S3 pages with Cloudflare in front?
douche 1 day ago 0 replies      
We use a lot of Handelbars-based static html/js sites with no backend hosted on Azure, for landing pages and per-product micro-sites. It's very simple, and seems to work well.
Ask HN: Are you powerful? Will you quit email?
6 points by toepitt  21 hours ago   11 comments top 4
savethefuture 20 hours ago 0 replies      
I'm not switching from email until my company, government, any website I use, friends, family, and everyone else in the world stops using email. Email is so core to the internet, name one major website that does not require an email, name a company that dont have email. Email lets you receive a letter and view it whenever you'd like, and without losing it, unlike messaging apps, it allows for archiving of information and quickly lets you search. I see no reason to switch from email.
codingcowboy 20 hours ago 0 replies      
I would think that websites would have to stop using email as a means of identifying humans before email is done away with. What are the alternatives for self identification on the internet today?
AnimalMuppet 20 hours ago 2 replies      
Paul Graham said that email was horrible, and it shouldn't be hard to come up with something better. But he didn't actually put forward a concrete proposal.

So: What would be better? Given that the world currently runs on email, what would be enough better that it would be worth it to switch? I don't know. I don't think Paul Graham knew then, or knows now. And I think that the reason people haven't switched is that, so far, there isn't an alternative that's enough better. And the reason there isn't one is because, contrary to Paul Graham's expectation, creating something better is actually pretty hard.

nickpsecurity 21 hours ago 0 replies      
I've met quite a few and heard from even more IT guys that worked for them. I can at least add a few data points I've seen.

First is reason nothing goes away at most big companies: if it ain't broke, don't fix it. It's something they understand, they're often lay people who might not want to learn something else, they might have tons of stuff built on top of it (tech or processes), tons of important information stored in old emails (it's archive medium, too), and they'll get emails from other people anyway. So, why not keep using what you've been using.

A few others I hear occasionally on top of that big set. One that I like is that it's asynchronous. They can put emails off easier without it seeming like they're ignoring people. Managing it is fast and easy vs some web apps for communication. The security might be perceived as better esp with security software they likely have for email & data breaches they see on other things that aren't intranets or Gmail. It's decentralized, vendor-neutral protocol which existed for ages (stability). Bosses in smaller firms even use it straight-up as free alternative to paid chat or archive tools if it's Gmail. Just to avoid paying anyone past the ISP which is also cheap or someone's Wifi haha.

So, there's a few I've heard that tell me email ain't going anywhere.

Ask HN: What should I use for authentication (WebID, OpenID, Password)?
16 points by danieka  1 day ago   14 comments top 8
hdhzy 1 day ago 2 replies      
User name and password plus hardware token. Currently only U2F meets the requirements (supported in Chrome and Firefox with an extension) but soon enough Web Authentication [0] (successor of U2F) will be natively supported by all major browsers. The benefit of this approach is that you don't need complex passwords (4 digit pin will suffice) as the hardware token provides strong security.

For bearer tokens use secure, httponly cookies that have names starting with __Secure- [1]. Check Origin header to protect against CSRF. Optionally consider using token binding [2] so that cookies cannot be exported at all.

[0]: https://www.chromestatus.com/feature/5669923372138496

[1]: https://www.chromestatus.com/feature/4952188392570880

[2]: https://www.chromestatus.com/feature/5097603234529280

djsumdog 1 day ago 0 replies      
I still have an independent openid server, but the only sites that still take OpenID are StackOverflow and Python's Pypi. Slashdot and Woot use to support it, but have since removed it. Freecode.com used it, but it's gone now.

My suggestion is as follow: always allow signups via e-mail/registration. If I go to a site and the only options are "Login with Facebook/Google/Twitter," it's not worth my time. I never used those walled gardens as identity providers.

There are a number of people who do login with their social network, so if you want to get that segment of the population to try your app, you do need to support login via 3rd party providers. Usually two should be enough (Facebook, Twitter, Google).

Under the surface, most providers use either OAuth or OpenID. Most web frameworks have plugins that support a variety of authentication types. Pick a framework with a good auth plugin that shows frequent commits and a large userbase. You want something that is actively developed, so if security problems are found, they can be patched quickly.

I totally understand not wanting to allow FB logins. If your audience is mostly the HackerNews types, then you could authenticate with GitHub as well.

phsource 1 day ago 0 replies      
I think the most open (and perhaps "easiest for users") is still just using email and password. It's the baseline, and unless social features or real-world identity verification is a core part, email/password is available as a signup method.

It's also open (two text strings), decentralized (you can use whatever password manager you want), and simple (people have been using it for ages). So before implementing anything else fancy, I'd highly recommend doing email/password first.

spangry 23 hours ago 0 replies      
I have to admit I'm a little confused about the relationship between OpenID and OpenID Connect. At any rate, OIDC is a restricted, but still standards conformant, profile of OAuth 2 designed specifically for authentication:

Whereas integration of OAuth 1.0a and OpenID 2.0 required an extension, in OpenID Connect, OAuth 2.0 capabilities are integrated with the protocol itself. (http://openid.net/connect/)

I can't find any direct assurance on the OpenID Connect website that a conformant OIDC implementation will by definition be compatible with a compliant OAuth2 implementation, although I suspect this is due to the open-ended nature of the OAuth 2 standard (i.e. I'm not sure if you could confidently say any particular implementation of OAuth2 would be compatible with another implementation). FWIW, you can implement an OIDC 'relying-party' directly on top of google's social auth OAuth 2 endpoint, if I'm reading this correctly: https://developers.google.com/identity/protocols/OpenIDConne...

Unless much has changed in the past year or so, it's also very easy to do a relying-party implementation, which I think matches your scenario. For example, I wrote a (probably insecure) relying-party implementation straight from the spec in a bit less than a day, and I'm not a programmer by trade.

It worked when tested against one of the django OIDC libraries floating around out there, which came as a bit of a shock. This might suggest the standard is 'tight' enough to ensure interoperability between independent implementations. Then again, it's only one data point so YMMV.

cestith 23 hours ago 0 replies      
Don't confuse OpenID 1 and 2 with OpenID Connect.

OpenID Connect 1.0 is a particular set of narrowly defined workflows on top of OAuth 2.

pstan26 1 day ago 0 replies      
I think what you are looking for is here with Blockstack: open, completely client-side and decentralized, and for the user you don't even need to use a password...experience is like login with facebook, except without supporting the hegemony :) https://blockstack.org/blog/serverless-sign-in-with-blocksta...
nailer 1 day ago 1 reply      
oauth to the person's email account. Authorisation to use someone's email is sufficient authentication.
leecarraher 1 day ago 1 reply      
Sqrl "squirrel" looks promising. Probably need passwords too though.
Ask HN: How should I study algorithms and datastructures?
20 points by PixZxZxA  2 days ago   9 comments top 7
Jtsummers 6 hours ago 0 replies      
This may be too late for you to notice it, hopefully not. Something useful for me was not learning any particular algorithm or data structure in depth, but learning the "shapes" of algorithms and data structures.

When starting out you'll be learning, for example, the different sorting algorithms in great detail. This isn't terribly useful later on (the level of detail at least). What is useful is that they each have a shape, a style of functioning. Merge sort as one of the quintessential divide-and-conquer algorithms provides an excellent template for other algorithms with the same shape, but meant to compute something different. While bubble sort is a terrible sort algorithm, the pattern of bubble sort for computation is present in numerous algorithms. Same with insertion sort and shell sort and the rest.

It's like language acquisition, or at least like language acquisition is for me. When learning Spanish, I learned a lot of specific instances (hablo, hablas, habla, hablamos, hablan as 5 distinct things). Then I learned the pattern (grammar rules, -ar verbs generally drop the -ar and -o means I <verb>, -as means you <verb>, etc.), then I focused on root words in vocabulary (hablar means to speak) rather than memorizing every conjugated form of a verb.

Same as physics and calculus. Learn specific cases at the start, then you learn the rules, then you apply the rules to new forms to construct novel (to you) solutions.

And as others said, code. My algorithms class didn't require much programming, technically, it was rather high level. But I coded everything I could to try things out and understand them. Sitting down with pencil and paper to understand it was sometimes helpful, but the act of coding was more effective.

EDIT: High level in that it was focused a lot on the maths of algorithm analysis. I had one earlier in college that was more practically focused, on implementing algorithms, but the one that really stuck with me was the later one.

veddox 2 days ago 0 replies      
Short answer: code them ;-)

Long answer:

The Algorithms and Data Structures course is one of the foundational courses of a CS degree. Even if you think you don't need to be able to implement the algorithms you learn in your work later on, it is important to have some idea of which algorithms exist for a given task.

Also, and perhaps even more importantly, understanding how these algorithms work really hones your problem solving skills. You learn how to abstract the information given to you as part of a problem into an appropriate data structure, and what kind of operations you can carry out with which data structures. You learn how to cope with several different layers of abstraction and develop an intuition for programming approaches that are fast and/or light on memory. Basically, the ADS course doesn't teach you how to be a programmer, but how to think like one.

As for studying for this course: there's nothing like doing it yourself. Chances are, you already have to do so anyway as part of your course work. Take the programming tasks seriously and really do try to do it yourself. (Get friends to help you by all means, but don't let them do the work for you.)

I would advise you not to slack either: based on your information and the ADS course at my uni, I'm guessing that you're still at the very beginning of your degree. It isn't going to get easier in terms of workload, and the algorithms you learn about later on in the course are a lot more complicated than those at the beginning. But if you've made the effort to understand the first bunch of algorithms, you'll be in good shape to understand the latter ones too. So yes, it is hard work, but you can do it :-)

marvy 1 day ago 1 reply      
Two days to understand the ESSENCE?? I understand that there are a lot of details, and those can take a lot of time to master, but the essence should be really quick. To wit:

1. Merge sort. Given two sorted sequences, they can be merged in linear time. Given an algorithm that does so, we can sort a list in O(n log n) time, as follows: split the list into two equal halves, merge sort each half, and then merge the result. (The base case is that sorting lists of length 1 is really easy.)

2. Insertion sort. Let's say you want to sort in increasing order. To make things concrete, let's say your given list is

[3, 1, 4, -1, 5, 9, 2, 6, -5, -3]

You start by walking through the list: 3, 1, ... WAIT. That's not right, 1 should come before 3. Let's drag it to the front of the list where it belongs. We now have:

[1, 3, 4, -1, 5, 9, 2, 6, -5, -3]

Now we again walk through the list: 1, 3, 4, -1 ... WAIT. What's -1 doing here, let's drag it to the front of the line:

[-1, 1, 3, 4, 5, 9, 2, 6, -5, -3]

Again: -1, 1, 3, 4, 5, 9, 2, ... WAIT. What's 2 doing here, we need to drag it forward, but not all the way to the front:

[-1, 1, 2, 3, 4, 5, 9, 6, -5, -3]

And so on. Is this what you meant by essence?

kerneldeveloper 1 day ago 0 replies      
I must recommend two books, both of them are awesome. One is Algorithm by Sedgewick and the other is The Algorithm Design Manual by Steven S. Skiena. You can read the first book and then the other. If you want some challenges and practice, try LeetCode and HackerRank. By the way, it'd be better to keep a discrete math book at hand, it would help you if you encounter some mathematical proof problems. I would recommend Discrete Mathematics and Its Applications by Kenneth H. Rosen for reference.
kiloreux 2 days ago 0 replies      
I would first ask. Do you really need this in your day to day life? I know a lot of companies use this for hiring, but you can still get a job without them.

However if you still want to study them, there are plenty of resources online, like this youtube channel[1].

Taking 2 days to understand insertion sort is fine but you just need to practice learning more often and use the things you learn more often. Even if it's on toy projects.


fadzlan 21 hours ago 0 replies      
vskarine 2 days ago 0 replies      
not the fastest but IMHO most practical way is through http://www.usaco.org/ training program @ http://train.usaco.org/usacogate, it's free and it will teach you to code and use most data structures and algorithms you'd ever encounter
Ask HN: How do you code while dealing with personal problems?
22 points by heyheyhey  2 days ago   17 comments top 15
twobyfour 1 day ago 1 reply      
In short, compartmentalization. Ymmv, but here's what works for me:

1) first, grab a real pen(cil) and paper (even if it's scrap), sit down somewhere comfortable, and take some time to write down what's bothering you. How it makes you feel, and why, and what you want to do about it, and everything that's been running through your mind about it. Until you have no more to say. This helps your mind feel like you have given the problem the attention it deserves.

2) write down 2-3 finite, specific tasks that are important for you to get done today, and that you know that on an ordinary day you can complete all of in just half a day. This is a point of focus for your workday. Even if you accomplish nothing else, completing these tasks should be considered a victory on a bad day.

3) take a walk or meditate for 15 minutes to clear your head and refocus. Don't beat yourself up if your mind wanders or even returns to what's bothering you, but if you can empty your head, do. The purpose of this time is to create a mental break between the thinking about this problem and thinking about work.

4) don't force yourself to start coding. Do force yourself to open up your text editor to the place you need to be to get the first of your 2-3 tasks done.

5) if, at this point, you're still unable to code, take a mental health day or two. Focus on taking care of yourself, because you'll be more productive tomorrow if you heal yourself today.

tboyd47 2 days ago 0 replies      
Try to find something easier to work on until it passes.

At my company, I switched over to our new stack (all ReactJS) at the end of last year and then had a whole bunch of personal/family drama hit me right after. It was so overwhelming I had to ask my supervisor to move me back to our old (Ruby) stack. I'm grateful he did. Not having to suddenly learn 10 new technologies at once gave me back the mental space I needed to deal with the other stuff.

joshrotenberg 2 days ago 0 replies      
Take the day off. Your mental health is likely much more important than any of the work you'll do over the next day or two.
o2l 1 day ago 0 replies      
I am going through the same right now. The problems are of the kind which won't be fixed overnight, but I realise that it is important to make your peace with it, even if you are not able to solve it right now.

I am going to take a small break now to mindfully approach all the problems and think of what I can do to solve them today. If there's nothing I can do today, I can at least know that I did whatever I could for now and can move on from the thoughts temporarily.

Listening to music which you usually listen to while programming can put you back in the zone, if the problem is not too serious or not too distracting.

NotSammyHagar 1 day ago 0 replies      
Try to figure out how you can talk about this issue with someone. When my mom died I couldn't do much (it wasn't as important b/c i was in management 1/2 ;-)), and I eventually left the company, looking for something new. Maybe see a therapist, or find someone to talk about it with. I have no idea what happened, maybe you got a dui, maybe you broke up, maybe you witnessed a tragedy. In any case, talk it out with someone. Good luck, life goes on. Even if you made some bad choice that affected someone else, you could try to help improve the world as partial compensation.
w4tson 1 day ago 0 replies      
Try going for a run. You get some alone time, the exercise does you good and the endorphins released afterwards can ease the problem

I find myself more energized getting straight to work after a run.

Hope you work it out

imauld 1 day ago 1 reply      
Nothing wrong with taking a mental health day off of work. Especially if it's bothering you so much you can't concentrate.
shortsightedsid 2 days ago 0 replies      
Your personal problems (and health and family) should always come first before work. Any reasonable manager should be able to recognize that and help you out. Worst case take a day or two off to solve your problem. Long run - day or two won't make a difference.
edimaudo 1 day ago 0 replies      
Here are some options you can take.- If you work for someone, then talk to your manager about your issue and see if you can get a lighter work load- Another option is to take some time off in order to address the issue
dmitripopov 1 day ago 0 replies      
It's a natural thing. Handle your personal issues first. But make sure you do not suffer from Anxiety Disorder - you need help in this case.
jf22 1 day ago 0 replies      
It is ok if you aren't 100% productive sometimes.
crypto5 2 days ago 0 replies      
You can use coding as a kind of meditation to clear your mind from negative emotions.
tonteldoos 19 hours ago 0 replies      
Firstly - good luck! I hope whatever it is, that it resolves itself sooner rather than later, and that it's not too serious.

For suggestions, it's going to depend on what type of problem it is.

For a short term (or not overly personal) problem, like extended family issues or similar, take day off and either:

* Sort out the issue (if you can)

* Relax - just taking a day for yourself and doing what you feel like doing (even if it's lying in front of the TV all day) can do wonders for your mental state

Like another poster pointed out, the issue can be more productively dealt with or processed with a dedicated day, rather than trying to do it inbetween work commitments.

For longer term issues (serious illness in immediate family, relationship problems, etc), there is no surefire way to deal with it, but there are ways to make it impact your work less (note: it WILL impact your work - the goal is to make that impact as minimal as possible). Keep in mind that your health and mental health impacts your ability to work and provide for yourself (and family). Protect this at all costs, and remember that family responsibilities should come first (any reasonable employer will understand this to some degree).

Some things that worked for me:

* Inform a superior that you trust about the issue. Tell them that you will do your best to minimise impact on work, but it's important that someone knows you're not just 'slacking off', but dealing with problems. Ideally, this is someone that will have your back.

* Talk to someone, be it a friend, professional, family member, etc. Talking to someone helps you process the issue quicker, and takes some of the worry off your shoulders.

* If you have elements of your job that involves close interaction with other people, do those. Interacting with another human (with the knowledge that you can't let them down while working with them) is a quick way to focus, and also has room for lighthearted interaction, or deep technical discussion with someone to take your mind off things.

* Focus (in the short term) on things that you're good at, and can do almost 'mechanically'. If you're good at coding, but hate documentation, do the coding. If your superior knows what's going on, they'll understand.

* Find things that are mechanical to do - if you need to test things, and there are test plans and procedures in place that you can follow systematically without too much thinking involved, do those.

* Meetings. Everyone jokes about them, but they are good in this case (unless you have to prepare/present them).

* Lower your expectations for daily output, so that you are not disappointed at the end of a day. Do, however, try and absolutely stick to these lowered expectations. Start small with tasks, and once you're in the groove, keep running with it. Try your best to not overthink things - break them down into small, manageable chunks.

* Try and avoid unnecessary interruptions when you're in the zone, because at this moment, it will take you much longer to get back in the zone.

* Try and avoid things that will remind you of the issue while at work - deal with them after or before work. Do not check personal e-mails, etc. Obviously this is not applicable in all scenarios, but helps for things that you can't do much about short term.

* If it all gets too much, take a day off, and relax. A 'mental health day' can buy you another month work of mostly productive work days.

I hope this helps!

bbcbasic 1 day ago 0 replies      
Been in that boat. Got nothing done for a couple of days. Fortunately I was at the company a while and could get away with it as I wasn't being micromanaged. In heinsight a couple of days leave might have been wiser. If they try to make you feel guilty for taking it, increment the red flag counter :-)
rcoder26 2 days ago 0 replies      
When u code ... U just code ...Imagine if you coding a critical software a bug left due to your personal problems can cause many other ...
Ask HN: What SaaS do you or your business use?
13 points by nullundefined  1 day ago   2 comments top 2
softwarefounder 4 hours ago 0 replies      
Quickbooks Online. The greatness of QB functionality (it's improved a lot since it's initial release), and the benefit of accountants knowing QB, and being able to access it online without sending over files.
dangrossman 1 day ago 0 replies      
You can use something like https://stackshare.io/ or https://builtwith.com/ to discover what tools other businesses like yours are using. Is there something valuable in lists of SaaS websites from nonspecific HN users?
Ask HN: What happened to binary sizes?
6 points by Tanegashima  19 hours ago   13 comments top 3
vinayan3 19 hours ago 1 reply      
Well all of those examples were apps with a single target architecture, win32 or win16.

These days apps have to compile for multiple architectures especially on Android. Those are all packaged up together. Not only that these days you have multiple sizes for image assets for various pixel densities. On top of it all these days people rely on a lot of external libraries which may or may not be on a phone or system. You can't depend on shared linking like when developing for Windows back in the day.

Not to mention, fonts. Apps these days package up fonts and send them along too.

[Edited for more content]

overint 19 hours ago 1 reply      
A lot of modern desktop apps these days tend to run in electron or similar and require the overhead of large libraries/components (chromium for electron). A lot the bloat seems to come unnecessary duplication of resources, but since storage space and bandwidth is no longer as much of a premium I don't think it's much of an issue anymore.
tonyedgecombe 12 hours ago 1 reply      
Bandwidth, memory and disk space are all cheap so it doesn't make much sense to optimise them.
Ask HN: Is it better to build intranet apps with desktop technologies?
17 points by curiousgeek  1 day ago   17 comments top 6
fian 1 day ago 0 replies      
If your application needs to do some heavy lifting on the client machines, then yes desktop technologies will be better. Web browsers are sand boxed for security and can be too limited for some purposes.

Desktop applications can avoid security problems inherent in web apps that are run through a general purpose browser.

The commonly cited tradeoff with desktop apps is they are harder to deploy and update. I don't believe this is necessarily true. You can tell a desktop application to periodically check for updates and notify the user to restart before allowing further writes to any central data stores. If fact many already do this. Problems arise when the OS prevents updates from being applied by non-admin users and you are deploying within a locked down corporate environment.

Java SE/Swing is a good platform for writing cross platform desktop applications. I work on an engineering simulation tool with a complex UI written in Swing. With Nimbus Look and Feel it looks and works the same across Windows, Linux and OS X without changes. Some people (devs) complain that is doesn't look native - none of my users care though.

The few times I have ventured into web development I have been horrified by the amount of work required to get web apps to look and work the same across different browsers. JQuery and Bootstrap deal with a lot of the pain but web dev still feels very hacked-together compared to desktop development to me.

IslaDeEncanta 1 day ago 1 reply      
My rule nowadays is to go with a web application unless you have a good reason not to. The difference between the work done for deployment is enormous, and it's enough to justify avoiding desktop applications 90% of the time.
guitarbill 1 day ago 0 replies      
Web apps are great for most intranet apps. Especially if you already have a single sign on solution. Deployment and maintenance are easier, as is replacing the thing when it becomes obsolete. With a desktop app, once it's out there, it's out there with all the headaches that brings. Otherwise, hard to make a recommendation without any specifics.
flukus 1 day ago 2 replies      
It's a good idea to use desktop technologies if the app is complex, for most corporate intranets a few web pages is probably good enough.

As for the stack, c# and winforms is a good bet, particularly if you need to target older versions of windows. If you need a bit more performance or cross platform support then c++ and qt would be better. You could go c++ and win32, but MS dropped the ball on creating a nice api.

Deployments are another area MS dropped the ball, click once is sort of ok if you are using visual studio, but either way chocolatey is better. You may want something better for release management, in which case look into octopus deploy. These suggestions apply to electron apps as well.

Basically, had windows XP come with a better programming APIs (more like qt/gtk) and a better deployment model then web apps would have never been a thing. OSS has made windows a viable desktop.

hiram112 1 day ago 0 replies      
I don't think so anymore, though I would have said yes even a few years ago.

I see most of the companies I work with moving towards AWS or Azure with all the scaling support and APIs that really make web apps easier to work with.

Instead of dealing with dozens of IT rules as to what can be installed on the various corporate images (which now include Macs), it's easier to just point users at a URL and make sure whatever single sign on they've got is integrated.

Another point: desktop apps are just as complicated as web apps these days, especially when dealing with Mac, Unix, Windows compatibility along with mobile. It seems like nobody has really done a good job of replacing VB6, Delphi, etc, and I haven't touched (as a Java developer) Swing or JavaFX in years.

Atami 1 day ago 0 replies      
Thanks for your answers!
Ask HN: I got laid off, how should I use my time to work on my startup idea?
19 points by tuxxy  2 days ago   9 comments top 9
jacquesm 1 day ago 0 replies      
To be blunt: forget it, go find another job and then run your start-up alongside your new job, if and when it takes off jump ship otherwise be happy you're not broke.

It's silly to burn up that little bit of $ that you will receive on an outside chance like this.

rl3 1 day ago 0 replies      
Generally speaking, your chance of failure is probably around 99%. Starting a startup is essentially buying a lotto ticket.

Like jacquesm says, finding a new job and running your startup on the side is the safer bet. If that's viable, then I'd suggest you find a new employer that has a contract friendly to side projects.

As an aside, there should really be a list of companies that are friendly in this regard. GitHub was recently in the news for allowing employees to work on personal projects using company resources, which is awesome.[0]

[0] https://qz.com/937038/github-now-lets-its-workers-keep-the-i...

zerni 1 day ago 0 replies      
Just give yourself a month and don't write a single line of code.

Go meet your customers in the first week. Ask lots of whys. Do more structured IN PERSON interviews in the second week. Look at how it has been solved in the past and what competitors do. Draw up a rough solution (e.g. landing page) in week 4 and test it out in person as well as drive some traffic to it from online communities (reddit and FB groups do get you some traffic to have an idea about conversion rates).

GV has some good articles around cust dev interviews on their medium.

You probably have higher chances finding angel money for a well validated idea in the market than a product you built for 3 months full time without knowing exactly what to build.

david927 1 day ago 0 replies      
It all depends on your background, where your product is, etc. In your place, I would start reading. Any answer here would parrot what has been written a thousand times before.

You should know that getting even a small angel investment, for many, is quite tough -- and it takes time. If I were you, I would consider instead just focusing that time on getting the product far enough along that people either can use it or get excited about it. Get to know startups in your area and make yourself known in that community. Just chasing investment without an MVP that has clear growth is usually a waste of time.

mkrishnan 6 hours ago 0 replies      
Take a part time job (~20hrs/week) and work on your startup idea on the side.
tmaly 1 day ago 0 replies      
Given the chance of success in the startup space, I would take another route. If you currently have skills to get another job right away, do it.

Then look for a problem in the new job for which a solution is needed. One that really consumes a ton of people time. Something that would apply to more than just that company. Build that solution in your free time.

If you already have an idea as it seems you do, try to find a related job in that industry so you can continue to build out the idea in your free time.

NotSammyHagar 1 day ago 0 replies      
Good ideas below, like meeting your customers and learning their problems before coding, also getting a job first and working on this on the side. If you got severance, or you can afford to not work for a while, take a few weeks off and enjoy life if you can. I sometimes have burning ideas and I like to explore them, but I think working in a real job while you do this new thing on the side is the most practical.
kleer001 1 day ago 0 replies      
2-3 months is not enough to float safely. You'll want a 6 month cache before you even think about taking time off, and even then only the time over that 6 months should you take off. That 6 mo cache is for emergencies.
Mz 1 day ago 0 replies      
Not an answer to your question, but a resource that might interest you:


I love coding, and I am 40. Can I still become a developer and is it worth it?
29 points by fthiella  2 days ago   20 comments top 15
scandox 2 days ago 1 reply      
A few observations:

1. Your age is NOT an issue

2. Many professional developers do not have Mastery in any specific language. That may be sad, but it is a fact.

3. The biggest difference between what you've done to date and being full time is finishing. By that I mean having the stamina, interest or sheer bloody-mindedness to finish medium to large software projects. Starting is fun, scripting is fun, algorithms are fun...slogging through hundreds of modules, building interface after interface, implementing api after api, creating tests for everything can become very much like ... hard work ...

saluki 2 days ago 1 reply      
Don't abandon the idea. Keep earning your primary income as you currently are as a Sys Admin and coding where you can in your day job.

If you enjoy developing pick a framework (Rails or Laravel) and start building apps. Learn all you can. Work toward obtaining a remote developer position or working on contract projects to learn more/get a better taste of what the work is like. If you enjoy it and are successful work toward transitioning to it full time.

Another option is to create your own app/business and be your own boss if you're interested in that. Then you don't have to worry about being hired or ageism.

Inspiration: @DHH Startup School Talkhttps://www.youtube.com/watch?v=0CDXJ6bMkMY

StartUpsForTheRestOfUs Podcasthttp://www.startupsfortherestofus.com/archives

Good luck, don't give up on your dream.

dozzie 2 days ago 0 replies      
A friend of mine was changing his profession to programming and he was aroundthe same age as you (though he was in HR previously, so he was retraining fromscratch with part time studies). It's perfectly OK to be junior at 40.

Then, you say you are/were an administrator. I say that this is a very, veryconvenient position to do programming. (1) You have tasks that warrant writinga program; (2) you will be part of your own audience, so you know when yourprogram is good enough and what the heck should it actually do; (3) you'renominally not a programmer, so nobody will expect you to adjust your toolboxto the company's vision. Language choice will be your decision, so if you deemErlang to be much better for something, you write Erlang, not C# or Java justbecause the rest of the company uses that.

I am such a sysadmin myself (was? my title now is "programmer/Linux systemengineer"), so I speak from experience. Most of my day is spent on writingcode for managing systems, not on administration itself, though I do some ofthat, too. And there's a lot of tools that would be helluva useful forsysadmins (or for me, at least), but they are not written yet and I don'texpect regular programmers to write them.

19kuba22 2 days ago 0 replies      
I don't think your age is an issue, but moving to SG could be as it will be harder to get a job in a position you don't have a lot of experience in. :/

I think it'd be better to gain some experience in your home country first, but I understand it might not be possible.

I think your best bet would be to look for a DevOps position which would provide you with more opportunities for coding while valuing your sysadmin skillset.

NotSammyHagar 1 day ago 0 replies      
Yes, you can. I expect it will be a little bit hard to get that first job, but once you have experience it will get easier and easier to get better jobs. You need to practice practice practice coding. The best way is just to code some things that are interesting, then work your way up to doing some practice problems.

Interviewing varies widely among companies. Some places only want to hire people that are experts in some tech they are using (say a js package), others want to hire people that are generalists, or have worked on mostly frontend - ui, or backend (not ui). Some places want people who can learn anything. There's no uniform thing.

Most companies in the US would not consider you for a senior coder, unless you were very very advanced in some aspect of cs. Since you don't have much experience, you could look for an introdutory role. I don't know about signapore, but in the us because of the huge demand its generally easy to find a starting programming job. You could also look for a job that takes advantage of your dev ops/admin background while have some easy programming required, but you'd want to make sure it was really a job that had programming.

Good luck! I'm 50+ and have many years of experience and have no shortage of jobs. Just program, try for an hour a day if you are still working in your admin job, and in a few months you'll be much more fluent.

eberkund 2 days ago 1 reply      
Like another commenter said, there are a huge number of of web programming jobs out there. That being said it sounds like your skills are somewhat out of date with current technologies. I doubt you will find many jobs openings for Perl developers, jQuery is also being rapidly replaced with MVVM type front end frameworks.

That being said, I see some similarity in your position to the one I was in a few years back. I had just finished a degree in computer engineering and I wanted to start a career as a software developer. I had some background developing basic sites with PHP/HTML/CSS/jQuery but I found that employers were looking for more. I ended up studying a few modern frameworks for a few months and found a job much more easily after that. I'm sure that will be the case for you. Just research the job market and find out what skills are demand and what skills you are lacking, it is probably a lot less work to catch up than you might think. Good luck!

mattbgates 2 days ago 0 replies      
I began programming when I was about 12... lost interest at 20, and eventually got back into it at 26. I missed it and that world had changed so much since I was 12. However, I was able to pick it up quickly and I am a web developer for a living. Definitely never thought I was going to be a web developer as I sat in college, studying psychology. In my 30s now and working for a public relations news corporation.

You really never know where you are going to end up and anything is possible, no matter what age you are. It is always worth it and will always be worth it. Since I started, I have built two semi-popular websites at http://www.confessionsoftheprofessions.com and https://mypost.io/ and after those, began developing real web apps that I charge for. I just started my own business that specializes in apps for memory and communication. We have a few apps in beta testing, about 4 of them ready to go out with 4 more side projects in design and development stages.

Most companies want to see your experience. Just make sure you have a portfolio and a little documentation regarding work you have done. Have references available upon request and get a LinkedIn and have them write recommendations for you and return the favor. I remember I used to be willing to give all these PEOPLE references, but after they see your work and know it is yours, they usually need not see any more than that.

It can be scary, moving to another country. But believe in yourself, know that this is another path in life and an adventure you are going to take, and make the best of your situation. You have a lot of knowledge and based on that knowledge, it seems like you are always willing to learn more and go beyond. There are tons of position to be filled that go unfulfilled, even if it may seem the market is saturated with developers. You are in demand as long as you make yourself in demand. If you get tired working for the boss, work for yourself. In this day and age, more than ever, WE have the power to do that.

Regret doing it. That is a much better regret than the regret for not doing it.

thepratt 2 days ago 0 replies      
I can't speak on behalf of the culture in Singapore, but a lot of more corporate countries (e.g. Australia) will want specific experience relating to the role and will bias their decision on X years in the industry - some of your knowledge and personal projects will translate but i doubt you'll have the foundations a lot of juniors will have received during their time. I don't know your specific circumstances but from personal opinion i wouldn't hire you as a senior without having experience tutoring junior developers, debugging others' code, understanding drawbacks of certain architecture decisions and (possibly) being a slow starter.

In terms of age, most newer companies (mine included - London) don't associate title to time served or your actual age, but your abilities. We've hired a junior who was then 29 and made a switch from being an accountant. He had the gist of how things worked and his personal projects looked promising. He completed the coding exercise in a language he was not familiar which demonstrated well his ability to problem solve; guidance was needed but he was were we'd expect a junior with no comp sci background to be. I myself am the youngest in our team by quite a margin (mid-20s) and am the Technical Lead - age isn't a worry. Just be prepared to be outdone/tutored by people young enough to be your children; at previous companies I've met people that have fought me on every aspect bc of that fact even though i was brought in to advise and fix their architecture issues.

1ba9115454 1 day ago 0 replies      
You're biggest issue will be getting selected for an interview.

If I'm recruiting it's generally for a specific full stack developer. i.e. Ruby on Rails. Personally I would see your background as an advantage but I'll still need to be able to see that you can hit the ground running.

So ideally you'll need a project on your CV targeted at the recruiters development stack. Perhaps an open source project or a side project, or freelance on upwork.

You're age is an advantage, don't forget that. We grow wiser every year.

csomar 2 days ago 0 replies      
This is a question that goes back to you: What do you want?

You might have also missed an important part: Do you need to put food over the table?

There is always a market for 40+y.o junior software developers. It probably is not as rewarding as you might need it to be.

Relevant: If you are a thick skinned guy with lots of deduction and perseverance; there is a market for SaaS/Products which require little marketing and sales. Can earn you a decent income. No location dependance and no boss (though customers can be as much annoying)

cascala 2 days ago 0 replies      
Being a software developer is a unique profession, since many software developers never received much formal training. For instance, many mathematicians, physicists, (non computer science) engineers write software for a living. Compare that with structural engineers, lawyers or medical doctors: it is very different.

Because of that, I firmly believe many people can work as a software developer and contribute meaningfully to a company's bottom line.

State your ambition and let the results of your work do the rest.

jasim 2 days ago 0 replies      
There is a huge number of web programming jobs out there, and so would be easy to get into.

Figure out a back-end language and web framework you like - I'd recommend Python+Django or Ruby+Rails - and build a web app in it - if you spend a few months and put in a few hundred commits and build a large enough application, you're good to participate in a team and start adding good value. That by very definition should land you a full-time programming position.

wingerlang 2 days ago 1 reply      
This whole thread is full of YES sayers, however this field is also full of people talking about age discrimination where 30+ is being pushed out. I'd think this would be moreso apparent in a junior role.

I'm all for age being of no importance as I'm about to hit 30 in a few years. But it's worth mentioning (maybe).

joelhooks 2 days ago 0 replies      
Your age is an advantage, assuming you've been a working professional of some sort.

The mechanics of learning to code simply takes determination and hard work. In my experience, the vocabulary is the first major hurdle.

By the time you're 50 you'll have a decade of experience

dylanhassinger 2 days ago 0 replies      
you might aim for a DevOps role. It's a hot skillset that combines sysadmin with programming, it would jive well with your background. learn everything you can about modern databases, scaling/containers and security
Ask HN: What are some good places to post a Java EE blog?
2 points by tolarewaju3  1 day ago   3 comments top 2
jamesmp98 1 hour ago 0 replies      
tyingq 21 hours ago 1 reply      
By places to post, do you mean places to promote individual posts from it?
Do Not use namecheap.com for any large site or important domain
8 points by highclass  1 day ago   14 comments top 5
ploggingdev 1 day ago 1 reply      
Send them an email asking for an explanation and also let them know why this is not a good way of dealing with inappropriate content. Also reach out to their customer support asking for an explanation. Let us know when you hear back from their support team.
coreyp_1 1 day ago 1 reply      
Were they hosting the site, or are they just the domain registrar (and your site is on servers from another company)?
Slaul 1 day ago 2 replies      
Interesting, I hadn't heard of any problems like this when I decided to use them for my last few domain name purchases. Maybe I should look into switching. Do you have any recommendations by any chance?
magma17 18 hours ago 0 replies      
andrewmcwatters 1 day ago 0 replies      
> They may be suitable for some blog, but I can now say to NEVER use them for any enterprise site.

If this is action they take at scale with millions of visitors I wouldn't even risk it with something so intimate as a blog.

Ask HN: What do you wish you had purchased when you still had student discounts?
9 points by anderspitman  2 days ago   10 comments top 6
SamReidHughes 14 hours ago 0 replies      
Once you graduate and get a job, the marginal value of a dollar will be a lot less. Having missed out on some piddly student discount won't matter to you.
mattbgates 1 day ago 0 replies      
If anything, I wish I had refinanced my student loans. I remember paying 6% or 7% for them in interest every month. It took me 2 years and I was sending both of my paychecks towards them every month, living on very little money. Plenty of companies will happily buy your debt and give you below 5% rate if you have decent credit.

I certainly did take advantage of an Apple discount though, at the time, it was way better than it is today. It was 2009 when I bought a Macbook. They gave me a printer, an iPod Touch, and $100 in Apple credit which I applied towards the computer. I think I also opened a credit account with them which took off 10% more from the total price.

Sold the printer for $100, sold the iPod for $250.

So a $1500 laptop ended up costing me $1200ish with tax.

I think they have since changed all that and give you a $100 discount.

madamelic 2 days ago 1 reply      
Get the GitHub Student Pack, if you haven't already.

It isn't a lot but free is free.


iSloth 2 days ago 0 replies      
Doesn't really count as I did get one, but Apple used to give a decent discount and the three year warranty was also heavily discounted.
BorisMelnik 2 days ago 2 replies      
MS Office

edit: and Adobe stuff like Photoshop and Illustrator

DrNuke 2 days ago 1 reply      
CAD and CAE packages like SolidWorks, Ansys and so on, maybe?
Ask HN: What book is considered the bible of your field/industry?
87 points by machtesh  1 day ago   46 comments top 28
garethsprice 1 day ago 3 replies      
The Art of Computer Programming by Donald Knuth is probably the closest to an actual bible for computer scientists - hardly anybody's read it all the way through, people quote bits of it out of context for their own ends and it mostly sits on shelves looking impressive while gathering dust.

The Mythical Man-Month by Fred Brooks for tech management.

Confessions of an Advertising Man by David Ogilvy for advertising/marketing industry.

Design Patterns: Elements of Reusable Object-Oriented Software by the "Gang of Four" for OOP software engineering.

myexploit2700 1 day ago 1 reply      
Security Engineering - A guide to building dependable distributed systems http://www.cl.cam.ac.uk/~rja14/book.html

It is hilarious and informative! Described in more detail here: https://hackernoon.com/how-to-become-a-hacker-e0530a355cad

claroscuro 1 day ago 0 replies      
The C Programming Language -- Brian Kernighan and Dennis Ritchie.

Comprehensive, concise, and beautifully written.


VenkiPhy6 1 day ago 1 reply      
The Art of electronics by Hill & Horowitz for electronics


azeirah 1 day ago 0 replies      
Godel Escher Bach is fairly bible-ish if you ask me

Another set of books I consider to be "one" bible are Edward Tufte's (1) The Visual Display of Quantitative Information, (2) Envisioning Information, (3) Visual Explanations and (4) Beautiful Evidence.

justinucd 1 day ago 1 reply      
Don Norman - The Design of Everyday Things
zhte415 1 day ago 0 replies      
The Toyota Way. Yet despite repackaging upon repackaging of ideas in the book, sagely picked up in the book itself as if repackaged being ineffective, many corporate environments can beat the drum but not walk the walk, especially in long-term people-related aspects.
Arcten 1 day ago 0 replies      
Mountaineering: Freedom of the Hills is the de facto reference book for most serious mountaineers
chauhankiran 1 day ago 1 reply      
In Security ( or more precisely in Cryptography ) - Applied Cryptography by Bruce Schneier


tylercubell 15 hours ago 0 replies      
For pianists, I think many would agree with Hans von Blow when he called Bach's The Well-Tempered Clavier the "The Old Testament" and Beethoven's 32 Piano Sonatas the "The New Testament".


d--b 4 hours ago 0 replies      
Quantitative finance: Options, Futures, and Other Derivatives by John Hull
Humdeee 1 day ago 0 replies      
I will skip the tech stuff and go with a top hobby:

Advanced Marathoning, 2nd Edition - Pete Pfitzinger, Scott Douglas

It's heavier on the biology and human kinetics in a way that I don't need a bachelors in a hard science to understand and is quite well known now to serious runners. I read it every year as a motivator and to reinforce the importance of training smart.

cableshaft 1 day ago 0 replies      
The Art of Computer Game Design by Chris Crawford was the first book on the theory computer and video games. It's got quite a few ideas in there that are still relevant today.

But I don't think it's comprehensive or constantly referenced by those in the industry (it's almost forgotten about by modern designers, I bet). I think a closer fit to a 'bible of the field' would be The Art of Game Design: A Book of Lenses by Jesse Schell. Lots of good information about what to think about, and you can even buy a deck of tarot-sized cards that has a compiled list of all the questions the book invites you to raise when thinking about your game on them.

I'm still waiting for something similar that focuses more on board game design specifically, but a lot of the Book of Lenses can be applied to board games as well.

jabv 1 day ago 0 replies      
When I studied cello performance in college, my professor would joke that the 40 David Popper etudes were my new bible. However, I think a copy of Bach's six cello suites is a better match.

In my work in math education, there are many possibilities, but I think Polya's "How to Solve It" is a strong contender.

deltux 1 day ago 0 replies      
The Elements of Statistical Learning, by Hastie, Tibshirani and Friedman, for everything on Machine Learning and Statistics. Available for free online:https://statweb.stanford.edu/~tibs/ElemStatLearn/
urbannomad 1 day ago 1 reply      
On Food And Cooking: The Science And Lore Of The Kitchen by Harold McGee
chrstphrknwtn 1 day ago 0 replies      
The Elements of Typographic Style by Robert Bringhurst


c64e7c165b9a40b 1 day ago 0 replies      
Not exactly a field/industry, but in the Commodore 64 demoscene it would be the "VIC Article", which is a nickname for "The MOS 6567/6569 video controller (VIC-II)" by Christian Bauer:


brudgers 1 day ago 0 replies      
Ten Books of Architecture which, for better or worse and perhaps suggestive of the level scientific basis for contemporary architectural practice, was written contemporaneously with many of the events later described in the Christian Bible...though from a practical standpoint of running a firm, The Prince might be more apropos.
mrskitch 1 day ago 0 replies      
Not the Bible in its typical sense, but Crockfords "JavaScript: The Good Parts". It's like the Bible in that I seem to learn something new on every read through, and it's fairly quick to do so
dTal 1 day ago 0 replies      
For work:

Principles of Digital Audio, by Ken Pohlmann

For play:

Handbook of Model Rocketry, by G. Harry Stine.

(p.s. if anyone has any suggestions for the field of imaging, I'd love to hear them as I don't know of a good imaging "bible".)

bmcooley 1 day ago 0 replies      
SMAD - "Space Mission Analysis and Design". The latest edition is "Space Mission Engineering - The New SMAD".
exception_e 1 day ago 0 replies      
The Pragmatic Programmer. I'm on mobile, so just Google for it.

This book is amazing and still holds up today, for the most part.

alltakendamned 1 day ago 0 replies      
For application security I'd say:

Web Application Hackers Handbook 2nd EditionandThe Art of Software Security Assessment

wikiwatchme 1 day ago 1 reply      
Modern Physics by Paul Tipler and the Feynman lectures by Richard Feynman.
nkrs 1 day ago 0 replies      
Physical Chemistry by Peter Atkins
itsdevlin 1 day ago 0 replies      
The Great Book of BASE - BASE Jumping, written by Matt Gerdes
benji-york 1 day ago 0 replies      
The Sound Reinforcement Handbook Gary Davis and Ralph Jones
Ask HN: Are there any open-source alternatives to AWS Lambda
7 points by tombert  1 day ago   10 comments top 6
mindcrash 1 hour ago 0 replies      
Here's something which recently got pretty popular on GitHub within just a few days. It's a framework to run serverless functions through Docker Swarm:


marcc 1 day ago 0 replies      
A couple of choices are fission from platform9 and kubeless from bitnami.

Alternatively you could try IBM OpenWhisk or Azure Functions, both of which are open source.

stephenr 1 day ago 0 replies      
This is something I've been curious about but not found many encouraging projects so far.

Also, props for using a term that actually makes some sense (Functions as a Service) as opposed to that other name thats so popular.

Most things I've seen so far are docker-based, which is a non-starter for me.

siscia 1 day ago 0 replies      
I worked on https://github.com/siscia/effe which is basically a templare where you Write Your function in go.

You compile it down to a single executable and then you do whatever you want with it.

I can't provide the autodeploy part though...

flukus 1 day ago 1 reply      
What are the features of AWS that you need? For example, do you really need an enormous amount of elasticity? If not then a single powerful server that people can ssh to might be fine. How long are you waiting for various jobs to finish?
QuinnyPig 1 day ago 2 replies      
I've heard a bit about iron.io, but couldn't tell you anything about them past that.
Ask HN: Productivity tips/sources/literature?
19 points by HugoDaniel  2 days ago   7 comments top 4
Mz 1 day ago 0 replies      
1. Get enough sleep.

2. Exercise and eat right.

3. Set goals. People with goals vastly outperform those without.

4. Track your progress. This will involve determining the right metrics. "What gets measured gets done."

5. Look for more efficient ways to do things.

6. Read the book "The 7 habits of highly effective people."

7. Learn some time management techniques.

8. Read up on how to plan things backwards: Start with where you want to be and figure out the step before that and the step before that, etc. Otherwise, you may be "climbing a ladder leaned against the wrong wall."

elorm 2 days ago 1 reply      
The only resource I'd recommend is Learning How To Learn by Barbara Oakley


It also has a companion book.(Book came first anyway). It's well researched and has many tricks on boosting productivity e.g Pomodoro technique.

atsaloli 2 days ago 1 reply      
Check out recent discussion of Max Kanat-Alexander's blog post on increasing developer productivity: https://news.ycombinator.com/item?id=14071716 (and of course the blog post itself, http://www.codesimplicity.com/post/effective-engineering-pro...)

P.S. See also Max's earlier blog post Measuring Developer Productivity: http://www.codesimplicity.com/post/measuring-developer-produ...

toepitt 2 days ago 0 replies      
I'm working on a project that improves general productivity (not just developer productivity) with common methods, based on science studies. The methods aren't popular yet.

The biggest insight is that it's far more important to work on big, important problems.

Ask HN: What is the preferred platform for dev blog?
15 points by deepsy  2 days ago   9 comments top 6
rwieruch 2 days ago 0 replies      
I can recommend to use Hugo [0] as static website generator. They have plenty of themes [1] to choose from. You can still adjust it with basic knowledge in HTML/CSS. Afterwards you can chose where to host it. You can use Github Pages [2] for free or pay for a service like DigitalOcean [3]. I wrote a technical cheatsheet [4] on how to setup your own website with these ingredients.

- [0] https://gohugo.io/

- [1] http://themes.gohugo.io/

- [2] https://pages.github.com/

- [3] https://www.digitalocean.com/

- [4] http://www.robinwieruch.de/own-website-in-five-days/

crispytx 2 days ago 0 replies      
You could roll your own blog; that's what I'm doing. I wasn't really satisfied with Medium or WordPress, so I just decided to write my own simple blogging software. Writing the blogging software is probably going to be easier than writing the actual blog posts for the blog.
tucaz 1 day ago 0 replies      
I'd say you want whatever can get you to start writing NOW.

If your goal is content, then you should worry about being consistent with content.

The platform will only matter later in the future.

I'd go with WordPress.com and that's it. From 0 to 60 in a second.

Most people will spend time playing with platforms and tech and forget the most important part which is writing.

diggs 2 days ago 1 reply      
I recommend using a static site generator and hosting on S3. It's the cheapest way to do it and will survive a hacker news storm. It's also easily managed in version control and zero maintenance. For extra points you could add a CDN in front of it but it's probably not worth it.

I'm a big golang user so I recommend Hugo for the site generator.

probinso 11 hours ago 0 replies      
testing out pelican; it has plugins for latex and jupyter
billconan 2 days ago 0 replies      
I recommend medium.com, it has content discovery feature to help your posts reach out to others.
Ask HN: What are the best AI conferences in 2017 outside US?
5 points by mfalcon  1 day ago   2 comments top
michalpt 1 day ago 1 reply      
If you are heading to Central Europe, Prague to be more specific, I would recommend Machine Learning Prague 2017: http://www.mlprague.com/. Some pretty interesting names such as Lars Backstrom (Facebook), Yufeng Guo (Google) and Pierre Baldi (University of California) should show up.
Ask HN: Your approach to security on the Mac
11 points by some1else  2 days ago   8 comments top 4
bnycum 2 days ago 0 replies      
If you haven't read through this before, it's worth a read.


spcelzrd 1 day ago 0 replies      
I've been running stock Mac OS for almost 10 years now. MacBook Pro at home and at work. I haven't had any viruses, malware, or ransomware. That's just my experience and doesn't mean this is a safe configuration.

Mostly, security these days is securing your cloud accounts. I use two factor authentication on my Apple, Google, and DropBox accounts.

I use Firefox as my primary browser. It's configured to delete all cookies and browsing history when I restart.

sayelt 1 day ago 1 reply      
What security are you talking about?

Proprietary software gives you zero security against its owner/developer.

FLOSS is the only way we can have real security.

sayelt 2 days ago 1 reply      
What security are you talking about?

Proprietary software gives you zero security against its owner/developer.

FLOSS is the only way we can have real security.

Ask HN: UK Startups and VATMOSS
3 points by graystevens  1 day ago   9 comments top 5
brudgers 1 day ago 1 reply      
[random advice from the internet]

I'm going to parrot my interpretation of patio11's [1] advice since I don't have direct experience: Pay for the service and focus on building a product people will pay for. That's what those services that handle VAT did and why you are considering using them.

What Patio11 doesn't say is if you build it, you have to maintain it and maintaining it means keeping up with changes to tax law and tax forms and tax policy. Odds are you're not a tax expert (if you were, you'd probably be standing up a tax calculation service like the one's you've found).


[1]: AKA Patrick Mackenzie. My understanding is that he often chats with people who contact him.

tonyedgecombe 11 hours ago 0 replies      
I use Avangate who handle tax issues for me, they do cost a little more than Stripe but it makes life a lot easier only having to bill one client each month.
ig1 1 day ago 1 reply      
You don't need to worry about it if you're B2B. Also you only need to registered for VAT once you hit 85k in revenue, so it might be worth considering if it'd be worth you delaying until that point.
polimorfico 1 day ago 0 replies      
I built Quaderno (https://quaderno.io) to deal with the VATMOSS nightmare. Let me know if you have any questions. Happy to help.
dawson 1 day ago 1 reply      
> My SaaS will be B2B

VAT MOSS only applies to B2C sales.

Ask HN: Which is the most powerful satellite camera directed towards earth?
45 points by o2l  1 day ago   43 comments top 14
luckydude 1 day ago 2 replies      
I worked a earth imaging system (EIS) back in the 1990s. I didn't have security clearance (almost got it and realized it had no benefit to me but a bunch of crap I'd have to do, or not do/say, so I passed).

I'm pretty sure that the satellites at the time could read 3 inch newspaper print under the right conditions which happened rarely.

I've got a tack sharp 600mm Canon lens and it's sort of useless for a lot of stuff. If there is any haze, heat, dust, whatever, in the air, all that expense glass sees is that instead of what you want to see.

That note aside, it was a fun project. I was the I/O guy, I did this work:


and I got Seagate to redesign part of their 9gb (I think, might have been 2 or 4g) barracudas. I've got a benchmark in lmbench that shows how the disk performs as a function of seek distance, looks like this:


The lower edge of the band is what you get if you seek and get to the track just as the sector you want is to about to pass under the head;the upper edge of the band is what you get if the sector had just passed under the head;the height of the band is a rotational delay;and those outliers? In this case I think they were either bad blocks or I don't know.

But when you ran this benchmark on two drives, mounted in a rack right next to each other, you got tons and tons of outliers which blew any chance we had of meeting the performance metrics. I bitched at Seagate and they hemmed and hawed and finally admitted there might be a problem with their internal mounts.

The problem was that their mounts were so useless that the vibration caused by one head moving vibrated the drive next to it enough that the other drive's head didn't settle properly and you blew a rev waiting for it to get where it needed to be.

Seagate redid the mounts.

Fun project.

CapitalistCartr 1 day ago 2 replies      
Satellites have had the ability to do that for decades. I was in the military during the Reagan administration and we would roll $weaponsystem under cover when the Russian satellites were passing over. They could see even small details such as which model it was.

But more resolution isn't what's important. Other capabilities, such as deep infrared, ultraviolet, radio, whatever scanning is more useful. Sats made U-2s, SR-71s mostly obsolete; drones are doing a lot of what Sats did. Top of the list though is refueling spy sats. That is the Holy Grail of reconnaisance which the USAF X-37B totally experimental research craft totally doesn't do.

Refueling massively extends their use and lifespan. Its like have twice as many for the money. Cuz, ya know, a hundred ain't enough.

jdhawk 1 day ago 1 reply      
41cm/pixel available to the government & 50cm/pixel available to Google through GeoEye-1


31cm/pixel through WorldView-4


aw3c2 1 day ago 0 replies      
Some links for you:




A perfect 2.4-meter mirror observing in the visual (500 nm) would have a diffraction limited resolution of around 0.05 arcsec, which from an orbital altitude of 250 km would correspond to a ground sample distance of 0.05 m. Operational resolution should be worse due to effects of the atmospheric turbulence.


dotancohen 1 day ago 0 replies      
There is a question on the Stack Exchange network which asks about publicly-viewable satellite cameras:https://space.stackexchange.com/questions/4485/which-high-re...

Disclaimer: I'm the OP on that question.

antognini 1 day ago 2 replies      
I'm assuming this is all pretty well classified, but I would be shocked if the US government hasn't had the ability to do that for a long time. Consider that back in 2012, the National Reconnaissance Office donated two surplus telescopes to NASA that were substantially better than the Hubble telescope. If those are the sort of telescopes that the government has no need of anymore, imagine what the state-of-the-art is!

As an aside, that donation has actually put NASA in a bit of a bind. For political reasons they can't very well turn down the offer. But the telescope itself is only about one third of the total cost of space telescope, with the rest being due to the cost of the instruments and the launch itself. Unlike the US military, NASA does not have an unlimited budget so this unexpected expense threw a wrench into their long-term plans. Furthermore, the telescopes were designed to look down instead of up, so they're not optimized for astronomical observations.

Const-me 1 day ago 2 replies      
High-rez satellite cameras dont film videos.

Satellite cameras dont have a 2D sensor you can find in a traditional camera. Instead, they feature a long narrow sensor. As the satellite flies over the earth, the sensor records a single row below the satellite. That row is oriented perpendicular to the satellites velocity. As the satellite flies, it scans a long strip of land underneath.

It works similar to a flatbed scanner. Can you film a video with the scanner? I dont think so.


About Bin Laden, the live satellite feed was not filmed from space. The feed was recorded by an on-body camera of an American soldier, transferred to a telecom satellite, then back to Earth, at Obamas place.

jlgaddis 1 day ago 1 reply      
I suspect the most powerful are classified NRO satellites. The public's knowledge is likely a decade or two behind actual capabilities.

I recall reading somewhere about satellites being able to see license plate numbers from space but I have no idea where I read that or if it's true.

lucideer 1 day ago 1 reply      
> As far as images go, I haven't found any other image source providing a better definition image than what Google Maps provide

As many have alluded to here, there's likely to be a big difference between publicly available imagery and what's currently possible. Sticking to publicly available stuff though, while the resolution of all mapping services varies a lot across the globe, http://wego.here.com provides satellite imagery that betters Google's in a lot of cases.

This is all somewhat moot if you're looking for MIB-esque video of course as these still images are compiled rather than directly snapshotted

jaggederest 1 day ago 1 reply      
KH-11 had a theoretical resolution in the inches. "Not quite good enough to identify faces." Those were first launched in the seventies, so I assume they are doing much better now. I think it's safe to assume 5cm or better resolution on a minutely refresh.
KiwiCoder 1 day ago 1 reply      
I expect drones are now more relevant than satellites for localised imaging.

For example http://www.cropcopter.co/uav-imagery-vs-satellite/

zip1234 1 day ago 0 replies      
The problem is the distance involved and the orbits. For example, GeoEye-1 is in a sun-synchronous orbit in order to be over the US at the same time each day. However, it means that the satellite is moving quite rapidly across the surface of the earth much of time. If you've taken a photo of a moving person or car, you know how hard it is to get a non-blurry picture. Now, try doing that at much higher speeds. If you put a satellite into a GEO orbit, it is incredibly far away from the Earth and would require huge optics in order to get good photographs.
Ask HN: Is YC still doing open office hours?
4 points by dimasf  2 days ago   6 comments top 2
ParameterOne 19 hours ago 1 reply      
Reply to my email about the old link: We wont be updating that site (in fact were redirecting it shortly).

But well be posting open office hours on our events page: https://www.facebook.com/pg/YCombinator/events/.

offerquant 2 days ago 2 replies      
       cached 19 April 2017 20:05:02 GMT