HN user

Nicolas___

56 karma
Posts2
Comments26
View on HN

These tips are good practices, but they are micro-optimisations. The function strtr might be 4 times faster than str_replace, but the time saved by using strtr will represent a tiny tiny tiny portion of your script execution time.

Micro-optimisations are worth it when everything else is optimized in your application. You might get way better results by focusing on your database structure or the way you store, retrieve and cache your data.

What's listed here doesn't lead to "highly efficient code". More like "A tiny little bit more efficient code". Doesn't hurt doing it though.

I recently had to choose a way to authenticate users for a prototype web app I was building. My first choice was OpenId, because the promise behind it is awesome (1 login everywhere) and I wanted to avoid depending on FB.

First annoying thing about OpenId is that most providers make an awesome job of hiding their entry point, or the exact URL that is each user ID. Except for Google, I had to extract URLs from various authentication pages (StackOverflow has a nice one) and plug-ins (http://jvance.com/pages/JQueryOpenIDPlugin.xhtml among others).

Second annoying thing about OpenId is consistency. Some providers provide a distinct URL for each user, and some have a unique URL for every users. This makes your auth form an UX nightmare where users have to paste their URL instead of just clicking a button.

Add to this the fact that each providers has it's own understanding of the spec, which leads to some weird implementations of the protocol (once again except for Google's). That and the not-so-occasional errors from several providers (these raw "Error 500 - contact our administrator" we all love).

At this point, I had spent almost 20% of the time I had to make the whole prototype, trying to figure how openId could fit in. So I changed my mind and switched to FB Connect...which can be integrated in about 20 minutes.

I'm no FB fan, really. But I have to admit it just works...

The first rule of the cloud is : If you think your data requires a high level of privacy, don't store it on someone else's platform.

The second rule of the cloud is : Paying for a service to get a "private" option doesn't mean the data you store is and always will be 100% unreadable/unusable by the company providing the service. Targetted ads is based on exactly that.

Finally, the most important rule of the cloud is : If you're sad/annoyed/chocked when you realize that companies like Google, Facebook, GitHub, Dropbox, and thousands others have priorities that could conflict with yours at some point and threat your business or your privacy, just don't work with them, just don't rely on them.

The AWS website has all the informations you need. The http://aws.amazon.com/architecture/ section provides 5 diagrams :

==> Web Application Hosting : http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_...

==> Content and Media Serving : http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_...

==> Batch Processing : http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_...

==> Fault tolerance and High Availability : http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_...

==> Large Scale Processing and Huge Data sets : http://d36cz9buwru1tt.cloudfront.net/architecturecenter/AWS_...

These are the main usages a startup can make of AWS. Of course, depending on your core business, you will need to focus on specific parts.

Being able to provide you with your password in plain text doesn't mean it's stored in plain text. There are very efficient and secure encryption algorithms that are reversible, out there.

Of course, sending passwords in an unencrypted email is bad practice, but that's another story.

- read SMS or MMS Allows application to read SMS messages stored on your device or SIM card. Malicious applications may read your confidential messages.

- receive SMS Allows application to receive and process SMS messages. Malicious applications may monitor your messages or delete them without showing them to you.

- read contact data Allows an application to read all of the contact (address) data stored on your device. Malicious applications can use this to send your data to other people.

- read phone state and identity Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and the like.

What is the point of having these privileges, in a trivia app ?

[dead] 15 years ago

Anyone has experience with Foundation ? Is it any better than Bootstrap (Twitter's) or any other framework of that kind ?

It would be nice to have some specific informations about what you guys are building, on top of the utopic vision email you send monthly.

Many people are interested by the project, but you have to realize we already know why we are interested.

There are two main options, when it comes to making money from an app :

1- sell a small (cheap) app to many people

2- sell a big (expensive) app to a few people

While it is true that the most successful apps are usually pretty complex and expensive to produce, there are ways to make money with small apps. Games are a good example, as some hugely successful games are human-sized projects.

One thing : Starting a project with money as your unique goal won't lead you very far...passion is a way bigger motivation (that often leads to success, too).

The problem is that many legit people with perfectly legit businesses have seen their account frozen for 180 days without any reason and without any human being to discuss the issue with. All they could do is wait and hope they get their money back at some point.

To some it might be just an issue, but to me it's a problem that would lead my company to bankrupt.

There are many ways to share knowledge.

The most obvious would be "write a blog". But to be honnest, you may as well use your knowledge in the process of building a tool to share it :)

Here comes the engineer approach : List your knowledge, structure it, and think about how people would like to get access to what you have to offer. You might come pretty close to what Khan has done with http://www.khanacademy.org/

Feel free to contact me (nsebban at google's mail thingie) if you want to talk about this topic in more details...

Funny thing is that today, despite the fact that everybody has a broadband connection, Minitel is still used by some people. Specifically for the 2 usages that made its success in the first place : yellow pages and adult chat.

A few companies still make significant profit from this platform in 2011. And it's still profitable for France Telecom as well.

Low tech works :)

Set your main goal in life to "Share that knowledge".

29 is stupidly young to be a mentor, but it's a great moment to start working on helping others in your field of expertise.

I think HN is not a place for that kind of posts. It's a place for people like you to post about their incentives to help the world (and succeed in the process), thanks to what they achieved in their field of expertise. Otherwise, just open a blog.

I use Duplicity (http://duplicity.nongnu.org) for incremental and full backups. It has built-in encryption as a default (but can be disabled). It also manages secure transfert to a distant host via rsync over ssh.

I use it to store my distant backups on http://rsync.net, which is most likely the best storage service I have ever used (simple, fast, reliable, relatively cheap and run by smart + nice people).