hacker news with inline top comments    .. more ..    12 Feb 2014 Ask
home   ask   best   5 years ago   
Ask HN: Do you see a therapist?
3 points by seancoleman  56 minutes ago   4 comments top 4
ada1981 0 minutes ago 0 replies      
I have, yes. Problem is, therapy isn't much more effective than placebo these days. Psychoanalysis has largely been shown to not work... There are things you can do, however. Gratitude is probably the single highest expected value activity you can do for your mental health. Also, developing a practice to fully feel and process / access emotions. Happy to share more and talk if you need.. anthony @ 175g . com

PS - I also work as a coach with high performers and have helped a number of folks on Hacker News for free who have reached out, and happy to do the same for you or anyone else.

brudgers 1 minute ago 0 replies      
We went to a therapist [Licensed Clinical Social Worker] for marriage counseling at two different times in our 18 years of wedded bliss. These are decisions I have never regretted.

For context my spouse is a therapist - hospice, oncology, Alzheimer's and geriatrics over the past twenty odd years - so I am perhaps biased.

jacob_smith 33 minutes ago 0 replies      
I'm not a founder or co-founder, but I started to see a therapist or counselor about 2 years ago. My level of stress was mounting and I was falling into depression. I had just gone through some pretty big transitions, but I realized it was too much for me to handle on my own. After going to counseling regularly, I started to feel like I really regained control over my emotions and decisions. I could organize my time much better, and, although not necessarily "Mr. Peppy!", I got back much of my spunk and personality that had started to slip away.

If anyone is thinking about it, I highly recommend it; if you think you need it, it probably won't hurt. And don't be discouraged if the first counselor doesn't fit; it took a few before I found one that was comfortable to talk to and that could challenge me to actually make progress in myself.

rosenjon 35 minutes ago 0 replies      
Yes. To talk about startup anxiety, but also balancing everything else in life. I think the desire to problem solve also extends to life issues, and sometimes this gets unhealthy if it all stays in my head.
I open sourced my startup
30 points by MikeChristensen  7 hours ago   6 comments top 5
aranjedeath 41 minutes ago 0 replies      
Thank you for granting the world the spoils of your hard work.
Oculus 5 hours ago 1 reply      
Could I ask why you didn't turn it into an API and pivot into an API as a service?
lumpysnake 7 hours ago 0 replies      
gaylemcd 6 hours ago 0 replies      
This is awesome. Always a fan of people open sourcing cool technology like this!
somid3 4 hours ago 0 replies      
is KPCData.xml the whole recipe database?
Show HN: Centering a Div with Physics, Instead of CSS
2 points by jared314  56 minutes ago   discuss
Ask HN: What startup did you try to create in past that failed?
7 points by tzz  5 hours ago   2 comments top 2
chewxy 2 hours ago 0 replies      
I list some my failed startups in my HN profile. Chronologically:

1337Tech(2005) - a tech review blog ala AnandTech. Tear downs, detailed reviews and the like. Failed because we couldn't keep up a schedule

edgeyo(2009-2012) - a matching marketplace for investors and startups - think AngelList + SecondMarket + KickStarter. Ran into some regulatory concerns, and eventually we decided to just close shop because we couldn't put enough time and effort into working past some of those issues.

SpellTrade(2010) - a options exchange for Magic the Gathering cards. Supply problem caused a bootstrapping problem (our partner couldn't put up enough to supply the cards for bootstrapping). Closed before we even made a sale.

Strangers For Dinner(2012) - a matching market for strangers - one party will host a dinner party, and 5 other people will show up as guests. We managed to match about 50 parties in total before the number of people signing up as guests far outnumbered the people wanting to host. Also, people were not likely to host a second time. Couldn't get around this problem, plus the team had other commitments, so we shut it down.

2 out of three of the startups I had in the last 4 years or so were killed because they eventually became zombie startups. We couldn't get traction.

systematical 4 hours ago 0 replies      
In 2006 I created a site that allowed you to upload, categorize, and play your MP3s. I was solving a problem I had where a recent hard drive failure caused me to lose ALL of my music.

The site actually got big really fast because in 2006 no real competitors existed and SEO was very easy (then).

It failed for a few reasons:

One, before the site I didn't know how to program. I actually taught myself how to program in PHP/MySQL/JS to launch the site. The code was very shitty and so was the design.

Two, I didn't understand just how much bandwidth this would consume. I ran this out of my downtown 1 bed room apartment on a PC built in 1999. Sometimes I'd wake up from parties and see people passed out next to it with beer bottles and weed on top of it. Eventually my Dad donated a DL380 to me, but the bigger problem was I ran this on a business class DSL line. Playback and uploads were terrible. Sometimes I would actually disconnect the server from my modem so I could do online gaming.

Three, I had no idea about how to make money online or find investors. I had no plans other than just build it cause its cool.

In the end it worked out really well. I discontinued the site and continued my career in development.

Ask HN: Why aren't there more PGP/GPG fields in sign up forms?
3 points by achalkley  3 hours ago   2 comments top
chewxy 2 hours ago 1 reply      
Because it's difficult. Count how many steps it takes to generate a public key (opening a terminal window counts as one, answering each gpg question counts as one, moving your mouse counts as one).

And then there is the fact that your private key is in files, which risk being lost. If you use a keyserver, you have to go find a keyserver to use. Also, some people (myself included) like to have multiple identities, hence multiple publick keys.

It's hell to manage for us hackers, what more your SixPack Joe who has never even touched a command prompt in his life.

What I want to see is something truly unintrusive to use. I like OS X's keychain concept, but I cannot ever bring myself to trust keychain with my private keys.

p/s: I have a public key in my blog. Guess how many times I've received an encrypted email from my blog enquiry? Zero. Everyone uses plaintext instead.

Ask HN: Where do you search for talent?
5 points by state  9 hours ago   1 comment top
wglb 8 hours ago 0 replies      
Hacker news is an excellent place to find talent. There is the monthly "who is hiring" job posting, and I know of at least one very successful firm that watches comment history to find candidates.
Ask HN: Where does this resume style come from?
2 points by stasy  5 hours ago   2 comments top 2
Show HN: JS library to make your website instant
386 points by dieulot  3 days ago   174 comments top 44
VeejayRampay 3 days ago 6 replies      
Another idea: take into account the movement of the mouse to define a directional cone in the general direction of the movement, which would enable you to preload your pages even before the hover state occurs.
wesley 3 days ago 0 replies      
I wish there was an instantclick link to this website..

OK, here it is: http://instantclick.io

CoryG89 3 days ago 1 reply      
After looking at the source, one thought I have is that since you are dealing with such small timescales you should use the high resolution window.performance.now function (or the Date.now function for higher compatibility) as a timer instead of using the Date object as you do.
callesgg 3 days ago 2 replies      
Realy Cool,Only real problem with this is if the clicking has side effects like: http://example.com/?action=logoutas brought up on page.

And probably a ton of other application bugs as style and script stuff wont load. like they normally would

adwf 3 days ago 1 reply      
Really awesome. I was working on something like this myself, but using Jquery ajax combined with history.pushState for partial page loads. This is much better!

There are a couple things that I had on my TODO list that could be handy though:

1) Caching - if you hover back and forth over two links, it will keep loading them every time. Dunno whether this can be alleviated or not.

2) Greater customisability. It'd be great if I could customise whether it was a hover or mousedown preload, on a per link basis. Some links benefit from hover, others it might be overkill.

3) Lastly, it would be cool if it could link up with custom actions other than just links. For example, jquery ajax loading a fragment of html to update a page. This is probably lower down on my priority list though, as the full page prefetch works remarkably fast.

Keep up the great work!

dmazin 3 days ago 1 reply      
By the way, if you don't want to listen to mouseover, merely listening to mousedown takes 50-70ms off loads [1]. Not ignorable.

[1] https://github.com/rails/turbolinks/pull/253#issuecomment-21...

primitivesuave 3 days ago 1 reply      
One way I see to move this forward in websites at scale is to run a test where you find out the percentage of hovers that result in a click. Suppose its 90% - that means that 10% of those hovers result in fruitless busy-work for your server. Multiply bandwidth + server cost by 10%, and compare that amount to the amount you'd be willing to pay for near-instant load times.

For many companies (Facebook, Twitter, etc) the desire for instant user gratification is paramount, so the push toward instant browsing experience is a very real possibility. One problem is that most people wouldn't really notice, because these websites load pretty quickly as it is.

One interesting direction is if there was some kind of AI in the background that knows what pages you're likely to visit and preloads them - Facebook stalking victims would become an instantclick away.

snitko 3 days ago 3 replies      
While interesting, I think this kind of functionality should be implemented only by browser developers and should be turned off by default. Really, I can wait 1 second until the site loads. What I don't want is some library accessing sites without my permission. I usually place mouse over links to see what URL it points to and I sometimes do not wish to click.
w1ntermute 3 days ago 1 reply      
Doesn't Chrome already do something like this?
maxucho 3 days ago 1 reply      
Awesome work! I just installed this in my own new experimental (read: very low traffic) web app: http://www.penngems.com/

I set the preload to occur on mousedown rather than mousover, as per the docs, but even with this I noticed near-instantaneous page loading.

lmartel 3 days ago 1 reply      
This is very cool!

One interesting reaction I had: things loaded so fast that I didn't notice one of the page changes and thought it was stuck. For sites like this one where different pages look very similar, maybe it could be worth experimenting with some sort of brief flashing animation (to make it look like a real page load)?

d0ugie 1 day ago 0 replies      
Note that the author, Alexandre Dieulot, opted generously to release this under the MIT license (thanks buddy).


pokstad 3 days ago 2 replies      
I have an even better hack. Since most blog posts / articles are nothing more than a bunch of text, I simply download all articles in a single fetch when the initial page loads. I do this using a CouchDB view that returns all blog posts in chronological order. All successive link clicks don't hit my server (unless there's an image in the article that needs to be loaded). Check it out: http://pokstad.com
romanovcode 1 day ago 0 replies      
So this is like a fork of TurboLinks? I've made this thing myself for website I use in couple of minutes. I would probably not rely my whole website on this plugin.
p4bl0 2 days ago 1 reply      
I'm not sure it's working for me, I don't see any special network activities in Firebug while using the website.

Also, you should take into account the focus event of links, I tried and it seems you doesn't when trying on the "click test" page to tab tab tab on the test link and then hitting enter.

westiseast 2 days ago 0 replies      
Nice! I used pjax for a Chinese-English dictionary project, and it was nice, very very fast.

As you mention with JS scripts not working, I had to do things like rebind functions when pjax finished, or load new JS snippets along with each HTML (page) snippet. Not too huge a compromise.

soundoflight 3 days ago 1 reply      
Prefetching really shouldn't be blindly applied to everything as users may have bandwidth limited. Even though your implementation is better than browser prefetch on users it does take the choice away from the user unless individual sites make it easy for users to opt out.
AshleysBrain 3 days ago 1 reply      
Isn't this what link rel="prerender" does? https://developers.google.com/chrome/whitepapers/prerender
ishener 3 days ago 4 replies      
i still don't understand why in 2014 it's not possible to have an entire website with all it's files zipped and shipped as it is on the first request. how wasteful is it to have 50 requests for a server just for images and resources? have your root domain be a zip file of everything you need to view it, and then include some additional popular pages along with it. it can't get any faster than that
lifeformed 3 days ago 1 reply      
Is there a demo page? I want to see what it feels like.
thasmin 3 days ago 1 reply      
Have you considered preloading all of the links while the person is reading the page?
auvrw 3 days ago 0 replies      
> before clicking on a link, you'll hover over it.

unless you use vimperator or similar. the demo handles this though, giving a hover time of infinity.

oneeyedpigeon 3 days ago 3 replies      
Wouldn't this ruin usage stats?
wiradikusuma 3 days ago 1 reply      
Does it work with SPA, particularly using AngularJS? (Essentially what's needed is the "prefetch on hover")
mbesto 3 days ago 1 reply      
In theory you could write a chrome extension and use it for any site, right?
insertnickname 3 days ago 0 replies      
>Click Hover =

>Click Mousedown = 2 ms

>Click Touchstart =

I win!

napolux 3 days ago 2 replies      
Wonder what happens for website with zillion of visitors per day.Could all this preload impact on servers?
ruricolist 3 days ago 1 reply      
The tricky thing with all of these (pjax &c.) is that by loading with JavaScript, you lose progressive rendering, so while reducing latency you may actually lose perceived speed.
udfalkso 3 days ago 1 reply      
Very nice. It would be great if the JQuery Mobile folks would integrate this.
resu 3 days ago 0 replies      
This is really cool! I'll try it out.

Thanks for sharing :)

wololo_ 3 days ago 1 reply      
Does it support /#!/ (hashbangs) or just pushState ?
mrfusion 3 days ago 1 reply      
Love it! Will it only work on html5 sites?
robgibbons 2 days ago 1 reply      
I would be hesitant to rely on mouse input, or even touch input. Think about things like screen readers and accessibility and you'll quickly learn there are many ways people browse the internet.
lintiwen 3 days ago 0 replies      
I have problem understand "instant website",

can you provide some specific definitions? thank you

loteck 3 days ago 1 reply      
Am I correct in assuming that touch interfaces can't benefit from this kind of architecture?
sagargv 2 days ago 0 replies      
Awesome ! I can't believe I hadn't thought of this before.
matysanchez 3 days ago 1 reply      
Any demo? I mean, a implementation in a real web, like a blog or something like that?
aabalkan 3 days ago 1 reply      
Is there a demo?
kjannis 3 days ago 1 reply      
Does this require server components? Or does it also work with a static site?
davidslv 2 days ago 0 replies      
I couldn't manage to see anything special.
toddwahnish 2 days ago 0 replies      
This is fantastic - will definitely use this!
math0ne 3 days ago 1 reply      
umm like 40% of traffic is already touch, seems too late
augustohp 3 days ago 0 replies      
Extra kudos for not using jQuery!
aehv 3 days ago 2 replies      
Is it possible to make it a Chrome extension and use it on all sites?
Ask HN: Client side storage JavaScript libraries?
2 points by notastartup  5 hours ago   2 comments top 2
matthiasak 1 hour ago 0 replies      
I wrote a library that lets you store and retrieve from Local Storage https://github.com/matthiasak/Loader.

Local Storage is ie8+, so if you need to support less than that, you might need a polyfill https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Brow...

Ask HN: What are the best sources of news for iOS app dev?
46 points by stasy  1 day ago   23 comments top 13
kennywinker 1 day ago 1 reply      
Twitter. My technique was to look up the developers of all my favorite apps on Twitter, follow them... and then whenever they RT someone saying something interesting, follow that person too. In a very short time you'll have a comprehensive feed of interesting developers talking shop.
rismay 1 day ago 2 replies      
Come on guys: NSBlogThat Mike Ash is amazing. https://www.mikeash.com/pyblog/Also: Ash Furrow. That guy is serious about helping. http://ashfurrow.com/
kunle 1 day ago 0 replies      
jackflintermann 1 day ago 1 reply      
My top 3 are probably:

- the iOS dev weekly newsletter (iosdevweek.ly)

- NSHipster (nshipster.com)

- objc.io (objc.io)

nimeshneema 1 day ago 0 replies      
Not directly related but these blog posts does includes links to some great resources:

What's in my iOS Toolbox (in 2 parts):



jwmoz 17 hours ago 0 replies      
While we're here, I don't suppose someone who knows the scene could recommend an article or post that demos how to hook up a basic ios7 app to a general API (likely REST)?

A goto post would be really useful.

AznHisoka 8 hours ago 0 replies      
BuzzSumo. Search for "app development"
gbrhaz 19 hours ago 0 replies      
Along with what everyone else has said, I would also add in iOS Goodies:


marcanthonyrosa 13 hours ago 0 replies      
I recently discovered a HN-esque board called MobileNews - It's my go-to source for mobile app news, design resources, ASO content, etc.


dshankar 1 day ago 1 reply      
nshipster & objc.io are excellent sources.
herbig 23 hours ago 1 reply      
On that note. What about Android?
Ask HN: I am an intern
3 points by musiic703  7 hours ago   3 comments top 3
GrahamsNumber 7 hours ago 0 replies      
Are they paying? Then stay until you find another job. Otherwise, just leave now.
bnejad 5 hours ago 0 replies      
Sounds like they are helping you out by giving you breathing room to find another gig. Assuming they are paying you I would use your time to find other work quickly as it will get old quickly for both parties.
dataminded 7 hours ago 0 replies      
It is much easier to find more work if you already have work.

Stay there. Ask for feedback on your performance and use your time to address weaknesses that they saw.

Ask HN: How is your company using Node.js?
9 points by chrisabrams  10 hours ago   8 comments top 5
dangrossman 6 hours ago 1 reply      
1. Node.js powers the data collection for W3Counter's real-time dashboards


2. I got tired of fussing with kernel network config tuning, and I'm more confident with writing servers in node than C/C++.

3. A reduction in TCP sockets needed to handle a few thousand concurrent connections from several tens of thousand to just the few thousand. The request/response model of doing it in something like PHP meant there were connection from the users to nginx, nginx to php-fpm, php-fpm to the database for each user -- and it increased at more than just 3x the number of users since TCP connection stick around a while after they're finished waiting for any out-of-order packets and such.

A reduction in time-per-request from ~70ms to ~1ms. No initialization/db-connect/teardown per-request means node can do its thing and dispose of the request much faster than PHP, which was the original language this was written in some years ago.


jed_watson 3 hours ago 0 replies      
I run a web development company in Sydney called Thinkmill (http://www.thinkmill.com.au).

We use Node.js for everything we do, from mobile app backends to websites to web apps. We've been using it for nearly two years, and found it fantastic - compared to technologies we've used previously it's faster to develop in, faster to run, easy to deploy (especially with platforms like Heroku) and the value of npm and the ecosystem of high quality open source packages is hard to overstate.

We have also developed an open source Node.js model-driven CMS / web app framework called KeystoneJS (http://keystonejs.com) which is built on Express and MongoDB and has been getting some great feedback :)

The biggest lesson / gotcha has been getting into the different mindset - especially when we started, there wasn't a lot of 'hand holding' available compared to other languages and frameworks, and there were few established best practices to follow. I think it's easier these days (there's certainly more out there) but I'm very familiar with it now so it's hard to gauge from a beginners point of view.

It's easy to fall into traps with callback patterns and error handling, for example - so you really need to get your head around what's out there (like the async library for example), and how to structure your application and code.

rpedela 7 hours ago 1 reply      
1. https://www.datalanche.com

2. The correct, proper answer is very, very long. Too long for a HN comment. The short version is that the product is I/O heavy since it mostly just queries a database and returns the results to the user over HTTPS. Node is primarily designed for this use case.

3. Per-query memory overhead is less than a threaded approach. Javascript is one of the fastest scripting languages when it comes to string manipulation which is what the API server does besides I/O. Node itself is written in C/C++ so it is quite fast too.

4a. Being single-threaded, it is very sensitive to CPU-bound tasks. I am actually working on refactoring some code to support streaming because there is an edge case that is CPU-bound and stalls the whole process.

4b. A big downside for my use case is handling 64-bit integers and numerics since Javascript does not natively support these data types, but are very important to support in a database product. We have worked around it using strings. The API server does little computation itself, so it isn't that big a deal.

4c. If you are doing a lot of CPU-bound work or computation with large numbers, then I strongly recommend not using Node. Otherwise it is probably okay even if your use case is not what Node is primarily designed for.

I should also point out that I have been developing software for a long time and have learned to become skeptical of the latest language, framework, tool, etc. I have seen so many of them come and go. It took some convincing for me to decide on Node for Datalanche. I am a big believer is picking the right tool for the job rather than the latest trend. I will be the first to say one should pick Node because it is the best for the use case.

shanelja 5 hours ago 1 reply      
We are using Node as a backend to multipart uploader interfacing with the Amazon S3 architecture. Our application is built in Symfony2, but we found that Node was much easier for writing parallel upload scripts in. Took less than 3 days and works perfectly every time, no regrets there.
stevekemp 6 hours ago 0 replies      
I'm not a company, but that said I'm using node.js in a few toy applications.

For example I have a HTTP-server in node that accepts POST requests and sends their bodies over to an XMPP server.

For a bigger project http://blogspam.net/ aims to classify blog-comments as spam/ham in real-time, and the entire server is written with node.js. (It really just receives JSON objects, scans them with a series of plugins, and sends back a reply saying "OK" or not. Conceptually simple.)

Finally my email stack is powered by node.js, handling 30ish virtual domains with recipient testing, and anti-spam at SMTP-time. This is built around Haraka, which is a reimplementation of the ideas found in qpsmtpd. (A server I once built a small company around.)

Generally I've chosen node because it was fast to get "a scalable server" up and running with. Both the blogspam service and the mail handler were initially perl, and both received 20-40% speedups for free (well if you don't factor in my developer time).

Ask HN: Decode Youtube 500 page
42 points by aeon10  1 day ago   18 comments top 8
slashdotaccount 1 day ago 0 replies      
It is non-standard base64: it uses '_' and '-' instead of '+' and '/'. You can read in Wikipedia at https://en.wikipedia.org/wiki/Base64
Perseids 1 day ago 1 reply      
Why do you assume it is not base64 encoded? I have always come to believe it is some encrypted data. If I was Google I would probably give every server a UUID and a symmetric key. If an error occurs encrypt (and authenticate) the stacktrace and other debug information with that symmetric key and prepend the UUID. As a developer you can then find out the server that produced the error message, log in via SSH and decrypt the debug information.

But it would be interesting to collect a lot of this error messages to check if they appear to be completely random.

djthorpe 1 day ago 1 reply      
The code is indeed very useful to debug issues. When asked for it by YouTube, please provide the actual text rather than a screenshot...I get sent the screenshot a lot and then I have to use OCR software in order to decode it.
WhatsName 1 day ago 1 reply      
goblin89 1 day ago 1 reply      
Perhaps questions like this one should be asked somewhere else, possibly StackOverflow: http://stackoverflow.com/questions/21681084/decoding-youtube...
kaivi 1 day ago 0 replies      
It is surely an encrypted stack trace, encoded in base64, which is probably being spit out by the load balancer proxy. I would not be surprised if Youtube developers used their own Chrome extension for making that binary meat readable.

I have once set out to write a module for Nodejs for the same purpose, but never finished it. Can't really see a downside in this way of reporting errors.

babawere 1 day ago 0 replies      
1. Non-standard base64 and 2. Definitely Compressed ... by guess would be snappy compression3. Possibility of serialization using protocol buffer4. not sure if such information would be encrypted after such a server failure
nigma 1 day ago 1 reply      
Using Python 3.3:

    import base64    base64.urlsafe_b64decode(s)

Firefox adding sponsored links on new tab page
2 points by seyfarth  7 hours ago   discuss
Ask HN: What are the best sources for inspiration for website designs?
18 points by sanchitbareja  1 day ago   9 comments top 7
LarryMade2 14 hours ago 0 replies      
CSS Zen Garden is good, focuses on design not content. As all the examples use the same HTML.


andrejewski 1 day ago 0 replies      
These are some design resource pools I visit:http://www.awwwards.com/ all website design)https://news.layervault.com/ (Site Designs)http://sidebar.io/ (UI+UX too
etuil 6 hours ago 0 replies      
mkremer90 1 day ago 2 replies      
I know it's probably a common one, but I tend to hang out on http://dribbble.com
simzen85 23 hours ago 0 replies      
Did you take a look at http://www.smashingmagazine.com ?
Ask HN: Not sure what to do with my side project.
6 points by centdev  1 day ago   16 comments top 4
relix 21 hours ago 1 reply      
Move from S3 which is ridiculously expensive for an image host, to something more suitable such as imgur:

Looks like you could go with the $25/m plan: https://www.mashape.com/imgur/imgur-9#!pricing

phantom_oracle 16 hours ago 2 replies      
You are stuck in the monetization part of your side project. Its not that your side project has stalled, it is that you have auto-piloted it without adding alternative monetization strategies.

As relix mentioned, you also need to cut costs too.

If I owned this project, I would probably pick it up again and try to add some new niche to it and find some other revenue sources.

"just under a million tokened users" I don't know if this is means almost a million users or not, but that is a massive audience already.

sharemywin 1 day ago 1 reply      
is it costing you money? is it growing? if not what could you do to make it grow. maybe allow people to add accounts and post comments. if there are heavy commercial users look at charging them. Are the banner ads retargeted adwords? that might help conversion.
phoney 1 day ago 1 reply      
How about trying to sell on flippa.com?
Ask HN: How persistent and smart do you have to be to learn to program?
5 points by jamesfranco  22 hours ago   21 comments top 13
wturner 3 hours ago 0 replies      
I taught myself conventional programming with javascript over the last few years by virtue of my fascination with audio. The 'web audio api" exists hence a lever is in place to keep me going through the inevitable "trough of sorrow" dips.
LarryMade2 5 hours ago 0 replies      
One strategy is load up some interesting project already written onto your workstation and dive in and tweak away. You will 'get your hands dirty' in good code and get some instant gratification from the changes you make. Along with that, work on building your basic scripts and projects, when you feel confident with tweaking code go back to coding from scratch, get frustrated, go back to tweaking stuff...
dragonwriter 21 hours ago 1 reply      
> I'm a beginner trying to learn Ruby on Rails. Most tutorials show who to .reverse strings of text.

Don't use an online tutorial, you need more. You really probably should learn the basics of programming Ruby before diving into Rails, but, if learning the basics is demotivating and you need a deep dive, I'd recommend you get the book Agile Web Development with Rails [1], which is a pretty good dive into rails that covers a lot more than any web tutorial will.

[1] http://pragprog.com/book/rails4/agile-web-development-with-r...

gvickers 9 hours ago 0 replies      
About two years

I'm serious, two years of an hour or two a day (at least!) will give you enough foundation to really enjoy it. You have to start with tutorial, use the sample projects you build and change them drastically. Break them, improve them, talk to people about them.

The issue that is most common is the starting momentum is difficult. There are some concepts that are dead simple in programming, by their nature they are composable. The composition of simple concepts form virtually all the higher level concepts. It's not so much learning to code as it is learning to think in a certain way.

NAFV_P 18 hours ago 0 replies      
Not particularly smart I would say. Frameworks exist partially to make the process of creating programs easier and quicker.

Very persistent I would say. I have a lot of persistence, but I don't think that I have enough.

For now, put the train set away, and learn Ruby. With enough persistence, you could end up beating some professionals.

I looked up reversing strings in Ruby and ROR, no wonder you're bored. I had to write all this to get it done in C and it was quite entertaining:

  char *reverse(char *s) {    char *a=s, *b=s+strlen(s)-1, c;    while(a<b) {      c=*a;      *a=*b;      *b=c;      ++a;      --b;    }    return s;  }

centdev 13 hours ago 0 replies      
As someone who doesn't know Ruby, my only advice relates to coding in general. When I first started out with absolutely no experience at all, I started by getting a basic understanding of the language and trying to write small apps. It felt more rewarding to have a goal in mind, even if the app would never be shown to anyone else. Also I'd recommend not copying any code that you find on the internet verbatim. Coding becomes an art form and you don't want to pick up the bad habits of some developers by using code snippets you find around.
lutusp 21 hours ago 0 replies      
> I'm a beginner trying to learn Ruby on Rails.

Really? That's like learning Calculus before addition and subtraction. I recommend that you learn basic computer programming before trying to learn how to manage a development scheme like Rails.

> When am I going to learn the good stuff?

Don't try to start at the top, you will crash and burn. Start at the bottom and work upward.

There are many ways to start, and reasonable people may differ. I personally recommend that you learn Python first -- it's very approachable and it teaches you the basics first.


iamwithnail 20 hours ago 0 replies      
If you're not seeing how you're going to use these things iqwn your own code, you should have a think about why that is; these techniques are the basis of everything else that you're going to do. I've been learning for 6 months now, and I can say I'm definitely still using "boring" stuff that I learned when I was doing the first cocademy tutorials. I learned a bit of python, realised I wanted to put a lot of it on a web page and then went to Django from there. I'm still making a lot of mistakes, so you do need to be persistent, but smart? Not for the basics, not really, just willing to learn. There comes a point where you need to be smart, but it's further down the line than I am. I can get away with the clunky hacks and boilerplate code I often end up using but I pay a price for that in terms of speed of delivery and performance. It'll get better over time.
collyw 14 hours ago 0 replies      
I think it is the sort of skill some people get it some people don't.

I did a intense year long IT conversion course in 2000 (dot com boom time). The course started with 3 weeks of intense Java teaching followed by an exam. If the student failed the exam, they were advised not to take the course. A couple of the people decided to stay on anyway, and didn't do very well afterwards.

Ronsenshi 21 hours ago 1 reply      
I concur with lutusp and also recommend learning Python first (or at least raw Ruby).

Before you start working with huge, highly opinionated framework such as RoR, you should understand how programming in general works. ifs and elses, functional programming and object oriented programming, patterns etc.

Regarding your question. You have to be very persistent - there's a huge amount of stuff to learn. Months of active study and tinkering with tutorials and small projects.

If all you want is to whip out a login page and a blog, then maybe it'd be better to use a CMS?

Goranek 21 hours ago 0 replies      
I think it's not hard to learn how to program but it's hard to be good at it and be able to continue working and being productive when you encounter uninteresting parts of a project.
garyjob 21 hours ago 0 replies      
Try learning and getting familiar working with and manipulating the more basic data structures like String, Array, Integers.

These data structures usually get ported across various languages.

Once you have a good grasp of that try starting work on the tutorials they have on Rails you can find online.

phantom_oracle 16 hours ago 1 reply      
Are you a professional actor?
Ask HN: Curriculum for learning JavaScript, JQuery, and Node?
6 points by optimus  1 day ago   6 comments top 4
BenWhit 8 hours ago 0 replies      
IMO, learn pure js but while learning the basics, get your hands dirty with some frameworks, small side projects or tutorials and workshops. This will help you find what framework you enjoy or really "clicks" with your personal preferences. Its also more fun then learning the syntax and structure of a new language. There will be another framework to learn next month but pure js is going to be around for a while.

Some good resources for learning JS from the ground up (pure js)..

Books (highly recommended):

- Javascript: The Definitive Guide

- Eloquent Javascript

- Professional JavaScript for Web Developers 3rd Ed.


- https://learn.thoughtbot.com/javascript

- http://javascriptissexy.com/how-to-learn-javascript-properly...

- http://www.reddit.com/r/learnjavascript/comments/1oq8ns/lear...

- http://jstherightway.org/

For Angular (http://egghead.io) is a great resource for short/dense screencasts (from what I've heard/read)

malandrew 22 hours ago 0 replies      
Eloquent JavaScript - Marijn Haverbeke

Effective JavaScript - Dave Herman

Functional JavaScript - Michael Fogus

Once you know JavaScript, dig into the codebase of larger mature projects by the most prolific/well-known developers in the JavaScript community, like TJ Holowaychuk, Isaac Schleuter, Dominic Tarr, Raynos, Marijn Haverbeke, Oliver O'Steele, James Halliday, Mikeal Rogers, SamuraiJack, Gozala, Creationix, Kritowal, Marak, coolaj86, TooTallNate, indexzero, hij1nx, pkrumins, John Resign, Douglas Crockford, etc.

Sorry if I missed any names.

anshumans 1 day ago 0 replies      
I'm in a similar boat. For Javascript, I found http://www.amazon.com/JavaScript-Definitive-Guide-Activate-G... to be a good place if you have little to no familiarity of Javascript. For Node, I'm using the links suggested here http://stackoverflow.com/questions/2353818/how-do-i-get-star....

For Angular, I've just followed the documentation on angularjs.org and tried applying it to various web projects that I have already.

I feel that there are a lot more projects in pure JS compared to CoffeeScript that even if you did learn CoffeeScript, you can't avoid encountering pure JS.

mmanfrin 1 day ago 1 reply      
Codeschool as courses on all of these, and they are very good.
Debian discovers more than 100,000 potential privacy breaches in documentation
9 points by slashdotaccount  1 day ago   3 comments top 2
mjn 1 day ago 0 replies      
Very nice initiative I hadn't run across before. Some of these are likely to be false positives, but it's definitely a good move to mass-check for this kind of thing the Debian archive should be trustworthy, not something like the iOS or Google Play stores where you can assume the average app is piled with phone-home spyware.
bjourne 1 day ago 1 reply      
Lintian works using a set of heuristic rules which sometimes generates false positives. That is certainly the case here. Nothing to get alarmed about.
Ask HN: Open Source projects to join?
3 points by chimmychonga  1 day ago   5 comments top 2
phantom_oracle 16 hours ago 1 reply      
Would you like to join my FOSS team?

I've managed to help someone else here looking to contribute to FOSS stuff.

We basically build our own OSS stuff (currently working on a blog project).

chimmychonga 1 day ago 1 reply      
also I'm sure it would be important to note that I am familiar with Java, Python, C++, and am learning Perl this semester. I typically pick things up pretty fast so learning a new language (unless its just a strange one) wouldn't be that difficult for me.
HN has blocked in some area of China
2 points by shellehs  21 hours ago   3 comments top 3
nmc 20 hours ago 0 replies      
ravitejak 20 hours ago 0 replies      
As far as i know they will try to block dns, but not that ip from communicating with you.A simple way of accessing could be knowing its ip address by pinging that domain and using that ip address in browser.
bx_ 19 hours ago 0 replies      
It's not blocked in Shanghai. It's probably due to the ~10 underwater fiber optic lines outside Qingdao that got cut recently.
Ask HN: Is there a "magic bullet" to test claims of Verizon/Comcast throttling?
3 points by astrobiased  1 day ago   2 comments top 2
wmf 1 day ago 0 replies      
Other than some kind of leak there's essentially no way to have proof. But bandwidth tests from many customers across many AS paths could expose where the problems lie, and if they all lie in one particular place then we could break out the pitchforks.

Here's an example of uncovering the "everybody pays Comcast but Comcast pays no one" business model: http://www.internap.com/2010/12/02/peering-disputes-comcast-... It appears that Verizon has now adopted the same tactic of creating selective congestion through deliberate non-upgrading.

ScottWhigham 17 hours ago 0 replies      
At one point, Google used to have a page speed test - it was here:


Now, that "page" is just a commercial/education as far as I can tell. The "Your results" part, for me at least, is grayed out and says "Your results are not available" when I mouse over.

Interestingly enough, they have a bunch of gobbledegook at the bottom of this page about being a "HD Verified ISP" -


No actual data though, at least I don't see it. It claims to have "ratings" but I see nothing but text.

Ask HN: Svbtle or Medium?
5 points by seancoleman  1 day ago   12 comments top 4
minimaxir 1 day ago 1 reply      
Medium is much, much better than Svbtle, but keep in mind it'll be near-impossible to hit the HN front page on Medium.
gaelian 1 day ago 1 reply      
I wrote a blog post about this that you may find useful: http://blog.binarybalance.com.au/2013/12/06/why-i'm-not-writ...
markhall 1 day ago 0 replies      
I've been asking many ppl the same question. I would recommend considering how important authorship control vs content spreading. I've heard that Medium puts the author secondary and doesn't provide robust analytics. I haven't thoroughly tested Svbtle yet (about to). Ghost seems great but I don't want to host my own and debating if the price-point is worth it. I think it's great how much design innovation is going into the content creation process.
tzaman 1 day ago 1 reply      
You might want to consider to add Ghost to the list of considerations as well. In terms of UX it's close to both Svbtle and Medium, but you get to keep your own data.
Ask HN: What is REST exactly?
58 points by RivieraKid  3 days ago   57 comments top 26
overgard 3 days ago 3 replies      
Mostly, it means using HTTP verbs on URLs to represent create/update/read/delete. (IE, POST/PUT/GET/DELETE)

There are other intricacies like HATEOAS (which sounds like a horrible breakfast cereal), but it basically mostly comes down to updating resources using http verbs.


(Personally I don't get the reverence it gets since it's basically just about verbs and locations, but whatever, it works well enough).

slashdotaccount 3 days ago 4 replies      
REST is an architectural style. It is a formalisation of Fielding's observation how the Web works.

A RESTful interface follows those principles and must employ hyperlinks (links in HTML, XLink in XML, _links property in HAL+JSON) and/or hypermedia controls (forms, XForms) and standard HTTP methods to assert state on resources. Resources are adressed by URIs.

An interface description concentrates on describing the semantics of media types of the resources (unless you were clever and picked an appropriate one that already exists) and link relations ("a", "link", "area" element with "rel" attribute in HTML; link objects in HAL+JSON; RFC 5988 Link headers for any media type). Link relations are standardised by IANA, but you can make your own one and assign some semantics to it by coining a URI. When an interface describes particular URIs (what you typically get when you google for REST interface examples), it's doing it wrong. An interface implementation allows a user agent to discover resources through hyperlinks and what you can do with them through an OPTIONS request. You can recognise a REST n00b by their lack of talking about link relations, which is so far everyone else's answers. I must consider colund's and dclara's answers as wrong/unhelpful because their explanation is so limited and unprecise.


shanemhansen 3 days ago 1 reply      
I'm happy to read comments that indicate that understanding of REST is starting to improve. The old adage about sex applies to REST: "Most people that say they are doing it, aren't doing it. Those that are are probably doing it wrong".

It might be best to preface this with a list of things that REST isn't. Rest is not:

1. Pretty urls from your framework of choice that look like /dogs/breed/chow/weight/150 . Why? because the query string exists for a reason and has well defined semantics.2. Using some framework serialization package to output xml or json for content negotiations. Why? because the hardest, most important part of REST is defining media types, and the garbage spewn by most serialization frameworks is not a clean media type.3. Clients which access API's by curl'ing example.com/products/$productID are not restful. Why? because RESTful resources should be discoverable using hypertext. A client with a hard-coded url template is not a RESTful client.

REST, real REST, is a great architecture. In fact it's fair to say that the best example of RESTful architecture is the web you see in your browser. API's are usually a shallow copycat. What makes plain old html pages a poster child for REST? I'm glad you asked.

1. Hyper text. Guess what, JSON doesn't provide hypertext. JSON ootb is not restful. Certain standards on top of JSON (like the _link attribute) help bridge the gap. Our friends HTML and XML support hyper text. HTML in the standard way, and XML with the link attribute. If you're not using a content-type with well-defined semantics for links, you're not using REST.

2. Choices for intelligent UA's to browse or present as choices to their users. Forms provide a RESTful way to give a user a choice and allow them to manipulate or browser resources. JSON doesn't have anything like forms builtin. If I can't browse your "restful" API with my browser, you're not using REST.

the list goes on. But don't worry about it. Aside from not being quite as hip, it's perfectly ok if you're app isn't RESTful. Does your app provide a service that performs an action for the user? Maybe it's ok for that to be RPC. Does your app need to be tooling friendly for enterprise folks? It's ok to give them something SOAP related to make it easy for them to integrate their clients. Does your app do some sort of low-level file synchronization like dropbox? Then by all means run your service over HTTP so you can get through firewalls, but nobody cares if you pass back a list of binary identifiers instead of hyperlinks.

Really all that matters is that from a usability perspective, it's nice to make accessing your API easy, and HTTP is a great way to go if you want to lower the barrier to entry in using your API. Don't worry if your API doesn't use "hypertext as the engine of state" if it doesn't make sense for you. When you need to enhance your API, think of doing it the RESTful way first.

feral 3 days ago 2 replies      
When I was defining our API at Synference, I looked this up.

As far as I'm concerned, pragmatically, its using the HTTP verbs to operate on resources, named according to a certain URL convention (e.g. users/<userid>), when the semantics of the verbs are followed.

E.g. GET shouldn't change resource state; POST should be used to create a new resource (which the server will typically name); PUT should be used to update an existing named resource, etc.

What format of data sent using these verbs can vary - JSON is one popular format, and what I'd choose.

However, in practice, when people say their API is RESTful, it often just means 'you can access our API over HTTP'. Often you see everything implemented as GET requests - for better or worse.

And there are some pragmatic reasons for that - e.g. maybe devs decide they want to use JSONP to get around same origin restrictions; there's web developers out there who can only make GET requests, etc.

advisedwang 3 days ago 0 replies      
REST has two different meanings, which I outline below. Both say each URL identifies a resource, which is represented with a document of some kind.

* The practical, common usage is a remote API built on HTTP, which uses HTTP verbs in a logical manner, exchanging JSON.

* The original meaning is what I believe is now better referred to as "Hypermedia as the engine of state" (HATEOS). In this world a URLs are not meaningful, and clients never construct or parse URLs. Instead a document format (hypermedia) specifies URLs and indicates what they do. The document format drives and defines the API.

This difference causes some arguments: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...

RivieraKid 3 days ago 1 reply      
To elaborate a bit after a lot of confusion and wondering, I came to the conclusion that REST is just a very poorly defined buzzword. Another conclusion was that it's ok a good practice in fact to combine REST and RPC in one API. (Specifically use REST if you can, otherwise RPC.)

I personally define REST in two different ways, let's call them REST1 and REST2, short versions:


The API is a set of collections, for example we can have /articles and /comments. We can access individual items by /[collection]/[id]. The API can allow GET, POST, PUT, DELETE operations on both collections and items. Collections are filterable, you can do /articles?author=123 for example. Basically, this like a simple interface over a set of database tables.


The server has a certain state. The API is a set of views on that state. A view can be defined as a function without side-effects that takes the server state as an argument and returns something, usually encoded in JSON. Every view has a certain URL and can have GET, POST, PUT and DELETE operations allowed. The POST method is allowed only for a special type of view a collection.

The second definition is more flexible. For example, /fulltextsearch?q=test or /multiply/3/5 would be completely REST2ful. But for some tasks, you would still need RPC, e.g. if you need to change the state in a non-trivial way.

I hope it's clear, if not, tell me.

phamilton 3 days ago 0 replies      
REST is best described by the original paper. There are many other ways to describe it.

I like to think of the basic idea of REST as CRUD over HTTP. Think about how you interact with a database and move that abstraction out to a service level. Instead of doing things like "sign in", "leave group", "down vote entry" you instead "create session", "delete membership", "update entry". That's the key concept.

smoyer 3 days ago 1 reply      
It's really worth reading the thesis that started it all (http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) and I also find this HATEOAS article (http://timelessrepo.com/haters-gonna-hateoas) worthwhile reading, but to answer your question succinctly, here's my short definition:

"REST is inter-computer communication structured such that the server doesn't maintain any client state so that neither the duration between requests nor the number of clients impacts the resource usage of the server."

It's not quite true, but the architecture has benefits:

1) No need to replicate client sessions in a clustered environment.

2) There's no impact if a client wait hours between requests.

3) Every resource a client uses has a unique location on the network.

irakli 3 days ago 0 replies      
REST is supposed to mean systems compliant with the architectural style defined by Roy Fielding in chapter 5 of his dissertation: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...

Unfortunately, in popular programming it has become to mean anything and everything that uses resource-oriented URLs and at least loosely: HTTP methods as verbs to "operate" on those resources.

The misuse of the "REST" as a term, has required the creation of a new term: Hypermedia APIs: https://en.wikipedia.org/wiki/Hypermedia_API

meddlepal 3 days ago 1 reply      
Lot's of people describing HTTP here, but that's not REST. REST is transport agnostic and has a lot of other things going on it like resource discovery.

I still hold to my belief that nobody actually knows how to do "real" REST, but most everybody implements some subset of it - which is fine.

adamlett 3 days ago 0 replies      
The way I've always understood REST, it's all about having a rich vocabulary of nouns (resources), but a very limited vocabulary of verbs (basically only Create, Read, Update, Delete). So, in a RESTful version of this site, you don't 'upvote' a post (by which I mean call a remote procedure called 'upvote' with the post ID as an argument), you instead 'create an upvote' related to the post.
shanselman 3 days ago 0 replies      
Kellabyte has the best explanation: http://kellabyte.com/2011/09/04/clarifying-rest/
colund 3 days ago 1 reply      
In my understanding REST is just a name for when HTTP (and in particular its verbs GET, PUT, POST, DELETE, HEAD) are used to operate on data (resources) by using URL paths, headers and data. The objective is something similar to the good old "remote procedure call" concept where computers can invoke actions on remote computers. There used to be complicated technologies like CORBA and plain RMI to aid computers in being able to communicate with each others.

Modern often means simple. It should be easy to operate or resources via a web API and REST is often the answer. Use the HTTP technology which is already there and embrace it and create technologies around it. KISS principle is king, as opposed to inventing a proprietary complex and useless own method of data communication.

ahuth 3 days ago 0 replies      
I can't give you the academic answer, but I can tell you what it means in practice.

Rest is a standardized way of structuring url's and http verbs.

For instance:

1) To get all "posts" from a blog, you send a GET request to www.whatever.com/posts

2) To read a single post, you send a GET request to www.whatever.com/posts/<id>

3) To create a single post, you send a POST request to www.whatever.com/posts

4) Finally, to get all comments from a post, you send a GET request to www.whatever.com/posts/<id>/comments

bloat 3 days ago 0 replies      
anthony_franco 2 days ago 0 replies      
REST is just a generally agreed upon convention that makes good use of HTTP verbs to create simpler URL structures when interacting with resources.

So basically, instead of having the following endpoints:site.com/create_usersite.com/delete_usersite.com/show_usersite.com/update_user

You'd instead have a single use endpoint like so:site.com/user

And throw different HTTP verbs at it to signify the action.

It's definitely a well-defined concept and been part of Ruby on Rails since version 1.2.

aabalkan 3 days ago 0 replies      
Intro to REST (aka. What Is REST Anyway?)http://www.youtube.com/watch?v=llpr5924N7E
ADFASFGADA 3 days ago 0 replies      
So, at University, at the end of the course the students often create a project, and maybe a paper. A lot of these are pretty awful. Really. You can lookup a lot of them online to see. We'll wait.

Back already? That bad were they? Told you so. So, anyway, one of these awful papers somehow got far more attention from the web-tards then it was due.

As a result we cannot have a discussion about web and APIs without the church of RESTful dogma sticking in their two-penneth.

REST was and is a bad idea, but hey, it sells books, passing on the moronic tradition to the next gullible generation.


tuxracer 3 days ago 0 replies      
Teach a Dog to REST http://vimeo.com/17785736 is one of the best intros I've seen.
roysvork 3 days ago 0 replies      
REST is an architectural style, a set of constraints applied to the design of a web API. An API can be considered RESTful if it satisfies ALL of the constraints.

The most commonly ignored/misunderstood constraint is that of Hypermedia As The Engine Of Application State. You can read more about the application of the term here: http://roysvork.wordpress.com/2013/03/13/why-im-giving-rest-...

shoebappa 3 days ago 0 replies      
While there are very confused and layered interpretations of what REST is, the reason it is important is that many of the Web Services APIs that preceded this trend used HTTP merely as a transport, but ignored so many of HTTP's features. This lead to them being difficult to use without bulky libraries. By using more of HTTP's features or basically HTTP as the API, it greatly simplifies and opens up possibilities and the tools that can interact with the API.
dm3 3 days ago 0 replies      
Time and time again I've found the following classification useful for thinking about REST and web-APIs in general: http://www.nordsc.com/ext/classification_of_http_based_apis....

Most of the stuff people are describing here as REST would be classified as HTTP-based Type I/II according to the above resource.

javajosh 3 days ago 0 replies      
I think you're initial thought is correct - it's not very well-defined. Indeed, the joke is that REST's primary utility is that it enables you to criticize anything with "but it's not RESTful". Indeed, Roy Fielding himself used to be famous for this.

What REST has come to mean, to me (and perhaps to others), is a URL style whereby data, including application state, is addressed in a hierarchical way. However, I don't think that's what Roy really meant.

The wikipedia article is not bad: https://en.wikipedia.org/wiki/REST

mtrimpe 3 days ago 0 replies      
It's about using the existing infrastructure of the web (HTTP, hyperlinks), leveraging it as much as you can (caching, content negotiation, etc.) and putting as little shit on top of it as you can (please no SOAP!)

If you actually mean HATEOAS then it gets a bit more complex, but in practice most people just interpret that as 'it should be discoverable just like a website is.'

dreamdu5t 3 days ago 0 replies      
Read the original paper, not blog posts. Roy Fielding in chapter 5 of his dissertation: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arc...
whatevsbro 3 days ago 0 replies      
Everyone seems to have their own interpretation of what REST means, and that's exactly how you know it's not clearly defined. Not only that, but people are quite emotional about it too.

    - Here's one way to look at it:       "REST" is a set of ideas on how to make       sensible web-applications.    - Here's another: "REST" is a meaningless buzzword      parroted by everyone and their neighbour's dog.

Ask HN: Reasonable Equity?
3 points by mattm  1 day ago   5 comments top 3
gus_massa 1 day ago 1 reply      
There was a post of Joel Spolsky about equity. It can give you some ideas: https://web.archive.org/web/20131109064121/http://answers.on...

On the other hand, Im not an expert, but if you wish to hear the suggestions from a random dude in the Internet ...

"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time." - Tom Cargill

I.E. Dont be confident that the finishing details will be easy and fast to solve.

A verbal contract isnt worth the paper its written on. - Samuel Goldwyn

I.E. Get everything written. And remember that you are now a funder, not an employed.

Dont put money, because you are not an investor. Equity is almost always worthless, the business will probably flop and you can lose your money. This is at a level of a FFF round (family, friends and fools :) ). But there is a small probability that this will be a success, so get all the equity you can, just in case. But remember that the difference between 50 and 60 millions dollars is apparently overrated.

Lets use random numbers:

YCombinator invest ~$20,000 for ~7% equity and they are very good in the investing business, so give your partners a 5% equity for their $14.000.

They have been working in this for 1.5 year, with a standard 4 year vesting time, that is a 15% for each one. (This is not the correct way to apply it, but its useful to guess a number.)

So there is a remaining 65% to split in equal parts. A 20% for you (no money added) sounds good. A 25% (no money added) sounds better, because they have already vested a part.

Try to get advice from someone with more knowledge.


What is the relation between the current business and the software business? Its the same company or an independent company? Will they work full time in this? How much will be their salary and yours? (I dont want the number, only if its the same, or not.) Are you going to get the standard salary (~$100,000/year) or only enough to live? Vesting time? Other investor? Previous programers or partnerships?

brudgers 1 day ago 0 replies      
If it's basically going to be a lifestyle business and everyone's goal for the business a year out is to do little more than take checks from their mailbox to the bank, then 15% is great because the work is almost done.

On the other hand, if it's a startup in the Silicon Valley sense and everyone's goal a year out is raising Series B funding, then pretty much all the work remains to be done and equity should be evenly split and vesting on a schedule and everything else that Joel Spolsky might recommend for founding a company, because any imbalance between equity and effort will create an increasingly caustic environment should the value of equity take off.

If it's really a startup and the goal is an exit north of $50 million or something like that, then convert the cash investments into loans to the company with interest, not equity.

My last thought is that tough negotiations for equity in this situation are a bad sign. It's focused on how to divide a single pie rather than the pie factory that needs to be built. How the company got to it's current state is less important than where it is going. Good luck.

baremetal 1 day ago 1 reply      
If you are possibly rebuilding their product because it was developed in india and neither founder has any technical knowledge i would ask for 33%. You would be their technical founder and since it is a technical product they need you. As to why a higher amount is a fair deal, they need you because they have no technical knowledge and sales experience or savvy is no good if there isn't a good product to sell. Sorry for the quick response.
New open source Disqus alternative: Debiki Embedded Comments
10 points by KajMagnus  2 days ago   7 comments top 5
sheraz 2 days ago 0 replies      
This is interesting, and I am glad to see people trying out various ideas.

That said, I don't think the 2D scrolling is for me. It is too easy to get lost on the page. I can see where this would work for tablets, but for laptop/desktop with a mouse/trackpad it feels like too much work.

Still, I've bookmarked your site because I'm interested in this space (Disqus competitors).

Good luck!


arn 2 days ago 0 replies      
Love the concept. I've thought about comments a lot, and considered this sort of design. in execution, though, it's hard to get used to.

Still feel like Slashdot might have had the best comment system yet.

gobengo 1 day ago 1 reply      
Ben from Livefyre here. I think this is pretty darn awesome.

Most of you probably tend to see our Comments product around the web, but my job is to use our real-time CMS web services to make other embedded webapps. If I do my job right, there's no reason someone couldn't use their free Livefyre Community site to power a real-time Debiki embedded app.

Check out what we've done with other apps built on the platform: http://apps.livefyre.com

And the JavaScript SDK we write to power them all: https://github.com/Livefyre/streamhub-sdk

Would any of you with alternative visions for the UX of comments or annotations find it interesting to be able to build the client however you want (or use an open source one) but delegate server traffic, storage, and real-time pubsub to a free backend as a service?

stevekemp 2 days ago 1 reply      
Interesting timing, as I came up with my own implementation last week:



This was built for my server-optimizing site, http://tweaked.io/ which is still in its infancy.

marveller 2 days ago 0 replies      
Thanks for creating this, will be testing this soon.
Ask HN: Software to help retrieve stolen laptop for a paranoid person?
19 points by everyone  3 days ago   15 comments top 7
cpach 3 days ago 2 replies      
For a very high level of paranoia (i.e. resourceful adversaries that could attempt an evil maid attack on you) its probably best to consider laptops as disposable. In this scenario, you would encrypt the whole filesystem and never leave the laptop with power on. So if it gets stolen, nobody could extract any data from it and you can lose it without worrying.
eps 3 days ago 0 replies      
You are looking for a system that requires monitoring backend to authenticate itself to the (laptop) client in order to get an access to its peripherals. Meaning, that the backend always has a way to access your laptop, but it can't actually do that until you issue it proper credentials, presumably in the event of theft.

Whether such system exists, I don't know. Perhaps others can advise.

RexRollman 3 days ago 0 replies      
Personally, I would be more concerned with having the data well secured and backed up. The hardware itself is easy to replace.
gatehouse 3 days ago 0 replies      
In many cases the data on the laptop is probably more valuable than the machine itself. You need to think about if you want it to be possible for the thief to run any of your programs, including a secret tracking program.

One thing you could to get your name and phone/email laser engraved on the bottom. This will fuck up the resale value and if it falls into the possession of someone honest they might return it. Or the thief might try to extort you and you can just show up with the cops.

robinhoodexe 3 days ago 2 replies      
On OS X or Linux I'd hack together a bashscript that uses cron to periodically (every 10 mins or so) broadcasts where it's located and then upload that information to a logfile on my Raspberry Pi. Sort of like what Prey does, just on my own.

I'm pretty sure something like that is possible on Windows as well, altough you may need some kind of server to store the information so you can avoid receiving a mail or something with the information.

emning 1 day ago 0 replies      
I would use a simple autossh setup with key authentication to a limited account on a VPS that is only allowed to open a reverse shell.

Put sshd on port 443 on the VPS to maximize chances of a successful connection, and maybe put a bit of effort into hiding autossh on the laptop.

This way you have ssh to your laptop at all times. You will also know the IP it is on, for easy geoip lookups and tracerouting.

burnte 3 days ago 0 replies      
In short, no, because there's no way to tell a service to turn on without access to the machine. Nothing will know your laptop is stolen unless you can tell it. To do that there has to be a service listening for a specific command. To do that, it has to be running all the time, which is what you don't want. Even if you wrote your own (which you can do) it would still have to be running 24/7.
Ask HN: How to make very small amounts of money ($500ish) working remotely?
42 points by canbrianExp  5 days ago   discuss
patio11 4 days ago 3 replies      
If you can program your way out of a paper bag, you're good enough to land an 80k job in SF at the moment. People whose entire programming careers are measured in weeks are hireable in the current environment, for at least some engineering roles, at at least some companies.
_pius 5 days ago 1 reply      
You should be able to charge $100/hr for your services as a software consultant.

My advice would be to plan to spend 15 hours a month (5 hours of research on consulting practices, 5 hours of actively pursuing leads, and 5 hours of billable work) on this. Over time you should be able to ratchet down everything but the billable work.

Patio11, in particular, has written quite a bit about this sort of thing. I highly recommend checking these articles out:


pw 5 days ago 0 replies      
Start by putting your email address in your HN profile. There's plenty of people here that might have projects for you.
jackgolding 5 days ago 1 reply      
Hey mate,

This is not reliable, might be low if you are on a 6 figure incom and it might not be good where you live (I live in Aus) but try look up research panel/focus group recruiters in your city - I work in Market Research and we generally pay $50-100 per hour, online surveys through these groups can be good too (~$50-60 per hour) (A LOT better than doing them through online based agencies.)

For those in Perth, Western Australia and interested we use ResearchPanel and West Coast Field Services.

Some food for thought anyway!

NameNickHN 4 days ago 1 reply      
1. Step: Create a software and sell it (or give it away for free).

2. Step: Offer to create add-ons for that software.

It has been working fine for me for a couple of years now. The software is B2B and the customers are mostly small businesses. I get a couple of feature requests per week from those existing customers. And not only convert those requests quite often to new projects, I also get to offer the add-ons to other customers. That's always part of the agreement.

The costs of the add-ons have been in the range from $250 to $2000.

stevekemp 4 days ago 0 replies      
I'm a system administrator, and I've generally found that local people seem to remember me fondly and offer me work - whether it is tuning nginx, setting up a small cluster, or similar.

Actually finding remote people to hire me for longer jobs is hard though, so unless I receive contact out of the blue I've more or less given up looking for it.

(I do keep pondering the value of being a "Remote Sysadmin", but I receive conflicting feedback: http://blog.steve.org.uk/it_is_unfortunate_that_many_compani... )

jordsmi 5 days ago 0 replies      
I'm not really sure how good the money is, but I have a friend who recently became an 'expert' on airpair. He said he likes it so far


shayonj 4 days ago 0 replies      
Hey there,

We are actually working on a solution that might be useful to you. That said, feel free to check out http://ladr.io. We are hoping to launch a beta/prototype in the coming 2 weeks.

sdegutis 4 days ago 1 reply      
Another option is to write little apps, maybe for iOS or Android, and sell them on their respective stores. It probably won't be a significant source of income (it never was for me, so I gave up on it) but who knows, it could go viral.
Ask HN: What are the best places to learn white and black hat SEO?
2 points by jrlocke  1 day ago   2 comments top 2
pairing 20 hours ago 0 replies      
White Hat SEO: unique title tags, unique meta descriptions, unique urls, correct use of headers and other HTML elements, fast loading pages, & content, content, content. The best way it was described to me is that its best to think of each page of content as a lottery ticket to the google front page. The more unique original content you have the better chance that one of your pages will get ranked for some keyword. Really as simple as that. I have articles from my app ranked on the 1st page of google in less than a week just following these guidelines and my app has a page rank of 0 since its new. (http://moz.com and http://www.kalzumeus.com are great resources)

Black Hat SEO: Compensate people to link to your website or find websites that pass link "juice" to your site. I don't recommend this path. (http://jmarbach.com/rapgenius-growth-hack-exposed)

mattwritescode 19 hours ago 0 replies      
I would recommend Google, a quick search will bring up millions of results on SEO the good bad and the ugly.
Ask HN: where do you get your non-tech news?
2 points by Huhty  1 day ago   3 comments top 3
a3n 1 day ago 0 replies      
There's a lot of non-tech news right here. I think I get between 60% and 75% of all my news of any kind right here.


New York Times, almost entirely through their daily email, which you can subscribe to for free. Any article they email to you can be clicked on for free.

Google News.





When I read an article I will often follow through to other articles linked from the first. Sometimes I'll add a site to my news collection from that kind of activity. Counterparties was one such addition, and now it's in my daily group.

strick 15 hours ago 0 replies      
I subscribe to http://nextdraft.com/ and love the daily email
rahimnathwani 23 hours ago 0 replies      
The Economist
       cached 12 February 2014 05:05:01 GMT