HN user

krisrak

173 karma

Web | Mobile | Software Developer...

works for Intel, side-projects at http://initlabs.com,

twitter @krisrak

Posts33
Comments66
View on HN
blog.initlabs.com 11y ago

WKWebView vs. UIWebView for HTML5 apps

krisrak
1pts0
blog.initlabs.com 12y ago

Creating Apps with Native OS like performance using HTML5

krisrak
1pts0
blog.gramfeed.com 12y ago

Banksy artwork vandalized in New York

krisrak
19pts35
www.gramfeed.com 12y ago

Almost a million #ios7 photos posted on instagram

krisrak
1pts0
www.votenight.com 13y ago

Predict 2012 US Presidential Election, share shortURL - feedback pls

krisrak
6pts6
blog.gramfeed.com 14y ago

Why Instagram acquisition by Facebook is a good thing

krisrak
1pts0
blog.initlabs.com 14y ago

Little implementation detail that makes a big difference for email sign-up UX

krisrak
2pts0
blog.gramfeed.com 14y ago

Funny and Hilarious reactions after Instagram Android release

krisrak
1pts0
www.gramfeed.com 14y ago

Android gets Instagram, Apple fanboy flamewar is already raging

krisrak
1pts0
www.gramfeed.com 14y ago

Android users, welcome to Instagram on the Web

krisrak
1pts0
blog.cannedbanners.com 14y ago

One simple way to make display ads look more like content

krisrak
1pts0
thenextweb.com 14y ago

How Gramfeed went from a 2 hour project to a beast visited by 2 million people

krisrak
1pts0
blog.gramfeed.com 14y ago

2 hour side-project to 2 million visitors

krisrak
79pts12
blog.initlabs.com 14y ago

How to pin blocked content to Pinterest

krisrak
5pts1
blog.gramfeed.com 14y ago

How to pin photos from Instagram to Pinterest?

krisrak
1pts0
blog.gramfeed.com 14y ago

How to get more followers on Instagram?

krisrak
1pts0
blog.initlabs.com 14y ago

How I reduced Google App Engine costs by 75%

krisrak
2pts0
blog.initlabs.com 14y ago

How to restore phone contacts lost after ios5 update

krisrak
1pts0
blog.initlabs.com 14y ago

How to upgrade to iOS5 without issues

krisrak
1pts0
www.geekwire.com 15y ago

Seattle and Portland should do more to become BFFs

krisrak
1pts0
news.ycombinator.com 15y ago

My Weekend Project: Instacolor App - find Instagramers around you

krisrak
9pts3
news.ycombinator.com 15y ago

Ask HN: Someone wants to buy my side project, How do I decide on the price?

krisrak
7pts7
www.checkinmania.com 15y ago

Show HN: My Weekend Project - find and locate foursquare check-in deals

krisrak
4pts0
news.ycombinator.com 15y ago

Ask HN: Review my app: gramfeed.com

krisrak
1pts1
www.readwriteweb.com 15y ago

Gramfeed Brings Instagram the One Thing it's Missing: A Website

krisrak
2pts0
thenextweb.com 15y ago

Gramfeed - Instagram meets Twitter

krisrak
1pts0
goneout.in 15y ago

Where you at Jack? Shaloc, Simple Location Sharing

krisrak
1pts0
thenextweb.com 15y ago

Dead simple real-time GPS location sharing

krisrak
2pts0
blog.shaloc.com 15y ago

Shaloc location sharing iPhone App launched in US

krisrak
1pts0
news.ycombinator.com 15y ago

Ask HN: Review my side-project: Shaloc.com

krisrak
2pts2

I'm creator of https://picodash.com, I noticed the same issue about a week ago but did not get any complains from my customers, so debugged it for 8 hours until I found this (I know it will be hard to believe):

I kept getting "Matching code was not found or was already used." when using thru my oauth python code which btw has been working for 6 years now. But when I used curl to do POST, it worked, when I tried Curl again with same oauth code, it failed, So I think this is something that was recently changed by Instagram, the oauth code only works one time, I kind of remember this code could be used more than once before to make POST call, but there was time limit instead, after which using same code was failing.

So with me, this was always failing, but no complains from my customers, I could see logs that new people were signing up.

I started testing on localhost, I added debug logs, I did notice that there was 2 POST calls being made, so it was failing. I could see that 2 POST calls was made and first one did work and get access_token, but there was a second call made and this was error 400 and oauth flow was failing. Almost looked like a retry of POST call, cause my code should only make one.

I started trying different browsers, failed on all firefox,IE, safari, chrome. And then decided to try on my iphone, it worked 100%, so looked for difference, it was on LTE, so I guessed may be my wifi, switched to wifi on iphone and it started failing 100%. So now on my dev system, I connected modem directly to system without router and tried, it passed 100%, so it was my wireless router (I know weird), I tried another 3rd party instagram web app, had same issue but worked without the wireless router. So on Monday I got another wireless router and no issues, it started working. So this could be an isolated incident for me, I came to conclusion that I was using some old router that was dropping POST request and making second attempt and failing.

So I guess if this is affecting all your customer check you code by putting logs that you are making one POST request. Try making a CURL after you receive the code and make sure it is working on first attempt.

Today after reading this, I check my oauth login again, I did notice it fail few times, but when I try again, it is passing, so something changed again I think.

it depends on how big your data is, but every query operation, every fetch, every write operation it charged. http://code.google.com/appengine/docs/billing.html has details on how many read/write datastore API calls are made per operation. if u have to write in a new column for thousands of entries, then it will cost a bit, $0.10/100k operations, one re-write has 7 operations + incoming/outgoing bandwidth cost + instance usage cost will apply, it is hard to estimate actual cost.

1 - gramfeed is paid, http://code.google.com/appengine/docs/billing.html is correct, dont know what the other one is, i think that $9/month in minimun fee, i go past it anyway.

2 - datastore query is expensive but memcache works great, so cache frequently accessed data

3 - i make sure that whenever i put() any data, i immediately set Memcache, and before making any get() from datastore, I try get Memcache first, this should not cause issues.

Good post, I hope all the non-technical / idea guys read this and learn coding, much better than pissing-off technical guys by saying the usual "I have a great idea, it only needs coding, if u sign NDA, we can get this started"

Create a landing page describing the idea "Beta available soon - signup for early access" and get feedback, this will validate your idea and then start working on the with most response, this will keep you focused cause you know people want it.