hacker news with inline top comments    .. more ..    13 Oct 2016 Ask
home   ask   best   2 years ago   
Ask HN: Is phonegap/cordova still relevant?
35 points by kyriakos  10 hours ago   25 comments top 10
leoh 1 hour ago 0 replies      
I've worked with Cordova, and in many cases, I don't think it's appropriate.

In particular, apps that:

* require native functionality (i.e. access to photos, GPS, notifications)

* are sufficiently complex UI-wise

... are not well served by Cordova. Why?

* when you start needing native functionality, you will find that the plugin ecosystem is often lacking; having to modify or write your own plugins means that you have suddenly have three languages (JS, Obj-C/Swift, Java) to contend with instead of two (Obj-C/Swift, Java)

* iOS and Android development kits make it easy to create apps that feel like they belong on their respective platforms there is no need to spend developer or UI/UX looking for a library with lots of UI elements or developing a look/feel

Moreover, even relatively simple things like table layouts that "feel nice" e.g. highlight when you tap on them, implement swiping to delete elements, allow for re-arranging are significantly more onerous to implement in JS as opposed to natively.

If your app is sufficiently simple and doesn't fall prey to these pitfalls, you might want to consider Cordova. But if you really don't need native functionality, you might as well just get `UIWebView` working yourself.

seanwilson 4 hours ago 0 replies      
Lots of people are still using Cordova (especially for enterprise apps) and in-app browser support is getting better all the time. There's a huge number of upsides to having a single codebase that works on Android, iOS and the web. Native will obviously give the best UX but comes at a high cost which you have to weigh up against other factors. There's a very vocal group online that will tell you hybrid apps are the worst thing ever but when you do a hybrid app well most people don't notice.
lukehaas 10 hours ago 2 replies      
I think Cordova is increasing in relevance. Over the last couple of years mobile devices have reached a level of performance that makes hybrid apps feel native. When you combine Cordova with Ionic you can create write-once apps that deploy to any device and have a native look and feel.
WorldMaker 7 hours ago 0 replies      
Cordova is still quite relevant.

The better question may be a question of developer balance. React Native (and similarly Xamarin) requires extra work per each platform where things don't quite overlap and native controls are different enough on the given platform.

In terms of balance for a small team, "raw" HTML5 on Cordova can still be a time saver for reaching all the platforms with the exact same UI. Admittedly, yes that's likely not a true "native" UI and will look/feel more like a "website", but for some projects that least common denominator is more important the time/developer effort of polishing the UI especially for each platform.

mixedCase 7 hours ago 0 replies      
I'm very happy building a frontend for an ERP system with Vue.js that works with the same codebase on Cordova and on web browsers.

And currently my favorite Android app is a Hacker News client written in Cordova.

Would I use it to write a game? Anything that runs in the background? Something that needs to start instantly and die instantly? No. But it's a great tool if it's paramount to keep platform support overhead to a minimum and you need to have something identical or similar running in the browser.

onlymind 8 hours ago 0 replies      
It's very much relevant. I've just built and released an app using Ionic 2. Nearing 25k users.

Check out Ionic 2. Build something quick. Test on your phone.

bo0mb 7 hours ago 1 reply      
With the addition of React Native and Xamarin going free why would you? Hybrid apps will never feel native.

You can even go graphic intensive with RN, it doesn't muddy you up if you need to do stuff with swift/obj-c.

aikah 4 hours ago 0 replies      
The first thing you need to ask yourself is do you need an app in a native wrapper or a simple website ? 99% of the time you don't need a website. There is plenty of ways to make a website work offline on mobile.
martinni 10 hours ago 2 replies      
I'm not a phone gap expert by all means, so I can't speak for it's new ability. But I wasn't very pleased with my experience when I did have to use it.

Now that Xamarin is free, it's very hard to say no to such a powerful tool.

bg0 9 hours ago 0 replies      
It's basically writing an angular app and sticking it on someones phone. Unless you're making a game, you can build some pretty powerful web apps and throw them into ionic to make an indistinguishable mobile app.
Ask HN: Techy with a basic MVP, how do I find a partner?
2 points by kriptonic  2 hours ago   discuss
Ask HN: Best place to host a static website with SSL and CDN?
20 points by Im_a_throw_away  11 hours ago   24 comments top 12
dflock 4 hours ago 1 reply      
A small static site on S3 with the free cloudflare plan in front will cost you ~$0.50 per month, with moderate traffic. Probably less than fifty cents, especially to start with, if your traffic is low.

They support all the requested features.

Yes, hosting this on S3, with either cloudfront or cloudflare, does take some (one time) setup.

The payoff is that you don't have to rent and deal with a server and ongoing costs are very very low.

seanwilson 4 hours ago 0 replies      
Netlify seems like an easy choice as it does everything you ask for and is $9 a month if the free version isn't enough. It couldn't really be much easier to deploy with it (push via Git or drag and drop in the browser).

For what it's worth, you can do redirects on GitHub Pages with HTML redirects:https://help.github.com/articles/redirects-on-github-pages/

I'm with you on avoiding AWS for static sites as there are much easier options like the above.

marktangotango 2 hours ago 0 replies      
No CDN or 301, but our service [1] offers file hosting, custom domains, https via Lets Encrypt certs. We also offer API creation with what we call "API Queries" (SQL queries executed via POST requests). You can post forms with captcha. We built our service to be very simple to use, just upload your html, css, javascript, and assets.

Just curious about the 301 requirement, what is your use case for this? Ie wondering if this is something we should consider supporting.

[1] https://www.lite-engine.com

Kalium 10 hours ago 1 reply      
> 4. Something simple to use, because I don't want to lose time learning/configuring stuff. So the Amazon combo S3+route53+cloudfront won't be possible for me.

"learning/configuring stuff" isn't time lost. It's the price you pay to get a lot of functionality for a minimal financial cost. None of these items are complex, costly, time-consuming, or poorly documented. You're worried about at most a dozen hours of time once.

If you're not willing to learn to do things for yourself, you're going to be paying someone else to do it. At which point you're either blowing your budget or compromising on your needs.

The answer to your needs is acquiring the skills you need in order to do it all for under $10/mo.

stevenhubertron 3 hours ago 0 replies      
I use Netlify to host a number of sites that get 40k visits a month for $9 a month. It's been a great service.
ne01 9 hours ago 1 reply      
At https://www.sunsed.com we are working on a solution exactly as you described! Not ready yet! I just want to see what you think about it in your case.

In version 3 (currently under development) you'll have a server.htmlpp to custom route your traffic and a file manager to treat your website content as static files.

You'll be able to import/export from any static website generators. Also edit online and use a command line to push/pull changes so you can edit from your computer.

Please contact me if it's interesting to you!

By the way checkout https://htmlpp.sunsed.com for information about our HTML++ language, you might find it interesting!

Also checkout my explanation of how v3 works: http://seyedi.org/my-cms-idea

ETA for v3 is January 2017.

Edit: Made the URLs clickable.

detaro 11 hours ago 0 replies      
asteadman 6 hours ago 0 replies      
I use s3+cloudfront (route53 not strictly necessary, almost any dns host will do). Honestly, its a one-time config and after that its very simple. Cost would be well under $10 unless you've got crazy traffic (Problems I wish I had...)
VertexRed 10 hours ago 0 replies      
For $10 per month I'd say your best bet would be shared hosting (or a VPS at best) together with Cloudflare's free plan (for the SSL and CDN).
mmosta 10 hours ago 1 reply      
AFAIK there are no static host services that offer user defined response codes, you'll most likely have to prepare your own.
tylercubell 8 hours ago 2 replies      
GitHub Pages and Cloudflare.
ThatGeoGuy 7 hours ago 2 replies      
> 1. A custom domain with ssl, for an httpS url.

This is pretty straightforward as long as you're setting up any VPS or have access to the server itself. If you wanted something like SquareSpace or Github Pages, this is much more difficult.

> 2. A CDN, for super fast loading.

I honestly have no idea what this means. A CDN can help if you have a large website over multiple data-centres, but really seems to be overshooting what you are trying to do here. Are you just thinking Cloudflare? What's the reason for this? You're hosting a static website, it's not like you've got to send massive amounts of data over the wire, so I can't see how having some large CDN backing you is going to provide much if anything at all. You should maybe specify what you really want here, since it sounds like you're worried your site won't be mirrored and may have downtime or might be slow in some countries, but instead you're phrasing it as if a CDN is a requirement. Why is a CDN a requirement?

> 3. Be able to create 301 redirects with something similar to an htaccess. So it seems GitHub page are not an option.

As long as you set up nginx / apache yourself, I don't see why this is hard to come by. Any VPS service would work for this.

> 4. Something simple to use, because I don't want to lose time learning/configuring stuff. So the Amazon combo S3+route53+cloudfront won't be possible for me.

Indeed, something "simple-to-use". Perhaps this goes back to "simple is not easy", and it sounds like you want easy based on everything so far.

> 5. And not expensive, less than $10 per month.

This seems to be the part that I don't quite get. How are you supposed to use a CDN for a service that has running costs of $10 / month? I mean, that could be the cost of one server. Take DigitalOcean for example (I don't work for them, but am a customer). You could pay $5 a month for a small VPS, with very little storage (20GiB). This would allow you to host your website, with your own domain, with LetsEncrypt certificates for TLS. You wouldn't have any CDN backing you, but you could set the whole thing up just as you would any other server, and if you know what you're trying to do you could even do the whole setup on a Docker container and just deploy the whole thing through their API.

That said, keep in mind if you want the total cost under $10 / month you're probably not gonna make it. Your domain could be anywhere between $25 - $40 a year (assuming it's cheap), which means that monthly you'll probably be paying about $8-$9 a month just for the VPS service and your domain. Any cost on top of this (excluding time, which will be the major investment at first) will pretty much put you over your limit. Also, if you end up deciding that the $5 DigitalOcean plan doesn't provide good enough specs / limits, then you'll be shifting to the $10 and $20 per month plans which will definitely put you over budget here. Another VPS provider, http://edis.at, that I've heard good things from provide some differing plans based one what you're looking for, but total overall cost is pretty similar.

There's lots of information about stuff like DigitalOcean online, but I fear that I don't understand your needs in depth enough to just recommend getting a VPS and going for it. It seems like the best path to take for a static site, but the remarks about CDNs and such seem to make me wary pushing that advice.

Ask HN: Taking a demotion to work at a better company?
9 points by marrone12  9 hours ago   8 comments top 8
mchannon 3 hours ago 0 replies      
If you're to the stage of getting offered a position where you have to lose your bonus if you jump ship, there's no harm in asking for the 15% bonus you would have received as a sign-on bonus. Have you asked? Finding an experienced data science director is getting exceptionally expensive these days, and even at your current salary they may be way-lowballing you.

Megacorps tend to be a lot more stable than startups, and that may include the unicorn in question. Your current job probably has no expiration date (if no excitement either). Are you content with it being more likely you'll be out of work in 6 months to 2 years?

romanhn 1 hour ago 0 replies      
I've made a similar move and have no regrets. Lost the title, but gained valuable experience. Over time, I have noticed that I care less about titles and more about the work I do. No doubt that helping a startup go through a period of hypergrowth (still in the middle of it!) will be tremendously more beneficial to me long-term than overseeing a tiny department year in, year out.
codegeek 8 hours ago 0 replies      
15% is a lot of money as I am guessing you make 6 figures based on your job title.

"While I like my coworkers, have good pay and low stress.."

Again, these are very important factors to consider. The 3 things you mentioned is a really nice thing to have going for you in any job.

I am not necessarily telling you what to do but consider this:

- Are you willing to take a chance to work at a "unicorn" for 15% lower pay ?

- Are you willing to take a chance to give up "low stress" and potentially get into a high stress environment ? You don't know that for sure.

- Are you willing to meet new co-workers and find out they may not be as nice/friendly as you current ones ? They could of course be better than the current ones.

- Most important question: Are you at a point in your life where changing a "safer" job is ok ? Are you in that phase "I am too old for this shit" (not trying to stir up age discrimination here but at the age of 35 myself, I do say fck it to lot of things that I did in my 20s)

The answer to these questions can possibly help you decide.

kasey_junk 3 hours ago 0 replies      
I've taken 15% paycuts for more interesting work (and more!) And I've never regretted it.

Man management demotions have never caused me any issues.

I'll also add 15% is within the negotion margins most places, so you might not need to take a cut at all.

p333347 8 hours ago 0 replies      
> How have the downstream job prospects gone after taking a demotion?

I haven't done anything like that first hand, and this response might not be useful, but FWIW I have browsed many profile on LinkedIn (mostly stackexchange users and HN folks who make it public, and the related ones) and I was quite surprised to see many have done something similar - taken a demotion to join startups. I was further surprised that their next job was at a more established megacorp at a level comparable to the original one. By this observation it seems not to be a problem. However, I don't quite know if they had it easy or had to negotiate a bit, both for the position and the salary.

dxbydt 6 hours ago 0 replies      
I have done something similar. Lost a lot of money in the immediate short term, but the long term benefits after 2+ years were worth every penny. A chance to upgrade your skills and work on something that excites you is imho priceless. You should grab it while you still can.
gus_massa 8 hours ago 0 replies      
How many hours per week do you work in the current job? How many will you work in your new job? What are you doing in the your free hours?
skyfox4 5 hours ago 0 replies      
+1 for "work on something that excites you is imho priceless"
Ask HN: Finding a sublease or temporary office space in the Bay Area
6 points by timcederman  8 hours ago   7 comments top 6
grok2 9 minutes ago 0 replies      
dhruvkar 5 hours ago 0 replies      
If specific areas of the Bay Area aren't important, look for local, small business parks in smaller cities. Often times they aren't advertised very well, or at all. I've found interesting deals driving around and calling the realtor's number. In one case, I talked to an existing resident at the office park and he was able to connect me with the owner, who offered to build out office space (essentially put up a wall) based on how much space I needed, ending up to be a better deal than the realtor offered.

E.g. In Alameda, I found a place for $1.80/sqft for a 70 sqft place. It was enough office space for just myself. Adding internet/utilities, still under $200. In San Leandro, found a 100sqft office space including internet/utilities for $250/month.

Also, another resource I found useful LiquidSpace. http://www.liquidspace.com

Edit: just saw your location requirements. My experience is mostly in the East Bay. Near BART, but a long ride to the peninsula.

mchannon 7 hours ago 0 replies      
Regus will do in a pinch; they have one on Folsom Street near Caltrain.

Don't expect it to be cheap, but they're usually not full.They (and others like them) have spaces areawide; you may find some discounts closer to Burlingame or San Mateo, as there's slightly less demand outside the twin orbits of San Francisco and Palo Alto.

If you're bootstrapping, you should defend why you're in San Francisco to begin with. Your runway is far shorter in SF; unless what you're working on will only work if you're there in person, or you're square dancing with funders each day, focusing on working almost anywhere else in the world would be smarter.

tedmiston 4 hours ago 0 replies      
This may be unrealistic for a bootstrapped budget, but have you considered WeWork?


hijinks 7 hours ago 0 replies      
Get emails of a lot of companies and just email them asking if they'd lease space in their office to you
VertexRed 7 hours ago 1 reply      
I'd say try Airbnb and work your way from there by contacting the owner.
Ask HN: Fired at 51 weeks by prominent startup?
66 points by VestingBurn  3 hours ago   58 comments top 16
akg_67 2 hours ago 2 replies      
Don't say anything about the company publicly. Hire an employment lawyer, let him/her go after the company. Assuming your first batch of options were going to vest at one year anniversary, firing at 51 weeks seems suspicious.

Once lawyer has extracted what s/he can from the company and settlement doesn't prevent you from further pursuing, send complaints to department of labor and state attorney general. While DOL and AG office most probably will not do anything, The complaints will go on file at both offices. If the company is pulling similar stunts with other employees and DOL/AG office sees series of similar complaints, they may go after the company.

Privately bad-mouth the company to your network (not intentionally), word gets around and will warn others. Make sure you never work for another company connected to founders and senior executives of this company. Unethical management and investors at the top attract unethical people and breed unethical culture, they will never change their behavior.

sulam 2 hours ago 2 replies      
This is rude move in several ways. First of all, at several prominent companies where I've worked both as a manager and an individual contributor, you would let the person cliff their year if they made it that far. If you were so bad a fit that it was worth firing you in the first year, they could have fired you in the first six months just as easily.

Which leads me to another way this is rude: when I'm looking at an employment record and I see someone was somewhere 6 months or less, I don't think much of it. Clearly something didn't work out, even if it wasn't mutual. When I see someone having been there one year, I assume there's one of two options: either the employee just wanted to cliff their shares and then move on or the company let them vest and then fired them. Either one of these does not reflect well on the employee. To let you stay 51 weeks and fire you without options is a double whammy -- I'm going to have the same negative reaction and you have no upside. :/

When you look for your next job, you may want to emphasize that you were at UnicornCo for less than a year to avoid this bias or at least offset it some. That will obviously require you to have a reasonable explanation for why there wasn't a good fit, but you were going to need that anyway.

Forgot to add: contesting your unemployment at a reasonably sized company is really unheard of. Even when someone is fired, unless they are fired for cause (like, they stole stuff, harassed someone, etc) you're going to give them unemployment. If I'm interviewing you, this detail will make me want to dig further into your story. Take that as you will.

vabmit 1 hour ago 0 replies      
A lot of people said hire a lawyer. I think that's wrong. I would just move on and find another job and forget about this start-up. My guess would be that either you had bad luck and got involved with a bad founding team or that there were performance issues/issues with your working relationships/personality. Either way just moving on is the mature thing to do. I would never hire anyone who mentioned the word "lawyer" over a firing (let alone actually sued a company) that's just too much of a risk for a small company/start-up. Talking to other engineers at the company to "warn them", or better yet, gain an understanding of why you were let go would probably be helpful in your own career development. When I've had to fire a technical person, I've always gone over the matter with their co-workers to make sure there is coverage and not a skills gap with out the person. If you do sue, your name will most likely show up in public court filings. That could end your career with start-ups unless the start-up turns out to be a total publicly visible disaster. The economic damage to your reputation will likely outweigh any awards from the court (if you even win the case)... especially after you pay your legal team.

Were your options really "clawed back" (meaning recouping compensation that has already been given) or did they just not vest? Unless you mean founder equity or RSUs instead of options, I can't see how you would have had them after 51 weeks. Usually, people vest like 25% of their promised equity compensation after 1 year (the "cliff") and then a small percentage each additional month until they fully vest after 4 (or sometimes 5) years.

jacquesm 2 hours ago 1 reply      
Check your contract for acceleration clauses in case you've been fired without cause you might still have a chance.

Regardless of whether or not they are in this contract this is something that you should always insist on when signing up with a start-up.

Have your lawyer that you pay check your paperwork before signing to make sure it is fair, don't be pressured and don't take 'this is standard stuff' as a reason to sign it without review.

Yes, it will cost you some money but it may save you much more.

late2part 3 hours ago 2 replies      
I would handle it publicly if I felt I was treated unfairly in a way that suggests the company is inherently biased.

I don't understand your use of 'clawed back.' Commonly stock options don't vest until the first year - were your options really clawed back or were they unvested at termination?

Why were you fired?

It's plausible you can make a statement anonymously, while your employer would know who it is, most hiring managers in the future wouldn't know it was you, or of the issue.

There's nothing wrong with going on unemployment when you're terminated. You directly or indirectly pay for that unemployment insurance.

twostorytower 2 hours ago 2 replies      
First off, I'm sorry this happened to you. That's a really sucky thing for a company to do to somebody.

That said, you're not in a good place right now. Don't make any rash decisions in that state of mind. It's really not in your best interest to take this public.

At the end of the day, the company didn't do anything illegal. You most likely signed a standard 4 year/1 year cliff vesting schedule, and it did what it was designed to do. What they did was immoral and wrong, but not illegal. Sure, you can still sue (unlikely you'd win but they may settle to avoid a costly legal battle). And if you think a year of your options are going to be really valuable, it may be worth discussing with a lawyer if you're willing to foot the bill.

My best advice - focus on finding a new job right now. Land somewhere with a great track record for employee well-being so you don't run into this in the future. Get settled into that first. There's no benefit to making a big deal about this right this second. Bring yourself to a good place, then explore your options.

pavlov 2 hours ago 1 reply      
Would it make sense to share your experience on Glassdoor? That's probably the most widely read forum if you want to warn others of this company.
brudgers 2 hours ago 0 replies      
That sucks. My random advice from the internet is that there's almost certainly nothing to be gained by turning a termination into news on the internet. The experience is sunk cost. Rationalizing a marginal action as righteous is still rationalizing. And, unless you have forty four hundred followers on Twitter, the primary damage is likely to be to yourself...the company probably outguns you on social media and when it comes to employment networking. Besides, if you had forty four hundred followers on Twitter, there would have been a tweetstorm when it happened.

Anyway, success is very often the best form of revenge on asshats. Good luck.

sfifs 1 hour ago 0 replies      
See a good employment lawyer. Unless you were fired for unethical practices, harassment, theft types of reasons, almost certainly a contention for wrongful termination can be made in a case like this. Your employer has taken a ridiculous risk.
justin66 2 hours ago 1 reply      
Ask an unemployment lawyer to get as much from them possible. Ask that lawyer about the risks of talking publicly. The people here are not paid to worry about your well being...
anon543210 2 hours ago 4 replies      
This actually happened to me as well. I was released about one month prior to my shares vesting, but they didn't contest my unemployment. Still its a real bs thing to do. I wish I could say something publicly and let others know about the mess that place was but I decided against it. They also made me sign papers prior to getting my final check and vacation pay that said I wouldn't take any action against them.
lien 2 hours ago 0 replies      
I would sue the company. most definitely. There's no need to make a scene publicly, but if you were let go without much warning, you would be able to win. CA protects workers and a good lawyer would be able to find a good cause for this.
nstj 2 hours ago 0 replies      
smegel 1 hour ago 2 replies      
> The startup contested unemployment

What does this even mean?? (non-American here).

mattbgates 56 minutes ago 0 replies      
Sometimes it is a blessing in disguise, but go ahead and share it publicly if you wish, especially if you were fired for reasons unjustified but there is also the chance that the startup simply let go of the people they thought were the least valuable asset to their company. Similar situation happened to me.

I say it might be a blessing in disguise because... I worked for a software company that designed kiosks for solar panels and I worked on the design of the software, how it looked, special requests, etc. Anyways, in the interview, they said they were hiring me to help catch them up.. they had about 150 clients they had to cold call to get information from them, assets, etc. -- these clients had already paid their money, but hadn't received kiosks or software. Anyways, to make a long story short, about a year later, I had knocked them down to about 30 clients left.

Meanwhile, our competition was also growing, and these companies were developing in HTML5, whereas we were still building in flash-based software, with an in-house developer working on it upgrading us, but the actual update never seemed to come. Anyways, it seemed that because that company refused to update their software, we lost out to our competition, or we were starting to lose.

I was called into an office, where human resources told me they had to let me go. So they gave me the choice: If I didn't file for unemployment, they would give me a 3-week severance pay. Fortunately for me, I was working a second job, so I actually couldn't file for unemployment, so that helped me out and was like getting paid for doing nothing for 3 weeks. Awesome how some things worked out, though in the first week was rough, I was certainly devastated.. nothing can prepare you for the moment you get laid off... and you go over so many scenarios in your head, "What did I do wrong? What could I have done better? What email did I forget to send? What assignment did I miss? Was it that one time I was 10 minutes late coming back from lunch? Was it that one day that I was running late to work because I overslept?" You go over everything because honestly, you just don't really know.

I had later found out they were struggling badly, financially, and I was the most expendable, so they let me go. I was lucky because I also kept in touch with my former co-workers, who all were not being paid on time, who were still showing up to work, not knowing if they were going to get paid or not, and some of them had to take the company to smalls claims court to get what they were owed. The company soon went under and I think they managed to stay in business by keeping three employees, simply for maintenance issues for existing clients.

So lucky to be let go first.. as everyone else would soon have to struggle, whereas I had a nice free ride for 3 weeks of making money by doing nothing, but accepting the fact that they laid me off. Did I write about this company? Sure did but there was and is still no reason to mention their name or be mad at them. Tough world of competition out there and they lost. Do I expect anything from it? Absolutely not. Life goes on and you find other companies.

Startups are either successful.. or they aren't. And I am sure no startup wants to fire or lay off their employees, but sometimes, the startup is just failing, and they feel horrible themselves, wanting to have been successful, but realizing the reality of the situation.

Life goes on.. the second job I was working at the time.. became my primary job, and I still hold the position over 4 years later, as a very satisfied employee who loves his job. Look to it as a learning process, an experience, and keep moving on til you find the job or come up with your own that will set you up for however long you need.

fleitz 1 hour ago 1 reply      
Name the company, don't name yourself.
Ask HN: First tiny freelance job questions
33 points by paidsworder  1 day ago   25 comments top 13
jbob2000 15 hours ago 2 replies      
Keep it simple, this sounds like a simple project. Estimate how long it will take you to do the work, charge them a flat fee, and get half of the agreed upon amount up front.

$300/hour is way way way too much, even for a professional developer. You have no experience or formal education as a freshman, your rate should be max $50/hour.

You don't need any contracts, just get half of the money up front and if they screw you over, well at least you got that. When you give them the quote for your work, have each party sign the quote - that's your contract.

ben_jones 21 hours ago 1 reply      
As someone who has been there they will likely view what you're doing to be equal to what a freshmen summer temp might do. Thus asking for professional standard pay has a chance of going poorly. And to be fair as a freshmen you might have less then one year experience in programming.

If someone were to give me advice before I started at a young age I'd have wanted them to tell me to keep my expectations low and treat it as a learning experience and to derive as much enjoyment from it as possible.

brudgers 4 hours ago 1 reply      
In the world of freelancing/consulting/contracting:

1. No matter how you price your services, what terms you offer in your contract, or how competent you are, there's a significant chance that the potential client will decline.

They will decline because they are just window shopping. They will decline because someone cheaper comes along. They will decline because it turns out to appear not to be worth the money. They will decline because someone more expensive comes along...or the owner's nephew, or someone who is simply a better fit. They will decline because a customer canceled an order, the bank loan didn't come through, a key employee quit, a new hire was made, or your shoes were the wrong color.

2. It's hard to do at first, but there's no point in investing too much in any one proposal. 'Just' listen to the potential client, make a decision on rate and terms and present it.

3. When dealing with amateurs -- by which I mean people who don't frequently contract for the sort of work you do -- you will often be competing with free. You will often be up against other similarly unrealistic expectations.

4. When dealing with non-amateurs it's often a good idea to consider what happened to the person who did the sort of thing you're doing for them previously.

Specific advice to your situation:

It is not unlikely that the company had the option to pay the inventory software vendor to convert their data over, or that the vendor could provide a list of qualified consultants to do the conversion. And that the company chose not to pursue that route.

If this was an advertisement to students rather than something that came through your social graph via 'warm' and 'organic' relations, it is likely that the company is seeking to get the work done on the cheap. Because that's frequently the motivation for hiring students to do 'professional' type work. Unfortunately.

Finally, keep in mind that it is highly unlikely that this is the last or best or most important piece of work that will come to you in your career. The most important thing, whether successful or not is to learn a bit about business, a bit about human nature, and to improve your 'spidey sense'.

Good luck.

eschutte2 23 hours ago 1 reply      
I'd keep it simple, pick an hourly rate that works for you, and just bill the initial meeting at that rate. Get them to agree to the rate informally before you pass around any paperwork. Don't write your own contract, use a standard one, and keep it short. I can share my half-pager with you if it would help.
hgears 15 hours ago 0 replies      
There are a lot of resources out there for contracts-- which you should definitely be using-- andFreelancer's Union also has some good tax and contract guides-- https://www.freelancersunion.org/resources/ (They're free to join.)

The main thing to remember is that if the total value is over $600 and you're reporting the income, the company will likely ask for a W-9 from you and issue a 1099 at the end of the year. Then, you will be charged the 15% self-employment tax on top of federal and state taxes. A lot of beginning freelancers don't figure this into their rates, and they end up with a much bigger tax bill at the end of the year than anticipated.

I would recommend charging hourly, $50-75/hr is likely reasonable in your area, but providing the business an estimate of the range of hours-- say 10-15, or 20-25, etc so at least they know ballpark in the beginning what to expect. If you check in with them midway and say "hey this is ending up to be a lot more complicated, just so you know it will take more hours" then they'll appreciate it and be more likely to pay you quicker with no quibbles or "surprises."

ericbrow 7 hours ago 0 replies      
I've done a bunch of little freelance stuff. Money is always great, and I'd follow the advice already given if that's what you're looking for.

On the other hand, it might be worth considering a trade for labor for whatever it is they sell. When I go this route, I usually end up getting way more in trade than I would have in cash. But again, this is only if they're selling something that you may want.

kzisme 14 hours ago 1 reply      
I've always been interested in doing side jobs, but unsure how to agree to a rate and bill businesses/people based on what they want.

Some people want a website built or fixed up or apps - can anyone offer some simple resources/advice to go about doing that?

qwrusz 21 hours ago 0 replies      
Do you run a business with a DBA or will they be writing a check to you personally? How well do you know the client?

I would be fair and honest when you do the consultation - in terms of what you charge and in terms of the feasibility part. Without more info, I think an email can be enough at this point just confirming details in writing, including the consultation fee and anything else as this gig sounds quite informal right now. Others may disagree and recommend an LLC or some long contract as there is risk involved.

Only after the consultation can you figure out how to structure a contract. Based on what type of effort and time frame is needed. Whether to go with a total project fee or charge hourly and you will get a better feel for how this client does things.

An email might go like this:


Follow up to our conversation...Consultation to get your new software compatible...should be 1-2 hours on site...The flat fee is $200. Please make the check payable to Freshman Paidsworder...I am available Wednesday and Friday next week to come out there...Please let me know if this works for you and what day/time is convenient..."

Keep in mind, how do you think this small local business handles other contracts (eg HVAC repair job), do they have a bookkeeper or are you working with the owner directly?

If this type of work is something you would like to keep doing, try to make it positive/easy for you (be yourself) and make it positive for this client (word of mouth/reference/right thing to do).

Good Luck, Congrats.

P.S. $300/hour is not that crazy if it is one hour of work total ;)

moondev 23 hours ago 1 reply      
I would charge them a flat fee for time spent on discovery. Say a few hours so you can gauge the effort. Then write up a description of what you think constitutes the "deliverable" and effort/cost involved for fixed cost. That way they can't tack "one more thing" on the end without more money.
wiz21c 18 hours ago 0 replies      
Be very careful with intellectual property issues. Make sure you decide what part of the work you'll do belong to you or them. Discuss that with them upfront, in a diplomatic way (so you don't sound too pretentious). That's very important if you "think" the open source way, where we can share some stuff. Some people are absolutely against that mindset.
mathgenius 19 hours ago 0 replies      
It's ok to be honest about where you are at: telling them that you don't know what to charge, invoices, contracts, etc. Then you guys can work together on finding solutions for all of that. And the pay rate can always change later on.
happycodework 23 hours ago 0 replies      
Contracts just say I x agree to pay n dollars per t time for work. That both sign. And then sometimes have clauses if party 1 or 2 doesn't pay or do the work.

You have two options imo (probaby...ianal,...), give a contract that has rate on it and then your timesheet, or just contract and invoice them after.

You can do a simple contract off google.

Just do 1 Job at a time imo

saluki 17 hours ago 0 replies      
Converting a large excel file into a format for their new inventory system is valuable to them. But it might not be that complicated for most developers.

They would probably agree to a fixed fee more easily than a higher hourly rate. There is some risk here if you're not confident how long this will take.

Figure out what your target hourly rate should be based on what you want to make or feels fair. Then setup a fixed fee price that works for you.

I would propose three phases.

A. Initial meeting, they provide a small sample of their existing file (a few lines) along with the same data in another excel file manually converted to the format their new software requires along with the full excel file they want to convert. Also ask for rules/requirements, special cases for the conversion.

B. Setup a sample 50 to 100 lines as an initial test, that you will convert and provide them as a test to verify the conversion is working properly.

C. Once they ok part B, convert the entire document.

So maybe part A: $50, part B: $50, part C: $150.

Prepare a contract ahead of time with the Phases and amounts included so they can sign off on it at your meeting. A simple one or two page contract should work. You can probably use the short version of the contract eschutte2 posted. Just replace the hourly rate section with a fixed fee section.

I would invoice them $250 payable by check when you deliver the final excel file(note this in the contract). Companies usually don't like writing multiple checks for small amounts.

If you do part A and part B and the conversion isn't working out, invoice them $100.

Let them know that you will provide support if there are issues with the conversion at no additional cost if it's an issue outlined in their original rules/requirements for the conversion. If it's a new rule/requirement you can provide that for an additional fee.

They will probably ask you for a W-9 tax form for their accounting department so they can send you a 1099 for taxes, required if they pay you $600+ for the year. You'll probably be operating as a sole proprietorship which is ok, I'd recommend getting an EIN (free online IRS) so you can use that instead of your social on the W-9. You could prepare this ahead of time or send with your first invoice.

I would include a clause in the contract that the deliverable is the converted excel file, the scope of work is converting the excel file and that you retain the exclusive rights to code developed to make the conversion.

Google convert excel for 'name of their inventory software' if it's a popular search/topic. You might be able to setup an online conversion tool that you could charge companies a one time fee for converting their file online. Might be a fun project for you and a potential money maker.

Good luck with your first freelance project.

A practical relational query compiler in 500 lines of code
7 points by one-more-minute  14 hours ago   2 comments top 2
S4M 13 hours ago 0 replies      
The link is missing.
You are launching a new SaaS company what PaaS solution would you use?
6 points by hkh  7 hours ago   8 comments top 3
nwrk 6 hours ago 2 replies      
Depend how much VC funding/ hosting credit obtained [1][2], if bootstrapped and selfunded (money matter) then bare metal [3][4][5].

[1] https://azure.microsoft.com/en-us/pricing/member-offers/bizs...

[2] https://aws.amazon.com/start-ups/

[3] https://www.soyoustart.com/en/

[4] https://www.hetzner.de/

[5] any other provider (softlayer,packet,...)

hairyhenderson 1 hour ago 0 replies      
Personally I'd make sure the various services were at least deployable as Docker containers. That way there's a lot of flexibility in switching providers, and makes it easier to deploy on prem later if/when you need to.

As for which platform? IMO the most important factor is which platforms the developer(s) are most comfortable/familiar with. The last thing a new SaaS startup needs is to waste time while the engineers figure out a new platform they've never used... Doesn't really matter how easy or cheap it is to deploy if there's no product ready to deploy ;)

eip 3 hours ago 0 replies      
Currently debating between OVH, Online.net, and Hetzner.

Hetzner is cheapest but the other two have private networking.

If I didn't care about cost I would just use AWS or Google.

PyCaribbean Call to Proposals is open
8 points by xpostudio4  12 hours ago   5 comments top 3
oz 6 hours ago 1 reply      
I was a speaker at the inaugural PyCaribbean 2015 earlier this year in Santo Domingo - I gave a talk on doing the first and only Google Transit implementation in the Caribbean (in Kingston, Jamaica).

It was a great conference - Lots of camaraderie, talks available in English and Spanish, ranging from Python's type system to one guy's experience teaching Python in rural Argentina. Johnny Gill (a real character!) from Bermuda showed me a system using Raspberry Pis to collect weather data. Unfortunately, I missed Allen B Downey's talk, but caught Brandon Rhodes' (opening) and Jacob Kaplan-Moss' (closing) keynotes.

If you're anywhere near the region, come on out! It's tropical nerdery at its finest :)

@skfroi - It's Oswald, from Jamaica.

darrelld 9 hours ago 1 reply      
What's the cost of a ticket? I hit the tickets button but it asked me to enter an access code.
skfroi 11 hours ago 0 replies      
PyCaribbean organizer here. Feel free to ask us any questions.
Ask HN: 5th grader seeking science mentor in California
73 points by doubleyou  1 day ago   34 comments top 11
ada1981 1 day ago 2 replies      
The key to effective mentorship is 1) finding someone who has something that you want 2) helping them, for free, get something they want. As a result, you gain access to the mindset that has the thing you want.

Perhaps you could ask the kids who they really admire, or what products or things from their own lives are impacting them. I'll bet there are unknown engineers and scientists behind just about every single man made thing they come into contact with on a daily basis.

Reach out to those companies and see if they will put you in touch. Try the PR department possibly for the intro. This will give the kids a real connection to the people.

If these are products where the kid is the end user, the engineers might love to spend an hour a month on skype with them just to gain insight into their lives to make better products.

Some people might agree to help kids because they want to, and that is great, but you will 10x the value for BOTH the kid and the scientist if you find a way for them to really help each other (and it's massively possible).

I've mentored high school / college kids into pro athletes, wildly successful entrepreneurs, activists and non-profit leaders and it's always been rewarding.

Finally, the process of finding a mentor is a skill that most people lack -- what a great chance for you to involve them in finding their own mentors and letting them reach out, send emails, and otherwise discover the power of their own voice and agency.

Fun Fact: When I was in 5th grade back in the late 80s I had a secret pen pal / mentor I found in the back of 2600 Magazine who was in federal prison for hacking ;)

theideasmith 1 day ago 1 reply      
I'm a college freshman now and I wish my middle and elementary school teachers were as devoted to their students as you seem to be. I would suggest going to ResearchGate.com where a lot of scientists and grad students hang out. It's likely you'll be able to find one there who would be interested in helping them out.
qwrusz 1 day ago 1 reply      

Firstly, cheers and congrats, it sounds like you are already doing good work.

My 2 cents: Hold off just a second before finding an ongoing mentor. By 5th grade students can start to get a feel (might be this year or maybe next year) if they like computers or engineering or space exploration or biology or fast cars or another field/type of science work etc...

Finding a mentor in area of science that a student loves, after sampling different areas of science can make a huge difference in terms of sticking power. And it minimizes the potential issue of too many mentors coming in and out of their lives as you find nice scientists who want to help but they don't click with the students.

It sounds like you are already able to teach science and programming and introduce the students to various scientists and companies and labs. I would continue doing this, as sort of a "middle man and a teacher" until an area of science or type of scientific work grabs the student's attention and he/she connects with it and thirsts to learn more about that thing (for me it was astronomy).

Then work on finding a mentor in that area of science.

If you haven't heard it, Malcolm Gladwell's interviewed Eric Eisner (who started YES Scholars in LA and deal with similar issues regularly) recently and it might of interest: http://revisionisthistory.com/episodes/04-carlos-doesnt-reme...

I am in LA and have been a volunteer math tutor for over a decade. Happy to help in other ways if I can.

PebblesHD 23 hours ago 0 replies      
Sadly I'm not in America and can't offer any interesting contacts, but I'd like to say this is fantastic, and for kids who are interested in engineering and applied sciences this would be an amazing opportunity. I wish more people were as dedicated to giving kids a great education experience as you seem to be! Nicely done.
euyyn 1 day ago 0 replies      
I'd be interested. Send me a private message via reddit and we can talk: https://www.reddit.com/user/euyyn
amjaeger 1 day ago 0 replies      
Hi, Unfortunately I do not live in California - But maybe look into existing FIRST lego league teams in the area.http://www.firstinspires.org/ There are a lot of volunteers that work with the kids. They might be able to join an existing team abd it would also get them involved with other students interested in science and engineering.
schoen 1 day ago 1 reply      
It might be interesting and helpful to try to narrow down what areas of science or engineering would be most interesting to them (if you know, and if the kids know!).
mrdmnd 1 day ago 2 replies      
Great thought. Where in California? If in San Francisco (or the Bay Area in general) I can think of a number of places and people who would be happy to talk in person.
digitalsushi 1 day ago 1 reply      
I think you should somewhat anonymously chronicle this if you're successful, because you could amplify that 2 by some factor.
GmeSalazar 1 day ago 0 replies      
Great initiative, Mr. W. Please keep us posted on it.
B1FF_PSUVM 1 day ago 1 reply      
> I teach two 5th graders science and programming privately three days a week

We're talking 11 year old children, right?

Leave them be, send them out to play with their mates.

Ask HN: What's a Hacker News for other topics?
8 points by simonebrunozzi  6 hours ago   3 comments top 3
ericzawo 5 hours ago 0 replies      
I've been heavily considering starting my own message board like HN but about the North American recording industry. Now I just need to find a record label to partner/host it with. :)
Huhty 1 hour ago 0 replies      
snapzu.com has a bunch of categories/tribes you can browse through.
eminkel 4 hours ago 0 replies      
inbound.org - Marketing/SEM
Ask HN: Those making over $1K/month on side projects, what did you make?
343 points by kashifzaidi1  3 days ago   210 comments top 51
danschuller 3 days ago 7 replies      
I am but I don't know how long it will continue!

My side project is: "How to Make an RPG" (http://howtomakeanrpg.com/) which I released in June.

It's a collection of code samples, art and digital book that shows the reader how to make an old-school, Japanese-style RPG. So, it's super niche! I wrote a little about my process here:


There was supposed to be a second part to this article but I haven't written it yet.

It's been over $1000/month very comfortably so far but it is trending down. This isn't uncommon for this type of project - there's often a spike followed by a slow decline.

Still, for the last three months I haven't actively worked on it and it's still sold well. I've moved country and been finding a job (all sorted now), so I haven't had much free time.

I'm not really sure where is good to go after this project. For now I'm building on the base the book introduces, just for fun.

trcollinson 3 days ago 3 replies      
I've been working on a side project for the last 3 months and it has finally gotten to the point where I am making more than $1000/month with more than 25 active customers 100% through word of mouth. I am working on a Show HN with some of my learning from the process so I won't get too deep into it here but here are a couple of highlights:

 * You do have time. I work a time consuming job, have a wife and kids, and still found 1 hour per day to work on it, and that was enough. * Automate everything that you can. Early on I automated the deployment, the creation of new accounts, the management of the sales, and soon the marketing. * Have a plan and stick to it. I planned to use 1 hour per day and I did. I have a backlog and I work against that always. * Pick a market you understand. I help a lot with my kids schools and this is software to help with that. * Drop bad ideas when needed. I have started more side projects than I can think of. Sometimes in the past I have felt bad because I didn't want to give up on an idea. So I worked on a bad idea for way too long. Don't do that.
It turns out that when you have the right idea and are scratching an itch that real people have, it's not that hard to get people to pay you to solve their problem.

matthewmueller 3 days ago 9 replies      
https://standupjack.com is a side project I started earlier this year on my own. It's making more than $1k/mo now :-)
julianshapiro 3 days ago 5 replies      
Wrote a guide that summarizes the science of building muscle: https://julian.com/learn/muscle/intro.

It made a few thousand in Amazon referral fees after being at the top of HN, Product Hunt, and Designer News for 4 days. As these traffic spikes wear off, I expect it to continue at at least $1k/mo.

To maximize referral fees, I use this clever service called A-fwd, which geo-redirects visitors to their appropriate Amazon.tld so that they can make a seamless purchase without switching regions. This also allows for my affiliate codes to stay intact, and for me to collect worldwide Amazon affiliate revenue.

I also had to learn the ins and outs of Amazon Associates policies, which are incredibly finicky (no Amazon links in emails, no showing product pricing on your homepage, etc.) and frequently results in unannounced account closure that requires you to pester their support team to get things back online.

Shank 3 days ago 0 replies      
If you haven't already seen IndieHackers, it's worth taking a look -- lots of stories about side projects and their associated incomes: https://www.indiehackers.com/businesses
csallen 3 days ago 1 reply      
https://IndieHackers.com is a side project of mine that recently hit $1k/mo. I launched it here on HN a couple months ago (https://news.ycombinator.com/item?id=12269425).

It's pretty meta to be posting this here, because Indie Hackers is basically a huge collection of interviews with developers who are making money from their apps and side projects. I only include interviews with people who are willing to share revenue numbers, employee count, etc. There's also a forum/comments section where you can ask your own questions to the interviewees if you find my questions lacking :)

qwertyuiop924 3 days ago 4 replies      
You guys are making cash off your side projects? Jeez. I usually just release them for free. I should get in on this.

...Assuming that I ever finish a side project.

...And that I ever come up with a side project somebody would pay for.

Neither is very likely.

erikrothoff 3 days ago 3 replies      
I made http://feeder.co, a Chrome extension to simulate Firefox's RSS live bookmarks back in 2010. Now it has 500,000 active installs on Chrome and our cloud hosted service is netting around 1500 USD each month after costs (1700 subscriptions).

Me and my twin brother have had it as a passive income thingie for years. After a failed attempt at selling it (SaaS metrics are NOT easy) we met a guy who saw some potential and we're finalizing paperwork with our lawyer to create a Swedish limited company right now with him as co-founder. We will try to take the plunge and get it running as a full time company within a couple of years!

Achieving a lifestyle passive income project is surprisingly hard...

eLobato 3 days ago 1 reply      
I no longer make that kind of money through any side project but I did during ~ a year of college. It was one of the worst projects (coding wise) I made, and I made it all through ads.

It was just an Android soundboard app for a very popular TV show in Spain. You could tap a button and it'd play some funny sentence from a character from this show. Long press, you could share that sound.

Revenue model: a little ad bar on the bottom of the screen.

It grew from 60$/month to > 1000$ in around 6 months, only through word of mouth. That lasted another 6 months or so until the show became less trendy.

Probably not very sustainable as I was piggybacking on the popularity of the show, but it taught me that making money was 100% not about writing 'the bestest codes'.

caser 3 days ago 4 replies      
I started Hacker Paradise as a side project in 2014, and now we're a full-time team of 3.

We organize trips around the world for developers, designers, and entrepreneurs who want to work remotely while traveling. People pay us to organize housing, accommodations, and community events wherever we go (past speakers have been CIO of Estonia in Tallin, Matz in Tokyo, etc.).

Happy; to answer questions about running more of an ops business that still is related to tech.

mutatio 3 days ago 2 replies      
Created http://encycolorpedia.com a few years ago, kind of neglected it until recently (it's looking very dated), a version implemented in Rust is 90% complete - cheaper to run (more beer money, thanks Rust team!) & more features than the node.js implementation it will hopefully replace in the coming weeks.
ekwogefee 3 days ago 3 replies      
Feem (http://www.feem.io) is making over $1K/month online; and I'm from Cameroon, Africa.

Feem is a great cross-platform way to share files within your LAN.

rsoto 3 days ago 2 replies      
Here in Mexico, you get an XML for your invoices, which you must keep in order to be tax deductable. However, it gets messy very quickly, as it must have your Tax ID, it has to exist in the tax office's database and then you must keep it for 5 year. It is a chore.

I run http://www.boxfactura.com, an email service for your digital invoices. It has been quite a journey because everyone I speak to has some kind of trouble with their invoices, but they don't know there's a product for that, so first you have to market the idea of it, and then the product.

suhastech 3 days ago 1 reply      
I started basically when I stumbled upon a problem myself. https://thehorcrux.com/why-i-built-horcrux-app/TL;DR: Google disabled my account. So, built an email backup app to not get into this situation again.

I started building the app 4 years ago. I put it on Hacker News and it blew up a tiny bit. That was enough to keep it going until now.

There is still a lot of work I can put into it marketing or coding wise. So far, it's been going well ($800ish). I recently rolled out a UI/UX improvement.

Its 4 year anniversary is in 2 days. :)

Schweigi 3 days ago 0 replies      
https://www.ganttplanner.com is one of my side projects. It turns your Google Calendar into a gantt chart. The project is making a bit more than 1k/month and is currently on auto pilot.

I created this project for learning purposes and because it was a lot of fun. I open sourced the actual gantt component: https://www.angular-gantt.com

kyloren 3 days ago 1 reply      
I saw the previous post as well. I know how it feels having a good idea is not easy. Even people say talk to people and find pain points in their work is easier said than done.

I guess it's partly because we are used to these pain points for a long period of time we don't feel it as a pain point anymore or even though we have a good idea it's not easy to build it as we need lot of capital to do so.

Also even if we have a good idea monetizing is a whole new ball game altogether. Like the chrome extension I'm hacking together on weekends which allows people to search for restaurants around them. I have no idea how I can monetize it and just build it for the challenge of making it.

I think one option is to keep on making cool things. Do something challenging and keep pushing out new things whenever you can. And finally one will stick. I don't think it's easy but if one keep persistent in shipping new things definitely one will become a success.

Like in a similar post I have made like this in the past I remember one commenting, we as HN users believe that everything that we make should be like Airbnb or Uber due to the illusion of success in many startups. But that is not the case and it all comes down to being persistent and enjoying the journey along the way.

RyanOD 3 days ago 0 replies      
Years ago, I created an affiliate site advertising the Snuggie. A couple months after I created the site, the Snuggie craze took off and I was making several hundreds of dollars per day. Then, consumers realized how absurd this fad was and the money dried up nearly as quickly.

Loads of fun while it lasted! Gave me a nice income bump for 3 holiday seasons.

thearn4 3 days ago 1 reply      
Not a "side project" in the usual sense, but I teach as an adjunct professor (mathematics) every so often, and at a rate of about $1000 - 1200 per credit hour (depending on the institution) I can make a little under a grand a month after taxes. Teaching can be fun for many people, and I think it keeps me grounded in the fundamentals, where my day job is entirely application oriented.

The trick is that after a few times around, the courses require a bit less preparation.

Adjuncting is an absolute nightmare if you are trying to do it as a full-time job. But as a side thing for beer money when there is a staffing need? It's pretty light on stress. Since I am not gunning for tenure track (or even a full time position), there are little to no stakes involved.

Weirdly, I think the folks in my position (teaching as an adjunct as a side gig) along with the tenured full-professors on the opposite end of the academic spectrum are actually very similar in that regard.

swiftisthebest 3 days ago 1 reply      
Digital magazine company. I have thousands of subscribers that pay me $2 / month. I pay royalties to content providers. I work about 10 hours a month on the project.
wturner 2 days ago 0 replies      
I just wanted to say that I really like these kinds of posts an enjoy seeing people ask them every few weeks. Its exciting to read business ideas that people like myself can pull from. Curious if anyone would be interested in doing video cast where some of these respondents are interviewed for ten to 15 minutes about their business. I know sites like Mixergy exists but I think something more raw and down to earth would be cool. :)

edited for clarity

vsax 11 hours ago 0 replies      
I created MEAN studio, www.meanstudio.com, where I charge $25 per hour to create highly functional prototypes in couple of weeks. I use existing code from other projects so my coding velocity is fast and never charge the clients more time than I spent on it. Clients see the quality and speed and just spread the word. I am making $1500 per month in the 3rd month of it running.
nycdotnet 3 days ago 2 replies      
I made two TypeScript videos for Pluralsight ("ES6 with TypeScript" and "Practical TypeScript Migration"). I put them together in the evenings and weekends using the knowledge I got at my day job and from working on TypeScript open source projects like grunt-ts (and a lot of research).

It was a lot of work, but it's a great passive income now that they're done, and I'm quite proud of how they turned out. The Pluralsight authors are a great professional network to be plugged-in with, and being an author is a pretty unique differentiator on your resume.

I'm going to put together a third course soon.

They're always looking for new authors. https://www.pluralsight.com/teach

throwaway17265 12 hours ago 0 replies      
Over 3-4 years I seem to average around 800 per month, but the last 2 months have been over 1k, and around 1-2 times per year this happens (in the meantime, it's very low).

It is software, 3-4 small utilities of high quality in the niche platform it is. A launcher, a screenshot tool and such items.

maxsavin 3 days ago 3 replies      
I created Meteor Toys, available at http://meteor.toys

It's been very good to me, but also trending down as people seem to be diversifying from Meteor. Certainly not what I expected when I got into it.

The story for it is a simple one: I solved some of the annoyances during development for myself with by making a devtool, and then open sourced it.

The reaction was very positive and encouraging. Between the opportunity to make more tools, and the downside of having to maintain them, I decided to create paid tier for the tools.

NateG 3 days ago 1 reply      
I created an online game called Pit of War (http://www.pitofwar.com). It's a strategy/management game that puts you in charge of a stable of gladiators. You train your gladiators, outfit them in armour and weapons and give them a set of strategies to use during the fights against other players. Strategies start off simple and grow in detail and complexity as gladiators gain levels, skills and better equipment.
_asciiker_ 3 days ago 1 reply      
I've launched Sentopia (https://www.sentopia.net) as a side project and it is still easily making over 1K with just 2 medium sized clients but it is not passive income, requires some maintenance & customer support but still very much worth it.

This year we're launching new features and a simple API: (https://sentopia.net/apidoc/)

equalarrow 3 days ago 0 replies      
Indie Hackers (http://indiehackers.com) also has some great projects earning over $1k/mo on it. It's been on the front page of HN multiple times.
khuknows 3 days ago 1 reply      
I run https://uimovement.com/ and it makes just over $1,000 a month from sponsorships and ads most months.

The majority of that is from sponsorships for the weekly newsletter, which has almost 13,000 subscribers now. Currently doing cust dev and what not to see if there are income opportunities that don't involve ads.

sunnynagra 3 days ago 1 reply      
I tried releasing an iOS sticker pack app that had an actual use case (allowing you to markup and annotate iMessage conversations). I was hoping would give some passive income. Had a good first day and then dropped off a cliff.

Link: https://appsto.re/us/zMHnfb.i?app=messages

zachlatta 1 day ago 1 reply      
Without sharing too much info, I'm making ~$1.2k/monthly right now off of a Bitcoin arbitrage bot I made.

I'd share more, but the arbitrage only exists because of a market inefficiency and I'm sure that if anyone here started competing with me, the market would become too efficient to easily profit :-).

marmot777 3 days ago 1 reply      
What do side projects that make income tend to have in common? When I hear about people's side projects or read them here, I'm not certain what the lessons are. I personally do side projects just for fun but heck if interest/passion could somehow be directed toward money making side projects that were good for the world then i'd direct my energy toward those. Possibly. It's a good thought exercise everyone should at least consider, can a hobby be monetized without fucking up the reason you loved it in the first place? Can it be done in a way that makes it less like your day job, so to speak?
docsapp_io 3 days ago 1 reply      
I built my side project "Documentation Hub for Developers" DocsApp.io (https://www.docsapp.io/). I spent 1 year+ to build it. Current revenue around $800 per month. Now I still spending night time and weekends to enhance it. HTTPS for custom domain powered by LetsEncrypt is on roadmap.

The project started because there is always need for documentation for software projects (in my career), and a lot companies are not used to have one. At the same time, I want to learn Scala so I pick up Play! framework to play and build real world app.

Happy to answer any questions!

kilroy123 1 day ago 1 reply      
You never said net or profit. My side project is now making over $1,000 in revenue. Soon it will actually be profitable.

It's an apparel company for women who like to: hunt, fish, and be outdoors.

VERY random for a vegetarian software develop, from Portland.


streptomycin 3 days ago 3 replies      
https://basketball-gm.com/ is a basketball management sim video game (sorta like football manager), and it makes more than that from ads.
soheil 3 days ago 0 replies      
Radio show archive website, it's been running for about 10 years now.
ArturT 3 days ago 0 replies      
I created pro version of my ruby gem for test suite parallelisation https://knapsackpro.com I released it last year but started validating it by charging users since July this year. $1K/month is my goal by the end of this year, so far I'm halfway there.
jhylau 3 days ago 0 replies      
I made https://www.switchup.org - all the revenue is from advertising. I spend around 10 hours a week on it and have another full-time job/startup. The website is run by two freelancers and a full-time hire.
double_h 3 days ago 1 reply      
My app makes roughly around $1K/month. A simple utility to backup(free) and restore(paid, in-app purchase) mobile phone contacts. Check it out: http://c2x.eastros.com/
williamle8300 3 days ago 1 reply      
I started a (strictly e-book) publishing company. We publish public domain titles on Amazon, and Apple's iBookstore. GooglePlay has gone by the wayside just like all of their "cool projects."

We don't just copy-pasta public domain titles. We actually go through it, and create a really nice table of contents, include flourishing images to chapter headings, link any footnotes, and re-typeset so there's pleasant vertical rhythm to the paragraphs. We really pride ourselves on creating a great user experience rivaling titles from major book publishing companies that have delved into the foray of e-book publishing. CSS for e-books is a repeat of browser compatibility problems reminiscent of the 90s unfortunately.

Our average price is usually $0.99. Our genre is theology, so we publish books from Augustine, Thomas Aquinas, and John Calvin to name a few.

We make over $1K/month, but sales are on a downward trend. The hype of e-readers has faded in the past 2 years. It's not that e-reading isn't cool. It totally is. Just like the mp3 player was a great successor to the Walkman. The problem is that there isn't One Great Device for e-reading (like the iPod was).

A review of e-reading devices:

iPad: No person with eyeballs can read on an LCD screen for more than 2hrs, but I can read a physical paper book as long as I want. Dead-on-arrival in my opinion. Sales from this market never overtook sales from the Kindle store for my company.

Kindle: Better than the iPad. That's not saying all that much because they're only better because they use e-ink. That's it. Navigating and whatnot is still really janky. The worst thing about the Kindle is that all text is justified. There aren't any settings to change it to left alignment. It's nuts. You have to see a screenshot of some text to see how absurd this design decision is.

Kobo: These guys make the best e-readers. They are e-ink like Kindle, but they have this revolutionary technology called "left alignment of text" instead of justified-only text on the Kindle. You don't have the sophisticated backend infrastructure like Apple/Amazon for synchronizing your books/bookmarks/highlights/blabla. But it's not that important really. Just sideload your e-books, and dupe your e-book library on your computer. That's an end-to-end backup plan. You may not have heard about Kobo because they don't have the marketing budget like their competitors.

My company is called Fig, because I started the company on Fig St in Escondido, CA while I was in seminary. Here's some of our titles on Amazon: https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dd...

Footnote: I probably went too far with this off-handed hardware review, but I'm drinking wine and felt loquacious.

googlereject 3 days ago 1 reply      
I make well over $10,000 / month operating several mobile games.
johndandison 3 days ago 1 reply      
http://getlivead.com and http://chattorney.com. They're different front ends to the same backend. Makes everything from aubscriptions. Not enough to live on as primary income but not shabby either. It has been a long four year road, with a couple of pivots and rewrites, 3 years of attorney's fees for patents but hugely personally rewarding and self-sufficient now.
DaveChild 2 days ago 0 replies      
I made https://readability-score.com/ - a site for measuring the readability of text. It's been a bit of an accidental success, but it's proving to be a great project.
plantain 3 days ago 0 replies      
I run https://skysight.io/ , which does weather forecasting for aviation.
tchadwick 2 days ago 0 replies      
My side project is http://codeposters.io. Revenue is hit or miss. I'll occasionally get big bumps in traffic. Conversion rate sits at almost exactly 1%.
soheil 3 days ago 0 replies      
iPhone apps combined revenue ~$1k/mo, most popular unlocks a Mac using iPhone bluetooth mac address when it's in range.
pcunite 3 days ago 0 replies      
I have a website that largely runs itself right now. C++ based desktop products for the Windows environment.


jusob 3 days ago 0 replies      
Browshot (https://browshot.com/), a screenshot service.
icehac 3 days ago 1 reply      
High frequency trading algorithms.
soufron 3 days ago 1 reply      
I created a political news aggregator in France, with a nice community...
jcslzr 2 days ago 0 replies      
Website to learn to type faster: http://learn-2-type.com (I am getting close to $1K/month, just $998 usd more to go....)
imaginenore 3 days ago 5 replies      
I have a project making $200/month, 100% passively (I just renew the domain every couple of years). But I think it would be so dumb to just tell what it is here. Why would you invite more competition to your niche?
Ask HN: What are the most well-made iOS apps?
18 points by whitepoplar  1 day ago   14 comments top 13
simon_acca 16 hours ago 0 replies      
I use Pythonista[0] frequently for iOs automation/thinkering/prototyping and it is definitely my favourite iOs app, great value for the money spent.

Ole Moritz, the developer is very attentive to detail, dedicated with frequent releases and creative in that the app provides very useful and easy modules to interact with iOs native functionalities.

I also found the community[1] to be lively.

Check out the docs[3], specifically the "Pythonista Modules" section if you want to get an idea of what the app is capable of.

P.s. Also check out his other app, Editorial[2] if you need a plaintext editor on steroids!

0: https://itunes.apple.com/us/app/pythonista-3/id1085978097?mt...1: https://forum.omz-software.com/2: https://itunes.apple.com/us/app/editorial/id673907758?mt=83: http://omz-software.com/pythonista/docs/

JimmyAustin 1 day ago 0 replies      
I'm not sure if it is in your region, but Transit [0] recently blew me away. A ton of attention to detail and work put in, check out the blog post they had on HN recently about their autogeneration algorithms [1].

[0] https://transitapp.com/[1] https://medium.com/transit-app/how-we-built-the-worlds-prett...

felipemesquita 1 day ago 0 replies      
Every app by the Omni Group is incredibly well made and even more incredibly maintained. They really have it together when it comes to implementing new iOS features. Also they have, by far, the most impressive watchOS app I've ever used in it's balance of the system's limitations and the app's complexity (OmniFocus). https://www.omnigroup.com
rashkov 1 day ago 1 reply      
I was just thinking today about how well Pocket is made. I've used it for years and it hasn't really ever disappointed me. It is stable, easy to use, has a ton of power user features tucked away, and it's offline sync abilities work impressively well. It's an app that has improved my life, or at least my commute.
ddp 10 hours ago 0 replies      
I use an iPad just for running Animoog: https://www.moogmusic.com/products/apps/animoog-0

If you're at all interested in music synthesis this app cannot be beat. It's a lot of fun. I think it's an extremely well-designed app because it really takes advantage of the iPad's multi-touch screen for its virtual keyboard.

justanton 20 hours ago 0 replies      
Day One: one of the best UI for me

And, surprisingly, Google Photos

benguild 13 hours ago 0 replies      
decasteve 12 hours ago 0 replies      
Transmit, Coda, and Prompt by Panic, Inc. https://panic.com
FullMtlAlcoholc 1 day ago 0 replies      
I find Pacemaker to be one of the most well designed apps I've ever had the pleasure of experiencing. 10 years ago, a DJ setup like this would've cost thousands of dollars. For just a few bucks, I can get an app that feels almost as natural. The design is beautiful as well.


zachlatta 14 hours ago 0 replies      
Surprised it hasn't been mentioned yet: https://workflow.is/
calbear81 1 day ago 0 replies      
I would check out the Houzz app. The design is clean and simple but the reviews are the best I have ever seen for an app at this scale, especially the ratio of 5 star reviews on the app which suggests to me that they have designed something that works really well for their target audience both aesthetically and functionally.
rwd 19 hours ago 0 replies      
Liking these guys right now: Drafts, Narwhal, Headspace, Sit, btcReport, Gyroscope, Patterns, Calculator+. Gboard and Slash are nice keyboards to try out.
ajharrison 22 hours ago 0 replies      
Ask HN: Why is content creation in the browser such a pain in 2016?
9 points by rngesus1  17 hours ago   4 comments top 3
rayalez 4 hours ago 0 replies      
Check out gitbooks.io for writing.

Slides.com + Screencastify allow me to create presentstions and youtube videos.

Draw.io is absolutely awesome for diagrams.

Image and video editing don't have great solutions as far as I know.

VertexRed 7 hours ago 0 replies      
What kind of content creation are you talking about?

If you just mean making pages online then things are probably easier now thanks to Bootstrap and all the useful jQuery plugins.

fagnerbrack 17 hours ago 1 reply      
<div contenteditable></div>
Ask HN: What do you eat/drink during the workday?
19 points by kzisme  1 day ago   27 comments top 17
eiriklv 1 day ago 1 reply      
Nothing, as I fast during the workday usually (either 18/6 or 20/4). I drink lots of water though. Eat the equivalent of 2 dinners in the late evening (70-80energy% of fat is the target). It's pretty liberating not to think about food the entire workday. The only awkwardness is the social part - so I sometimes eat lunch just to join in if I'm working with a team, or for other social reasons.

Edit:Another benefit is that you don't get the after lunch crash.

endswapper 1 day ago 1 reply      
In order of volume and priority...Coffee, leafy greens(in all forms, especially cabbage - all types, kale, napa, green, etc.) and protein in all forms, diversity is important, animal and vegetable sources.

I mix in other fruits and vegetables for flavoring and variety. Also, I eliminated salt and that relieved my stress in a significant, noticeable way.

I start my day at 4am, if I eat heavier, carb-based items, I notice a crash somewhere around 3 or 4 pm and the last few hours of my day are a struggle. If I stick to what I listed above, I power through the afternoon and feel more balanced when I end my day.

throw7 1 day ago 0 replies      
The main things I stock are fruits (apples/bananas/oranges/pears/etc.), nuts, various crisp/flatbreads (wasa), hard candies, various teas/coffee, and a big water filled nalgene bottle. I keep a rotation of yogurt/greek/cottagecheese in the frig and then some type of lunch.

lunch varies a lot and it's whatever... sandwich, leftovers, soup. Main thing is I cut out the processed pre-prepared foods, but I do go out to eat maybe once or twice a week. I enjoy a burger and beer if I want to.

basseq 1 day ago 0 replies      
Breakfast is typically a granola bar (I like the old-school crunchy Nature's Valley ones) and a cup of coffee. 30% of the time the coffee will be a latte from Starbucks or the local coffee shop.

Mid-morning I'll probably have another cup of coffee, and will start trying to remember to drink water. I have a big plastic cup on my desk.

Lunch totally depends. I try to bring lunch. Often that's a sandwich or wrap (with fruit and yogurt)--it so happens that's what I have today. Sometimes it's leftovers. Otherwise I'll grab something nearby. We often have food trucks in front of the building, or I'll get a sandwich from the cafteria in the building (OK) or one of the couple nearby places (Peruvian chicken: heavy).

Mid-afternoon, I'll drink water, tea, or--if I'm having a bad day--coke. If I'm hungry, I keep a pile of Clif Bars in my desk drawer.

I'm usually out by 6:30, so will go home and make dinner.

zhte415 13 hours ago 0 replies      
Breakfast: Winter is coming so some oat porridge is nice - porridge takes only the amount of time to boil some water then pour water over the oats for 2-3 minutes, super convenient and super light yet filling. Add milk, condiments, etc.

Lunch: Most often something from a restaurant in the park I'm based in. If time is no issue 1-2 hours shared with a former colleague to catch-up, thoroughly nice and heartwarming; if only 30-60 minutes, the same food and source but take-out and eaten at desk. As I'm in northern China this is predominantly rice or wheat-noodle based. I tend to go for soupy noodles. If traveling and find a place with good bread I pounce on it, but there aren't where I'm usually based.

Afternoon: Some fruit: whatever's looking good and in-season in the local shop in the park or from visiting trucks.

Dinner: Depends on time. Like to do a good cook on the weekend and use some of that for convenience; a lot of comfort food especially bean-inspired,. Just variety from taste to ingredients: mix in a lot of stuff which isn't in a common (northern) Chinese diet (beans, nuts, cheese). If time is easy I'll buy a fish and/or some seafood and steam, stew or fry.

Drink: Water. Have always disliked coffee and never much into tea of any kind. Gin+tonic is good at any time and any place though leads to reduced capacity after consumption.

eswat 1 day ago 0 replies      
Breakfast - I skip breakfast so usually just tea or coffee if Im at a cafe

Lunch - Bowl of mashed sweet potatoes, avocado, apple, chicken or beef and all of it mixed with coconut oil, cinnamon and garlic. Takes less than 5 minutes to prep, most time spent after is just waiting to steam the potatoes and cooking the protein source. Can be made ahead of time and put in containers (I usually work from home so I make this during the day as a break). Not exactly a light meal but can be really filling.

Throughout the Day - Water most of the time, usually cut out caffeine past noon unless Im at a coffee meeting.

theGREENsuit 1 day ago 0 replies      
Breakfast: salt-free cottage cheese with granola, fruit and kefir all nicely mixed together.

Mid-morning: fruit

Lunch: Left overs from last night's dinner, or sandwich. I try to avoid lunches that are carb heavy or a on the greasy side. Today is salmon and beets with a bit of rice.

Mid-afternoon: fruit, nuts or a treat like cookies

Drinks: Just water

_virtu 1 day ago 1 reply      
I stopped drinking coffee because I was ruining my sleep schedule and appetite.


- Loose leaf teas

 - Early morning something with caffeine (yerba mate, green, black) - Afternoons (herbal teas, no caffeine)
- Kombucha

 - Morning or afternoon
- Water all day

 - Buy a waterbottle and leave it at work, whenever you get up, fill it up.

- Soylent

 - Morning or around 3-4 to keep the caloric intake up. It doesn't feel heavy one bit.
- Mixed nuts/trailmix

 - Great mixed with some goldfish :D

bbcbasic 1 day ago 0 replies      
Way too much coffee and cereal bars. Plus a normal lunch e.g. meat and veg.

For your needs the closest thing I found is a food delivery service for frozen home made meals. Some are.Veg only, but very tasty and filling.

cableshaft 1 day ago 1 reply      
I usually skip breakfast, have a coffee or energy drink in the morning, go out somewhere for lunch, go out about 75% of the time for dinner (cook the rest, trying to bump that up a bit), and maybe eat a couple squares of dark chocolate or cheese sticks at home as a snack or instead of a full dinner.

It's rare that I eat snacks while I'm at work.

Meals usually consist of some combination of the following: meat, cheese, salad, veggies. I avoid fruit, grains, and sugar.

CssPaulrowlyk 1 day ago 0 replies      
Breakfast - Scrambled eggsElevenses - Croissant and coffeeLunch - Local Burger or PizzaMid-afternoon - sandwichDinner - yogurt with banana
source99 22 hours ago 0 replies      
Coffee around 8am. Not much else till I get hungry around 1:30. Then a zero carb meal. Usually some mix of avocados, cheese, meat, sardines.

Then a dinner consisting of meat and vegetable.

justanton 1 day ago 0 replies      
Breakfast: 2 eggs, bacon, avocado. A bit of dark chocolate with a cup of tea

Lunch: salmon in theriyaki sauce with lots lots of salad.

Diner: usually leftovers from salad and toast with some cottage cheese on top.

Drinks: water or mint tea

That's pretty much how my typical day (but not every day) looks like.

randelramirez 1 day ago 0 replies      
I eat salad most of the time(vegetables)...rest of the time, I grab some food from the nearest fast food. + Water/Orange Juice.
miguelrochefort 1 day ago 0 replies      
I only drink water.

I only eat one meal a day, at 7PM.

I'm looking forward to exclusively eat beef for a whole month.

Mz 1 day ago 0 replies      
I blog about what I eat and why:


cm2012 1 day ago 0 replies      
Many many Coke Zeroes.
Ask HN: Learning to code, without a computer?
202 points by givinguflac  4 days ago   183 comments top 90
informatimago 4 days ago 12 replies      
Learning to code without a computer is what we all did, 40 years ago!

He may write programs on paper, and send them to you to type them in, compile them, and print out a listing with the errors. You then send back the listing, and he will correct his program and repeat.

He'll become a great programmer, since he will have to be extra careful to avoid losing one week on some typo.

Now, it's been a few years since gcc has been able to produce a real listing of the compiled source. You would have to write some script to combine the error output with the source file to produce a classic listing. Similarly for other common modern programming language implementations.

On the other hand, without direct access to a computer, he would not attempt to write any interactive or GUI application, only batch programs, unless the interaction is performed only by an external tester for him.

Another idea: some progress has been made on optical character recognition, so if he can write well enough, it may be possible that you may be able to scan his written programs, and convert them to source file easily, without having to transcribe them. So the process could be smooth enough.

If writing ustensils include typewriter, then even better for the OCR!

llamaz 4 days ago 4 replies      
I'd recommend he read the "structure and interpretation of computer programs". It's written for audience who would, at the time, have found programming novel, but would be at home with math. Hence it's written in a language that allows you to expand out the program by pencil and paper, much the same way you would simplify an equation, to see if it works.

Also the following books, which I've copied and pasted from somewhere, to learn theory:

Mano, M.Digital Design, 3rd ed.Prentice Hall, 2002

Mano, M and Kime, CLogic and Computer Design Fundamentals, 2nd edPrentice Hall, 2001

Gajski, DPrinciples of Digital DesignPrentice Hall, 1997

Tanenbaum, AStructured Computer Organization, 5th edPrentice Hall, 2006

Patt, Y and Patel, SIntroduction to Computing Systems: From Bits and Gates to C and Beyond, 2nd ed.McGraw Hill, 2004

Null, L and Lobur, JThe Essentials of Computer Organization and Architecture, 2nd edJones and Bartlett Publishers, 2006

mbertschler 4 days ago 4 replies      
What is the most capable programmable device, that would not be considered a computer by the rules? How about a graphical calculator like a TI-83?

While I was stuck in school and did not have access to a computer, I wanted to challenge myself during classes. The most interesting distraction by far was to play around with the programming functions of my TI-82 calculator that was required for math classes. Even with almost no idea about programming I could soon do interesting things with it, because it is programmed using a version of BASIC. In the end I even created a clone of snake. It worked, but moving one block ahead would take 2 seconds.

hn_felon 4 days ago 1 reply      
I did 6 years in Texas, but I was already a developer before I went in. That said, I had some books sent to me to try to keep my mind fresh. I also helped someone else who was released a few years after me get going and now they're a junior dev.

Emphasize learning that will serve freelancing, since someone with a criminal record will run into issues with traditional employment. (I've been out since 2009 and done very well) Ruby, PHP, Javascript are some of the best bets.

I'd recommend O'Reilly's Head First books. Even if they're a few years old, really doesn't matter, given the situation. I think Sandi Metz's Practical Objected Oriented Design in Ruby is great - she does an awesome job of explaining OO principles even if you don't end up writing Ruby. The Manga Guide to Databases is another good read that explains concepts well.

I'd also consider a book that shows a quick way to build web apps, like Agile Development in Rails or maybe a book on ColdFusion. Without the ability to write and run code, it can help plant seeds for those "aha!" moments for understanding the code -> web request lifecycle without getting bogged down in ceremony.

In Texas, the books had to come from a bona fide bookseller, so don't go to B&N and try to mail the books yourself.

Stratoscope 4 days ago 0 replies      
I want to echo the suggestion that several others have made, to start with a good book on just about any programming language that has a lot of sample programs in it, and learn to read that code and execute it with pencil and paper.

This will be much more productive than trying to learn to write code from scratch while also learning a language and learning how to execute the code with pencil and paper.

I would start by going through the exercise yourself: pick out a book and use one of the first sample programs, and set up a "debugger" on a pad of paper.

I used to do this kind of debugging myself: when I first learned BASIC back around 1969, I spent some time in my grandmother's basement with two pads of paper, one with my code and one for the debugger. The debugger pad had columns across the top:

 Line number One variable Another variable Another one
Then I would step through my code, adding a row on the debugger for each line I executed, with the current line number in the first column and each new variable value in the other columns.

After going through this exercise with one program, send your friend the "debugger" pad along with the book, so he has a place to start with this idea. He can then go through the same example and follow along with your debugging steps.

That way he has a solid place to start when exploring the other sample programs in the book.

Please feel free to email me if you'd like to kick this idea around - address is in my profile. And I strongly suspect that everyone else in this thread would be happy to extend you the same offer.

I also heartily endorse the suggestion to read Charles Petzold's _Code_. It's a wonderful book!

mannykannot 4 days ago 2 replies      
Bell Lab's cardboard computer ( https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_... ) came to mind, but you are probably right that studying algorithms (and at least something about hardware) is probably the best starting point. As it is some time since I was in school, I am not sure what counts as a good introductory text these days.

This does not give any experience in debugging, which is not taught in books, AFAIK. I am not sure what to do about that...

SiVal 4 days ago 1 reply      
I had to learn to program with pencil and paper, but I had occasional access to a computer, so I have to ask for more info. How long until your friend gets out? Will he have zero access to a computer while inside? Will he have someone on the outside who can take handwritten code, enter it, run it, and send back the results? If so, what will the turnaround time be? What does he want to do when he gets out?

-- If he'll be in for a year or two with essentially zero access (no computer inside, no computer buddy outside), he should learn something related to programming (math, web design with CSS, etc.), basically re-ordering a typical multi-year learning sequence to put the coding later

-- If he'll be in for ten or more years, he should learn something else. His learning will be so slow and the field changes so quickly that he might learn a few timeless fundamentals, but that's all. He could accomplish much more in some other challenging field that didn't require tools he wouldn't have (ex: math, physics, accounting, ...)

-- If he'll be in for less than five years with access to a computer (via friend outside, for example) every couple of weeks, it could work. It would be like my situation when I was a kid and kids didn't have computers (but I was able to sneak some access). I would do it differently now from what I did then. I would read programming books and get my hands on lots of small example programs. You read the lesson, do the exercise on paper, run it on paper, and only when you are SURE it works (or you're SURE you don't know how to make it work), you read the "answer" (code written by a pro) and study it. Use worked examples as feedback when you can't get it from an actual computer. As you do this, write simple things and send them to the partner on the outside as you continue to work examples on the inside. The turnaround time won't delay you as much if you have other things to do while you wait.

Now, take his real situation, consider the above scenarios, and craft one that will work for him.

ajamesm 4 days ago 1 reply      
Sounds like a great opportunity to learn set theory, abstract algebra, number theory, linear algebra. You could get a working comprehension of cryptography or computer graphics. You could get a handle on category theory.

Those are topics that one could make progress on with only a pencil, paper, and the occasional phone call to a mentor.

I cannot imagine submitting punch cards and reading JavaScript stack traces by mail.

downandout 4 days ago 0 replies      
A word of caution: "Learning to code" is a pretty broad subject. You should have him think about what he actually wants to accomplish with code when he gets out and have him study topics related to that. He can pickup ancillary things when he gets out; for now he likely wants to be working on something that will help him hit the ground running. If he wants to develop web pages, you should send him some books on JavaScript. If he wants to create mobile apps, there are specific books on this subject for iOS and Android. Most programming languages share concepts like OOP etc anyway, so by learning one he is laying the groundwork to much more easily pickup others.

Also, you should give him realistic expectations. Learning to code isn't the panacea that many think it is. There are many broke but talented programmers out there, and most don't have the extra baggage associated with a felony conviction. If he doesn't truly have a passion to create software, and is just looking for a way to make money, there are more efficient things he can learn about - like the psychology behind viral marketing (The Tipping Point by Malcom Gladwell and Purple Cow by Seth Godin might be good for example). I know someone that couldn't write a line of code to save his life, but makes 6 figures per month creating Facebook pages around ridiculous topics and using them to drive traffic to affiliate offers and his own Adsense pages. Your friend can always hire coders when needed if creating software isn't what he actually wants to do.

groundCode 4 days ago 3 replies      
I came across CS unplugged a while ago. Looks like it might be useful http://csunplugged.org/
exDM69 4 days ago 1 reply      
I have no idea about prison security and how things work, but are there programmable gadgets that are allowed inside? Ie. something that is really a computer inside but doesn't qualify as a proper computer when it comes to the rules. Some pocket tetris or similar game that could be hacked to run some kind of programming environment? Some old computing gadget that runs a basic interpreter? Edit: TI calculator mentioned by someone is an excellent idea if it passes the rules.

Apart from that... reading books and solving programming puzzles might be a good way. Something that has a feedback loop, which you won't have in the normal way without a computer at hand.

I must take my hat off for this kind of determination! I hope it provides your friend with a way out and they have a better life ahead of them.

jeffmould 4 days ago 1 reply      
Depends on where he is incarcerated there may be options available and if not he should find ways to bring them to the prison.

1) Edovo is a tablet learning solution that is in many jails (https://edovo.com/)

2) Another group The Last Mile, while they got their start in San Quentin, is working to bring their program/model to more prisons. https://thelastmile.org/

Regardless, I would encourage reaching out to either program to explore their options further. The people behind each are incredibly helpful and may be able to assist you with additional details.

VertexRed 4 days ago 2 replies      
I don't understand why they don't give inmates access to a computer for a few hours per day.

When they're out the hard working ones will have programming skills which will help with the job hunt.

S4M 4 days ago 0 replies      
If your friend plays chess - or any 1 vs 1 board game - he can implement a chess program and execute the algorithm by hand to see how his program performs. I haven't done that myself, I am sure it's tedious, but at least he will be able to see his algorithm running.
jrochkind1 4 days ago 0 replies      
I loved The Little Lisper/Little Schemer. The edition I used, at least, would work well to teach certain kinds of programmatic/computational thinking without a computer.

But I feel like I saw an actual curriculum without a computer recently, but now I can't remember what it was, curious to see if it shows up in this thread. Great idea for the incarcerated! I'm going to see if I can figure out what I'm thinking of.

Ah, I think I was thinking of the CS Unplugged that others have mentioned, sweet!

Thanks for this post, I think I'm going to buy a few copies of Little Schemer and CS Unplugged and ship them directly to a Books to Prisoners program I know that sends books to prisoners in response to topical requests.

techplex 3 days ago 0 replies      
Neil Fraser wrote about getting a letter from a an inmate wanting to learn to program. He sent two books and a problem to solve.

CS Unplugged: Computer Science without a computer and Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers. I've also posed a problem for him to ponder:

"You have five fingers on your hand (usually -- a few people have more, many have fewer). Each finger can be either extended, or curled up. So a fist would be all fingers curled up, a high-five would be all fingers extended, and many other combinations exist (including the obscene middle-finger gesture, and probably a whole lot of gang signs). What is the total number of possible combinations that can be produced using five fingers? Can you do them all? What is the total number of possible combinations that can be produced using ten fingers? Can you figure out a pattern so that you could calculate how many possible combinations there would be if you had 16 fingers?"


toomanybeersies 3 days ago 0 replies      
Professor Tim Bell (University of Canterbury) is real big into this. He made CS Unplugged (http://csunplugged.org/), a program for teaching CS at school without using computers.

It is aimed at school children, but it's a place to start.

arikr 4 days ago 2 replies      
I remember reading an articulation that it is odd that we are taught to program differently to how we are taught to play music.

With music, we are taught to read before we write.

With programming, we start out writing.

This seems like a great chance for your friend to try out the music learning approach. Send them books of excellently written programs, and allow them to read before they write.

[As a side note: What is their goal? To program to become a software engineer? To program to build web applications for fun? To program to learn how to build products to produce a profit for themselves? The goals will inform the process.]

Adam-Kadmon 17 hours ago 0 replies      
Have a look on a similar thread on reddit: https://www.reddit.com/r/learnprogramming/comments/3rmioh/wh...
daver0_0 4 days ago 0 replies      
Maybe the best use of his time would be to develop math skills. Probability, Statistics, Calculus, Logic, perhaps a focus on algorithms (as you suggest) will give a leg up in important areas of computer science and make it much easier to jump in and do meaningful work when your friend gets out. Also all those skills do not require a computer to develop - although they are challenging. I hope there is some sort of support available in his current institution.
samblr 4 days ago 0 replies      
Writing pseudo-code on paper by making use of data-structures would set his aptitude levels. Its like building right muscles and reflexes for a sport. Books like this will help (Cracking coding interview) - https://goo.gl/jSUylb

One of the key things to also understand here is - what is missed out in this type of training. Tools. Tools. Tools.

As developers we have come far away from limited IDEs. We rely on so many tools that knowing-they-exist or sometimes mastering them is difference between good-or-bad devs. I would recommend to read printed material about IDEs, screen shots of tools.

Couple of other things I have found really helpful:* I had underestimated Medium as a platform to rely for tech news till lately. There is so much of latest developer/platform news and articles. Print outs of these definitely help. * Stackshare posts (http://stackshare.io/featured-posts) on what stacks/tools companies use (and how) are eye opening to say the least. Print outs of this.

x0x0 4 days ago 1 reply      
If your friend has free time, he may also enjoy _Code_ by Charles Petzold. It's a layman-oriented explanation of how computers work.

Is he in state or federal prison? Are there no classes available that could give him access to a computer?

robert_tweed 4 days ago 1 reply      
In addition to the CS books already recommended by others, do not underestimate the value of flowcharts.

You can draw a program on paper and follow it with a finger to "run" it. With a bit of practise, it'll be possible to run such mental models without even writing them down. At that point you're thinking like a programmer.

This skill is transferrable to any programming language.

on_and_off 3 days ago 0 replies      
My first programming courses were all done with pen and paper.

Understanding how variables, loops, stacks and so on work was all done by writing the algorithms, and our first contact with a computer was in order to write some assembly code, after something like 2 months.

That's not ideal but you can already learn a lot without actually writing code to a computer.

Having access to a programmable calculator or even better to a smartphone would obviously be better.

Would he be able to get some kind of no-name android portable media player and write code on that ?

A simple google search leads me to QPython, I am sure there are tons of other IDEs running on Android. That might be the best option if he has access to such a device.

tzs 4 days ago 0 replies      
Would he be allowed to have a calculator? If so, then maybe you could get him a programmable calculator. Something like an HP-48gx, perhaps.
vargavince91 4 days ago 0 replies      
Agree with all the CS Basics book (would add the Code: The Hidden Language of Computer Hardware and Software, great book and if he has time, I'd go for it). I'd also consider giving him a couple of books, like: A) Clean Code by Bob Martin, B) Soft Skills by Jon Sonmez. Books that doesn't require a computer, yet teach the reader how a good developer should think while writing code and working in a team. It's also less likely he gets stuck while reading this kind of literature.

Would help if you shared the end goal. Get hired anywhere? Get hired by Top 4 Tech Company or Hot Startup of the Year? Start a business? Don't get bored? How long is he going to be incarcerated?

I would greatly appreciate if you shared your experience.

sAuronas 3 days ago 1 reply      
Be like Malcolm X and read every programming book he can get. Send him PDF copies. I'm self-taught. I obviously had a computer but I spent a ton of time just reading and studying other people's code. There was a time as a kid when I wanted to play the Sax but my mom made me wait a year. I bought a book and learned the fingerings and played by air for a whole year and took first chair the next. If he is really motivated, he can do it. In fact... I'll contribute and send him books as well as advise on how to get there. Send me a message and I'll help you help him.
uola 4 days ago 0 replies      
I would consider if focusing learning CS or fundamentals is the right approach. What is the plan when he gets out? I'm not sure there's a lot of beginner CS or C jobs around without credentials. Is he going to try and go to school afterward and is that actually feasible?

Otherwise I would suggest combining CS with more applied programming with smaller scope (like a web stack), developer methodologies (designing, methodology, testing) or design (interaction, interfaces, experience). Those would be things that he could more easily be practice as he gets out, aren't as focused on credentials and would more likely land him some sort of job.

veddox 4 days ago 3 replies      
Learning programming without a computer is going to be really tough, but if he's dedicated enough, he should be able to make some good progress. (Although he shouldn't expect to be employable as soon as he gets out.)

CS theory probably makes a good starting point, as a lot of it doesn't require actual coding, but still lays a solid foundation for future work. I would recommend SICP (Structure and Interpretation of Computer Programs, by Abelson and Sussman) as a good starting point. It uses Scheme, which isn't exactly a language he's likely to end up working in, but it will teach him a whole lot about thinking like a programmer.

SixSigma 4 days ago 0 replies      
Try Bell Labs Cardiac the cardboard computer


hanakoWasNOCent 3 days ago 0 replies      
He needs to take it in stages, first learn the vocab of whta constitutes whatever the syntax is of his preferred language.

I recommend C++ as it is useful for a LOT of different types of electronics, embedded, pc, servers, you name it.

Also UNIX scripting is very useful.

Then he should write very small programs that he can use to build into little functions for larger ones. Something like adding two numbers at first, really simple, like almost blindingly simple, just to get comfortable with the architecture of the language.

Then write something that is more complex, something like how to make a little calculator that does all sorts of functions.

He'll need at least one reference book (which I heard you said he has, but you didn't specify what type of book, so look into it... it's a bit of a tedious process to get decent textbooks into the squares, but if you buy it new and send it to them FROM THE PUBLISHER, he can get it, you probably know this, but someone else might be reading and they might wanna help someone learn as well, so they need to know)

Additional texts of note:

Data structures

Math books, especially linear algebra

Web Programming

Wireless Communications / Bluetooth

That'll last him at least a couple of years to really master. Beyond that, he needs to get a system of writing so that he's not having to use English constantly, as it will take a ton of time. I've seen people use something akin to semaphore, but it's not _extremely_ important unless he's older, and has used his hands a lot. Cramping sucks, and losing your ability to write is nicht gut.

Alright well, I hope this helps. Best of luck to your friend, and if he mentions a thank you, please tell him he's welcome.

God Bless.

amorphid 4 days ago 0 replies      
Hey! This is a topic I'm interested in, too. If you'd like brainstorming on the idea, drop me a line. My email is in profile.

My first thoughts:

- iterate more quickly by experimenting with non-computer users who aren't in prison, as letters/email to a prisoner will have a slower feedback loop

- learn what people consider to be more fun, and and try to structure lessons within that

- see if there are some existing resources that are close to, but not exactly like, programming without a computer

- set up an open source curriculum on GitHub, so people besides yourself can contribute

sramam 3 days ago 0 replies      
I can't seem to find the reference to it, but there was a link on HN a couple of years ago of a dad who taught kids (9 year olds IIRC) to program a robot by creating a real world obstacle course, giving them a basic set of "commands" that they could put together on post-it notes and a parent or another kid being the "robot" that "ran these instructions".

I have used this to introduce my son to the basics - and call it "post-it" programming. We built a few obstacle courses around the house. The most advanced we got was to "unload the dish washer", that resulted in him "inventing" functions.

It typically works better when some one else "executes" the program, since bugs are easier to surface and debugging is a lot more fun.

That said, my son has since learnt to read and write. There is greater enthusiasm to "type" on a computer than use post-it notes.

Hopefully this can be adapted to your friend's circumstance. Best wishes to him.

usgroup 1 day ago 0 replies      
Instruct him to learn system design and UML.

Maybe work on a conceptual project. E.g build a complete UML solution for a HN clone for example.

That'll take care of the analysis part.

If he's enough time then move into discrete maths and algorithms.

That'll sandwich the actual coding , after which it'll be a short effort once he's got access to a computer

bra-ket 4 days ago 1 reply      
I learned programming without a computer in the 90s with Kernigan & Ritchie "C Programming Language", one of the best coding books ever written:


I'd also learn SICP: https://www.amazon.com/Structure-Interpretation-Computer-Pro...

and algorithms from either CLRS https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press... or Skiena Algorithm Design https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena...

jasim 4 days ago 0 replies      
I think Richard Bird's Thinking Functionally with Haskell will be an excellent book to learn programming without having access to a computer. It'll teach him how to think about programs as a set of simple equations, and also clearly demonstrates that Data Structure + Algorithms = Programs, a notion that easily gets forgotten to great detriment in imperative programming.

It is very much an introductory text to programming, something that can be picked by someone who has an inclination to the craft but with no prior experience. It doesn't even get into Haskell's powerful type system and sticks to primitives and lists. The intention is to teach the building blocks of programming through small, pure functions.

The text is very conversational, chapters are short and sweet, and have a lot of bite-sized exercises along with their answers which will greatly help a self-learner. It will also be easy to evaluate since functional code don't tend to get very verbose.

joatmon-snoo 4 days ago 1 reply      
On a CS-theory level, there's a fair amount of stuff he can learn in terms of just "thinking", but it won't come very close to being able to putz around with code and watch it fail.

Suggestions for absolutely no computers:

* CLRS, the classic. (I just skimmed the intro, though, and if he has no background in uni-level maths, it might be a little tough to digest.)

* (maybe) the Head First series (as someone else suggested). I'm wary of suggesting it not just because I have no experience with the books (I only even mention it because I know they're ubiquitous), but also because bad habits are formed early, and this could do that.

* Patterson and Hennessy - Computer Organization and Design (5d.)

* Sebesta - Concepts of Programming Languages (11d.) (but only after finishing some of CLRS, and even then I don't know how appropriate this is)


What kind of experience did he have with computers before he went in?

Depending, you may be able to make recommendations about stuff relevant to what he's used.


Can you get him something like a TI-84? Because even that will at least allow him to go in and write TI-BASIC.

Jugurtha 4 days ago 0 replies      
Well, we used to do that in college in... 2005, 2006, etc. We had a lab once a week, but we wrote and debugged programs in Pascal, C, x86 ASM, Microchip ASM by hand. We wrote stuff for the Intel 8251, 8253, 8255, 8257, 8259 (to handle interruptions and do serial communication, etc).

We'd go line by line and change the relevant registers, arrays, pointers, counters, etc. Exams consisted of doing that, too. Sometimes you're given a piece of code and asked about the state at a certain break point. Sometimes you're given a succession of register values an asked what the program is doing. A missing semicolon had a direct influence on your grade, not on stdout.

It's not guaranteed that it produces excellent programmers, but one can learn a lot and it was almost a meditation to focus like that and ask yourself "Why isn't it running?". It was cool (at least for me, I disassembled programs as a teenager and I had a computer, but I still think this was useful).

phes 4 days ago 0 replies      
I remember reading this here a while back - wonder what happened:https://neil.fraser.name/news/2015/04/13/

But like others in this post I would recommend CS unplugged.

And depending on how long he is in there for he might want to look at:

How to Design Programs - This is a good book, and although it's in Scheme, it teaches how to create appropriate levels of abstraction, which seems to be something many programmers struggle with.

Concepts, Techniques & Models of Computer Programs - Discusses the different paradigms and how they are inter-related.

Also something a bit more vocational like The Pragmatic Programmer or Clean Code / Clean Coder probably wouldn't hurt either.

If he can read all of those he will be very well prepared to do some actual programming when he gets out.

SICP not a bad shout either, although I've not got past the first chapter.

rshm 4 days ago 0 replies      
I had few months of GWBASIC experience from high school. Relative living in US mailed me Java the complete reference, i think the first editition with peter naughton still as co-editor. It was not a dedicated effort but read the book several times for two years during free hours without computer (could not afford one). Finally after getting used pentium, the transition to real programming was easy and fast. I remember having aha! moment of oop after year and half but by the end of two years i had pretty much mastered the core java.

I was driven by courisity, no pressure of completion and had all the time in the world. The book was thick with complete programs with outputs instead of snippets. Book also had list of all core packages, class and their members. It helped to grasp the core libs before hand.

I would suggest a comphrensive book. I have not checked any Osborne reference series since then, but check if there are similar ones for python.

LouisSayers 3 days ago 0 replies      
You could give him a pack of cards, and a book on data structures and algorithms.

He can learn the algorithms and apply them to the cards in order to check his understanding. He just needs to make sure that he acts like a computer would - only ever comparing two cards at once.

He can simulate this by having all cards placed face down apart from the two that he's currently doing the comparisons with. At the end he can flip all the cards over to make sure he got the intended result.

I'm sure by doing this he could learn all sorts of algorithms this way, and learn to code in the same way.

He may not have a computer, but don't they say that the greatest computers are the ones in our heads?! He just needs to dumb it down a bit for the sake of the exercise.

blintz 4 days ago 0 replies      
I'd strongly recommend The Little Schemer (Friedman and Felleisen). It's written without the expectation that you have access to a computer. It's also written in a very approachable way - it assumes no prior familiarity with programming or even math, and it's in a simple question and response format.
txutxu 3 days ago 0 replies      
I did a LOGO programming course before having a computer, but we did have computers in the course. That did help.

One thing that did help me a lot when I didn't have computer or fast internet connection, were: the computing and programming paper magazines.

Maybe you can research for your friend programming magazines (on paper) which are available nowadays; and he can subscribe to them. Maybe he can even redistribute or perform as internal reseller once done with the chapters.

They use to treat diverse topics on monthly steps, and is a convenient way to assimilate knowledge. Ones are better than others and introduce less partial views... you must view on your own.

I can't help, because I'm many years without buying one.

sanjamia 3 days ago 0 replies      
I can suggest a simple approach that worked for me. I learned to code without a computer by reading interesting coding books and writing my programs on graph paper. I did not worry about my approach because I did this for fun. I made each decision about my learning based on whether it was interesting and that it expanded and exercised my knowledge. Save written programs. Carefully play the role of the computer and execute your own programs and use graph paper for pixels. Copy and modify code from books. Know that you're building a foundation and going to the great lengths that only a great coder would attempt.
Theodores 4 days ago 1 reply      
This is a good question for old timers that learned to code by rote with a home computer back in the day when you could learn a language and all of it from a couple of manuals. But times have changed and nowadays I do not have any books directly relevant to my current programming skill set - Stack Overflow is my friend.

So what books do I have?

Books on usability and web accessibility are good reads, however no obvious title springs to mind ('Don't Make Me Think!' would last your friend all of a morning).

One thing though, chess. Chess is played in prisons and some prisoners get rather good at it. Maybe encourage your friend to form a chess league if there isn't one already. Perhaps get him a really good book on chess that can be used by this chess league to be.

fallous 4 days ago 1 reply      
Start with learning symbolic logic. I'd then suggest learning something like 6502 assembler on a simple machine that existed (in order to attain predictable results and in order to have reference materials based on the programming results and tricks that real coders of that machine achieved).

I'd then suggest moving to something like SICP and/or NANDtoTetris.

If you learn the abstract fundamentals first, you will understand how they apply in every increasingly complex system you encounter... and none of that is syntax or frameworks but instead an ability to see and extract the underlying problem domain, which will then guide you in the solution.

schoen 3 days ago 0 replies      
I thought of several books, but they've all been mentioned in the thread already, so I'd just like to congratulate everyone on the wide range of interesting suggestions.

OK, I guess I'll also mention Hillis's The Pattern on the Stone, which I feel has mostly been superseded by Petzold's Code. It's less technical and less detailed than Code and would be a much quicker read, where Code gives a more detailed understanding of these ideas.

codingdave 4 days ago 0 replies      
In addition to all the other answers, doing some procedural thought exercises may help. He can practice breaking down complex actions into more basic instructions. For example, thinking through what steps he takes to walk to a meal. He can start at a high level of just the turns and distances to walk, then think through what he actually does to take a step, or make a turn, or sit down or stand. It may not seem like much, but it will train him to think about how to build out instructions at different levels of abstraction, which will make a significant dent in the learning curve once he does gain access to a computer.
natewalck 4 days ago 0 replies      
Whenever I approach a new language, I read a book on it and go through the code in my head. I am a very visual person, so I practice visualizing what is happening as I read it. Once I have a proper mental model, I find I have a much easier time writing it on a computer. Perhaps one gets faster at visualizing code, but I've always found that I tend to be slower to learn new languages, but have a solid grasp once a good mental model is made.

I'll definitely take a look at some of the languages mentioned in this thread that are made to be done on paper. Sounds like a great exercise.

caconym_ 4 days ago 0 replies      
I remember that the book "Feynman's Lectures on Computation" has some excellent descriptions of basic computing models (FSMs, Turing machines, ...) as well as interesting exercises in constructing "programs" using those models. It may not be as practical as he/you are looking for, but I think it might be a great choice because it does an amazing job explaining the basic theory of computation and the "programs" called for in the exercises can be easily run by hand, on paper.

It might be a good place to start, at the very least. But it will only appeal to a certain sort of person.

api_or_ipa 4 days ago 0 replies      
Most, if not all of introductory discrete math, logic gates, basic CPU logic, data structures* and algorithms can be mastered without a computer.

Most (all?) CS students learn this early on in university anyways, so it's natural to study if your friend is interested in computer science.

He can also spend the time to master math, especially linear algebra. Getting a firm understanding on math never hurt any budding programmers and opens a ton of doors.

* Once released, he can play with different DSs and experience their asymptotic performances for himself.

heisenbit 3 days ago 0 replies      
Adding one aspect to this already comprehensive list of good advice: Read good code.

There is a lot to be learned from writing code as it forces you to make decisions. This can be done in part on paper and in batch programming mode. There is also a lot to be learned from reading not just snippets and algorithms but from studying complete works. Software is a lot about architecture and integration. A stack of printed code and a #2 pencil is all it takes.

dragandj 3 days ago 0 replies      
This is an excellent book from the pen and paper era, that is more than modern (functional programming is popular now): https://www.amazon.com/Introduction-Functional-Programming-C...
franze 4 days ago 0 replies      
Google & Print or buy "The C Programming Language"Let him study every letter. It simply is the best "start from zero" programming guidebook.

Then buy him a RasPi (+with instal guide).

hackermailman 4 days ago 0 replies      
The Schemer's Guide was designed for paper and penhttps://www.amazon.com/Schemers-Guide-Iain-Ferguson/dp/09628...

D is for Digital is a good survey and has some Javascript programming info, Amazon has the second version draft already http://kernighan.com/

ceterum_censeo 4 days ago 0 replies      
It's hard to say exactly at what point it would be an appropriate read, but perhaps Knuth's The Art of Computer Programming should be on the reading list.
bladedtoys 4 days ago 0 replies      
A light introductory college text on "Symbolic Logic" with exercises and answers if possible.

The way of thinking that such a text gives is nearly identical to the thinking needed for coding.

Just one example: We coders sometimes forget that a conditional like "if (not (A and B)) or C then..." is utterly incomprehensible to the bulk of humanity. Go through a logic book and that stuff will be second nature.

Also it helps lifelong with clarity of thinking which is nice too.

chvid 4 days ago 0 replies      
There are some good theoretical computer science (sciency) books out there. I would recommend two of my favourites:

Gary William Flake: Computational Beauty of Nature

Douglas Hofstadter: Godel Escher Bach

They won't make you a programmer ready for a job at Facebook; but they will entertain the part of your head that makes you a good programmer.

The two books are also very well written and quite entertaining which give you the motivation you miss if you cannot try things out on your own.

Other than that: Study math at any level.

yarou 3 days ago 0 replies      
Try to teach him the lambda calculus. Church-Turing thesis still holds today, so if he's able to learn the lambda calculus he will understand what functions are indeed computable, and what functions are impossible to compute, regardless of hardware, software, etc.

You don't need to have a computer (Von-Neumann et al didn't have one!) to invent a brilliant algorithm.

smegel 4 days ago 0 replies      
Does he have pen and paper? Get him to design user interfaces for programs, and art to go with them. WAY harder than coding, at least for me.
sleepychu 4 days ago 0 replies      

We used to frequently emulate a machine by hand on paper I think it was 16-bit but it might have been even smaller (not touched it since my first year of undergrad) and you could/can write a lot of cool programs for it.

Retr0spectrum 4 days ago 2 replies      
I used to write BASIC programs on paper as a child before I had access to a computer.

There are plenty of algorithms you can learn without a computer too, and carry out on paper.

I have no idea what kind of things are allowed in prisons - would a microcontroller running a simple interpreter coupled with a small LCD and keypad be allowed? If so, something like that would be really great for applying programming concepts.

solotronics 4 days ago 1 reply      
Why are you not allowed a computer when incarcerated?
runjake 2 days ago 0 replies      
Send him the book "Code: The Hidden Language of Computer Hardware and Software", by Charles Petzold. It's often available used on Amazon for cheap.
sfifs 3 days ago 0 replies      
When I was 11, I learned to code BASIC by reading a programming language manual that came with IBM PCs by writing out programs in a notebook. It was many months before I actually touched a real computer (which was a learning experience in itself, but didn't change what I had picked up too much).

So definitely possible.

z3t4 4 days ago 0 replies      
Computer science. While most self thought programmers started from the other end, theres nothing wrong with learning theory first.
lifeisstillgood 4 days ago 0 replies      
Hmm, so uk rules seem different- allowing even non-internet enabled games consoles.

At which point the possibilities expand ...


the_watcher 4 days ago 0 replies      
Learning to code will be tough, although there are some great resources in here that I might pick up myself. Doesn't mean he shouldn't try though, but my recommendation would be to start with design, as there are a lot more offline resources for learning the principles of design, which apply across a lot of different disciplines.
glibgil 4 days ago 0 replies      
Honestly, it is probably better for him to become a computer engineer than a software engineer. This might be a fun place to start https://sites.google.com/site/kotukotuzimiti/Paper_Processor
rezashirazian 3 days ago 1 reply      
That's like learning astronomy without a telescope: not as fun, much more difficult but very possible.
wordpressdev 3 days ago 0 replies      
My first coding language was GW-BASIC and, as the computer time was limited, I did most of the coding on paper - it was called Dry Run. Used to write up to 200 lines of code on paper, test it on paper and then type in the computer when I get into the lab.
protomyth 3 days ago 0 replies      
I would go with the unplugged books that were mentioned by many, or help him learn introduction to digital electronics. When I went to school in 88 we didn't use a computer for designing our circuits. Designing a vending machine controller was the final project.
samfisher83 3 days ago 0 replies      
I remember having to write assembly code (6800 series) for some of my tests. That was no fun. At least we got to use cheat sheets with all the op codes. I don't think its that unique having to write code without a computer.
35bge57dtjku 4 days ago 0 replies      
Can you mail him books? There are plenty of interesting, free programming books online one could print out.
wepple 4 days ago 0 replies      
Different angle: Possibly a great opportunity to start low with CPU architecture, memory layout, and basic concepts in OS design. It'll really help further down the line and doesn't require any computer to execute code on.
abledon 4 days ago 1 reply      
As cheesy as this sounds...

the HEAD First book series,they have fill in the blanks programming exercises.

K_REY_C 4 days ago 0 replies      
Computer science unplugged is great. Aimed at kids, but if starting out it may provide a good framework. http://csunplugged.org/
leekh 4 days ago 0 replies      
I had to teach CS in Africa with very few resources e.g. electricity and working pc's.

The best thing I found http://csunplugged.org/

neilsharma 3 days ago 0 replies      
Ask him for a list of concepts he doesn't understand well and post them here. Maybe the crowd can find some good blogposts online that you can print out and give it to him.
bikamonki 4 days ago 0 replies      
If you can get us a list of personal items that he's allowed inside, maybe we can help you figure it out if it's possible to build a tiny computer ;)
houml 3 days ago 0 replies      
Study a language and algorithms. Recite those functions and algorithms from memory, and then compare what he writes and those in books.
rhlala 4 days ago 0 replies      
Suggest him to invent his own language!
caffinatedmonk 4 days ago 0 replies      
I would recommend to start with the basics: logic, assembly, algorithms and data structures.
williamle8300 4 days ago 0 replies      
A programmer is someone who puts himself above phenomena that he observes around him. So programming isn't intrinsically related to a computer.

He needs to find interesting things around him, and just make plans. Write it down. Without a computer he can use a paper and pencil.

Pulce 4 days ago 1 reply      
Me :)

I'm 'fighting' ('working' is a better definition) for civil rights in my city, so I think I will be incarcerated in the future...

I think I will organize a 'paper' version of Scratch, with me as an interpreter of lines of code.

edit: I'll miss Stallman's videos...

houml 3 days ago 0 replies      
Study a program language and recite codes from memory.
EdwardMSmith 4 days ago 0 replies      
Any possibility of a higher-end TI or an old HP calculator?
cheez 4 days ago 0 replies      
Send him the turtle game to play
damptowel 4 days ago 0 replies      
He could build a mechanical computer :) you can build adders out of marble tracks, use hydrolics or legos, etc.
icantdrive55 4 days ago 0 replies      
I would go through Hacker news past posts, and comments.

Print out the better ones.

Get him familiar with the lingo.

My biggest stumbling block was learning the ever changing language of all aspects of computing.

Then buy him Learn to Program by Chris Pine. I would also want him very comfortable with UNIX, and the command line.

When he gets out,if he has some support; he will do just fine.

Ask HN: Where should I host my startup?
90 points by akos  3 days ago   96 comments top 36
tjpd 3 days ago 6 replies      
Reading a lot of these comments make me think that everyone on HN is a cynic of the Oscar Wilde/Lady Windermere variety: "A man who knows the price of everything and the value of nothing" [1].

IMHO you should go with Heroku and ignore anyone who's suggesting dedicated servers, VPSes, AWS, Docker or containers. Every moment you spend maintaining a server or doing devops is wasted because it's time not spent building or marketing your _app_.

New startups' biggest expense is founders' time. It seems a lot of people, even on HN, don't realise it because it's a hidden cost. But if you think that a decent developer is worth at least $50/hr and it might take you an 1hr to set up and 1hr/yr to manage a server (e.g. apply patches, update security) then you're better off not spending those 2hrs and paying an extra $100 hosting your app.

Worrying about the future infrastructure cost is also wrong-headed. It's a kind of premature optimisation. To get the real, expected future cost, the projected infrastructure cost has to be multiplied by the probability that you'll actually get big, which for start-ups, is very low.

[1]: http://www.gutenberg.org/files/790/790-h/790-h.htm

seanwilson 3 days ago 1 reply      
This highly depends on if your site is dynamic or static. If static, I would go with GitHub Pages or Netlify as they're free/cheap and easy to use. Static sites with this kind of hosting is also great in that they require practically zero maintenance.

If you have to run a dynamic site (less potential headaches if you avoid this), I would try to use something like Heroku. It's easily one of the simplest way to host a robust site that needs to scale without having to spend much time on admin and DevOps.

For the people recommending a VPS, DigitalOcean etc., you're talking about using a huge amount of your own time to make such a setup as robust, easy to use and low maintenance as Heroku. What about backups? Scripting server creation? Adding a load balancer and more servers? Security updates? Server security?

The more parts and scripts you have to put together yourself, the more things that can go wrong and the more time of yours it's going to consume. If you consider how much your own time is worth and how important your startup is to you, trying to save anything in the realm of $10 a month on a core part of your startup doesn't make any sense if this is going to cost you multiple hours of time a month.

andrewl-hn 3 days ago 2 replies      
No one has mentioned Heroku yet. Starting at $7 they are a bit more expensive than DigitalOcean, but with that extra $2 you'll get their platform, their tooling for deploying the app, their database backups. Adding other services later on is also easy with their addons. By choosing Heroku you can save hundreds or thousands of dollars in ops costs over a course of a few months.

The hosting cost may go up quickly, but if your business is successful you can either absorb it, or spend time and money to migrate away. They run on AWS, so picking the same location means you can run mixed infrastructure (part on Heroku, and part on AWS) without a latency hit. Thus, a hybrid configuration is very viable.

chias 3 days ago 3 replies      
If "$10 / month" counts as cheap in your book, check out a Linode VPS. I've been using them for a couple years now, and I have been extremely satisfied (although I've upgraded to a beefier VPS as my project has grown in popularity).

Another good VPS option is DigitalOcean, which offers a smaller (and cheaper) plan for $5 / month.

There are also a lot of shared hosting providers out there that will sell you cheaper space, but I would not recommend this for anything non-trivial, as most of the time, you'll be limited to using PHP. Still, if you're looking for the best bang for your buck and you're willing to settle for shared hosting, check out Nearly Free Speech -- they are head and shoulders above any other shared hosting provider that I have ever tried.

jhylau 3 days ago 0 replies      
For any non-static website - Heroku FOR SURE. It's not even a question - I have two companies that both run on Heroku - both startups are profitable and both will remain on Heroku for the next couple of years. (https://www.switchup.org and https://www.trycarriage.com) - I know massive scale billion dollar companies that are on Heroku (e.g. Deliveroo, Macy's)

The cost/benefit analysis is ALWAYS positive in favor of Heroku until you hit super massive scale (minimum 2-3 years out for most startups, if ever). It's super easy to use. Their feature set is increasing monthly and they can handle a lot of different types of setups.

hbcondo714 3 days ago 1 reply      
Microsoft's BizSpark program gives startups $150/month in Azure credits for 3 years


iraklism 3 days ago 1 reply      
Hetzner is another option. But you don't really specify your requirements (geographical region, scalability , etc) so I don't know if this suits you.
biot 3 days ago 0 replies      
Since you've provided no details at all for your requirements (does your startup need a flotilla of beefy servers to do real-time facial recognition across thousands of live 4K video feeds?) I'm assuming you have a static HTML site with zero backend required. In that case, a Jekyll/Hugo generated site hosted on Amazon S3 will be really cheap. Throw CloudFlare in front of it for even more cheapness if you expect loads of traffic. Your hosting bill will be measured in pennies per month.
nodesocket 3 days ago 0 replies      
Depending on your application and stack, you may want to consider Google Cloud or AWS. While I really like DigitalOcean, Linode, Vultr, etc they lack production features like a centralized firewall and IAM security. Additionally AWS and Google have a slew of complimentary services so maybe you don't need raw physical machines. For example, instead you may be able to use Elasticache, RDS, and Elastic Container Service and don't have to manage any servers.
ggregoire 3 days ago 0 replies      
AWS has a free plan during 12 months: https://aws.amazon.com/free
jimmywanger 3 days ago 0 replies      
I'd go with GCE. They have a wide suite of services, and because they're the number three player right now, will probably give you a bunch of free credit to play with.
VertexRed 2 days ago 0 replies      
I'm going to have to be the boring guy and say: depends completely on how much resources you need.

In most cases though (brace yourself for an unpopular opinion) it's enough to setup a simple dedicated server for about $20-$60 per month.

Now I did read the comments that mentioned how getting a dedicated server is a waste of valuable time, but honestly you'll most probably be able to get it setup in a day, you'll also learn how web servers work along the way and you won't have to depend on third-party cloud services (yet).

Here's a great guide from DigitalOcean on how to setup a modern dedicated HTTP server with MYSQL: https://www.digitalocean.com/community/tutorials/how-to-inst...

ing33k 3 days ago 1 reply      
you should check out free tier offered by Amazon


Also do apply for things like BizSparkhttps://bizspark.microsoft.com/

if you have a static marketing page, you can also host it for free ( almost ? ) on https://firebase.google.com/docs/hosting/

grif-fin 1 day ago 0 replies      
I can comment on AWS, EC2 (ECS where docker kicks in if you want it). To set it up via UX Amazon Console was absolutely confusing and continues poor user experience until we moved to AWS-cli which was very time consuming and then the setting up of docker which just ate a big chunk of our time.

Strongly recommend to go for something simpler and lightweight to reduce the time waste as lots of other comments suggest.

At the end of the day you don't even know if anyone wants your product or what first user's opinion is, why waste time on shiny host set-up?

erikb 3 days ago 1 reply      
Don't trust anybody who doesn't start with "it depends". For nothing in this world there is one perfect answer. Context means a lot. What have you coded? Why do you think you are done if it is not running anywhere (I would say you are 20% done if it runs on your laptop)? How many people need to use it to be viable (e.g. a diary service needs only one user who writes texts for himself, a shop needs at least make its hosting and transportation fees, a social network needs thousands of people before it can even start to be successful)?

Good general advice is this: The simplest solution is often the best, but in some cases that means taking your old desktop pc, install ubuntu, configure your router to publicly share http and https from that computer. In other cases it means using a toolset like Heroku.

Please don't be mad about this, but the way you phrase your question it is very very likely you have so little skill that you don't even know how little. Please consider to pay a freelancer to support you. He likely has more skill and has experienced more "this can never happen in real life" F-Ups than you, and therefore can handle a lot.

imaginenore 3 days ago 3 replies      
Cheap: browse through the listings on lowendbox.com, you will find some amazing deals for both VPS and dedicated servers.

Reliable: AWS / Rackspace / DigitalOcean / Google cloud / basically any famous one.

When you're starting, it's probably better to rent a cheap VPS server. If you start growing fast, you can always move to the cloud. But modern cheap VPSs are quite powerful. I have 7 websites running on one that costs me $6/month.

ddorian43 3 days ago 0 replies      
Check out webfaction https://www.webfaction.com/?aid=9281. It's cheaper/better than shared/heroku/dedicated/vps/ec2 up until a certain point (48GB ram).
PetahNZ 3 days ago 0 replies      
If you are willing to shell out a little more ($40), you can get a pretty powerful DS for a fraction of the cost of what the major cloud providers would cost: https://www.delimiter.com
adjohn 3 days ago 0 replies      
Check out Digital Ocean Hatch[1]. If you're an eligible startup, you can get 100K of free credits for 12 months.

[1] - https://www.digitalocean.com/hatch/

trcollinson 3 days ago 0 replies      
Can you give us an idea of what your site is built in? Personally I have a side project I am working on which I am just hosting on the free allocation of AWS. Even if it weren't in the free tier, it would be extremely inexpensive. With that, I have a lot of experience deploying to AWS and I have scripted most of the process (in fact, other than some monitoring, at this point, the deployment process is entirely automated). This would work for just about any architecture. But, the difficulty of setup will cause your mileage to vary a bit.
wtvanhest 3 days ago 0 replies      
It depends on how much you want to do yourself.

Heroku is easiest and relatively cheap until you scale. (Great problem)

Lots of people seem to use AWS. My limited understanding is that it is marginally more difficult to implement than heroku.

You could also go with someone like Linode. I would only go that route if you have implemented before. There is a learning curve and if you are trying to get the site up quick, I would go with a different option.

smoyer 3 days ago 0 replies      
Redhat offers free services (you pick which ones) via their OpenShift [0] platform. Under the covers it's Docker and Kubernetes.

[0] https://developers.openshift.com/getting-started/index.html?...

boulos 3 days ago 0 replies      
As people asked, what do you need "today" (host website apparently) and what do you need "tomorrow"? If you just need a simple static-ish web app, and everything else is your offline iOS game that's pretty different from building say a Snapchat competitor.

Full disclosure: I work on Google Cloud, but it's unclear you need a cloud provider.

coupdejarnac 3 days ago 1 reply      
I haven't seen it mentioned yet, but Redhat's Openshift provides an alternative to Heroku. I've used it for a few years and been happy with it. They have a startup program that gives you access to a paid tier for a year. I've used Openshift to host Node and Flask apps.

Edit: a bunch of downvotes for trying to be helpful, how nice.

epynonymous 3 days ago 0 replies      
why can't you use just aws micro free t1? they give you a micro machine for 1 year free. what loads do you anticipate, what hw requirements do you need for your machine? i think hosting a simple website with sqlite database works great on an aws micro, if you need something more glorified like postgresql or mysql and multi-tier, then perhaps you should go for something like digital ocean or paid aws, this all depends on your requirements which you haven't specified.

currently i'm hosting a golang web + restful api + websocket server + sqlite3 db + redis + nginx all on a single micro AWS server, but my marketing hasn't really started yet, we're talking about <100 hits thus far per day.

shanecleveland 3 days ago 0 replies      
Webfaction. I don't do anything with heavy traffic, but very happy with reliability, performance and features.
pier25 2 days ago 0 replies      
We are super happy with Firebase. Even if you just use the static hosting you get CDN + HTTPS for free. And you can even use the free tier as long as you want which is awesome for low traffic.
pimterry 3 days ago 2 replies      
If you're talking about hosting your startup's landing page, stick with Github Pages: https://pages.github.com/. Free, super quick & easy, with custom domains to boot.

Personally, for almost any product I start here. Even if you do need server-side infrastructure for the product, hosting all your marketing pages on GH pages is probably the right choice - they're going to be better at reliably hosting and serving static content than you are. Focus on your product instead.

When I do need server-side logic I then usually go for Digital Ocean, because they're very cheap, pretty great, and far less complicated to manage than EC2. It's also pretty easy to set up Dokku: https://medium.com/@pimterry/host-your-node-app-on-dokku-dig.... With that on top you then get a quick & effective Heroku-style deployment experience, at a fraction of the price.

nwilkens 3 days ago 0 replies      
Do you have any special requirements -- such as location, high memory, io performance, or storage capacity?

At https://mnx.io (my company) we offer various options with reliability, and performance at our foundation.

flaie 3 days ago 0 replies      
Clever cloud is a good option, they're very good at what they're doing. Plans start low, and you can scale easily when needed. They do have plenty of options, and support is top notch.
acarrera 3 days ago 2 replies      
if looking into digitalocean, vultr.com is slightly better in terms of pricing and processors, though it takes much longer (~2-3mins) to spin up a vm instead of <60s in digitalocean
borplk 3 days ago 0 replies      
As someone who wasted time and money with AWS I'd say start with something simple like DigitalOcean and worry about problems as you face them.
DeBraid 3 days ago 0 replies      
now.sh https://zeit.co/now/ and surge.sh https://surge.sh are some lesser-known options that I've used recently with ease and success (on free plan, for small projects).
jtcond13 3 days ago 0 replies      
Amazon's PaaS offering (Elastic Beanstalk) isn't too difficult to use and may be less expensive than Heroku.
catalinbraescu 3 days ago 0 replies      
It looks like you're confusing your startup (which is a company) with your web site.
d0m 3 days ago 0 replies      
Personally had bad experience with linode.. I'd go with aws.
How do YOU survive during tough times?
39 points by rrtigga  2 days ago   22 comments top 14
jasonkester 1 day ago 1 reply      
This is the wrong question. A better question is "would 'tough times' affect you at all?"

Never couple spending to income. That's a recipe for always feeling poor. Instead, find a baseline where you can live and make sure that it lies at such a tiny fraction of your normal income that you never need to think about thinks like "budgeting" or "saving".

So if you're fresh out of school with your first $50k/year job, make sure you can fit your entire life into $20k/year.

When you take that $120k/year job a few years later, live on $20k/year.

When you crack the $300k/year barrier with your RSUs from Google, live on $20k/year.

That is how I've always approached things, and it makes life a lot less stressful (since it removes the number one worry that everybody else has from the equation). There were several years when I was traveling and consulting where I'd only take one little $10k gig a year (or nothing at all), and there was never a question of running out of money because it naturally went out the door so slowly.

If you do what everybody else does and ramp your lifestyle up to meet your income, you're just ensuring that you'll be in trouble if things go south. But once you have a dozen years of accidentally saving (n-20) per year, you can survive for years at a time with no income at all, so bumps in the road don't feel bumpy at all.

Fix that and you'll stop needing to ask questions like this one.

tiredwired 1 day ago 0 replies      
Get a job at a lame startup with lots of processes and code reviews - things that leave you with a lot of free time waiting for others to approve the minutiae. The more designers they have the better - especially if they work remote. That company will fail horribly but, you will have the time and funds to work on your project.
cylinder 2 days ago 1 reply      
If you're building a company in SF without OPM (Other People's Money), you are making a big mistake.
zachlatta 2 days ago 1 reply      
Easy answer: leave SF and get to a lower rent situation if you truly cannot afford rent.

When I wanted to cut down costs, I built some software to take advantage of referral programs from startups and used that to get free food for a few months. But if I found myself in a situation where I truly feared my ability to pay rent, I'd start contracting and look into moving elsewhere.

eswat 1 day ago 0 replies      
If I didnt prepare a buffer before reaching a point where I had to think about staying afloat then Id just be more aggressive in taking on contract work (Im a consultant but favour my discretionary time over filling every day with work). Id pause my main project until I had a buffer again or do the new work around my project.

That aggressiveness comes from reaching out to my existing network more, stretching that network to more people and also removing things that compromise in the contract work search (bonus if theyre also sapping money). So things like Netflix, eating out regularly, or anything else thats definitely a Want but not a Need, are put on pause as well.

But this would be a lot easier if a buffer was created first so you wouldnt reach this situation in the first place. Or if you did then youre prepared better for weathering it out. You build a buffer to help you financially and also mentally: build up a war chest with either savings or investment money and do things that make you uncomfortable while you have the room to do so, so they dont make a mess of you later.

imauld 2 days ago 0 replies      
How long have the tough times been going on and how much longer do they look to continue? If this is a rough patch, getting a second job, selling some belongings or renting out an extra room/space could be feasible (even renting out your apt and staying in the office if you have one).

If the tough times look to be continuing indefinitely they aren't tough times they are life and you have made some bad decisions about where you could afford to live..

usgroup 1 day ago 0 replies      
i forward project my buffer (savings) to 2 years to cover living relatively modestly. I think it's important to not feel desperate to take whatever the next thing is.

I fish for contract work when it's available and try to generate passive income where possible. If you're living on $20k, the 3-4K you get from your asset portfolio goes a long way.

If I had no assets at all, I wouldn't be willing to enter the start up game . I'd look to ratchet up the ladder to a bigger buffer first then role the dice.

If I had to ... I'd consider taking s part-time job doing whatever and finding a living situation that the part time job could afford (e.g. Sharing an apartment uncomfortably). I'd spend the rest of the time on my start up or trying to ratchet up a better living situation.

What's that saying about logistics winning wars?

ww520 2 days ago 0 replies      
Join a company that pays good salary. Save up enough to have a cushion for the startup's tough time.

Startup is high risk business.

newscracker 2 days ago 0 replies      
Mods, please add the "Ask HN" prefix for this one. It's not a link to another site/article.
chrisseaton 2 days ago 1 reply      
> sell cereal

Huh? Breakfast cereal? Is this something people do in SF to earn money on the side? Or is it a joke I don't get?

newsat13 1 day ago 0 replies      
Not joking: Get your spouse to sponsor your startup. Give them some ownership of the company.
ruler88 2 days ago 0 replies      
Freelance, or live in a car + buy gym membership to shower.
babesh 2 days ago 0 replies      
Go back to school by taking advantage of student loans.
evadne 2 days ago 0 replies      
Access to a locale with a vastly cheaper cost of living.
You inspired my sci-fi novel. Care to download a free copy?
5 points by charliemagee  20 hours ago   5 comments top 3
charliemagee 20 hours ago 0 replies      
Here's the link to more info on my blog page: http://mageewrites.com/thank-you-hacker-news-github-stack-ov...
charliemagee 20 hours ago 1 reply      
Can you help a brother out? Let's see if we can set an Amazon record for sci-fi downloads in a 24 hour period. A big burst of downloads of my book from Amazon opens the door for other marketing opportunities. I'd really like to make a living at writing so I can keep doing it. Your help can make the difference. Here's the direct link to the book on Amazon: https://www.amazon.com/Last-Breath-Charlie-Magee-ebook/dp/B0...
EGKW 20 hours ago 1 reply      
No link?
Ask HN: What technologies are you guys excited about?
17 points by 7ero  2 days ago   23 comments top 15
effie 1 day ago 0 replies      
Nim (language & compiler), because it seems to be the most accessible and enjoyable way to write readable compiled programs. All the power of C including existing libraries accessible through intuitive syntax inspired in Python, Pascal and other familiar languages.


csixty4 2 days ago 1 reply      
I've been on a Functional Programming kick lately. Wrote an FP library for PHP. Done a little in JavaScript. Kicking the tires on a couple functional-first languages. Looks like Scala may be a good place to settle down & get comfy.

Aside from that, I'm thinking it might be time to start the discussion about digital identity & reputation ecosystems again.

BWStearns 2 days ago 0 replies      
I know it's not really new but I've been playing with Erlang (really the whole BEAM family including Elixer and LFE) a little and it seems very interesting. The idea that future performance gains will be achieved through parallelism has been around for a bit but at least from my perspective it seems like the tools to achieve those gains have become significantly more available (not just the technology itself, but the community, books/tutorials, and the lessons learned).

Given the amount of logic being offloaded to the client in webapps and the increase in app stores (package manager GUIs with price tags) I'm wondering if there won't be a return of more dedicated desktop apps. I think Spotify, Slack, and other electron/react native style apps may be the opening salvo. They seem to be mostly geared towards allowing offline operation as opposed to enabling distributed applications, but it'd be interesting to see if/how that arises out of people becoming used to native apps again. I could imagine Slack in particular cutting down on its requests to their servers by figuring out a way to make teams opportunistically p2p and updating the server with diffs in larger chunks.

iyn 1 day ago 1 reply      
React. Today, because it's awesome, but I'm also exited about its development (like fiber).

Relay 2 (not yet released), which claims to introduce a lot of new features (like local state management, think something like flux/redux) and better performance (more details: https://speakerdeck.com/wincent/relay-2-simpler-faster-more-...). If the team behind Relay 2 were to deliver even 50% of those claims, it'd be fantastic.

Functional programming - I was introduced to it on university, it was ok but I wasn't raving about it. What's funny to me, JS made me love FP and before React I really hated JS and looked at it as a toy language.

Scala - I'm only learning it but it's fascinating and learning it broadens my general CS knowledge.

usgroup 1 day ago 0 replies      
Haxe : because it can target web, desktop and mobile with the same code for apps and games , and allows for declarative UI building.

eXist-DB : XML DB with baked in app framework. Server side code is in XQuery. Magic for data aggregation API building.

PicoLisp : Lisp + declarative Web UI + prolog + distributed DB in one tightly coupled package. Build your next crawler in this to appreciate the magic.

jotux 2 days ago 1 reply      
Rust for bare metal firmware, specifically on ARM, as a replacement for C/C++ with static analyzers.
flyx86 18 hours ago 0 replies      
NixOS, because it fixes the problems Docker tries to build a workaround for.
ruler88 1 day ago 0 replies      
Proliferation of extremely low-cost devices and propagation of near-free internet connection to those who are currently not connected.

The frontiers of technical products have been hyper focused on the few lucky individuals who have the latest iPhone/computer. Once we have more eyeballs on the internet from the late boomer countries, I believe the internet will change to address the needs of the folks who are using free (slow) internet and $20 devices.

kenmendiola91 1 day ago 0 replies      
Excited about the transformation in the recruitment industry through Machine Learning/AI. Employers will get analytics on a candidates fit to the company or job.P.S. I work for http://strategysolutions.com.au
randelramirez 1 day ago 1 reply      
Been coding in C# for several years now, I played with F# and it's fun. question though....do you guys think it will be as a popular as C# or Java? you know "first-class" citizen(if I may say so) when it comes to writing business apps(desktop/web/mobile(xamarin-already supported)). :D
flukus 2 days ago 0 replies      
Docker (and similar), because I think simplifying server admin will be the end of the cloud hype.
fitzwatermellow 2 days ago 0 replies      
WebRTC / QUIC. Apps like Google Allo and Duo are just the tip of the spear ;)
gt565k 2 days ago 0 replies      
Programming on the go with google glass / digital contact lenses and a virtual keyboard.

I think the nanotech will need another decade or 2, and perhaps a break through in battery tech ;), but I can see us getting there in 2-3 decades.

davidjnelson 1 day ago 0 replies      
React, lambda, dynamodb, functional programming.
miguelrochefort 1 day ago 0 replies      
The Semantic Web
Ask HN: Back-end team does not document their APIs. How do I convince them?
7 points by ameesdotme  1 day ago   19 comments top 10
whataretensors 1 day ago 1 reply      
One of the hardest things to do is choosing the right battles. Ask, is this worth it? If it's an API integration point primarily for internal use I wouldn't insist on it. If the API is changing too much right now that documentation would quickly become obsolete, I wouldn't worry about it. It might be easier and cheaper to get a backend engineer to answer your questions.

If you are expecting clients to integrate with your backend without documentation, and you do not have an enterprise-level agreement, then it would be a deterrent for integration on most teams. Making that case should be straightforward. More documentation would mean more adoption, which means more value for the company.

tedmiston 1 day ago 2 replies      
Besides convincing your backend team that sharing how to communicate with the API in a structured way is important, one bit of advice in general is to make it easy.

One way to make API documentation easy is to generate it from code rather than write a doc manually. This can pull from class and method comments to add description to your endpoints (if those comments exist and are relevant), but even if they aren't there you'll still have access to the endpoints and the input/output.

I'm not sure what your tech stack is but here's an example using Django w/ Django Rest Framework. You can use Swagger [1] for docs / a browsable interface to the API. Then you can use an integration like Django Rest Swagger [2] to automate most of the work.

[1]: http://swagger.io

[2]: http://marcgibbons.github.io/django-rest-swagger/

HillRat 1 day ago 0 replies      
Everything comes down to time and budget. Assuming you have a project budgeting model, make sure that for every project you add in estimates for analyzing, documenting, and integrating the backend layer, and call it out specifically as a result of insufficient documentation. What you're trying to do is get someone up the managerial food chain to ask, "Why are we paying developers to do this for every project, when we could document this once and be done with it?"

To put it another way, you'll never have enough leverage to talk another business unit into spending their time and money to solve your problems. You need to make your problem someone else's -- someone with the ability to force the solution.

fatdog 1 day ago 0 replies      
There is a cultural problem in some orgs where some (even sr.) devs think not documenting things creates job security, but it really just creates bottlenecks that suffocate the organization. Few things signal a corporate death spiral like the phrase, "useless documentation." This means that nobody is going to read it, because nobody cares, and nobody cares because it's probably crap. GIGO. A product of shitty thinking.

The only real value of any software is that it does what someone says it does, and if nobody says it does anything, then I would argue it is not creating value for anyone. It is showing up to work and consuming resources, but it's not moving the company anywhere.

Growth in a company means building things that are the foundation for something else, and those foundations are based on the assurances of people with credible word. Documentation creates a basis for that credibility. A lack of credibility means a lack of ability to deliver value.

If your backend devs won't document their APIs as a matter of backward principle, your company is probably in a death spiral, fire them or eject.

afarrell 1 day ago 0 replies      
/r/whataretensors is correct that you have to pick your battles. However, if you're asking us then I'm going to assume that the lack of documentation is slowing you down enough that it is in your company's interest for docs to get written. Lack of docs puts timely product delivery at risk.

What are the product-owner's overall goals? You should tie documentation to that. In a healthy organisation, the product-owner's goals will either be already pretty clear or they'll be actively working on making them clear. If they aren't clear to you then do a quick check through emails/minutes/retrospectives to see if you've missed something and ask for a half hour on their calendar to seek clarity. Take the bulk of that time to listen[1] to what their priorities and stressors are. Pay particular attention to where your work fits into that. If your work actually doesn't fit into that then you've got a bit of an organisational incentives problem. Assuming it does, then make your case that documentation in a canonical place (even if it is those same json files and some comments) is not a nice-to-have but a need-to-have for frontend to deliver what the product owner needs.

For all of this, I've assumed that the product owner for the backend and frontend is the same person. If it is two different people, then you might have a conflict of incentives that needs to be fixed: The backend team has little/no incentive to help the frontend team. If that is the case, then you should have a chat with the product owner of the frontend team because that is an organisation-level problem and some incentives will need to get re-aligned.

[1] https://hbr.org/2016/07/what-great-listeners-actually-do

new_hackers 1 day ago 0 replies      
I would think long and hard about the following questions:

What are your expectations?

What is the minimum possible that could be done to meet your expectations?

What deficiencies currently exist that are blocking you?

Once you have this written down, only then should you approach the other party. Remember YOU think it is "messy" "lacks docs", however others may think it is fine. You will not win any friends by demanding someone does more work that they don't consider to be worthwhile.

If you have no leverage, then you are asking for a favor.

Be nice, be friendly and courteous. Try to see the other person's viewpoint.

Good luck in your negotiation.

cdnsteve 1 day ago 1 reply      
I've often found if you lead the effort yourself, and then ask for their input, this usually works well. If you wait for someone else to take the first step, it's usually not going to happen.

Start by creating a Github wiki for documentation for both front-end and back-end API's. Add them as collaborators, or create them right inside each existing repo if you can. Populate the back-end one as best you can to your knowledge, then ask for them to validate.

I always think of documentation as a note to my future self. In X months, what won't I remember?

iddogino 1 day ago 1 reply      
I'd argue that this should go the other way around. Your developers should be creating the 'docs' - the API design and boilerplate, before programing it.If they actually sit down and design the API before setting of to write the code you'll end up with:(a) the documentation you want.(b) an API that this designed consistently and consciously.Would you let your front end developers build something without at least a wire frame / functional design?
rxbudian 1 day ago 0 replies      
If it's just an internal use, you can ask them to have tests build against the endpoints and use that as a way to document how to use them. It's better than nothing, and they're technically code, so it's in their domain to build.
samblr 1 day ago 1 reply      
what is the language & middleware/framework used in backend ?
Ask HN: What do you use for Log Management?
88 points by shubhamjain  1 day ago   68 comments top 38
tkfx 1 day ago 2 replies      
We covered this topic quite extensively on the Takipi blog. Grepping through huge unstructured text is quite frustrating.

Sumo Logic, Graylog, Loggly, PaperTrail, Logentries, Stackify:http://blog.takipi.com/how-to-choose-the-right-log-managemen...

ELK vs Splunk:http://blog.takipi.com/splunk-vs-elk-the-log-management-tool...

Hosted ELK tools:http://blog.takipi.com/hosted-elasticsearch-the-future-of-yo...

We're actually building (and using) a log alternative called OverOps (https://www.overops.com), it's a native JVM agent that adds links to each log warning / error / exception that lead to the actual variable state and code that caused them, across the entire call stack. Disclaimer: I work there, would be happy to answer any question.

dz0ny 1 day ago 5 replies      
Papertrail, super friendly and insightful support.

So let me elaborate. Mostly what will you get from support is: "We are fixing problem", but in our case they were specific, "We have problems with Heroku logspout connection, 'heroku log' should still work." And the other time we went a bit over limit so they upped plan for free for a short period, se we could figure about what the problem was. Alerts are also what we use the most (no limits, no delays) which cannot say for the other providers.

Good work Papertrail, if you are reading this.

markpapadakis 1 day ago 1 reply      
We build our own. All events are published on Tank( https://github.com/phaistos-networks/TANK ) , and we have a bunch of consumers that consume from various Tank topics. They process the data and either publish to other Tank topics(to be consumed by other services), or they update state on various services.

- For data exploration, we use memSQL. We keep the last days worth of data there(we DELETE rows to keep the memory footprint down), and because most of the time its about understanding something that has happened recently, its almost always sufficient. Each row contains the events representation as JSON, and we also have a few more columns for faster lookup. memSQLs JSON support is great(we used mySQL for that but it was too slow), so we can take advantage of joins, aggregations, windowing etc.

- For data visualisation, we use ELK (but its pretty slow), a tool our ops folks built (otinanai: https://github.com/phaistos-networks/otinanai) and we have a few smaller systems that generate graphs and reports.

- For alerts and tickets, our ops folk built another tool that monitors all those events, filters them and executes domain-specific logic that deals with outliers, notifications routing, and more.

This solves most of our needs, but we plan to improve this setup further, by monitoring even more resources and introducing more tools(Tank consumers) to get more out of our data.

jorrizza 1 day ago 1 reply      
Graylog is working quite well for us so far. https://www.graylog.org/
renaud92 1 day ago 1 reply      
Logmatic.io was not mentionned but we are more known in Europe so far. Disclaimer I work there. We invest a lot in analytics, parsing/enrichment and fast & friendly UX. We try to be a premium solution for the same reasonable price as others and our users tend to say great things about us (eg http://www.capterra.com/log-management-software/ ). Happy to answer if you have any questions. :)
pbowyer 1 day ago 0 replies      
I'm using http://logentries.com

The one I really wanted to use/like was http://scalyr.com. However even after their redesign, I still can't use their query language. With LogEntries, it's pretty natural.

TeeWEE 1 day ago 0 replies      
I was used to Google Cloud logs (comes for free with Appengine).. Now I"m working with an AWS based system with an ELK stack... Its ui is horrible. Finding the right log entries is a hell. And it often breaks and somebody has to update it.. I hope we can move to some log cloud provider soon.
crummy 1 day ago 0 replies      
Logentries. Not sure if I'd say I'm satisfied, but I haven't found anything better.


* Decent Java logging integration (some services treat things line-by-line, this is a deal breaker for things like multi-line Java exceptions)

* Reasonably priced

* Alerts are kinda nice

* Hosted


* Sometimes UI maxes my Chrome CPU

* Live mode not stable at all

* UI is clunky to say the least. It's not always clear what the context of a search is, the autocomplete is obnoxious. I heard they have a new UI coming out sometime, who knows when

wodow 1 day ago 1 reply      
LogDNA: powerful, easy to get started and still improving. Using in parallel with Papertrail and instead of Logentries (which we had horrific problems with earlier in the year).
k33n 1 day ago 1 reply      
Rsyslog+ELK all day. Every aspect can be scaled, and cost can be easily controlled by managing our own deployments.
janvdberg 1 day ago 0 replies      
We use Splunk, which is pretty great but costly. We are now also in the process of checking out Elasticsearch.
xbryanx 1 day ago 0 replies      
Moving several systems over to the ELK stack (Elasticsearch, Logstash, and Kibana).
FooBarWidget 1 day ago 2 replies      
We use plain old syslog, configured to log to a remote log host. The connection is secured with TLS and old log files are compressed with LZMA.

Our analysis frontend is plain old SSH, bash, grep and less.

jordanthoms 1 day ago 0 replies      
Previously used logentries and papertrail, but they became expensive as our log volumes got larger and flexibility was missing.

Now we use self-hosted ELK (elasticsearch, logstash, & kibana) and I'm not itching to go back to any of the hosted services. It's not as good as something like papertrail for tailing log streams live (although that isn't very useful at larger scale) and the UI of Kibana does take a bit of getting used to though.

joeyspn 1 day ago 0 replies      
Happy Papertrail customer here...

We use https://github.com/gliderlabs/logspout to forward all our docker logs to Papertrail... it's like you are watching your nodejs services running in your terminal. Seamless experience.

zer0gravity 1 day ago 2 replies      
Whatever solution you use to store your logs, I would suggest to generate them as events. This will help you to reconcile two important aspects that have been separated for too long, with no real reason : logging and analytics. It may require a little bit more effort but I believe it's worth it.

I've expanded on this idea here [1]

[1] - https://github.com/acionescu/event-bus#why

jakozaur 1 day ago 2 replies      
Sumo Logic: https://www.sumologic.com/

Disclaimer: I work there :-), happy to answer any of your questions.

kevinshinobi 1 day ago 0 replies      
Been using LogDNA for 4 months now with no complaints. Previously using logentries, I found the search speed to be faster.
hbz 1 day ago 0 replies      
Self hosted ELK stack, not HA at the moment. Will move the ES nodes to AWS's managed service once I'm ready to make it more resilient.
scanr 1 day ago 0 replies      
Internally hosted ASP.NET application:


scrollaway 1 day ago 0 replies      
We're hosted on AWS and used Papertrail. Found it super useful but it got really expensive. Since the new cloudwatch UI improvements, we're down to only using Cloudwatch logs. The UI still sucks quite a lot, but not enough to justify tripling logging costs.
cbismuth 1 day ago 1 reply      
Java / Logback / Filebeat 5.0.0 / Elasticsearch 2.3 / Kibana 4
xyz-x 1 day ago 0 replies      
Logary https://github.com/logary/logary with F#, InfluxDB and ELK.
mohanlal1803 1 day ago 0 replies      
Hi all,The stack which we used in our organisation is, 1) Fluentd - for log line transporting 2) Elastic search - for indexing3) Kibana - for viewing (remote log viewer)
thesorrow 1 day ago 0 replies      
We use ELK + etsy/411 (https://github.com/etsy/411) for alerting.
mohanlal 1 day ago 0 replies      
Hi All,

The stack which we used in our organisation is,

1)Fluentd - for log line transporting2)Elastic search - for indexing3)Kibana - for viewing (remote log viewer)

d33 1 day ago 0 replies      
Couldn't help but say "toilet":


aprdm 23 hours ago 0 replies      
Used to use logentries.

Now a days, on premise, logstash + elastic + kibana.

somedanishguy 1 day ago 0 replies      
We're currently looking into using Humio.
throwaway2016a 1 day ago 0 replies      
We use AWS Cloudwatch Logs for aggregation. For reporting we are still trying to find a solution.
exceptione 1 day ago 0 replies      
I see a lot of solutions. What do you recommend for setups with 1 to 3 small servers?
alienjr 1 day ago 0 replies      
Elasticsearch+Flunetd+Kibana for logs and KairosDB+Fluentd+Grafana for metrics.
zp-j 1 day ago 0 replies      
No one mentioned Flume + Kafka? This sounds to be a mature solution.
toddkazakov 1 day ago 0 replies      
ELK with AWS hosted Elastic Search. Works like a charm with Kubernetes.
eloycoto 1 day ago 0 replies      
I use to work with cloudwatch + awslogs and works like a charm.
vacri 1 day ago 0 replies      
Papertrail is beautiful for watching loglines roll in.

ELK (logstash, self-hosted) is... consuming. The software is free, but it takes a lot of compute resources, and isn't trivial to come to grips with (setup or daily use). If you can spare the staff-hours, ELK can be pretty powerful, though.

sairamkunala 1 day ago 1 reply      
missed splunk?
mohanlal1803 1 day ago 1 reply      
Ask HN: Suggestions for learning English language?
4 points by 0x54MUR41  23 hours ago   3 comments top 2
happy-go-lucky 21 hours ago 1 reply      
Four essential skills in learning a new language are reading, writing, speaking, and listening (not necessarily in that order).

Learn to read. Read good stuff written by native speakers of the language. Learn correct pronunciation. When you come across new words, look them up.

Learn grammar. Practice writing. Start with small sentences. Write about anything you like or experience. Show it to an authority and make sure it is grammatically correct. Learn from your own mistakes.

Start speaking the language. Be around those who communicate in the same language.

Practice listening. Listen to native speakers, radio programs, podcasts etc. Be attentive.

Keep visiting HN. Read comments. Observe how HNers express their views. Learn from contextual usage of the language.

That is just a beginning. Carry out those activities regularly.

happy-go-lucky 20 hours ago 0 replies      
IMO, how good you are in your native language influences your learning of a foreign language.
Ask HN: Any direct experience using QA services
9 points by JourneymanCoder  1 day ago   5 comments top 5
sua_3000 1 day ago 0 replies      
Used to run QA for a startup and inherited an outsourced Applause Team for our consumer and B2B app.

They would find bugs, but often very cosmetic things - not too many bugs in our business logic (and not because of the absence of bugs within our app). It also took way too much time to manage/write the test cases out (~20 hours) since we were building out features so fast.

I looked into Rainforest QA after them. They're product seemed a better fit, but had a bad experience when one of sales guys used there used "retarded" to describe our current qa strategy.

Eventually I decided to dedicate our resources into building a frontend and backend automated testing framework. This was a way better decision, which we actually built out pretty fast.

amorphid 1 day ago 0 replies      
If you can automate testing, especially on mobile, I highly recommend it. Building a testable app makes testing easier, whether you actually automate the testing or not.

Mobile testing kind of sucks, automated or not. Manual testing requires an ever increasing number of devices, and the actual testing is slow, monotonous work (aka good testers get bored and move on).

Maybe this approach... Automate what you can, making sure it behaves right. Use manual testing to verify it looks right, and as validation the automated tests didn't miss something.

marie10g 19 hours ago 0 replies      
JourneymanCoder, I run a QA as a service company and we employ only certified QA people, in our office - no sourcing random talent from Upwork. We also have a lab of ~110 devices with different screen resolutions to test services on. Thats physical devices and real people testing on them. The pricing is straightforward - a fixed fee per platform per hour. Would you be interested in test-running our service for free (a few hours of testing + an hour of reporting) in exchange for honest feedback? If interested, feel free to reach out - contact info in my profile.
joshuaduffy 1 day ago 0 replies      
As a tester myself, who's worked in multiple consultancy roles... It depends on vendor obviously but also on time and money. Do you have a budget and a timescale?
samblr 1 day ago 0 replies      
Does anybody have inputs on google cloud test lab for mobile ?
Ask HN: How do you back up your site hosted on a VPS such as Digital Ocean?
123 points by joeclef  3 days ago   85 comments top 40
dangrossman 3 days ago 5 replies      
Write a little program in your favorite shell or scripting language that

* rsyncs the directories containing the files you want to back up

* mysqldumps/pg_dumps your databases

* zips/gzips everything up into a dated archive file

* deletes the oldest backup (the one with X days ago's date)

Put this program on a VPS at a different provider, on a spare computer in your house, or both. Create a cron job that runs it every night. Run it manually once or twice, then actually restore your backups somewhere to ensure you've made them correctly.

yvan 3 days ago 2 replies      
The simplest way for us it's to use rsync, there is this service decade old (even more) that is just perfect for the offsite backup. http://rsync.net/index.html

We basically create a backup folder (our assets and MySQL Dump, then rsync it to rsync.net). Our source code is already on git, so basically backuped on Github, and all developers computer.

On top of it, rsynch has a very clear and simple documentation to implement it very quickly with any Linux distrib.

Kjeldahl 3 days ago 2 replies      
DigitalOcean has a droplet backup solution priced at 20% of the monthly cost of your droplet. Doesn't get much easier than that, if you can afford it. For a small droplet ($10/month) that's a full backup of everything for a buck a month. https://www.digitalocean.com/community/tutorials/understandi...
no_protocol 3 days ago 1 reply      
Whatever strategy you use, make sure you test the process of recreating the server from a backup to make sure you will actually be able to recover. You'll also have an idea how long it will take, and you can create scripts to automate the entire flow so you don't have to figure it all out while you're frantic.

I use tarsnap, as many others in this thread have shared. I also have the Digital Ocean backups option enabled, but I don't necessarily trust it. For the handful of servers I run, the small cost is worth it. Tarsnap is incredibly cheap if most of your data doesn't change from day to day.

stevekemp 2 days ago 0 replies      
I see a lot of people mentioning different tools, but one thing you'll discover if you need to restore in the future is that it is crucial to distinguish between your "site" and your "data".

My main site runs a complex series of workers, CGI-scripts, and deamons. I can deploy them from scratch onto a remote node via fabric & ansible.

That means that I don't need to backup the whole server "/" (although I do!). If I can setup a new instance immediately the only data that needs to be backed up is the contents of some databases, and to do that I run an offsite backup once an hour.

kumaraman 3 days ago 3 replies      
I use AWS S3 for this as the storage prices are so cheap, at $0.03 per GB.I recommend using a utility called s3cmd, which is a similar to rsync, in that you can backup directories.I just have this setup with a batch of cron jobs which dump my databases and then sync the directories to s3 weekly.
rsync 3 days ago 0 replies      
Some of our customers have already recommended rsync.net to you - let me remind folks that there is a "HN Readers Discount" - just email us[1] and ask for it.

[1] info@rsync.net

AdamGibbins 3 days ago 0 replies      
I use config management to build the system (Puppet in my case, purely due to experience rather than strong preference) so it's fully reproducible.I push my data with borg (https://github.com/borgbackup/borg) to rsync.net (http://rsync.net/products/attic.html) for offsite backup.
xachen 3 days ago 1 reply      
www.tarsnap.com - it's pay as you go, encrypted and super simple to use and script using cron
touch_o_goof 3 days ago 0 replies      
All automated, with one copy to AWS, one copy to Azure, and an scp local that goes on my home server. Rolling 10, put every 10th backup in cold storage. And I use a different tool for each, just in case.
bretpiatt 3 days ago 0 replies      
For a static site put it in version control and keep as copy of your full site and deployment code.

For a database driven dynamic site or a site with content uploads you can also use your version control via cron job to upload that content. Have the database journal out the tables you need to backup before syncing to your DVCS host over choice.

If you're looking for a backup service to manage multiple servers with reporting, encryption, dedupelication, etc. I'd love your feedback on our server product: https://www.jungledisk.com/products/server (starts at $5 per month).

darkst4r 3 days ago 0 replies      
http://tarsnap.com + bash scripts for mysqldump and removing old dumps + cron
billhathaway 3 days ago 1 reply      
Remember to have automated restore testing that validates restores are successful and the data "freshness" is within a reasonable period of time, such as last updated record in a database.

Lots of people only do a full test of their backup solution when first installing it. Without constant validation of the backup->restore pipeline, it is easy to get into a bad situation and not realize it until it is too late.

jenkstom 2 days ago 1 reply      
Backup ninja. It handles backing up to remote servers via rdiff, so I have snapshots back as far as I need them. The remote server is on another provider. As long as I have SSH login via key to the remote server enabled, ninja backup will install the dependencies on the remote server for me.
jasey 2 days ago 0 replies      
pmontra 3 days ago 0 replies      
On OVH I rsync to another VPS in a different data center. I pick the lowest priced VPS with enough space. I also rsync to a local disk at my home. I would do the same with DO.

OVH has a backup by FTP premium service but the FTP server is accessible only by the VPS it backups. Pretty useless because in my experience if an OVH VPS fails the technical support has never been able to take it back online.

Osiris 2 days ago 0 replies      
I use attic backup (there's a fork called borg backup). It runs daily to make incremental backups to a server at my home.

For database, I use a second VPS running as a read only slave. A script runs daily to create database backups on the VPS.

stephenr 2 days ago 0 replies      
How is this at 70+ comments without a mention of rsync.net?

Collect your files, rsync/scp/sftp them over.

Read only snapshots on the rsync.net side means even an attacker can't just delete all your previous backups.

2bluesc 3 days ago 0 replies      
I use a daily systemd timer on my home machine to remotely back-up the data on my VPS. From there, my home machine backs-up a handful of data from different places to a remote server.

Make sure you check the status of backups, I send journald and syslog stuff to papertrail[0] and have email alerts on failures.

I manually verify the back-ups at least once a year, typically on World Back-up Day [1]

[0] https://papertrailapp.com/[1] http://www.worldbackupday.com/en/

spoiledtechie 3 days ago 0 replies      
I use https://www.sosonlinebackup.com.

Stupid simple and stupid cheap. Install, select directories you want backed up, set it and forget it.

All for $7.00 a month.

aeharding 3 days ago 0 replies      
Because I use Docker Cloud, I use Dockup to back up a certain directory daily to S3 from my DO VPS. https://github.com/tutumcloud/dockup

I just use a simple scheduled AWS lambda to PUT to the redeploy webhook URL.

I use an IAM role with put-only permissions to a certain bucket. Then, if your box is compromised, the backups cannot be deleted or read. S3 can also be setup to automatically remove files older than X days... Also very useful.

geocrasher 3 days ago 0 replies      
I run a couple of virtualmin web servers which do virtualmin based backups (backs up each website with all its files/email/db's/zones etc into a single file, very much like how cPanel does its account backups), and those are rsynced (cron job) to my home server than runs two mirrored 1tb disks. A simple bash script keeps a few days of backups, plus a weekly backup that I keep two copies of. Overall pretty simple, and it's free since I'm not paying for cloud storage.
colinbartlett 3 days ago 0 replies      
The sites I host on DigitalOcean are all very simple Rails sites deployed with Dokku. The source code is in GitHub and the databases I backup hourly to S3 with a very simple cron job.
kevinsimper 2 days ago 0 replies      
This is the same question I had [1], but just asked in "how can I outsource this cheap" instead of "how can I do this cheap". I also use docker, so I would only need to get a hosted database.

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

mike503 3 days ago 0 replies      
Bash script to dump all DBs local and tar up any config files.

Then the script sends it to s3 using aws s3 sync. If versioning is enabled you get versioning applied for free and can ship your actual data and webdocs type stuff up extremely fast and it's browsable via the console or tools. Set a retention policy how you desire. Industry's best durability, nearly the cheapest too.

dotancohen 2 days ago 1 reply      
I see lots of great suggestions for backup hosts and methods, but I don't see anybody addressing encrypting said backups. I'm uncomfortable with rsync.net / Backblaze / etc having access to my data. What are some good ways to encrypt these multiple-GB backups before uploading them to a third-party backup server?
moreentropy 2 days ago 0 replies      
I use restic[1] to make encrypted backups to S3 (self hosted minio service in my case).

I can't praise restic enough. It's fast, secure, easy to use and set up (golang) and the developer(s) are awesome!

[1] https://restic.github.io/

extesy 3 days ago 0 replies      
I currently use https://github.com/backup/backup on my Digital Ocean instances, but https://github.com/bup/bup also looks nice.
benbristow 3 days ago 1 reply      
What type of site is it?
wtbob 3 days ago 0 replies      
I have duplicity set up, sending encrypted backups to S3. It works pretty well, and is pretty cheap.
bedros 2 days ago 0 replies      
I use borg backup to a backup-drive formatted as btrfs, then I use btrfs snapshot feature, to create a snapshot after every backup,
educar 3 days ago 0 replies      
If you use docker to deploy, see cloudron.io. You can install custom apps and it takes care of encrypted backups to s3. And automates lets encrypt as well.
00deadbeef 3 days ago 0 replies      
I have BackupPC running on another system


voycey 2 days ago 0 replies      
I really rate Jungledisk, you can choose S3 or Rackspace Cloudfiles as your storage medium, very much set it and forget it!
ausjke 2 days ago 0 replies      
Many ways to backup, but I always encrypt them other than just copying them to somewhere.
yakamok 3 days ago 0 replies      
i run a python/shell program to rsync and collect what i want backed up into one folder i then compress it and gpg encrypt it and send it to my backup server
edoceo 3 days ago 0 replies      
I make archives and put them in S3.

Use pg_dump and tar then just s3cp

chatterbeak 3 days ago 0 replies      
Here's how we do it:

All the databases and other data are backed up to s3. For mysql, we use the python mysql-to-s3 backup scripts.

But the machines themselves are "backed up" by virtue of being able to be rebuilt with saltstack. We verify through nightly builds that we can bring a fresh instance up, with the latest dataset restored from s3, from scratch.

This makes it simple for us to switch providers, and can run our "production" instances locally on virtual machines running the exact same version of CentOS or FreeBSD we use in production.

X86BSD 2 days ago 1 reply      
I don't know what the OP is running OS wise but if it's any modern Unix variant it uses ZFS. And a simple ZFS send/receive would be perfect. There are tons of scripts for that and replication.

If you're not using a modern Unix variant with ZFS... well there isn't a good reason why you would be.

nwilkens 3 days ago 0 replies      
We have cheap reliable storage servers at https://mnx.io/pricing -- $15/TB. Couple our storage server with R1soft CDP (r1soft.com), Attic, Rsync, or Innobackupex, etc..

You can also use https://r1softstorage.com/ and receive storage + R1soft license (block based incremental backups) -- or just purchase the $5/month license from them and use storage where you want.

Ask HN: Suggestions for chat bot frameworks?
6 points by marcell  1 day ago   2 comments top 2
steejk 20 hours ago 0 replies      
It depends what you want to do. If you want to access many chat apps a framework will make your life easier and provide some features such as analytics but at the expense of latency and inability to access any features specific to a particular chat application.

Wit.ai, API.ai etc. are separate services to which you forward your chat responses and they send back a response based NLP training etc.

If you're just doing a prototype, I would limit it to one chat app (eg. FB messenger) and interact directly with their webhook. You can also then add NLP through api.ai etc.

huwshimi 1 day ago 0 replies      
I know someone building a tool with https://api.ai/ integrating with Facebook chat and other APIs. It's been working well from what I hear. I just noticed it's now owned by Google.

Edit: he also just suggested https://wit.ai/ which is now owned by Facebook.

Ask HN: Any recommendations on resources for learning one algorithm a day?
202 points by alphanumeric0  4 days ago   39 comments top 29
gaus 4 days ago 1 reply      
This is a good resource we used in a university course I took on algorithm design and analysis...


I would probably recommend studying individual classes of algorithms, and to only move on when you feel ready, as opposed to learning algorithms in ascending difficulty (at the risk of learning them in a haphazard fashion).

VisuAlgo is another cool site that has lots of algorithm visualizations...http://visualgo.net

And, if you can handle the dude's voice, I recommend checking out Xoax.net's algorithm videos...http://xoax.net/comp_sci/crs/algorithms/index.php

What you will probably find is that it's more valuable to gain experience designing your own algorithms using tried-and-true techniques such as dynamic programming, greediness, divide-and-conqur, linear programming, etc. Also keep in mind that data structures are closely linked to algorithms, and vice versa. If you are not familiar with big-O notation I suggest you begin there as it can be used as a measure of both an algorithm's time complexity and its data complexity.

ilaksh 4 days ago 0 replies      
One algorithm a day -- the short answer is if you were going to really learn them and not just forget them then you would have to cheat and constantly review previously 'learned' algorithms as you go. Otherwise you will learn X algorithms and likely forget nearly X algorithms.

I have to question the value of only focusing on learning algorithms and on the idea of optimizing the quantity.

In terms of learning lots of them, it might be more useful to focus on learning more fundamental algorithms _better_ rather than tons of them. Or you might want to carefully select the most generally useful algorithms or ones in a specific field relevant to current projects.

Also, now that we have such powerful general purpose languages and efficient module versioning and distribution, learning to take advantage of those probably has more practical use.

For example, you could spend several weeks or years learning various statistical methods and algorithms for machine learning in a particular area. But then you realize that all of the algorithms are already implemented in python code libraries so you start learning how to apply the libraries in real code for applications rather than reimplementing the libraries.

But then you find out that deep learning techniques far outperform all of those algorithms you learned to implement and then apply via those libraries.

So then you train yourself on sophisticated deep learning techniques and start to implement LSTM in python. Then you realize you never quite got the fundamental understanding of neural networks so go back to work on learning that better.

Then you implement some core neural network algorithms in python and start to build back up to your LSTM implementation. Now you find out that TensorFlow exists but lacks good support for AMD which your university has (perhaps erroneously) made a large investment in.

So then you decide the best thing to do would actually be to try to fix some basic bugs that occur on your platform with the latest TensorFlow/OpenCl/AMD code (or whatever).

You manage to fix one of the minor issues and now several geniuses have their day improved by a bit or two.

The point is, trying to learn a ton of random algorithms in a short period probably isn't the best use of your time.

ChoHag 3 days ago 1 reply      
I suggest a dose of reality:

You can't. You may be able to consume the knowledge underpinning an algorithm and parrot it back but any attempt to learn it in one day is doomed to failure. Parrot knowledge has zero retention.

LeonardA-L 4 days ago 0 replies      
Last year was Advent of Code ( http://adventofcode.com/ ) and while they did not name them, each exercise was based on a known algorithmic problem (knapsack, traveling salesman, ...), and it was a fun way to engage people in a "1 exercise a day" pattern.

I guess you can also try your hand at CodinGame's puzzles ( https://www.codingame.com/training ) as they also involve known algorithms and they are realy fun to play.

But ultimately, both of these resources won't teach you how to implement algorithms.

ClayFerguson 3 days ago 0 replies      
Taking up a new algorithm each day is the best way I can think of to be sure you don't know any algorithms well. Learn what the various algorithms are, what problems they solve, and what the general classifications of them are, then move on. You are then empowered to dig deeper into the correct one once you have the actual need for one, you know if it exists or not, and how to begin.
keeperofdakeys 4 days ago 1 reply      
You might try The Algorithm Design Manual, the second half of the book is a giant index of algorithms. The first part is a guide on what algorithms you should pick depending on what you're doing.
simonhorlick 4 days ago 1 reply      
Just read The Art Of Computer Programming by Knuth very slowly. There's basically a different algorithm every other page. Of course, it will still take you years.
gravypod 4 days ago 0 replies      
I'd say you'd be far better off deriving your own algorithm every day.

Make something to solve a real problem every day of your life and you'll be far better at solving problems then other people. I'd rather be able to do that then just parrot back sorts, graph traversals, and what not.

mindviews 4 days ago 2 replies      
https://projecteuler.net/ is an excellent tool for developing algorithmic thinking. From the project description:

The problems range in difficulty and for many the experience is inductive chain learning. That is, by solving one problem it will expose you to a new concept that allows you to undertake a previously inaccessible problem. So the determined participant will slowly but surely work his/her way through every problem.

leventov 3 days ago 0 replies      

Pretty much in the beginning of translation to English, but the original resource in Russian is a trove of information on algorithms. Suits well for the "one also a day" learning format.

codepie 3 days ago 0 replies      
You can try competitive programming course by ITMO on edx (https://www.edx.org/course/how-win-coding-competitions-secre...). It's going to start on 17th October.
bsznjyewgd 4 days ago 0 replies      
You might be interested in Programming Praxis https://programmingpraxis.com/, a blog that posts a few exercises per week, with solutions. Some of them are more interesting, some of them less so.
throwaway2016a 2 days ago 0 replies      
Aside from agreeing with other answers (you can't... and probably wouldn't get a good return from it)...

https://www.hackerrank.com/ has a lot of great algorithm challenges. They won't teach you how to do it but you need to learn the algorithms to solve the problems.

amberj 3 days ago 0 replies      
I would recommend "The New Turing Omnibus" book by A.K. Dewdney:http://amzn.to/2dGetic

Jeff Atwood aka CodingHorror (of Stackoverflow and Discourse fame) recommended this book strongly in this post titled "Practicing the Fundamentals: The New Turing Omnibus": https://blog.codinghorror.com/practicing-the-fundamentals-th...

0xCMP 4 days ago 0 replies      
https://www.interviewcake.com/ is a great site. Eventually you need to pay, but he send out a question almost every day you can try out.
kalimatas 3 days ago 0 replies      
http://www.geeksforgeeks.org/ has a collection of algorithms and puzzles split by topics.
fsloth 3 days ago 0 replies      
If you want to learn an algorithm I suggest implementing it as well. Since this question does not state any prerequisites I can only suggest the hands down best practical datastructure and algorithm study and reference book I've come accross: http://infolab.stanford.edu/~ullman/focs.html

It's old but concise and very much to the point. All of the material is highly practical.

jefflombardjr 4 days ago 0 replies      
https://www.hackerrank.com/ Has an algorithm section, might be worth a look!
infodroid 3 days ago 0 replies      
I found a relevant app Algorithms: Explained & Animated [1] that was just posted as a new HN story [2].

[1] http://algorithm.wiki/[2] https://news.ycombinator.com/item?id=12670674

yonidej 2 days ago 0 replies      
Hackerrank! I am currently taking an Algorithms course at Uni and I have found HackerRank's questions to be a great way to practice your coding skills. It can also help you out for recruiting.
splatcollision 3 days ago 0 replies      
Code Wars is my favorite. The earlier ranks are pretty simple but there's a broad depth of challenging problems at the higher levels. Online editor and test runner verifies your solution and the community aspects are a big win.


Gammarays 4 days ago 0 replies      
We've been working on a project with a small community of developers that helps rank various tools and recommendations:


Would love to hear if this is helpful to you.

drobert 3 days ago 0 replies      
rusrushal13 3 days ago 0 replies      
Go for http://www.spoj.com/, every question there needed an algorithm and doing one question per day will help you in getting better and better in algorithms per day.
alexisnorman 4 days ago 0 replies      
Highly recommend Grokking Algorithms for beginners and refreshes.
haffi112 3 days ago 0 replies      
todd8 3 days ago 0 replies      
Depending on your level of programming ability, one algorithm a day, IMHO, is completely doable. A number of comments and suggestions say that one per day is an unrealistic goal (yes, maybe it is) but the idea of setting a goal and working through a list of algorithms is very reasonable.

If you are just learning programming, plan on taking your time with the algorithms but practice coding every day. Find a fun project to attempt that is within your level of skill.

If you are a strong programmer in one language, find a book of algorithms using that language (some of the suggestions here in these comments are excellent). I list some of the books I like at the end of this comment.

If you are an experienced programmer, one algorithm per day is roughly doable. Especially so, because you are trying to learn one algorithm per day, not produce working, production level code for each algorithm each day.

Some algorithms are really families of algorithms and can take more than a day of study, hash based look up tables come to mind. First there are the hash functions themselves. That would be day one. Next there are several alternatives for storing entries in the hash table, e.g. open addressing vs chaining, days two and three. Then there are methods for handling collisions, linear probing, secondary hashing, etc.; that's day four. Finally there are important variations, perfect hashing, cuckoo hashing, robin hood hashing, and so forth; maybe another 5 days. Some languages are less appropriate for playing around and can make working with algorithms more difficult, instead of a couple of weeks this could easily take twice as long. After learning other methods of implementing fast lookups, its time to come back to hashing and understand when its appropriate and when alternatives are better and to understand how to combine methods for more sophisticated lookup methods.

I think you will be best served by modifying your goal a bit and saying that you will work on learning about algorithms every day and cover all of the material in a typical undergraduate course on the subject. It really is a fun branch of Computer Science.

A great starting point is Sedgewick's book/course, Algorithms [1]. For more depth and theory try [2], Cormen and Leiserson's excellent Introduction to Algorithms. Alternatively the theory is also covered by another book by Sedgewick, An Introduction to the Analysis of Algorithms [3]. A classic reference that goes far beyond these other books is of course Knuth [4], suitable for serious students of Computer Science less so as a book of recipes.

After these basics, there are books useful for special circumstances. If your goal is to be broadly and deeply familiar with Algorithms you will need to cover quite a bit of additional material.

Numerical methods -- Numerical Recipes 3rd Edition: The Art of Scientific Computing by Tuekolsky and Vetterling. I love this book. [5]

Randomized algorithms -- Randomized Algorithms by Motwani and Raghavan. [6], Probability and Computing: Randomized Algorithms and Probabilistic Analysis by Michael Mitzenmacher, [7]

Hard problems (like NP) -- Approximation Algorithms by Vazirani [8]. How to Solve It: Modern Heuristics by Michalewicz and Fogel. [9]

Data structures -- Advanced Data Structures by Brass. [10]

Functional programming -- Pearls of Functional Algorithm Design by Bird [11] and Purely Functional Data Structures by Okasaki [12].

Bit twiddling -- Hacker's Delight by Warren [13].

Distributed and parallel programming -- this material gets very hard so perhaps Distributed Algorithms by Lynch [14].

Machine learning and AI related algorithms -- Bishop's Pattern Recognition and Machine Learning [15] and Norvig's Artificial Intelligence: A Modern Approach [16]

These books will cover most of what a Ph.D. in CS might be expected to understand about algorithms. It will take years of study to work though all of them. After that, you will be reading about algorithms in journal publications (ACM and IEEE memberships are useful). For example, a recent, practical, and important development in hashing methods is called cuckoo hashing, and I don't believe that it appears in any of the books I've listed.

[1] Sedgewick, Algorithms, 2015. https://www.amazon.com/Algorithms-Fourth-Deluxe-24-Part-Lect...

[2] Cormen, et al., Introduction to Algorithms, 2009. https://www.amazon.com/s/ref=nb_sb_ss_i_1_15?url=search-alia...

[3] Sedgewick, An Introduction to the Analysis of Algorithms, 2013. https://www.amazon.com/Introduction-Analysis-Algorithms-2nd/...

[4] Knuth, The Art of Computer Programming, 2011. https://www.amazon.com/Computer-Programming-Volumes-1-4A-Box...

[5] Tuekolsky and Vetterling, Numerical Recipes 3rd Edition: The Art of Scientific Computing, 2007. https://www.amazon.com/Numerical-Recipes-3rd-Scientific-Comp...

[6] https://www.amazon.com/Randomized-Algorithms-Rajeev-Motwani/...


[8] Vazirani, https://www.amazon.com/Approximation-Algorithms-Vijay-V-Vazi...

[9] Michalewicz and Fogel, https://www.amazon.com/How-Solve-Heuristics-Zbigniew-Michale...

[10] Brass, https://www.amazon.com/Advanced-Data-Structures-Peter-Brass/...

[11] Bird, https://www.amazon.com/Pearls-Functional-Algorithm-Design-Ri...

[12] Okasaki, https://www.amazon.com/Purely-Functional-Structures-Chris-Ok...

[13] Warren, https://www.amazon.com/Hackers-Delight-2nd-Henry-Warren/dp/0...

[14] Lynch, https://www.amazon.com/Distributed-Algorithms-Kaufmann-Manag...

[15] Bishop, https://www.amazon.com/Pattern-Recognition-Learning-Informat...

[16] Norvig, https://www.amazon.com/Artificial-Intelligence-Modern-Approa...

Ask HN: What tech problems do your parents have?
10 points by neilsharma  2 days ago   25 comments top 9
dorfuss 2 days ago 2 replies      
I would simply say: there are too many changes in the interfaces.

And I agree with that - every new device and operating system changes things, and most often those changes are not necessary. I am not talking about functionalities, but UI.

I am not sure there is any value added in the UI changes between Win 95 and Win10. I am still using the good old WinAmp and TotalCommander which still have not changed by pixel in the last 10-15 years. Once you get used to certain technology, even if it is uncomfortable at the beginning, should not be re-designed and forcefully imposed on users.

fern12 2 days ago 0 replies      
My dad is an overly-enthusiastic Waze user. He is nearly 70, and the last thing he needs is a distraction. I have nagged him endlessly about how dangerous it is. I would love to hear any tips or suggestions on what others have said to their senior citizen parents on this topic.
neilsharma 2 days ago 1 reply      
My mom has had her own successful small fashion business for the past 25 years, and it frustrates me watching her do anything on the computer -- her business doesn't even have a website. The ironic thing is that she spends all day on it managing her thousands of photos, sending out sales emails, etc. Here are some concepts I've repeatedly helped her with:


- Navigating the file system is confusing, esp on a PC with a lot of default folders that don't need to be touched

- Drag + Drop relocates local files, but copies if you're uploading to the web/external device. Same action but different results.

- Setting up a new device with the essential software

- Debugging printer and wifi problems.


- Password recovery/management (she can't use skype anymore)

- Figuring out google drive (finally migrated her business on this)

- the concept of shared files vs attaching everything in emails

- to her, the internet is youtube, gmail, and google search.

- tabs are like browsers in browsers. How do you remember what page is opened in each tab?

- product names are non descriptive. Why aren't they called "Chrome Browser" and "Firefox Browser"?


- discovering her mobile number (i taped a sticker on the back of her phone with her #)

- making text larger (if she needs glasses to read, she won't read)

- managing push notifications and clearing voicemail (notification overload --> ignores all messages)

- She confuses the concepts of apps, icons, links, buttons, and thumbnails.

ruler88 2 days ago 2 replies      
I found that 'tech education' has rarely been successful with my parents and some of their tech-less peers. What was interesting is that mobile technology changed the game for them. I used to set up skype, screenshare, etc on their latest computer but they would not even use them 'cause it is still too complicated. These days, they can easily use the latest communication tools on mobile apps. It is quite amazing how mobile app design has penetrated and entirely new segment of the population.
atmosx 1 day ago 1 reply      
My dad had his IT revolution moment when he encountered the iPad. To me it was just a device with limited capabilities, for him is the predeferred medium of content consumption.

That said he still prefers sending his emails with his 12 year old Window XP laptop running Thunderbird.

billconan 1 day ago 1 reply      
guiding my parents remotely on how to use software is so difficult.

I have to be very specific, like I have to say click the button about 2 centimeters to the right board of the monitor.

I understand the design pattern of an ui. even I'm new to a software I know where to find what I need. but to them, every new ui is completely new.

For example, they still can't tell when to double click on a button/icon, when to single click.

I gave up on educating them, all I hope is a simpler way to provide remote support.

there used to be a remote desktop app called crossloop, which shut down after its company got purchased.

it's very easy to use, once run, it generates a code and just enter the code on my side, I can take over their desktop.

the closest solution now is chrome remote desktop, but guiding my parents through app store to install it is a long pain process and they can't remember where to find the app next time.

I thought about recreating crossloop myself for people with the same need. But I talked to my friends, they don't seem to share the same pain. And I thought the market for this will shrink as the newer generations are more familiar with computers.

lsiebert 2 days ago 1 reply      
]How to switch the tv over to watch netflix is currently saved in a google docs file for my mom, but really, there should totally be a macro based remote that could handle delays for device power up and switching that would be useful.
eecks 2 days ago 2 replies      
Understanding wifi vs data
Mz 1 day ago 1 reply      
When I worked at a Fortune 500 company, I made short tutorials with screen shots that I would email people in my department when they had certain issues.

When I played IT support for a local not-for-profit, I did things like created a desktop icon for the things most needed by the technically illiterate staff member who had to fill out so much of their peperwork on the computer.

       cached 13 October 2016 04:05:02 GMT