hacker news with inline top comments    .. more ..    23 Aug 2017 Ask
home   ask   best   2 years ago   
Ask HN: How long did it take you to go from side project idea to launch?
59 points by igammarays  3 hours ago   51 comments top 30
rwieruch 0 minutes ago 0 replies      
3 Months. It highly depends on the project though.

For me, it was an e-book [0] that I wanted to write to teach others about React. The idea was to learn React while building an application that is more complex than a Todo Application.

So I took the first 3 months to write the initial draft - only 90 pages. I released it on Leanpub as an unfinished book, because it was painfully hard to keep going. Yet the community seemed to like it. It confirmed me being on the right track and my motivation went up again.

Since then I iterated 4 times to improve and enrich the learning experience and "released" it multiple times. I keep it updated to the recent library versions, best practices and new techniques with the help of the open source community. Now it has over 170 pages.

What helped in my case: Release early and improve/iterate based on the feedback.

- [0] https://www.robinwieruch.de/the-road-to-learn-react/

thinbeige 2 hours ago 2 replies      
The problem is not the actual dev time of a serious side project like a SaaS. Even if it just takes you three months to get to some sellable product with payment integration, etc.--the much bigger problem is that you need multiple shots to get it right (find the right market niche, the right product, the right angle, the right Marketing, the right growth channels, etc.). Then, after more than just three months and many attempts + pivots you just don't have the energy/time/money to keep up. Of course you can clone some proven model but then you face lots of competition which doesn't make success more probable.

People who are succesful did 99 mediocre side projects before they hit the jackpot. But it still took them tons of time and energy. Very often a overlooked by-product which was developed over night and benefitted from all prior experiences will be the cash cow while the main project which took 12 months still hasn't won any users.

Most stop at some point because it's just tough, especially the mental part.

hugs 1 hour ago 0 replies      
For me, there's about 4 months between idea and first public launch. But another4 years between that first launch to deciding to build a company around it. The time between 4 months and 4 years involves building a community, helping users, and improving the core product...

My personal examples:

Launched Selenium as an open source project in 2004.Founded Sauce Labs Inc ("Selenium in the cloud") in 2008. (Sauce makes roughly ~$25MM a year now. https://www.inc.com/profile/sauce-labs)

Launched Tapster (then called "Bitbeambot") as an open source project in 2011.Founded Tapster Robotics, Inc. in 2015. (Not disclosing revenue at the moment, but still going strong!)

To echo some other comments, I also have many other side-projects (some posted to GitHub, but even more unpublished) that never went anywhere. Success is a combination of luck, timing, ABC (Always Be Creating), stubbornness/persistence, and getting feedback from as many people as possible.

coderholic 1 hour ago 2 replies      
I launched the first version of https://ipinfo.io a few hours after having the idea - but it was just a super simple webpage at the time. I added the API within a few weeks I think, and that's when it started to take off. It was probably around a year before I added paid plans though, and another year before it started bringing in decent revenue, and then another year before I started working full time on it. See https://getputpost.co/from-side-project-to-250-million-daily... for some of the story.

I've worked on tons of side projects before this (most unsuccessful, some with some success - busmapper.co.uk, donothingfor2minutes.com). My advice would definitely be to launch early and improve things over time.

mattbeckman 1 hour ago 1 reply      
Depends on what you're building, of course, but seriously consider if what you're building is an MVP or not.

My most successful side-project has been the one where I didn't start out by using design patterns or TDD or fancy fun new languages as we do at my full-time job.

Instead, I spewed code vomit on the virtual floor of a tiny VPS, wrote most of it via SSH, and felt shame when users started using it because holy hell if they only knew what was underneath all that.

But ... that MVP generates income. Not quit-my-job income. But it's steady, and doesn't require a lot of changes. I plan on rebuilding it soon, as I need a better code base to handle upcoming plans. However, that embarrassingly messy hodgepodge has been running for a year, making money.

Good luck!

HugoDaniel 2 hours ago 2 replies      
I quit my job in May 2016 (15 months ago) to work on an idea (a painting web app). Unfortunately I was also trying to earn money with any sort of side-kick jobs (teaching) and the idea never got the attention it deserved. It got a few turns and twists after an initial demo to some designer friends in December 2016.

I have since then managed to get some funding and have been working on it more seriously for the past 4 months (since may 2017). In two weeks I will have another closed alpha-demo that is then going to be used to produce a video for the landing page, and opened to the public if there is no big bashing from my zen target audience friends.

It does seem like a huge desert to cross. Motivation comes and goes. In the meantime I managed to kill my desire to feature creep it to death and learned a lot about the fine art of listening/ignoring the target audience requests. I know for sure that my approach for my next project is going to be completely different than my current one. But in the meantime the rent is due :)

The landing page:https://www.pixnit.com

My blog with some thoughts on the bootstrapping experience: http://www.hugodaniel.pt

ratsimihah 9 minutes ago 0 replies      
About 5 months because I spent a lot of time playing around.I'm doing everything myself: dev, UI/UX, marketing, paperwork.


ploggingdev 2 hours ago 0 replies      
Not a SaaS, but I'm working on a blogging platform for developers : https://www.ploghub.com/ . To use an analogy : Medium for developers without the dickbar. It took me around one month to build the initial version. The front page uses a dumbed down version of the HN algorithm. Code here (need to add test cases) : https://github.com/ploggingdev/ploghub

For my next project, I plan to build an alternative to Disqus which respects users' privacy. I removed Disqus from my blog a while due to the 2 MB junk it loads and sends tracking data to 10+ sites. I used to receive a few comments, so I thought I would build myself an alternative to Disqus and maybe turn it into a SaaS if there's demand for such a product. Any interest for a $10/month privacy respecting Disqus alternative + an open source code base?

I expect it to take me 2 to 3 weeks to build it. As you build more projects, you end up with a lot of reusable components, so it gets easier to build out the MVP. The real challenge for developers is to get users. This is something I don't have much experience with, so let's see how it goes.

wainstead 2 hours ago 0 replies      
I recommend "Start Small, Stay Small: A Developer's Guide to Launching a Startup," if you have not heard of it. He has some simple formulas for measuring how much you're trying to do and how long it will take, given that you have a full time job.
Zaheer 1 hour ago 0 replies      
6 months. I sat on the domain and an index.html file for months even though the idea was super simple. Partnering with a friend and holding each other accountable was the best thing to launch.

Compare career levels across companies - http://www.levels.fyi

cityzen 1 hour ago 0 replies      
Biggest lesson I learned from building a SaaS side project that actually had revenue is this...

You cannot develop your way out of a marketing problem.

There will ALWAYS be technical problems to solve but it's all irrelevant if no one is using your product. Long development time also tends to create a familiarity with your product that users likely will not have, possibly ever.

I am a huge fan of Steve Blank's How to build a startup (which is free on udacity)https://www.udacity.com/course/how-to-build-a-startup--ep245

danthelion 2 hours ago 0 replies      
Around 1 month total time since the idea, 2-3 days net dev time.


I wanted to learn Django and wanted to start with something fairly easy. I don't really have any idea how and where to promote it, didn't get much attention in my `Show HN` thread and most subreddits remove it because of the affiliate links to amazon.

Other than that it was a fun experience and at least I can say that Django is a great framework to work with!

Huhty 44 minutes ago 0 replies      
Over 15 months, and we didn't get our blogging and social media going until approx 3-4 months left until launch. And I regret not starting it sooner.

Start your blogging and social media ASAP, because it takes some time for SEO to kick in. Get collecting emails so you can launch to an audience. Don't leave it until after launch, you will regret it.

Our SaaS is at http://blogenhancement.com and the blog is at http://blogenhancement.com/blog/ if you want to take a look at what we've been up to.

Cheers, and good luck in your journey!

highace 2 hours ago 1 reply      
Two weekends for the MVP of https://newsapi.org. About 3 months so far for v2 - I'm building it out into a more featureful service that I'm hoping I can build a business around.
nikivi 2 hours ago 1 reply      
It took about a month to built the initial prototype for the Search Engine we are building.


We had the interactive mind maps as JSON already however we needed to display them on the web in a nice interface so we made a react component to render the JSON to the screen.


Overall it took about a month to do the whole thing and get a working prototype, the search engine improved a lot since then though.

20years 2 hours ago 0 replies      
I have built multiple SaaS products. I spend about a month building the first version. I get that out in front of users and continue to build upon it if I see traction and based on feedback. If traction isn't there or it becomes obvious user won't pay, I generally move onto something else.

After the initial prototype, it generally takes another 3 to 4 months to build out a full fledged app that I can offer to the masses. It doesn't stop after that though. There is always more to develop and improve including a lot of re-factoring.

I currently have 4 SaaS products on the market and another one in the works.

AndrewKemendo 2 hours ago 1 reply      
Concept was May 2011, I wrote up the spec in Aug 2011 and we launched in May 2015. So about 4 years.
goodnews3879 1 hour ago 0 replies      
There seems to be a prevailing idea among startup people that if you can't get an MVP up and running in ~3 months or less, it isn't worth doing. I have heard this exact statement made on a few of the well known podcasts.

The reality is that not every concept is going to get the low hanging fruit, and for many people real life gets in the way. Plus, for some people the journey of learning is just as important as launching the product.

It might be worth considering that you shouldn't stress out if it takes longer than the conventional advice might dictate.

discordianfish 1 hour ago 0 replies      
I've just launched latency.at and I've started working on it about a year ago but in the beginning worked only a few hours per week in my spare time on it. In the past months I put more time in it while freelancing the other days.And yes, I felt exactly the same. The core piece was literally done in a day, but everything around it took forever. Happy it's "done enough" to finally launch it. But now the next hard part: Find (paying) users.
lpa22 2 hours ago 1 reply      
6 weeks of after work/weekends for the first iteration in website form, and another 6 weeks for iOS App second iterationhttps://www.theroseleague.com

Shameless plug, if you or anyone you know enjoys The Bachelor series then this product is for them.

golson 42 minutes ago 0 replies      
My first major project, https://www.kindmind.com: about 6 months of nights-and-weekends work before public launch. It's a private online therapy journal for getting things off your chest.

Now going on two years of development (just me) and loving every minute of it. Yes, it's painfully slow at times. Finding users is really freakin' hard. But the satisfaction of people using something I made makes it all worth it.

guohuang 2 hours ago 0 replies      
1 week (mostly nights and weekend) - http://toptalkedbooks.com

Building a website is not the most painful part, promotion and getting traffic are the hardest, you have to be very determined. keep up the good work, don't give up.

anyone has any good advice on marketing?

tmaly 3 hours ago 0 replies      
I spent around 6 months for version 1 of my food project https://bestfoodnearme.com and another 3 months for an entire re-write of version 2. It is still a work in progress with small iterations. I would say launch with the bare features, not even password reset. Get feedback and keep iterating.

Make sure you have some form of analytics from the start so you can see what pages people are going to

ifend 2 hours ago 1 reply      
2 weeks -- http://www.backereta.com

Nobody uses it but it was a good learning experience.

TheFullStack 1 hour ago 0 replies      
This took about 4 months from idea to first real user registrations: https://www.turbo360.co

That was back in June or so. Since then, have made many many changes based on user feedback so the current iteration is more like the cumulative work of 6 months.

ezekg 3 hours ago 0 replies      
I spent ~6 months building the initial version, then ran a 3 month beta (should have just launched here as beta didn't have a lot of usage), and finally launched about 3 months ago. All in all, I've been working on it for over a year. GitHub says first commit was May 22, 2016.
sjs382 1 hour ago 0 replies      
Not from idea to launch as I spend a lot of time daydreaming about projects before I begin work, but SendToMyCloud.com and PrivateForms.com both took less than a month to build, part-time.
RikNieu 2 hours ago 0 replies      
My last one's not a saas, it's a simple job board, but it took me 3 weeks working some evenings and weekends.


reiichiroh 1 hour ago 0 replies      
"ideation" is a real word?
SirLJ 3 hours ago 2 replies      
took me approx 2.5 years from the idea (of beating the stock market, trough losing money left and right, stopping and developing an edge) to building the system to algo trade constantly...
ThoughtWorks has been sold to private equity
69 points by phosphate  4 hours ago   49 comments top 15
obiefernandez 1 hour ago 1 reply      
At least back in the early 2000s when I worked there, the expectation set by Roy was that once the legal issues versus Schroder, et al [1] were settled, that Thoughtworks would someday become a public trust. It would be very surprising to learn that the company was now being sold for the profit of an individual.

[1] http://caselaw.findlaw.com/de-court-of-chancery/1138774.html

Firegarden 1 hour ago 2 replies      
You know as a programmer myself for the last 15 years I can see how the market has changed and everything is becoming part of the global economy which means the rates are a lot lower which means Ukraine and India are playing a bigger and bigger role I could see private Equity trying to lower costs by outsourcing.

I think there's a fundamental flaw in the idea that you can just pay for cheaper labor- as Steve Jobs has said before the difference in a good programmer and an outstanding programmer can be 50 to 1 or 100 to 1 you can't capture that by trying to cut your cost from $100 an hour to $20 an hour.

Software inherently is one of the most scalable business models in the world the cost of manufacturing is almost zero all of the cost is in the design they should be able to make money. The mindset of being a consulting firm has to be changed.

tyingq 2 hours ago 2 replies      
Interesting. A company like ThoughtWorks doesn't seem to fit the typical private equity playbook. Assuming that most of the employees, for example, are assigned to consulting gigs at customer sites...you can't just start laying people off. What would drastic cost cutting look like at ThoughtWorks?

Edit: Or maybe there are a lot of people "on the bench" or middle management is overstaffed?

This discussion might be enlightening: https://news.ycombinator.com/item?id=12458683

obiefernandez 1 hour ago 0 replies      
corpMaverick 26 minutes ago 0 replies      
Te me Martin Fowler has been branding of Thoughtworks. I am surprised he was not an owner. I wonder if Martin will remain.
edpichler 1 hour ago 0 replies      
My short story with TW. Seven years ago, after several interviews, I was invited to move and work to TW office in Porto Alegre (Brazil) I asked 2,5k USD month, and they refused. It was a good salary at that time, I could live comfortably and travel to my home once a month. I was not willing to accept less.

I continue liking this company, but now I have my own small business so I haven't applied anymore.

brepl 1 hour ago 3 replies      
A few questions:

* What's the likely outcome for employees?

* Who was the previous owner?

* How much did it sell for?

* Are operations in specific regions likely to be shut down or sold off?

brepl 1 hour ago 2 replies      
What did ThoughtWorks do with their profits before they were bought? If it was privately owned, does that mean the profits were dividended to the founder? Or were they all re-invested in the company to fund expansion?
worldwar 2 hours ago 2 replies      
Really? I search in google and twitter, all related posts' sources point to this page.
bill899 2 hours ago 0 replies      
Bought by Apax
Analemma_ 1 hour ago 4 replies      
Pretty much the only things I know about ThoughtWorks I got from Zed Shaw's Rails rant, which put them in a sharply negative light as a body shop of mostly-useless people. Was that an accurate characterization or is there more to them?
Ask HN: Anyone Interested in Authoring/Collaborating on a Software Product?
17 points by zschuessler  6 hours ago   15 comments top 8
mattmanser 5 hours ago 1 reply      
Show HN is what you'd normally use. https://news.ycombinator.com/showhn.html

Your homepage doesn't really tell me what this is, apart from it uses Git somehow. You told us ^^there, but not on the homepage.

Is it a RAD tool? A new alternative to something like meteor? What's it got to do with Sketch plugins?

waterside81 4 hours ago 0 replies      
I'm not sure who your target end-user is, but I think the focus on "git" both in your branding and explanation leads people to focus on that aspect rather than the (great) idea of having easy-to-use revision management for digital assets. How that's implemented (in this case, git) is irrelevant to a marketing manager or a creative who is supplying the content.

If developers are a large part of who you see as your end user, then sure, keep as is. But if they're not, I'd consider re-evaluating the use of git as your main selling point and highlight the "history tracking" aspect of the product.

sharemywin 5 hours ago 0 replies      
Have you thought about cutting your fee to 7% plus 3% to paypal or stripe and letting the author set a commission for affiliates. So if I offer 25% an affiliate would get 15%.
siddharthdeswal 4 hours ago 0 replies      
I'm a "product marketer", and this was difficult for me to understand. I don't know what this is for (after reading your opening comment), and I can't figure out what should I be doing. If you receive similar feedback from other marketers, maybe consider making it easier to understand?
sharemywin 5 hours ago 0 replies      
And what would be really cool is to allow people to sell the resale rights. So, if I buy the rights I could make all future profits of the eBook, template, photo etc.
carussell 4 hours ago 1 reply      
This violates the Git trademark, which the team announced they would begin enforcing this year due to a proliferation of products and services naming themselves after Git. If you're going to move forward with this, you need to apply for permission to use the Git mark.
sharemywin 6 hours ago 1 reply      
so can I fork your product and sell it and split the fees?

or if I check in a rewrite of a paragraph and you approve the check in do I get a cut your future sales?

kumaranvpl 5 hours ago 0 replies      
Hi @zschuessler,

I am interested to collaborate. Please ping me at kumaranvpl@gmail.com

Ask HN: What is this new offline support trend?
5 points by tarikozket  2 hours ago   10 comments top 4
sova 2 hours ago 1 reply      
Because:1) subway trains have no wifi2) concrete and refrigerators block signals3) data is expensive4) once I have all the data from the site, I want to read and play on it without necessarily updating every micromove with a ping and response5) some services don't need real-time call-and-response. Would you want wikipedia live updating every paragraph when all you want to do is read an article?
dhaspden 2 hours ago 1 reply      
Not everybody lives in large urban areas where Internet is an almost guarantee. I myself live in a remote area of Ontario where coverage can be spotty at times. It's nice to have a fallback to offline storage when I don't have access. Not everybody is willing to pay for a data plan as well.
johnmurch 2 hours ago 0 replies      
Take a trip to NYC and jump on the subway, tons of time you are offline yet have time on your side.
dabockster 2 hours ago 1 reply      
I do not know what you mean. Can you be a little more specific?
Ask HN: What's your daily-driver headphone model?
3 points by methochris  3 hours ago   1 comment top
arca_vorago 2 hours ago 0 replies      
I have been quite rough with my headphones/earbuds over the years, so I've used and broken quite a few, and have a little insight. I'll split between desktop and on-the-go.


Favorite - Razer Barracuda (with matching soundcard), great sound, super comfortable. (wish they hadn't broken)

Runner up - Turtle Beach Ear Force PX21 (just cause it says ps3 don't mean you cant use it on PC!)

Current - Razer Kraken 7.1 Chroma (1st gen, 2nd gen is more sturdy metal) (windows software sucks, but I use GNU+Linux)

Others I've used - Logitech G35(wired and wireless versions), Creative Sound Blaster WoW Wireless, Seihnheiser.


Favorite - Yurbuds Ironman Focus Behind the ear (lost them recently, so sad)

Current - Klipsch R6i

Others - Multiple cheap skullcandy, new model Apple.

All that said, on-the-go I don't trust bluetooth so I don't do wireless, but if you do your options expand quite a bit.

One more thing to keep in mind, if you really want the best, go to a hearing aid place and get your earmold taken so you can get the perfect fit rubber exterior for whatever model you choose. Personally, I really loved my Yurbuds Ironman Behind the ears because they stayed on the best while lifting/running/yardwork etc. Most of the time when I select, besides form factor, I mostly base selection on frequency range. Which is how I ended up with the Razer Kraken 7.1 Chroma's despite how disapointed I have been with Razor the last few years.

When I was in the military the best pair I ever had was the Bose sound reduction headphones.

Ask HN: Part-time Developers
3 points by craigkilgo  3 hours ago   1 comment top
taprun 52 minutes ago 0 replies      
It would be harder to extract unpaid overtime, coordinate meeting and facilitate cross training. Not only that, but it's more difficult to manage and allocate folks when there are four 1/2 time workers instead of 2 full timers.
Ask HN: Anyone else letdown by the quality and focus of S17?
4 points by rblion  2 hours ago   5 comments top 3
Lordarminius 16 minutes ago 0 replies      
No its not just you. I made a post about it here: https://news.ycombinator.com/item?id=15078313
sova 2 hours ago 1 reply      
What are you talking about exactly, the roadway in Poland?
cvaidya1986 1 hour ago 0 replies      
Startups that may not seem cool can be extremely valuable too.
Ask HN: Do any of you do data science as a hobby?
30 points by RealAnalysis  22 hours ago   13 comments top 7
riku_iki 4 minutes ago 0 replies      
My project is https://finintelligence.com

I launched it just about a month ago, so it is still in a semi-stealth prototype mode.

minimaxir 19 hours ago 1 reply      
While working as a Software QA Engineer at Apple, I wrote a large amount of statistical blog posts to get a breadth of skills outside of my role (story: http://minimaxir.com/2017/05/leaving-apple/)

I did have a statistical background before starting at Apple however. Most of my projects were self-taught and done as self-research (I am not a fan of the take-a-million-MOOCs strategy everyone likes).

cuchoi 19 hours ago 2 replies      
With a team of data-scientists-as-a-hobby, we are building www.17-56.cl, which displays insights from data about Chile. It is in Spanish, but feel free to look around. For example, I created a map that displays the votation in the Chilean primary elections: http://fernandoi.cl/mapascomunales/primarias/primarias.html. Simple, but informative and fun.

Probably as a hobby you will not be able to write an analysis that will get published in a paper, but there is a lot of descriptive analysis out there that can be very interesting.

gesman 12 hours ago 1 reply      
Built model + app (Splunk app) to predict medicare and opioid prescription fraud based on published medicare claims datasets at data.cms.gov
thenomad 10 hours ago 0 replies      
Yup, from time to time. I also use data science in one side of my business (online marketing), but as a hobby I periodically do data analysis of the computer game DOTA2.

There's a large (huge, actually) available dataset, and lots of interesting information you can mine comparatively easily.

RealAnalysis 17 hours ago 1 reply      
I'm really just wanting to do my own self research on topics and datasets that seem interesting, but also want to ensure the analysis im doing is sound.
SirLJ 3 hours ago 0 replies      
Absolutely, been doing it for years with stock market data and Python - developing trading algos and very successfully I might add, actually I can retire tomorrow, but every year I am postponing, because of the team I lead...
Ask HN: What does deliberate practice look like for computer programming?
79 points by tim_sw  1 day ago   33 comments top 21
taf2 1 day ago 0 replies      
I think you can divide programming up into a few areas.

1. Mechanics, how well can you navigate and type using the tools you have available. To practice this an easy thing to do is formatting your code without any automatic formatting. In vim for example, this helps you learn the commands.

2. Reasoning/problem solving. This one is harder to practice and really requires experience. Always have a project and spend time trying different solutions. A nice characteristic of software is you can usually just undo if something was wrong, so don't be afraid to experiment.

3. Research- it's safe to assume someone else already solved a problem. Use google to find their solution and read how they solved the problem. Never be afraid to open up someone else's code.

jerf 1 day ago 0 replies      
Doing things you've not done before that stretch you, then generally moving on after you've done the first 10% that teaches you 90% of what there is to know. (Numbers may not be precise.)

An incomplete lost: 3D graphics programming, write a compiler or interpreter, write an emulator (Gameboy is popular), write a web server starting from a socket, learn a new language paradigm, grab a raspberry pi and do something with gpio, find a friendly open source project and close some bugs, and so on.

I'm an advocate of the "T shape", where you are deep in one or two things ("pi shaped") but have dabbled in lots of things.

I would not that while katas as others suggest are not bad, they are usually count for just one skill. You may learn a lot of clever tricks and some useful math, but what you get out of them will plateau before you get to the end of the katas set.

subwayclub 1 day ago 0 replies      
Programming more skillfully is primarily about making decisions on which feedback loops you pay attention to, and not getting stuck on ideas about feedback that seem momentarily fashionable or convenient, but lead to bad outcomes later.

Write prototyping code that solves an existing problem as nearly as you can manage, and then figure out how to improve it on one or more metrics:

* smaller SLOC (automatic programming, data abstractions, etc)

* better portability, fewer dependencies, simpler build processes

* better throughput, latency, or resource usage(memory, storage, bandwidth, energy)

* eliminate one or more classes of errors(e.g. off by ones, null dereferences)

* better user interfaces, better documentation and accessibility

* more efficient development of the prototype

* better working environment (workflow, tools and knowledge of the tools, automations for convenience)

Oftentimes, you can make one change and improve several metrics. Other times you sacrifice one to get others. There are bad tradeoffs like code golfing or premature optimization. Having the prototype already in hand is crucial in all cases since it gives you a spec to bump up against when you're at risk of falling off track. If you're more daring this can take the form of an existing shipping codebase.

whatismybrowser 1 day ago 3 replies      
This is more of a technique for learning than for practice... but one thing that I make a habit of when learning a new programming framework is deliberately typing out sample code that I've found in books or online instead of just copying and pasting it.

It's the equivalent of writing out notes by hand from a school textbook instead of just photocopying the pages... some how the process of actually re-typing it out causes it to stick in my mind better. And then later, when you're really "in the zone", you don't break your focus by needing to keep referring back to the book, it's already embedded in your muscle memory and you just keep plowing away.

neurocline 1 day ago 3 replies      
Deliberate practice in a nutshell - pick something that has a measurable outcome, have a target that is just slightly harder than is possible for you at the moment ("outside your comfort zone"), do it, then compare your measured results against your target, and then iterate.

I am not entirely sure deliberate practice works for programming. I've been following Anders Eriksson's work for 10+ years, and it seems most applicable when applied to domains that have a history of training. Want to learn how to sing really well? You can probably do it. Want to be the best basketball free-thrower in the world? Probably.

It's the lack of a body of trainers and training that hurt, because deliberate practice talks about having quantifiable goals and the ability to compare how you did it versus how it's supposed to be done. E.g. have a trainer in golf means the trainer can critique your strike.

If I ever figure out deliberate practice for programming, you can bet for damn sure I'll write a book.

andreasgonewild 1 day ago 0 replies      
It looks like, and is often accused of reinventing wheels. Forgetting that it's not about the wheels but what the designers learned from going through the motions. Writing code that you've never written before on a daily basis is a good start. The key is to keep raising the bar, keep questioning tools, frameworks and best practices; to never get stuck on auto-pilot. Solve problems you care deeply about; or if that isn't possible yet; practice on the road-blocks, divide and conquer. At least that's what it's like for me.
segmondy 1 day ago 0 replies      
Code jam & katas are fine. But they are not deliberate practice. They are just exercises.

Deliberate practice is about working on your weak area till you're no longer weak in that area.

You MUST perform a retrospective on all your projects. Ask yourself what you struggle with often, what are your pain points? Identify them, then work on them. The mistake I often see is that most developers create more problems for themselves by attacking multiple problems at once. If you have XYZ problem, and you decide to use a new language, a new framework, a new cloud service/API, a new DB and a new design style you have never used before. You will never be sure your pain point.

What you must do in this world of too many choices is LEARN TO CONSTRAIN. Pick a language, DB, framework, etc that you know. Nothing should be new to you but the problem. Yes, it's true that your existing tools might not have everything you need. LEARN TO BE RESOURCEFUL. With that said, attack the problem, if you have any issues, it will be obvious and apparent.

Let's say you have a great project you understand through and through and you wish to learn a new DB. Keep all things constant, rewrite your old project and the only thing that should be new is the DB. Repeat till you master the DB.

You must limit your problem to ONE and ONLY ONE at a time. This allows you to measure and correct faster if on the wrong course.

dmux 1 day ago 0 replies      
I posted a link to a paper [0] about "Deliberate Performance" the other day that some may find useful. In that paper -- along with making the distinction between practice and performance -- they describe deliberate performance as:

>the effort to increase domain expertise while engaged in routine work activity.

They then go on to give four types of exercises to focus on:repetition, timely feedback, task variety, and progressive difficulty.

[0] http://peterfadde.com/Research/Deliberate_Performance-PI-101...

indescions_2017 1 day ago 0 replies      
Attempt one Google Code Jam problem per day. Allocate one hour of intense focus to get as far as you can. Solutions and winning code examples are also there if you get stuck!


siegecraft 1 day ago 1 reply      
You could try TDD katas (see http://osherove.com/tdd-kata-1/ for a starting point). For me, the value in this practice is becoming hyper-proficient with your chosen development environment, not neccesarily learning TDD well. TDD is just a good problem domain that enforces the rest. I think of it in terms of "mechanics" practice. How quickly can you add a new file to your project? How quickly can you integrate it into your workflow? Do you have a tightly focused write/run/debug loop? Are you proficient with keyboard shortcuts and templates or whatever else will accelerate your speed. It's about being able to keep up with your mind when you get into flow and are ready to crank out code.
jwilliams 1 day ago 0 replies      
I use a painting/art metaphor for my practice. Usually when i want to develop a new major function or approach - or adopt a new technology - I do a "sketch".

The sketch is a standalone project that embodies what I want to understand. It could be React with a basic router and a test framework. I'll iterate on that. Sometimes several times. Then I integrate into the projects I'm working on.

Usually this is verifiable in some form. Being reliably testable is one. But others could be micro-benchmark performance. Occasionally the aim is just to re-write in a different language.

In the future, if I wanted to make a structural change (e.g. a different router) - I'll go back to the sketch and make the change. Sometimes I also do a sketch from scratch. However, I find working on the original sketch informs changing the production code a lot better.

In "deliberate practice" terms that's a very macro-level approach, but it's a balance that's worked for me.

reading-at-work 1 day ago 0 replies      
Not sure if linking to reddit is frowned upon here, but there's a great subreddit called r/dailyprogrammer which has fun coding challenges ranging from beginner to difficult. I've found they are great for practice because they have defined "success" states, they really make you think, and you can compare solutions with others in the comments. And you can use any language you want.
stephengillie 1 day ago 0 replies      
Code is both math and language.

- Deliberate literature practice involves as much (or more) reading as it does writing. Tangentially, code review is an important way to both learn how other people express ideas in other ways, and to learn new features and tricks to express yourself in a given language.

- Deliberate practice in mathematics begins with rote memorization, and later with repeated application of algorithms. So practice could first involve typing common algorithms, including brackets and other grammar, until they (e.g. a FOR loop) can be typed from memory. Or possibly automating this step, and practicing using the automation. Later practice could involve repeated application of algorithms - possibly algorithms of your own making.

auganov 21 hours ago 0 replies      
I have this tendency to get stuck in an incrementalist mode of coding where I'll unnecessarily "test" little changes before it really makes sense. Forcing myself to write out as much code as possible before running it, is a form of deliberate practice for me.
kleer001 1 day ago 0 replies      
Working through a new programming book?

Answering questions on Stack Exchange?

Watching marginally related recorded talks at conventions?

Focusing on the thing for an extended period of time while exploring new territory?

The muscles you're wanted to exercise are pattern recognition and lateral thinking, all in the problem solving family.

So, find a problem, them solve it.

OtterCoder 1 day ago 0 replies      
Excellent answers already. It also involves some time problem solving on the craft at large. Take some time reading the words of people who have innovated in the field and argued with their peers. See if you can work out where the champions of OOP pushed our understanding and where they failed. See if you can understand the functional programmers have created beauty out of chaos, and where they've drunk a little too much Kool-Ade. Once you've understood, write a few example programs in those styles and languages.

In understanding the radical designs and patterns that great coders have used and argued about, you'll see you own code style change, even unconsciously.

gdubs 1 day ago 0 replies      
Get a copy of SICP and do all the exercises (and or follow along with the MIT course videos on YouTube)
throwaway2016a 1 day ago 0 replies      
Hacker Rank practice problems
williamle8300 1 day ago 0 replies      
Believe yourself to be competent. Never believe yourself to be wise.
lhuser123 1 day ago 1 reply      
Excellent question. Looking forward to read all the answers.
zaptheimpaler 1 day ago 1 reply      
Deliberate practice for X literally means do thing X.. i think that is simple - the best way to get better at X is do X. So it really depends on what you want to get better at.

Practice for algorithms could mean doing a lot of leetcode/interview style algo problems.

Practice for working with large codebases means practicing reading/understanding code quickly. So maybe picking a large scary open source project and trying to make a contribution.

Reinventing wheels like andreasgonewild is the most useful and fun kind of practice IMO. Pick a cool technology and make it yourself from scratch. Maybe in a new area you know nothing about. A distributed KV store? A stack-based programming language? A code formatter?

If you develop something big like that, you will surely exercise all the muscles it takes to develop something. Reading too many tutorials or watching too many videos is narrowly exercising the "learning" muscle. Solving algorithmic puzzles is narrowly exercising the "CS fundamentals" muscle. But the best workout to prepare to chop wood is to chop wood.

Ask HN: How did you get your first paying customers?
22 points by designerlye  1 day ago   11 comments top 10
AznHisoka 0 minutes ago 0 replies      
I found people who shared content from my competitors and sent them cold emails using BuzzSumo http://buzzsumo.com
dnh44 10 hours ago 0 replies      
I had an ongoing relationship with a company and got them to pay a deposit for a product before we even started the company.

We would not have started the company without that deposit and I would have done something else in that case.

Anyway I think you should know who your first paying customers are going to be before you start anything. But don't take anyones word for anything. Lots of people will say "yeah I'll buy that if you make it" but not everyone will follow through.

RedneckBob 16 hours ago 0 replies      
You should have customers before launch. Read the first four chapters of: https://www.amazon.com/Four-Steps-Epiphany-Steve-Blank/dp/09...
fairpx 1 day ago 1 reply      
For my latest business (a productised service that provides unlimited UI design for software teams http://fairpixels.pro) I simply contacted my previous customers.

It's surprising how many of us are always looking for new customers, when sometimes, contacting people who you already have a relationship with works best.

Even if it's your first business. Maybe you know a few folks from your previous job, an internship. These people already trust you, know you and interacted with you before... the easiest way to get your first customer, I think, is through the network you already have.

Browse through your phone and email contacts. Your first customers and users might be sitting in your pocket as we speak :)

wingerlang 12 hours ago 0 replies      
I the first costumers almost by just releasing the app, because the community was small and anything "new" would definitely sell at least 1 copy.

The product(s) being of high quality still have sales after some years.

graystevens 1 day ago 0 replies      
A recent HN discussion which may help:https://news.ycombinator.com/item?id=14191161
jwilliams 18 hours ago 0 replies      
B2B SaaS - Used networks, cold emails and showing up (cities, events, conferences). For everyone you meet, ask for a referral to someone else at the end. When you have an idea that has some level of product-market fit, that should be enough to get traction.
malux85 20 hours ago 0 replies      
My very first startup I was naive and just did cold calling. Got a huge number of no's (200+) before getting a yes.

Next time I'm much smarter, seek partnerships and even better if your product is an upsell, then you can have others sell it for you

AznHisoka 23 hours ago 0 replies      
I used social media to find influencers who could help promote my product using tools like CrowdTangle and Followerwonk
brianwawok 16 hours ago 0 replies      
Met a guy on a relevant reddit :)
Ask HN: What is the future of browsers?
13 points by skdjksjdksjdk  22 hours ago   15 comments top 12
erikpukinskis 20 hours ago 2 replies      
To some extent, you can look at mobile app platforms for guidance:

- identity service

- payment services

- 3D positioning data, including 6DOF

- hand tracking and object tracking (AR)

In terms of future-y stuff, I can see some sort of blockchain integration, like CloudStorage as an IPFS version of LocalStorage. That would potentially need to dovetail with the identity and payment stuff.

I suspect as we get deeper into AR times, some kind of device-relative geo services will need to be necessary. Like, give me a list of services that are within 1 foot, 20 feet, and 1000 feet respectively.

Personally, I also think the browser is ready to make the leap to a kind of raw metal relationship with hardware. ChromeOS is an example of this, Firefox OS was an attempt. I'd like to see more specialized OS's that can boot hardware directly to the web. The security models on Mac and Windows are slowly approaching something more like the web anyway, where apps run in a sandbox. Web pages have been doing that forever, so it seems like a good fit for a security-conscious OS.

A mobile headset would be a good opportunity for such an OS to differentiate itself. Which leads me to...

The other huge opportunity I think is in web "filters". We've gotten to the point now that there's just a lot of crap out there, and with ad blockers and readability filters we've started to dabble in a meta layer. I think a future web browser will go full meta, where by default you don't see the actual web page, you see a thumbnail and a bunch of views on the data in that web page, and you only dip down into the giant messy interactive ad-riddled view if you want to.

Past endeavors include the whole space of web annotation, semantic web, etc. Not sure why none of that has taken off, but seems like something that will find product market fit eventually.

One of those "filters" could be an AR filter. Take a web page and map it into AR space. Also VR. Add avatars of other people around the content. But there should be a whole marketplace of filters, language translation, low power filter, etc. Opera was doing some version of that. You could have political filters too. "Block all misogyny", "Add Fox News' take", "Keep everything tidy and German" etc.

A lot of this marks a general transition from a site POV to a user POV for the browser.

If anyone wants consultation on any of these ideas, I'm available for hire. :)

dabockster 21 hours ago 0 replies      
Hopefully there will be more browsers/engines than just 2-3 large ones. I know that will make web dev difficult, but it will encourage the most innovation online.

I'm sick of having to choose between either Firefox, Edge, or a thousand Chrome knockoffs. There needs to be more diversity.

osrec 20 hours ago 0 replies      
I think the main browsers will continue to dominate (it's tough work to launch and maintain a browser, so there's a high bar to entry). I feel native features will continue to be exposed via the browser, and eventually, I can see web apps eventually replacing their native counterparts. I am personally a big fan of web apps, and prefer them to native downloads that highjack my phone or computer - browsers just need to be careful to manage permissions to intrusive APIs in a sensible manner.
NikolaeVarius 22 hours ago 0 replies      
I would love a browser that didn't take 100mb of memory per tab. Though I'm not sure how much of that is to blame on the browser/plugins or the webpage.
srcmap 21 hours ago 0 replies      
Love to the Servo from Mozilla take over the world soon.
TomMarius 21 hours ago 1 reply      
I would love a way to ditch HTMl/CSS and use a thin abstraction on top of native GUI toolkits (WinAPI, Qt, Gtk, Cocoa...) instead.
jlebrech 9 hours ago 0 replies      
a web os, basically a browser will be something like android but without needing to download an app first.
llccbb 20 hours ago 0 replies      
I have been enjoying using selenium as a programmatic interface with the browser. Hopefully more of that!
fairpx 22 hours ago 0 replies      
I think the best part of the browser are the extensions and plugins people make.
imaginenore 22 hours ago 0 replies      
Browsers seem to be converging.

It's quite obvious that they will all implement next JS standards, with some experiments here and there.

They will add API access to more hardware like VR helmets, controllers, maybe even USB devices (which would be great for web hardware based security, like 2FA).

Probably voice control and typing (like on Android).

Probably automatic translation (not just by Google).

Built-in free VPN (limited obviously) and TOR would be nice.

trentmb 21 hours ago 0 replies      
maxk42 22 hours ago 0 replies      
Ask HN: Who have the best paying (tech related) affiliate programs?
18 points by softwareqrafter  1 day ago   3 comments top 3
thenomad 10 hours ago 0 replies      
You might want to look through ShareASale's catalog - they have a lot of tech-related affiliate programs running through their system, and you'll be able to compare them.
fairpx 1 day ago 0 replies      
I think OP is asking for products/businesses who are providing an affiliate program. The word 'best' should probably be translated to: "who pays the highest commission".
cm2012 1 day ago 0 replies      
You're not going to find a successful affiliate marketer willing to share his or her niche.
Ask HN: What is the best HN like site for crypto currencies?
10 points by scottkclark  22 hours ago   9 comments top 7
ploika 8 hours ago 1 reply      
The Financial Times' Alphaville blog is my favourite. Free to read once you register.

It's not exclusively crypto-related, but they dedicate substantial coverage to developments in the whole crypto/blockchain/ICO space.

They generally approach it from a finance point of view, so it's required reading if you're interested in anything more than just the technological aspects.


elorm 13 hours ago 0 replies      
As far as I'm aware, Cryptopanic[0] is the only decent news aggregator but it doesn't have HN-like discussion features.

News in the cryptocurrency community can be extremely unreliable and designed to influence trading negatively or positively so most people stick to sources they can really trust.

Day/Swing Traders - They use Telegram channels(Whalepool, Whaleclub, Bitstash, Coinfarm) for their discussions and pick their news from subreddits(r/btc, r/bitcoin, r/bitcoinmarkets, r/Ethereum, r/ethtrader).

Developers - Slack and Telegram. Reddit and Twitter for their news


nicklo 18 hours ago 0 replies      
Check out http://reddit.com/r/cryptomarkets. Lots of good discussion (just ignore the HODL/moon trolls).
richardknop 10 hours ago 0 replies      
General crypto subreddits: /r/bitcoin, /r/ethereum

Subreddits for daily traders: /r/bitcoinmarkets, /r/ethtrader

scottkclark 21 hours ago 1 reply      
What are the best resources, web sites, blogs etc for understanding what is happening in the crypto-currency world?
dabockster 21 hours ago 0 replies      
None at the moment...

Brb, building HN for crypto.

imaginenore 22 hours ago 0 replies      
Various Reddit subs.
Ask HN: Which remote-first company has the most revenue?
12 points by syedkarim  1 day ago   3 comments top 2
TommyBombadil 1 day ago 1 reply      
No idea about their revenue, but Automattic (wordpress.com, etc...) might be a good candidate with 584 employees:



AznHisoka 23 hours ago 0 replies      
Buffer - $12M annual revenue (although they did have offices originally, I believe). BuzzSumo - $5M annual revenue. CrowdTangle - before they got acquired by FB.
Ask HN: Where is there so much cryptocurrency skepticism on HN?
10 points by rloomba  1 day ago   14 comments top 7
schoen 1 day ago 1 reply      
I'll guess the following, as someone who generally appreciates cryptocurrency:

1. People who speculatively hold an asset have an incentive to talk it up, even misrepresenting their own beliefs about its merits and future value. Thorstein Veblen wrote a whole thing about how this happened with real estate in the U.S., where people felt immense social pressure to persuade the broader public that a particular town was great because their assets and their friends' assets were tied up in land in that town and they all wanted their property values to rise. It's annoying for people if they feel that they're getting a pitch that's ultimately inspired more by someone's (possibly undisclosed) market position than by someone's honest assessment of the situation.

2. Altcoin creators and early investors stand to become rich, possibly at other people's expense, if there is sufficient interest and enthusiasm for an altcoin, even briefly, regardless of the altcoin's level of technical or economic innovation.

3. There's a lot of disagreement about economic ideology and policy issues around cryptocurrencies, familiar examples including Bitcoin's intentionally deflationary monetary policy and Monero and Zcash's privacy. This can add an extra level of contention and disagreement in this area, sometimes in the background, and people may be upset by the particular choices or policy goals that others have adopted. (And a lot of people have diametrically opposed beliefs about whether governments should have more or less power than they do today to set monetary policy, to monitor transactions, and to prevent particular entities from receiving payments.)

4. We've seen with the DAO and the current Bitcoin forks that there's also uncertainty about governance, including a conflict between people who want to see purely code-based rules set at the outset and enforced forever, and people who want some kind of community to have a way to amend the rules. To some people, the failure of meta-consensus about governance and decisionmaking is a long-term fatal flaw in cryptocurrency communities, and a way of glossing over something really necessary.

5. Cryptocurrencies have experienced high rates of frauds, scams, and theft that suggest to some people that they can't be taken seriously as a real part of the financial system, since the risks seem unacceptably high and there aren't straightforward ways to insure against them. Most new projects don't directly change this situation.

6. We've also seen tons of projects adopting blockchains that obviously don't need them because the participants in the system already trust each other or at least already trust a common authority that they agree is allowed to adjudicate disputes. In that case, the common authority can maintain a central database, or the participants can maintain a simpler distributed database and appeal to the authority to resolve any disagreements. (Maybe there are some cases where something blockchain-like is ultimately cheaper because it simply reduces the frequency of disputes that need to be adjudicated, but in any case a lot of people adopting blockchains seem to miss the point about trust and decentralization.) So there is a skepticism that says that most often when someone used a blockchain it was probably for buzzword-compliance.

impendia 6 hours ago 0 replies      
I don't describe cryptocurrency as a "scam" or "greed". Indeed, I find the whole subject fascinating.

But, as to where skepticism comes from -- these so-called "coins" have been conjured out of thin air, are not backed up by anything or anyone, and have no intrinsic value. And yet somehow they have become worth over $100 billion.

Perhaps one or more cryptocurrencies will indeed emerge as a long-term store of value. But I think that skepticism is a quite natural reaction.

Nokinside 1 day ago 1 reply      
There in nothing wrong with block-chain technology. It's good idea that will find uses.

The reason why I would came out at skeptic is because its proponents are full of shit, political and naive to the extreme and they are against government by default. Alternatively they are cynical businessmen riding with hype.

Proponents can't distinguish different roles of money. They have never heard of basic things like: optimal currency region, connection between balance of payments and exchange rate, smurfing ... They think they have discovered something else than just new payment and transaction method.

nxsynonym 1 day ago 0 replies      
Partly due to the fact that a majority of the crypto "articles" posted are 90% speculation, ICO buzz pieces, or "is it too late?" lazy question threads.

Also partly due to the fact that the technology is being overshadowed by the fin-tech bros looking to make a quick buck, and it's reflected in the quality and quantity of crypto related articles that are being written in the first place.

There are still some good discussions, but for the most part people are sick of seeing the same crap repeated daily with no critical thought or real news to speak of.

PaulHoule 1 day ago 1 reply      
A little more than a year ago I went to a conference on blockchains. [it makes my blood boil how IBM has gotten people to say "cloud", "blockchain", etc. Even people who think IBM is pants will still talk like babies when these subjects come around]

One clear thing to me was that Ethereum had no security story.

Well, it has a story for the security of the base challenge, an actually interesting story that if you have five different implementations that are evenly used, a hole in one of them won't affect the whole system (unless it reaches 50% adoption.)

However there is no security story for applications built on Ethereum. Thus the DAO hack, the ICO hacks, etc. Experience shows that you can't trust the run-of-the-mill programmer to get that kind of thing right, and you certainly can't trust bankers, traders, and fin-tech brogrammers!

There are also interesting reasons why blockchains were only developed lately. If you went to a distributed computing conference and presented a paper about a distributed system which did not improve it's ability to handle workload at all when you add more nodes, you'd get laughed out of the room.

And then there are the people who talk about "fiat currency" and who think that Bitcoin is like gold. Bitcoin is not like gold. People wanted gold 4000 years ago and they will want it 4000 years from now unless we are extinct or unless we find an asteroid which is made of solid gold. No way are people going to want Bitcoin 4000 years from now.

SirLJ 3 hours ago 0 replies      
Some people lived trough the dot com bubble...

And the dotcom bubble was better, because at least the stocks had liquidity and were traded on established stock markets...

Missing on bitcoin is equal on missing on the power ball for me...

Basically I don't see anything in the crypto world yet, one day maybe when the technology is mature and real shares are traded on real stock exchanges, but right now, no thanks!

dozzie 1 day ago 0 replies      
> Whenever anything cryptocurrency or blockchain is posted, nearly all the comments label it as a "scam" fueled by "greed".

When it's another blockchain-as-a-cloud-serverless-service, it's usuallymade by cryptographic dilettantes who don't understand what is theblockchain's function and just want to join the hype bandwagon.

Ask HN: Who is working on services?
28 points by tylerdiaz  1 day ago   8 comments top 5
onli 1 day ago 1 reply      
Doesn't that happen very often, that people work on such services?

I'm part of a small team that works on portier[0], which is what one could see as open source alternative to Auth0 (it's not the same thing, and it is more inspired by Mozilla Persona, but close enough). It's a service, as we run a broker online for everyone who wants using it, and the whole concept is having self-hostable brokers that handle the login of users (via email or Openid).

But: While that broker has a proper and simple API one can use to use the service with every language, it is still so much easier to just include a library/module that does that for you. Interpreting the jwt, fetching the jwk to check the signature, packing the request to the broker properly. We currently have one for Python, node, php and ruby/sinatra. They are not all at the same level, the one for sinatra does almost all the work for you, while the the python library is more a set of helpers.

And I don't think that's something weird we're doing, look at services like stripe or superfeedr, they all have language specific libraries to make calling their web part easier.

So what I'm saying: If you run a service that targets devs you might still end up writing language-specific libraries. And I don' think there is much keeping language-agnostic services from happening, as there are a lot of them.

Edit: Though open source there is less, right. I think that's a mixture of the skills you need (having a proper server online and programming the software, not every team can both), the popularity of self-hosting in that community, and that it might cost money to run the online service.

[0]: https://portier.github.io/

pavlov 1 day ago 1 reply      
Libraries offer tight integration with the language. A generic service that provides a HTTP API doesn't.

If you are currently using a library that operates synchronously on in-memory objects and offers an idiomatic API in the language of your choice, switching to a web service may feel like a bucket of cold water because suddenly you're dealing with an async-only interface that sits behind a slow socket and requires serializing everything to a lowest common denominator API. It's a huge tradeoff that requires serious justification.

Back in 1990, there was an industry standard called CORBA that attempted to turn libraries into services:https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A...

There's a reason why we're not using any CORBA-based software. (Well, the GNOME desktop was based on it for some time, but they gave up eventually.)

herbst 1 day ago 0 replies      
The thing about containers is that they tend to make everything more complicated and resource hungry. Devise is a very good example for 'it Barely could be easier at this point'
warren46 1 day ago 0 replies      
Open standards are such, but in a heterogeneous software landscape one will always have challenges integrating vendor specific implementations of such and such services.
mdekkers 1 day ago 0 replies      
What are some of the problems keeping that from happening?

Here's one: Money.

A service will cost me (more) money. A library I can deploy on already-existing infrastructure. Keeping in mind that "Cloud" is 3x to 6x more expensive over running in house, this is a significant drawback.

Ask HN: Where to start with CSS?
21 points by xenopticon  2 days ago   8 comments top 7
dyeje 1 day ago 0 replies      
I attended both of these talks and found them very enlightening. My team hired a CSS expert to do some part time implementation work and evaluate our practices. I was pleasantly surprised when his analysis of our codebase was very positive.

To me, the key is to think of everything in your app as a component. You should be able to drop the component into more or less any context and it should 'just work'. Following the ideas in the videos will help you accomplish that on the CSS side.

CSS is a Mess - Jonathan Snooks (ex-Lead Frontend Developer Shopify)https://www.youtube.com/watch?v=fAcW-wOFYjw

CSS for Engineers - Keith J Grant (NYSE Engineer, author of CSS in Depth)https://www.youtube.com/watch?v=J-9Tn6AetYA

codegeek 2 days ago 0 replies      
I really like http://cssreference.io

They have a visual guide which shows you what it looks like along with code on side.

ninjaofawesome 1 day ago 0 replies      
You may want to look into Sass (SCSS). It makes your code reusable and extendable via variables, mixins, loops, if/else statements- its quite robust.

Another suggestion, such as SMACSS is BEM (my personal favorite), as it flattens out your styling to prevent over specificity and makes everything clean and neat. (Check it out here: http://getbem.com/)

Ultimately though, what I've found reduces messes is to think of the end product before beginning. If you have the luxury of starting with a fresh codebase, think of the end product and its styling before starting- much like you would with any other set of features in any other language.

If you're walking in to legacy code, try to avoid the "one-offs". Sure, they solve the problem now, but its making a mess for future you to clean up as well as being a potential code smell. Leave your code a little better than when you came in and you'll be thanking yourself later.

Good luck!

LarryMade2 1 day ago 0 replies      
One trick I just learned is you can combine classes - when setting class in a property put in multiple classes by separating the names with a space. i.e. <div class="manny moe jack">web stuff</div> Now you can pull apart the unique bits from the reusable ones.

Other than that a lot of my CSS cleanup happens in refactoring the layout

cag_ii 1 day ago 1 reply      
I think the SMACSS doc is worth a read:


maxharris 1 day ago 0 replies      
Google, can you use your AI to punish articles showing irrelevant videos?
6 points by hank808  1 day ago   1 comment top
gesman 11 hours ago 0 replies      
Most are hosted by Google, so ....
Bing/yahoo/duckduckgo are gaining on Google?
19 points by elid1979  2 days ago   27 comments top 4
ajc-sorin 2 days ago 2 replies      
I know most people on this aren't a fan of the subreddit /r/The_Donald, but there is a tremendous push on that sub for people to use alternatives to major tech giants.

Google, Facebook, and Amazon (due to the connection with Washington Post) are vilified, and multiple posts reach the top each week outlining alternatives - Duckduckgo is a major one, firefox/brave are suggested browsers, and in general people on that sub talk about completely disconnecting from facebook, or minimizing use to messenger only.

I can see a pretty sizeable opportunity for platforms to come out that are truly tolerant of all speech/perspectives. I'm not criticizing, nor expressing favor towards, any of the services I've mentioned, but it seems like someone could make a solid earning in a lifestyle company aimed at servicing individuals who want privacy and uninhibited freedom of speech.

For reference, T_D is in the top 125 of subreddits by subscriber base and activity. If you exclude default subreddits, they're probably in the top 50 subs. Considering they probably have even more penetration through the amount of lurkers (like me), I wouldn't be surprised if they drove a sizeable chunk of users away from Big-Tech.

Edit (for personal reasons): I'm not on T_D because I support Trump. I go there to get a perspective of people who I don't completely understand, in order to better understand their needs/fears. Also, their memes are dank.

kpwags 2 days ago 4 replies      
About 2 months ago I switched to DuckDuckGo and have been happy with the results I get back
gesman 1 day ago 3 replies      
For a fact I was able to pull competitive docs from website with the help of Duck that Goog won't provide.

Name kinda sucks - i always typing duckgogo and ending up at spammy site. WTF is duckduckgo?

Can't we do a brandy shortcut or so?

s3r3nity 2 days ago 0 replies      
Isn't Yahoo still powered by Bing? Or did they move back to their own engine?
Ask HN: Where do backlink checking services get their data from?
8 points by maurtinshkreli  23 hours ago   2 comments top 2
sebst 22 hours ago 0 replies      
There is a comment which was voted dead which actually answered the question. These services have their own crawlers. If you ever spot for example MajesticBot in your access logs you have found one of the biggest.
tconaugh 23 hours ago 0 replies      
They use distributed web crawlers to crawl 100s of billions of web pages. Probably one of the following options:

1) Built their own crawlers.

2) Using an Apache Nutch/Heritrix cluster in a colo facility.

3) Use 3rd party services like mixnode.

Ask HN: Your startup struggle and how did you overcome?
16 points by wasi0013  2 days ago   2 comments top 2
muzani 1 day ago 0 replies      
The whole thing is a struggle. Building a product, revenue, marketing, investors. Being stuck in a shitty situation, with no money, no food, no clear way out, only choosing between one risk or another.

It's no surprise the topic makes for good HBO drama.

There's no shortcut. Just stay calm in the chaos. Focus on one thing after another, especially when it's tempting to do many things. Don't outsource core stuff early on; it's tempting when time is always short, but it often makes things worse.

Be honest, completely, brutally honest to yourself. Startups are the last place to lie to yourself. You don't have 'hope', you have plans and hypotheses.

Startups are this long march. You either die or you make it rich. If you can simply avoid dying, you will be rich.

markfer 23 hours ago 0 replies      
Definitely getting the first few paying customers. Luckily I have a vast network of potential users from previous jobs, but asking them to pay feels weird when it's an MVP (mostly).
Ask HN: What feature does your dream note taking app have?
6 points by ZaninAndrea  1 day ago   18 comments top 11
twobyfour 6 hours ago 1 reply      
1) Merge resolution is a big one. I often muse that a note-taking app with a Git backend and three-way merge facility would be kind of awesome.

2) Combine that with offline note taking that auto-syncs when you have a network connection again (even if the note-taking app is backgrounded on your phone), and you'd have a winner. Give me that and I wouldn't even care about support for any formats other than plain text.

3) The ability to organize notes into folders and subfolders with no limit to levels of nesting.

OK, yeah, I really just want an auto-syncing Git client on my phone.

agitator 1 day ago 0 replies      
I use Evernote a lot, for all sorts of things. Here are some improvements I would love and frustrations I've experienced.

- A clever and clean way for tracking changes and additions for hand written notes.

- Evernote allows adding hand written notes, but they go page by page, which is frustrating when notes or designs span longer lengths. Allowing a continuous stream of hand writing would be great.

- Better merge resolution. When you happen to make a change on the web (clip a web page for example) while writing notes on the iPad, I often lose notes.

chauhankiran 1 day ago 0 replies      
Following I like to see ( If possible ):

Many app are stop, if issue with net connection or send a big notification about my internet connection issue. Why I have to see it? Can app not manage sync & net issue with local storage or something. I mean I am just taking a note and for taking a note, a real time internet connection is not needed., Right? it's not email app where connection is more important.

scalesolved 8 hours ago 0 replies      
I'd love to see a timeline feature where I can play back a session of note taking from a day or plot it out into a nice JS timelined graph automatically based on journal entries.
fosco 1 day ago 0 replies      
I want to merge org-mode with workflowy in a gnu free locally hosted instance. That is my dream.

For now I settle with org-mode in terminal because I avoid the cloud.

tbirrell 1 day ago 1 reply      
Pagedown integration. I use Stack Overflow on a daily basis, so if I could write and save my questions and answers in an editor while preserving the syntax (especially the key commands I'm use to), I'd get behind that.
fiftyacorn 6 hours ago 0 replies      
ive tried lots of note taking apps and ended up blogging my tech notes
sjs382 23 hours ago 0 replies      
Ability to take photos on a mobile, mark them up (with a pen), and have full-text search of the contents of the photos and the notes.
abawany 1 day ago 1 reply      
I use OneNote. The features that make it indispensable for me are as follows:

* Excellent synchronization across devices

* Support for handwriting

* Web viewer

kerrsclyde 1 day ago 0 replies      
Search by image, so show notes containing similar images.

I am a very heavy Evernote user but it has nothing like this.

fairpx 1 day ago 1 reply      
Auto calculate writte equations
Employer gave me a conference budget for next year. Can I get suggestions?
4 points by Justen  1 day ago   4 comments top 3
BjoernKW 1 day ago 1 reply      
I like to recommend going to conferences that broaden your horizons or give you a different perspective.

Going to a developer conference as a developer might seem like an obvious choice but going to an event with a slightly different though still adjacent topic might provide a better learning experience and allow you to get to know people from outside your usual circle of interest.

Design conferences are particularly intriguing for developers. I can highly recommend both Reasons to: (https://reasons.to) and beyond tellerrand (https://beyondtellerrand.com/). Both have a similar background and deal with design and web topics as overarching themes with talks ranging from front-end technology in general, data visualisation, to typography and art (as of lately including quite a bit of generative art).

Events like that can be very inspiring and they can provide you with insights from other subject areas that you would've never thought to have an impact on your daily work.

levthedev 22 hours ago 0 replies      
You should definitely check out !!con. They have really fascinating and weird talks about all sorts of interesting CS and design topics. Plus, it's pay what you can and is located in New York, so there's lots of interesting stuff to do nearby.

My favorite talk from this year was about implementing an algorithm for HDR photography purely in Microsoft Excel - https://www.youtube.com/watch?v=bkQJdaGGVM8

Jeremy1026 1 day ago 0 replies      
What is your budget? As that might affect what you should go for to maximize your benefit.
Ask HN: What Does a Customer Success Manager Do?
3 points by chirau  1 day ago   2 comments top 2
apohn 1 day ago 0 replies      
This depends heavily on the size of the customer success team. I used to work at a place with only one customer success person who managed and tracked content on an external facing community site (basically the combination of a FAQ and Forum). For questions that were unanswered, they would request somebody from the appropriate team (e.g. PreSales, Services, Tech Support, Education, etc) to answer the question.

The plan was for that team to grow so they were also doing the following 1) Developing tutorials and videos for frequently asked questions 2) Tips & Tricks - blogs, tutorials, videos 3) Better Routing of customers to the right group (e.g. tech support). Basically a second layer of defense after the account executive. This was really important for new customers who didn't understand the correct channel to reach out to for help.4) Have scheduled public sessions (e.g. 2 hour chat sessions) where customers could get tech help, demos, etc. Typically this would involve one person from the customer success team and one from some other team with more expertise in the product(s).

On the one person team, the "manager" didn't manage any people. The managed the customer questions and site. As the team grew, there was a plan to have somebody who actually managed the team.

leahcim 1 day ago 0 replies      
They handle clients requests such as onboarding and customer support.
It seems that GitHub is down
18 points by kiberstranier  2 days ago   7 comments top 7
sschueller 2 days ago 0 replies      
I can't get to it from Zrich, London or Atlanta. Newark, NJ and Fremont, CA works.
akaralar 2 days ago 0 replies      
Status page reports elevated error rates: https://status.github.com I can't pull and push from terminal either
geerlingguy 2 days ago 0 replies      

> We are investigating reports of elevated error rates.

zb3 2 days ago 0 replies      
Can confirm (Poland), albeit it's not completely down for me, some requests are served.
nik736 2 days ago 0 replies      
For me it's down as well. This seems to happen every week now.
reubinoff 2 days ago 0 replies      
Ask HN: Why companies look for full stack developers instead of specialists?
28 points by r34  1 day ago   40 comments top 26
dagw 1 day ago 2 replies      
Early on you don't know the distribution of work. If it turns out that your workload doesn't split 50/50 front end/back end then half your team will be overworked and half your team will be waiting for stuff to do. Once you get going it might turn out that the back end wasn't that hard after all and that your true USP is your world class front end (or vice versa).

Once things settle down into familiar pattern and you actually have a good idea of what your workload will look like down the road and what specialists you actually need (as oppose to imagine that you might need), then you can start hiring specialists.

Edit: That being said you should have someone responsible for each part and you can split your team into primary front-end and primary back-end based on their relative strength and preferences. However it's important that everybody has the necessary skills to work on all parts of the product in the beginning.

BjoernKW 1 day ago 1 reply      
Front-end / back-end isn't a particularly useful distinction in my opinion. Differentiating between those 2 is just another way of creating information silos.

I'm old enough to have experienced at least 2 full thin-client-fat-client cycles and I'm certain the current one won't be the last (at least it seems to have been a recurring pattern since the beginning of modern computer science).

While the front-end / back-end paradigm might make some sense right now because the technologies used for each of those layers conceptually seem to be quite different from each other I doubt it's really that much of a benefit. On the contrary, it might even be detrimental to effective software development:

I'm not in the business of creating either front-end or back-end code. Neither is useful without the other. I'm in the business of creating value and solving problems with software. Depending on the problem at hand this can involve different tools at varying degrees.

Focusing on just one tool or layer can lead to a potentially harmful mindset. A mindset in which you just throw your part of the work over the wall thinking that it's not your problem anymore.

The arguable benefit of having specialists churn out stuff in their respective layer more quickly than a generalist would quite likely is offset by communication and interface overhead: The difficult problems in business applications nowadays mostly arise at their boundaries. Software development for the most part means communication.

PaulHoule 1 day ago 0 replies      
I have seen separate teams designing a protocol often end up in tears.

One mistake that gets repeated over and over again is the protocol that is too chatty because the people involved like the idea that, like subroutines, operations should be composed out of smaller operations. Trouble is that distributed calls take 1000x or more longer than subroutine calls and are billions of times less reliable.

Without somebody looking at the big picture, what you'll learn the hard way is that performance, reliability, and security are holistic properties of the system which you won't find localized in any one place.

busterarm 1 day ago 4 replies      
Odd. I'm a full stack developer and I find my experience to be the opposite...or at least it doesn't matter what your other skills are if don't have 2 years experience in hot-javascript-framework-X (right now, React). I'm probably just a bad salesman though, but I just don't feel like I'm very in demand.

Doesn't matter that I rolled our whole architecture and infrastructure, did all of the ETL work, can handle security, web accessibility & design, and basically run point on all projects. I use basic, unsexy, reliable tools.

chuck32 1 day ago 1 reply      
I don't think its a good idea because in reality most devs are one or the other.

My theory is that most backend developers claim to be "full-stack" in order to get the job even though they really are much more focused on backend stuff. This is because its very hard to learn ruby/python/php/java for web development without learning html/css. Project Managers like having full stack jobs only because they think that can just get somebody to "do everything".

This is also probably a bit of a legacy thing, ~15 years ago the difference between backend and frontend web developement was not as well defined as it is now. A web developer would "make the page look like this with a text field there and a button here" (frontend - html/css/javascript) and then make the form on the page "save the form input to a database" (backend - a php script possibly embedded in the page).

These days development is more like "make the site be a single page app with a responsive mobile-friendly design" (frontend - angular/react/ember...) and make it process data from the user and send it off to external apis and integrate third party libraries (backend - rails/django/.net...) and have a version controlled and automatic way of deploying the code to a multiple servers behind a load balancer (dev ops - chef/puppet for example).

As with any technology, the more advanced it gets, the more need there is for practitioners to specialise.

kharazi 1 day ago 0 replies      
As a co-founder of a software company, I have an experience of 15 teammates for 4 years. Generally, our projects need a lot of expertise like backend and frontend but in all times, the weight of our requirements are not equal. In this situation that we have full-stack developers, we can do various projects often we do heavy-backend projects and having full-stack developers can help us to find proper tasks to everyone.

In principle, the world needs more between disciplines experts and you can see it as a universal trend.

dasmoth 1 day ago 0 replies      
Having at least some knowledge of all the pertainant tiers is pretty helpful when sketching out an architecture for others to follow. When combining specialists, there's a lot of merit in having someone in a senior position who can speak everyone else's language.

At smaller scale, strong full stack developers can get quite a bit done in "team of one" mode -- perhaps more than two specialists who have to spend a fair amount of time thrashing out interfaces.

thehardsphere 1 day ago 1 reply      
The main problem with specializing in this way is that it presumes that "frontend" and "backend" are the correct criteria to start specializing on, and that they're equally valuable. For many applications this is simply not the case; usually one is more valuable than the other, and if specialization is necessary it needs to start within one of those two categories instead of between them.

A secondary problem is that any time you have an interface and people who can't clearly understand what happens on both sides of it, you end up having integration problems. And meetings to discuss the problems. And proposals to solve the problems. And disagreement on who should solve the problems. And future arguments if the solutions are wrong. "Communicate with an appropriate formalism" is the probably the hardest part of software; why would you introduce that if you don't actually have to?

niftich 23 hours ago 0 replies      
Expending the effort on designing formal, hard system boundaries (within the same organization) tends to work less well in practice than it does in theory. The 'full-stack' trend serves to compensate for this deficiency by making individual devs feel ownership of a higher proportion of the overall product up and down the stack. As a related effect, it allows the firm to shuffle the devs where they're needed the most, theoretically not limited by their specialization in a particular area.

This is a less cynical take than a popular post of mine a year back [1], in which I say:

> The 'full-stack' trend is a reflection of rising, dare-I-say unrealistic expectations, one which the author supports by their recommendations in their blog post. By perpetuating the notion that the only 'true way' to be a good developer is to structure their lifestyle around understanding implementation details behind all the layers of a modern tech stack, they place an unnatural reverence on the mythos of hackerdom while ignoring that software development is not solely a creative pursuit.

> As it stands now, 'full-stack developer' is a euphemism, which in hip new places means 'we want you to live and breathe code, because you will be given vague requirements and expected to deliver the entirety of the solution from the bits moving across the wire to the UI espousing the latest visual design language in less than a month', and in established places means 'we want an infusion of new blood to bring sanity to some legacy code and we're counting on you to debug and fix everything by yourself'.

[1] https://news.ycombinator.com/item?id=12168195

ptasci67 1 day ago 0 replies      
I have always found that the most difficult aspect of any application is nearly always the integration points. Hiring only specialists would probably only make that more pronounced.

That isn't to say this isn't a necessary evil sometimes. Security and mobile development are two simple examples that come to mind of dedicated specialists that many organizations have.

When it comes to generic development, it is beneficial for one person/team to own the entire stack because often the domain specific problems are where the complexity arises, not in the frontend/backend split.

edpichler 1 day ago 0 replies      
I think because software engineering is not very mature yet, everybody knows how low is the rate of projects that ends on time successfully. So, the process of construction software is always changing, and to deal with this problem, companies sometimes tends to look for generalist than specialists.

Technology also evolves too fast, and a company formed just by specialists will face problems with technology and software engineering processes changes. Having just specialists on a such ever change area is not a good deal. The best is to have a mixed team, formed by specialists and generalists, and in a perfect world, a good organization should be made of men, women, young and old people, natives, foreigns, etc. It's like a sailing crew, everyone is (or should be) really good doing something.

In this ever change world of software building, when hiring a specialist you always think: "If tomorrow this job doesn't need to be done more, what this specialist will do to stay with us?"

All of this is just my opinion, my personal theory. I made it up working 10 years with software engineering and development, and recently bootstrapped 3 companies, and the last years I'm studying administration.

geebee 1 day ago 0 replies      
I think it depends greatly on the kind of application you're designing. A lot of web apps have a pretty simple backend, mainly persistence. If that's the case, for some small apps a pure back end or front end dev might not have enough to do.

The problem, I think, is that the front end is getting specialized, with enough churn, that it's getting difficult to maintain that specialty along with serious expertise on the back end. In the days of rails and html/css, with a bit of javascript, one dev could handle it all (and honestly, I think integrated systems like rails would be a far better choice for a lot of apps that are going full SPA).

But the interesting apps I've worked on? I remember writing a manufacturing and logistics app that had a lot of linear and quadratic programming, and some fairly complicated database design and SQL, and a more elaborate front end for analysis (applets back then, believe it or not). I was pretty happy to stay away from the front end, really, and I can't see how I could have kept up with what's going on with javascript/SPA frameworks anyway.

kjullien 1 day ago 0 replies      
The way I've always seen and understood it is that there's two types of companies :

- starting businesses/(relatively) small businesses that look for someone with the broadest skills possible, this way you employ fewer people to get the job done and have a MVP

- established/historical/corporate companies that already have an established stack that you are not going to reinvent (because of the scale or simply because they wont even let you try) and these companies tend to know exactly what their weaknesses are and they search for way more specialized people to fill those gaps. they also look for "fullstack" devs but way more skilleld, akin to "tech gurus" that act more as lead devs/team supervisors to help out anyone that might run into trouble, so in this case you'd better have some nice work experience.

Anyways, frontend/backend/fullstack, in the end, the pay potential and employability is all about how you sell yourself and nothing more.

Blackstone4 1 day ago 0 replies      
Because it sounds good in theory and on paper but reality is another thing
iLemming 1 day ago 0 replies      
Companies (should) try to hire people who are willing to work at either side. Fungibility of the team is more important than an individual's level of expertise. "Experts" have tendency of having one-sided opinions that in a long term may delay building successful ecosystem of software projects.
DeonPenny 1 day ago 0 replies      
Well the big issue is that in practice people and especially programmer suck a communicating, especially at the borders. If two people work in parallel to build one thing the issue is that both people need to know how the connection works before starting. A fullstack engineer typically is going to be as good as both the frontend and backend engineer with the benefit of the entire context of the project.

I don't know why' you be an either when if you had just learned both you can always work in a company that silos people off. Even though I've always seen it as way less effective.

hakikosan 1 day ago 0 replies      
Because, companies want these "full stack" devs to do all the stuff if they want them to do, whether it's front end or back end or operations, etc. Also when devs specialize in some area and become experts they cost more, so full stack devs are probably cheaper than specialists. I feel like "full stack" is another B.S. like the "devops" thing that's made up recently (~2008 I guess).
Jemmeh 1 day ago 0 replies      
Better to know how all the pieces work together even if just a bit, your overall decisions will work better with the entire program as a whole.

Also I think our job is often just 75% "here's a bunch of information, figure it out" so it doesn't matter what the material is because you're constantly seeing new stuff. Know a lot about a little, and a little about a lot. It's good to have a focus on something but you should be able to navigate every step of the process, even if more slowly than the person who usually does it.

digitalpacman 15 hours ago 0 replies      
You know what's worse? Full-stack architects. It doesn't seem very plausible that someone has all the knowledge in both the now very complicated front-end and back-end stacks to be a proper architect.
Klockan 1 day ago 0 replies      
"Full stack developer" is just another way of saying "T-shaped web developer" and T-shaped employees are generally considered ideal.
bradknowles 13 hours ago 0 replies      
Because this means they can fire all the other developers and save a shitload of money. Make one guy do the work of ten.
codegladiator 1 day ago 0 replies      

1. A lot many experts are totally unaware of the other side of tech.

2. Experts charge much more even if the requirement wasn't huge (if freelanced expert)

3. Communication is hard. Communicating with four experts about new systems is much more hard then communicating with four full stack devs.

sipjca 1 day ago 0 replies      
My thought is that you understand the 'system' better and if you can do that you will probably be a more efficient programmer for them.
dabockster 22 hours ago 0 replies      
Because they can pay one body instead of 3-4.
rokhayakebe 1 day ago 0 replies      
It depends on the product being built.
j45 1 day ago 0 replies      
Full-stack devs are normal, experienced, and a good practice for a lot of reasons.

Its curious how the work that full-stack developers could accomplish on the server/hosting, load balancing, database, backend, and front end, has been broken into 6 different jobs.

It's true that they have different skillsets, but you also develop software quite differently knowing how load balancing or other pieces work.

My observation has been a shortage of experienced full stack developers resulted in accepting junior developers who only work on the front or back end while their skills broaden, or deepen.

Many experienced (more than 2-5 years) developers I know have spent a few years at a time working deeply in front-end, back-end, or infrastructure solutions as it might relate to their current work.

Front-end and back-end development focus can be seen as a path to growing one's skills. A developer might grow towards the other, or broader in their existing area.

Ask HN: Optimum office lighting for developers?
1 point by samcheng  1 hour ago   1 comment top
muzuq 38 minutes ago 0 replies      
My personal opinion backed by absolutely 0 scientific evidence would be to provide warm lighting with individual (desk based) dimmer switches - allowing the individual to adjust light levels to their own optimum comfort level. The closer the light mimics natural light, the better.
       cached 23 August 2017 20:05:02 GMT