skysight-inc/HackerNews huggingface dataset:
We launched our Mobile Web app today, making the key features from our iPhone app available to Android, Blackberry and other mobile devices.

We're making extensive use of HTML5 offline storage in order to keep offline copies of event schedules and attendee directories - so even if our users are abroad on a bad data plan or are at an event with poor/no wifi they can still access the data.

Check it out here: http://m.lanyrd.com/

The ReadWriteWeb article has some of the technical details. Our blog entry about the new app is here: http://lanyrd.com/blog/2012/mobile-web/
When I started working with Rails, I didn't understand it. I wanted to see how all the magic worked. Then I gave it a second go, and skipped trying to learn how Rails was built, but just assumed the framework worked the way all the code samples said it would work. Success.

Rails definitely makes specific assumptions about how things should work and especially how database operations should work. If you're always looking under the hood, you're probably right -- it's not suited to your style.
I get where OP is coming from, but I think this sort of overstates the case. A well designed app would leverage the existing APIs and UI kit.

The iOS and Cocoa Touch APIs are really robust, and with libraries like RESTKit, it's not that big of a deal to whip up an app that works well. Indeed, I've done it a few times myself.

The problem is that no one is ever satisfied with the UI kit that Apple provides. Browsing Navigation views of Tables, and doing simple CRUD to a simple backend (e.g., Rails on Heroku), is a weekend project, IMO.

I think OP is really talking about how unrealistic people's expectations/requirements are – not how difficult it is to make a working iOS app.
Why the Raspberry Pi won't ship in kit form
Happy VALENTINE's using jQuery animate
In my case it says I'm in AU (Australia)? when I'm in Uruguay.

It did get the browser and OS version right.
I think this shows you security agencies are just plain stupid, maybe it's a bureaucratic problem but time and again common sense is thrown out the window with "homeland" security.
This might be a stupid thought, but I wonder if there's a psychological issue at play for iPhone apps in particular where people subconsciously think small form factor = pretty simple = pretty cheap.

Of course, the reality is usually exactly opposite.
Workflowy. I use it for all my classes and most of my projects.
Zsh is your friend.
JavaScript Documentation Sucks
The Grains Review For the week of January 30, 2012
SOPA Protest Day - The Largest Digital Protest Ever (Infographic)
http://www.google.com/analytics/ probably. Does Google offer others? I'd love to try them.
This, and the fact that the truth can not be libelous. As long as you're not misrepresenting a claim, you're fine.
A Prize to the World's Crappiest Office?
Most enterprise projects don't want to pay for usability. That's the bottom hard cold fact.

Enterprises want to move fast, if they can, but they can't because of the mistakes they've done in the past were covered with more processes to make sure that 1) it didn't happen again and 2) if it happened, we can blame the process.

Sometime engineers don't understand 2 facts:

1) You will get fired if you made mistakes

2) You will make mistakes

So people tend to hide and blame "processes" to avoid firing.

CEOs are cold blooded firing squad. Just like "Businesses". What matters are profits.

Business people will wear a very thick layer of skin and try to pull unimaginably stupid statements to push the price down ranging from "I thought Facebook was done in a weekend" to "It shouldn't take a day or two to fix a 'simple' Database issue. You just go there and change the data"
Justice Department Backs RIAA Against Pirating Student
Hey Shay - Glad to see you on hacker news.
Minus snapshots - Capture web screenshots
> We adopted it. It turned out to be poorer than Rails for our use cases.

Yep I had this exact revelation with a project I was working on. About half way through implementing my own general-purpose validation function and REST/CRUD routes for my models I admitted to myself that I was wasting time. These things are solved problems. I have a much greater appreciation of Rails as a result.

I use Sinatra as a quick way to put a web interface on top of Ruby code, Rails for any non-trivial CRUD paradigm web application.
I love Perl. I wrote it professionally for 10 years. I have great friends who still do. The community is full of smart, fantastic people.

Five years ago, however, I learned Python for a job and never looked back. In terms of programming languages they're practically the same thing. But Python is easier to read, easier to write, and easier to hire for. And stuff like this (dereferencing, "array context," worrying about how to create my objects) makes me sigh.

Perl, I love you, but I'm not looking back.

(apologies for the language flame war bait)
I was assuming we'd still have laptops and every other form factor we have now, just that you'd need your smartphone in your pocket to actually use your laptop. It is the hub, it has all your files, it is automatically backed up over the net, etc. Same thing with tablets. You could interface with an e-ink display for reading and an iPad-like device for entertainment and consumption. Your smartphone would store your save games and character data for various video game consoles, etc.
Even with digital fonts, there are situations where certain character combinations, such as “ffi” touch/overlap each other. Ligatures are a special-case letterform for these situations that blends them more harmonically
If they had adblocker and pop-up blocker detection, I might join the others in saying I'd pay for it :)

I'd also like antivirus detection (for example Avast doesn't like one of our apps) and a pony :)
Would love to hear some feedback on this feature. Please give it a try on http://minus.com/explore -> Choose Upload from Header.
Have you seen this be an issue in practice? Our place of business is our registered office.
IN depth site , http://www.michaelgeist.ca/
It would be nice if Wikipedia, Reddit and Google did a day of protest for this just like they did for SOPA. Please redirect to a protest page for Canadian IP addresses.
Artspace Raises $2.5 Million For Its Contemporary Art Marketplace
I believe the problem everybody trying to solve is that Rails is poorly suited to build RESTful APIs. If you love Rails and still want that, mount something like Grape (http://github.com/intridea/grape) inside your Rails app.
Has high-tech helped or hurt crime fighting? DoJ wants to know
I started out with bzr-git a long time ago for small one-off projects where I wasn't getting too deep into the process. Well, that's not true, when I First dug into DVCS, I tried all three, and since I was on windows back then (all-linux, now), git failed early, as since it didn't have a native windows version. Later on, when I didn't necessarily have time to learn git due to short deadlines, I tried bzr-git a few times.

I don't have _real_ answer, besides that it doesn't "feel right" to use another tool on a git repo. I _want_ to know git better. It's just not very easy to learn without fully committing to it.

As for bzr, there have definitely been speed improvements in the past couple years. I can't say how much faster, as I'm used to it. The Only times I notice things running slowly are when branching a large remote repo for the first time and when my system is completely maxed (currently working on a dynamic video-generation project). Otherwise, I barely notice. And besides, how often does one actually wait for a return prompt when checking in? `bzr ci -m "whatever"` and alt-tab back to whatever I'm working on.

* editing for clarification
I agree - 100-150 hours is a large enough bucket IF the app is somewhat self-contained or has very limited server interaction (e.g. just consuming an API). I've built dozens myself that fell in that range.

Once you start having to send data in the opposite direction and keep it in sync, however, you'll quickly find yourself spending far longer than 150 hours.
I know I would be very interested. The company I currently work for is attempting to do something similar, so it would be good to see how you guys did it and what the pitfalls are.
Not keen myself, I think you'd be better off losing all the fades and having all the text visible all the time and nicely typeset.

The animation obviously can't go much faster if it's going to remain readable, but it feels like it takes too long to find out what it's about, and I had to hit refresh to remind myself what it started with by the time it got to the end. Mind you I was a bit caught up in wondering why the font looked so jaggy, seems that, in Chrome on OS X at least, opensans is rendering very jaggy.

Overall it feels a bit like you got caught up in the whizzy jquery and the overall page suffers for it. A nicely set static layout would probably serve you better.
Well, they've given so such to the community by Ruby on Rails, so they just deserve to be successful. Even if charging more for their products.
[COMIC] The Lifecycle of a Freelancer-Client Relationship
13 Best Work Life Balance Blogs
I applaud your honesty.
How To Muzzle Yelp Critics
The problem is that once we make 80% of the process vastly more efficient, all it does is throw a spotlight on the remaining 20%. (This is the unheralded dark side of the Pareto principle. ;) Not everything about building an app gets more efficient with time.

You can now throw together a photo-hosting and viewing application in a couple of days. But that doesn't necessarily yield a site that runs itself. Teaching the customer to use the code still takes about the same amount of time. Editing the theme over and over again, iterating a design cycle that incorporates emails and meetings between you and the customer and the designer, still takes about the same amount of time. The process of moderating the uploaded photos to screen out the spam and porn still takes about the same amount of time. Usability testing still takes the same amount of time.

(And even in the enlightened year of 2012 there are still standard things that all sites could use, like proper reverse-proxy caching and solid backups, that over half the Wordpress blogs on earth seem to be lacking. Apparently we're not even done automating the things that could be automated.)

The other problem is that if the customer steps off the well-worn path they will fall into a very deep pit lined with invoices. If Wordpress does it out of the box, it's cheap. If Wordpress almost does it out of the box but it requires even the smallest amount of custom coding, it's expensive. And knowing what things are expensive and what are standard requires skills that customers don't have, so they have to pay a programmer to advise them, and that is itself inefficient and expensive...
A Detailed Guide on how SendHub moved to Heroku.
It clearly is. No individual Android phone is, but why would I care about that? I want an Android phone, I don't really care who makes it.

And by the same reasoning, Windows isn't beating Apple, because Apple is bigger than any individual PC retailer.
Lots of interesting topics in Jonas' post worth discussing ... to pick a few:

> I tried to follow the Smalltalk-80 style of MVC very closely
> in Serenade.

Aside from ideological purity, did you notice any other benefits from sticking more closely to the Smalltalk-80 style? Personally, I can't imagine the benefit in "clearly defining the role of the controller as only reacting to user events" in a JavaScript app -- that's pretty much a single line of jQuery to listen for DOM events, and then call the appropriate method on the model. Having the same object responsible for rendering DOM elements also be responsible for listening to events on them seems much more useful.

> In Ember.js for example, all objects you want to use inherit
> from Ember.Object. In Serenade you can use any JavaScript
> object as a controller or a model.

This distinction seems entirely academic, as in the documentation, you show:

var model = {};
Serenade.extend(model, Serenade.Properties);

... effectively ignoring the prototype chain by copying properties instead, but achieving the same effect.

> I came to the conclusion that doing this is only really
> possible by writing a purpose built template language.

[...]

ul#comments
- collection @comments
li @title

Do you worry about the constraints that are entailed by tightly coupling a logic-less template language to your framework? Whenever I talk to folks that are trying to use logic-less templates to build big apps, they always seem to run into dead ends where being able to call a little bit of arbitrary code would make their templates so much easier -- whether it's zebra striping a table, checking the length of the array you're rendering, or what have you. To that extent, things like Handlebars provide escape hatches from Mustache's purity, with "registerHelper".

> Serenade has no dependencies. It achieves everything it
> does by using normal DOM manipulation.

Take care, as "normal DOM manipulation" is one of the slowest possible ways to build and render a UI. Do you have any benchmarks looking at how a Serenade template performs versus a more traditional innerHTML-based template of the same view, in, say IE7?

> Let’s first clear up that CoffeeScript classes are nothing
> else than fancy syntax for JavaScript’s prototypal inheritance,
> and the fact that they are called classes, is just calling
> them what prototypal inheritance is used for in 99% of cases.

[Applause]. Thanks for putting that in your post -- JavaScript's standard prototypal inheritance as practiced with constructor functions is just a longer way to say "class".
One of my friends recommends thoughtbot's "Backbone.js on Rails eBook": https://workshops.thoughtbot.com/backbone-js-on-rails
Did you read the OP? He wasn't complaining about being unable to find the right commands, he was complaining about being unable to remember the right commands after having found them, because they're so obtuse.
Not sure why you're getting downvoted--would people treat a post about YouTube the same? It's even an interesting technical acheivment.
Unfortunately there's not a whole lot we can do (speaking as a Canadian). There's a majority government in power that can basically do whatever they want.

The only hope we have is to protest this law publicly to the point where they alter it further (C-11 is already and altered version of the much more draconian C-31).
This particular criterion has the benefit of helping you filter out about half of the job listings on Craigslist all on its own.
Social Media Marketing is the most invasive
> These APIs must be in existence before you can proceed to make the iPhone app.

I disagree. Yes, it's nice to have everything in hand when you start, but I've built multiple apps concurrently with the backend development. The trick is to isolate your networking in the model layer (a good practice regardless of whether or not the API is already done). This allows you to stub or use dummy data until things come online.
The question to ask is: Are they inflating the pay-as-you-go plans to make the contract plans more attractive?

I know that's the case in the US.
These are 4 important questions that everyone who creates an online social service needs to think about. danah boyd asked:

1. What if the stranger danger / sexual predator moral panic increased LGBT suicide?

2. What if “It Gets Better” increases emotional devastation for some LGBT youth?

3. What if the media spotlight around bullying causes harm to youth?

4. What if us adults are part of the problem?

Let's talk about a hypothetical: you have created a new online social service, and now there are media reports that it is being used by some kids to bully and torment other kids? How would you feel?

If I was in such a situation, my response would focus on the systematic forces that allow bullying to happen. I would argue to the media that the focus should be on the social pressures that lead to bullying, rather than my online service. I would also reach out to the victims and offer any support I could. I feel that being helpful in such situations is the best course, both morally and for the business. I would not worry about "setting a precedent", as that line of reasoning was a disaster for AirBnB, in its recent scandal.

2 things should be noted:

1.) danah boyd's line of reasoning is convenient for online services trying to protect themselves legally. I'm sure lawyers for online services will be looking at her line of reasoning and considering that she is a PhD who works for Microsoft, and possibly crafting future defenses around such arguments.

2.) danah boyd could be correct, which for some strange reason is a possibility that you are not even willing to consider. I mean, what if the stranger danger / sexual predator moral panic increased LGBT suicide? This is a perfectly valid hypotheses for research. Why are you so quick to dismiss it? If boyd decides she wants to investigate this question further, or she feels other researchers should be investigating this question, then why is it you want the question dismissed without consideration?
Craigslist and identi.ca as well.
"I have an idea for a website. If you build v1.0 I'll pay you a whole thousand dollars and you might get equity if it works very well."

If only all the assholes were so easily self-identifying.

The real problems are the charming, smooth talking, dream clients offering cool projects, top dollar, and paying on time...until they don't and decide to start making your life hell because you're in so deep already. They're no dummies.
Perhaps I missed it in the gray text, but when does the free trial expire?
I think it can be generalized even further. It's not only software, but general IT-related services. There is some mental bias that assumes servicing virtual goods is some combination of easy, straight-forward, or without costs.

Even friends and family of mine will still ask me, "can you come over and fix our computer?" It sounds like a simple request -- partially driven be a general phobia of trying things out themselves -- but it's really not okay. I'm really busy. Maybe I can do something that they can't, but they could also pay someone to do it. Unfortunately, they usually think the price is "too high;" however, if I asked them to come over and mow my lawn because I think the landscaper's price is too high, they would obviously balk.

I'm not sure what the solution is, except you shouldn't low ball -- ever. For a while, I thought I had found the answer by immediately saying something like, "I expect $120 per hour on this software project." I thought it filtered out a lot of clients who didn't "get" that I was doing something valuable...

...then I realized they then try to manage the price by claiming -- ignorantly -- that their requirements do not justify X hours.
I think by, "Work with better clients", Patrick really means, "Stop doing work for cheap clients". I agree with him that payment from clients in the 5-digit range tends to go much smoother than from those at the bottom of the barrel.

I would also add that, when you charge a higher rate, you also can justify higher initial deposits and milestone payments along the way. This gives your client more "Skin in the game" which makes them more likely to honor the contract terms so that they can receive the final deliverable.

When I first started doing freelance development I made a practice of undercutting everyone else to get the gigs. This did earn me a fair supplemental income, but it was not a business model as clients at this level (<$1k) tend to have very little vendor loyalty and will just move on to the next cheap provider when you eventually try to raise your rates. Since restricting myself to projects of $5k or above things have gone much smoother and I'm alot happier.
This video was the first thing I thought of when I read the article!

I once worked for someone who refused to pay me for my work and at first I didn't want to sue him because of several BS excuses:
- I never sued anyone before.
- He seemed like a nice guy.
- It was the first time I worked for him but he wasn't a total stranger to me
- He had offered me work before so I figured he's someone who's probably going to ask for my services again some time in the future.
- I knew he had worked with other people and I never heard them say bad things about the guy.
- It wasn't a lot of money.

Turns out this guy did it to everyone I talked to!
How did they get paid ?
By taking a haircut!
One guy didn't take a haircut but he did for a future project. He needed the money.

I'm not here to tell others what they should do but have some self-respect.
I sued him and I'm glad I did.
He didn't get a discount at all.
My lawyer doesn't come cheap, nor do interest payments.

Would I put that guy's name online?
No.

Invest your time in a good contract. Ask a percentage upfront. Watch the video.
I'm using mongo_mapper with 2 apps right now and it doesn't feel like I'm going against the grain.
It doesn't. You get more features when you go pro.

New pricing page coming soon.
Let me play devil's advocate here and note that twitter has been used as a communication platform by what the US Gov't consider (again, I take no position on the merits) terrorist organizations,[1] and that monitoring such a public forum is at least somewhat legitimate.

The offending party probably shouldn't have been deported, but that's another matter.

[1]: http://www.huffingtonpost.com/2011/12/28/al-shabaab-twitter_...
I disagree. I think that the good people should all make an effort to leave, because the sooner it crumbles, the sooner it can be rebuilt.

There's no un-ratcheting the loss of freedoms there. It no longer has basic liberties or the rule of law, and it's actively dangerous to anyone trying to bring about changes to that status.
Thanks for your feedback. will look into it mate.
These days we can certainly build more, faster. But I get the impression that customer expectations are rising at a much faster pace.
This is what Kris Arnold (https://twitter.com/wka), one of the other hackers here at Shutterstock recommended. I like it.
My Nissan Altima beeps too. It also shows a picture of a key and "No Key" on the dashboard if the engine's on but a key isn't in range.
Germany. Lots of liberty and smart people. Corn dogs.
>Ultimately it's your fault as a contractor if you don't get paid.

Um.. what? It looks like, judging by the first story on the page, there was a contract which he successfully sued the delinquent client with, and it's just taking forever to collect.

It's not your fault that the judicial system is an inefficient mess and that people lie.
Corkboard is amazing!! I use it daily to organize my life!
Why is this article getting up-voted on HN? This type of journalism is more suited for a Gizmodo.

Contrary to popular opinion, Android is an OS and iPhone is both iOS and associated Apple hardware.
New standards are needed to fix reply-by-email
My problem with sinatra is that I rarely work on a small well defined project. Usually these projects grow beyond their original scope and sinatra is not equipped to deal with that. I don't see the problem with creating a nearly empty rails app.

http://rawsyntax.com/blog/the-problem-with-micro-frameworks/
In the cases in the article, strict and warnings won't save you.
Well-played: http://i.imgur.com/qaPhp.png