315 karma · joined February 21, 2011
That's not the point. Specialization - developing a deep understanding requires time and effort. As a developer choosing a way to store passwords securely is one task out of 1,000 I'm responsible for. So I acquire a general understanding of cryptography to make a decision - but that decision relies heavily on experts and consensus. The worst thing I can do as a developer is to go down the rabbit hole of cryptography and spend 10 hours researching an optimal password hashing scheme for my app. Sure, I've begun the journey of having a deep understanding of crypto - but I still have 999 things to do!
Which reminds me I need to get off HN and get some work done .....
Asking me to prioritize my decision making process into 3-5 neat little bullet points ranges from annoying and insulting. In asking the question the interviewer sounds like this:
Interviewer: "I'm assuming you haven't thought through your requirements for being an employee of my company. I could engage you in conversation like a normal human being to find out what you want. But I'm too lazy for that. Please summarize what you want in a convenient format that I can easily understand."
Interviewee: "This guy doesn't like to think. He values simple answers over process & conversation. I might have one 'bullet point' that requires a dozen questions to figure out. I might have a dozen bullet points that could be answered with two questions. Instead of talking to me he wants me to tell him what I want to hear. I'm outta here!"
.... see?
BeenVerified seems to fit the bill:
Poor UI design. I'll stick with Google web fonts or the multitude of commercial font sites.
What Prefixgate shows is that a W3C standard is not a rigid set of laws like the 10 commandments. Rather a W3C standard is like a peace treaty - all adherents agree to respect certain protocols and behave in certain ways, buy are free to pass whatever laws they want within their own boundaries. Assuming that these proprietary laws do not conflict with existing treaty stipulations.
Peace treaties give us access to the best of both worlds: vendors are free to innovate as they see fit, yet they still commit themselves to some level of interoperability. Innovations influence the standard and the standard ensures that all vendors adopt the best innovations at some point.
The comparisons between IE of old and Webkit are incorrect. Microsoft has a history of implementing standards incorrectly (http://www.quirksmode.org/css/quirksmode.html) and bullying standards bodies (http://techrights.org/2011/09/06/michel-levy-comes-out-swing...). When it comes to standards Microsoft does not act in good faith.
1. Right now my screen share app of choice is TeamViewer. You could own this space if screen control was added, very easy to setup and use.
2. Monetization strategy? Are you looking to monetize this app?
As with programming, the more esoteric and technical aspects of philosophy can be difficult for the layman to grasp. No policy maker would dream of de-funding computer science education because it's obtuse to the general public. Yet somehow technical difficulty is a knock against funding philosophy education in the USA....
Programming in today's world means working with other people's code. All a framework does is provide a set of design patterns and standards that a group of programmers can adhere to. This encourages code reuse and allows you as a programmer to create "black boxes" - components with a well defined programming interfaces that behave in a consistent & predictable manner.
Real-world example: I'm currently working with a custom-built CMS programmed in PHP. I'm the second man on a what began as a one-man project. The CMS author wrote a bunch of database functions (essentially wrappers for the deprecated mysql_* functions) and dumped them into a file. Now, the author wasn't aware that you can (and should) lazy-load database connections - so every time you need to talk to the database, you have to manually connected using `cms_db_connect()` AND select the database with `cms_db_select(CONST_DATABASE_NAME)`. As pretty much every page initiates a database connection this code is EVERYWHERE.
And this is only the tip of the iceberg. There's also a half-assed MVC implementation, ubiquitous usage of inline CSS, un-encapsulated code, and a butt-load of quirky behavior. Now if the original author had take a little bit of time at the beginning and researched a proper framework or used an existing CMS our project would not be behind schedule - and it would be far easier to add another developer into the mix. All this meaningless complexity because the original author took the "simple" route of not working with a framework authored by third parties.
parse_url http://us.php.net/parse_url for getting URI components
parse_str http://us.php.net/parse_str for getting query string variables
These two functions take care of the vast majority of my URI parsing/creation tasks.
Of course it would be nice to have a fluent interface like URI.js via a PHP class. And the URI normalization functions.
* Parallels. VM. Use it primarily for testing web apps in older versions of IE.
* Netbeans. Great search tools (search in files, search for classes, functions).
Yes - a strong work ethic is needed to build a company. But hard work won't save a mediocre idea or flawed business model. Don't work hard, work smart - which means working long hours and pushing a deadline when needed. It also means being skeptical and ruthless with your business model, validating your ideas and pivoting when needed.
> Cry less
No. Cry more. Vent and complain. Give yourself emotional release. Your brain needs it. And how can you code optimally or run a company properly when your brain is working at partial capacity?
If you are smiling, happy and confident all the time when building a startup you are probably a deluded idiot. That being said - always exude confidence to your customers and strategic business partnerships. (insert witty remark here about sausage being made) However ALWAYS be brutally honest with yourself and your team. If you are honestly challenging and validating your idea and business model you will lose faith from time to time and may even slip into a funk. THIS IS NORMAL. If you're honest with your team they will find a way to help you through.
> And realize you’re part of history.
This is true in the sense that you are living and breathing and working during the early 21st century - you are a part of history (by this definition every dog is also a part a history, so don't get too excited). But it's highly unlikely that you will make history. Like most people (and most dogs) your startup will toil and die in obscurity. It's absurd to concern yourself with your legacy before you've built something of value. Build a great company and let history make up it's own mind.
Second: know your audience. It's not surprising that a landing page for a video startup would benefit greatly from having an actual video present. It would be awesome to see a result set from a wide range of start-ups.
Third: The real-time video analytics are awesome. When looking at realtime can you rewind or scroll the realtime chart backwards in time?
Fourth: When visiting a new web site I tend to be brutal - if I don't "get" the site within the first 5-10 seconds I move on. If my interest is piqued in the first few seconds but I'm still not convinced I will jump to a video. I rarely go straight to the video (though I imagine if I looked at a dozen startup landing pages a day I would probably hit the video first). If my behavior is typical it seems that a video is the tipping point for users already primed by the rest of the page.
Unfortunately this implementation is way too slow for large files. In Chrome 15 OSX running a Core 2 Duo 2.4GHz an ~650MB file takes about 9.3 minutes to calculate the resultant SHA. Using openssl the hash generation takes ~8 seconds. (Bearing in mind that it's not fair to compare an interpreted script against a compiled program.)
"I do not eat breakfast. Please do not ask me any questions about what I will do breakfast. Please just do not bring it up."
> Is this full type checking overkill?
Yes.
> But considering the huge number of websites and web applications written every year, and the massive difficulties we consider with browser testing and compatibility, it sure would be nice if web developers no longer had to consider whether their HTML was valid or not, and instead have more time to focus on the things that really matter.
As a web developer I can tell you that generating valid HTML is trivial. Even when working with large, multipart systems like Drupal and Wordpress, the developers and plugin writers do a phenomenal job of creating a single, unified DOM. This is remarkable: thousands of individuals can contribute to a project that outputs a single page of perfectly valid HTML and corresponding CSS/JavaScript assets. (This code is not always optimized, but it is valid).
Generating valid HTML is a solved problem - even in complex systems. Creating a new templating engine doesn't add any value.
The time and aggravation that occurs in web development is as follows: even if I create a perfectly valid & consistent HTML/CSS/JavaScript web page it will not be rendered the same across web browsers. Let me repeat that: as a web developer even if I honor the contract outlined in a specification there is no guarantee that the same contract will be implemented in a consistent fashion across browsers.
When I write something on a blog or like/upvote something I'm actively curating my experience for others. Knowing what songs I'm listening to isn't that valuable. Knowing which songs I like and knowing why I like them is the value-add.
Can a bot or algorithm augment or emulate the magic of crowd-sourced sharing? Or will it throw Facebook into a Myspace-esque clusterfuck?