Browserhacks. Product Managing your job hunt. Product managers come from a lot of different backgrounds — startups, consulting, software engineering, QA,… which are all relevant to the position. So what is the best way to break into product management? Short answer is to show that you are already doing a product manager’s job. If you’re in one of these positions, take over some broader responsibilities corresponding to a PM’s job. “There’s a catch 22 about product management roles. Most companies asks for 2-3 years experience, but few are ready to give you this experience” @jasonyogeshshah So I decided to tread the following path to both sharpen and showcase my PM skills.
After 2 years as the Lead Engineer in the startup I co-founded, cottonTracks, we’re shutting it down. Set clear objectives Be clear about your dream job. Also, job hunting can be scary. A PM needs to know which users to target, and where his product need to go. Have a strategy You have your goal set. PMs have a bird’s eye view of everything related to their product. The Janki Method Shortens the Time It'll Take You to Learn to Code. As someone who has hired thousands of developers over many, many, years I'll have to confirm that the best people ALWAYS come from the self-developed-application background.
(The same is true for people who work in gaming.) If you pick some project thats performs a function or service that you care about that's small. And develop it into a finished product worth using, you will learn almost all you will ever need to know about programming. The process of problem solving while building an app that you are interested in forces you to solve the suite of related problems that make an up an application. And it's the understanding of that totality of problems that makes a good developer. I learned how to code in order to write games. Languages don't matter. The only advice I have for people learning to code in this decade is that strongly typed, pre-compiled languages, and softly typed scripting languages have their uses. Colourcode - find your colour scheme.
Build an Offline HTML5 Web Application. Browser Support Before delving into any latest technology, you should always perform a quick spike on browser vendor and platform support. Otherwise, you risk writing something that will only benefit a select few users. With respect to Offline Apps, the news is good! According to caniuse.com, all class A browsers and mobile devices support offline applications, with the exception of Internet Explorer 9 (version 10 will support them) and Opera Mini versions 5.0 to 7.0. Good Candidates for the Offline Treatment Sites that make good offline apps offline generally fall into two categories: those that let you manipulate data and those that let you search and retrieve information. The Undependable online and offline Events You may have heard of the navigator.onLine property. The check for the 'online' property is important because most browsers don't support the online and offline Events.
So it’s basic API for use with animation, whether that be DOM-based styling changes, canvas or WebGL. Why should I use it? The browser can optimize concurrent animations together into a single reflow and repaint cycle, leading to higher fidelity animation. OMG I can brag about having a site with battery-friendly animations? Yeah bro. How should I use this?
Note: I am using ‘requestAnimFrame` here because since the spec is still in flux, I don’t want to make a straight polyfill, yet. 2012.01.07: The spec has gotten some fixes and settled down. A robust polyfill I have this polyfill available as a gist as well. Let’s see that in action Is it ready? Is jQuery Too Big For Mobile? By TJ Van Toll This question gets asked a lot, and I’ve yet to see a data-based exploration of this topic. Terms like “big” and “bloated” are relative terms; they don’t mean anything without numbers to back them up. The real question should be – “Does the size of jQuery adversely affect the users of my applications enough to outweigh the development conveniences that the library provides?” To answer that question, we need to determine how long it takes to load jQuery on mobile devices. The rest of this article is dedicated to determining that number, and to get it, we have to start with a discussion of how the <script> tag works.
Disclaimer: I’m a member of the jQuery team and am currently writing a book on jQuery UI. To keep this discussion objective, I’ll stick to numbers as much as possible. The <script> Tag We’ve seen this code countless times, but what does the browser actually do when it parses this line of HTML? Let’s explore each of these individually. Downloading jQuery Bandwidth.
Audreyr/favicon-cheat-sheet. Apprendre un nouveau langage. A Look at PHP's Continuing Evolution. Guest post by Larry Garfield – Larry Garfield is a Senior Architect at Palantir.net, a web consultancy based in Chicago. When not developing sites for clients, he can also be found leading the Drupal 8 Web Services Initiative, evangelizing good coding practices, working to bring the PHP world closer together through the PHP Framework Interoperability Group, or providing training either for clients or the Drupal community. Occasionally he remembers to sleep. PHP is not a young language. As of 2013, it's 18 years old; that's old enough to vote. Many upstart languages have appeared over the years to try and unseat PHP as the "lingua franca" of web applications but it still commands over 80% of the web market. Many PHP detractors had cited the language's sometimes inconsistent APIs or its procedural nature as a reason that PHP was just a "toy language.
" Recent versions of PHP have expanded its capabilities, too, to keep up with evolving markets and technical requirements. <? Traits <? <? The same app 4 times: PHP vs Python vs Ruby vs Clojure. Mar 25, 2013 Here's a toy program I wrote implemented in PHP, Python, Ruby, and Clojure. I hope it's helpful for someone who knows at least one of those and wants to learn another. The program is called “Nurblizer”, and it does one thing: Accept free-form text, and attempt to replace all words but the nouns in said text with the word “nurble”. It's up and running at First, the PHP. I'm not a big fan of PHP, but you can't argue with the simplicity of deployment. The index.php file contains just HTML, because it doesn't actually have to do anything. The magic happens in nurble.php What happens here? The nouns.txt file is read to produce an array of nouns.The text is uppercased.A list of words in the text is produced by lowercasing the text and then splitting it using preg_splitThe list is looped through, and if a word is in the list of nouns, each instance of that word in the text gets replaced by an HTML snippet denoting a “nurble” So why not stop there?
Go ilaksh. Greg Reda | Web Scraping 101 with Python. After you're done reading, check out my follow-up to this post here. Yea, yea, I know I said I was going to write more on pandas, but recently I've had a couple friends ask me if I could teach them how to scrape data. While they said they were able to find a ton of resources online, all assumed some level of knowledge already. Here's my attempt at assuming a very minimal knowledge of programming. Getting Setup We're going to be using Python 2.7, BeautifulSoup, and lxml. If you don't already have Python 2.7, you'll want to download the proper version for your OS here. Next, you'll need to install BeautifulSoup. In Terminal, run sudo easy_install pip. A few scraping rules Now that we have the packages we need, we can start scraping. You should check a site's terms and conditions before you scrape them. Finding your data For this example, we're going to use the Chicago Reader's Best of 2011 list.
All you want to see is a list of the category, winner, and maybe the runners-up, right? Self-Taught Developers: Are You Missing Your Foundation. You seem to equate "foundation" with knowledge that's not immediately applicable. There's some truth to that, but I think it misses the forest for the trees. Knowledge is just the tip of the iceberg when it comes to excellence in software development.
Think of programming like writing an essay. Clearly some knowledge is required; you need to include some information in the essay or it's completely pointless. Programming is similar. Now from your "I'm fine" list it sounds like maybe you're not interested in excellence in programming per se, just in the business value you can create by programming well enough to solve your customers' problems. But if you want to be a good programmer, to really master the skill, then you need a bit more than a few tools that can solve most problems, and being able to learn new skills just in time.
I'm self-taught too, so I get it. Git Immersion - Brought to you by Neo. Learn Web Development with the Ruby on Rails Tutorial. Michael Hartl Contents Foreword My former company (CD Baby) was one of the first to loudly switch to Ruby on Rails, and then even more loudly switch back to PHP (Google me to read about the drama). This book by Michael Hartl came so highly recommended that I had to try it, and the Ruby on Rails Tutorial is what I used to switch back to Rails again. Though I’ve worked my way through many Rails books, this is the one that finally made me “get” it. The linear narrative is such a great format.
Enjoy! Derek Sivers (sivers.org) Founder, CD Baby Acknowledgments The Ruby on Rails Tutorial owes a lot to my previous Rails book, RailsSpace, and hence to my coauthor Aurelius Prochazka. I’d like to acknowledge a long list of Rubyists who have taught and inspired me over the years: David Heinemeier Hansson, Yehuda Katz, Carl Lerche, Jeremy Kemper, Xavier Noria, Ryan Bates, Geoffrey Grosenbach, Peter Cooper, Matt Aimonetti, Gregg Pollack, Wayne E. About the author Copyright and license 1.1 Introduction. Design lessons for programmers, curated by top designers | Hack Design. PHP Best Practices: a short, practical guide for common and confusing PHP tasks. 30+ PHP Best Practices for Beginners. Performance & Organization - An Advanced Guide to HTML & CSS. Having the ability to write HTML and CSS with a solid understanding is a great expertise to have. As a website’s code base and traffic grows, a new skill set comes into play, one that is extremely important to both development time and user experience.
Knowing the fundamentals of website performance and organization can go a long way. The organization and architecture of a code base can greatly affect not only the speed of development, but also the speed at which pages render. Both of which can be sizeable concerns not only for developers but also users. Additionally, taking a few small steps to improve the performance of a website can pay off in dividends. Strategy & Structure The first part to improving a website’s performance and organization revolves around identifying a good strategy and structure for developing the code base.
Style Architecture The architecture outlined above includes three directories, all with individual groups of styles. Object Oriented CSS Choosing a Methodology. Parse API. Probability Theory — A Primer. It is a wonder that we have yet to officially write about probability theory on this blog. Probability theory underlies a huge portion of artificial intelligence, machine learning, and statistics, and a number of our future posts will rely on the ideas and terminology we lay out in this post.
Our first formal theory of machine learning will be deeply ingrained in probability theory, we will derive and analyze probabilistic learning algorithms, and our entire treatment of mathematical finance will be framed in terms of random variables. And so it’s about time we got to the bottom of probability theory. In this post, we will begin with a naive version of probability theory. That is, everything will be finite and framed in terms of naive set theory without the aid of measure theory. We should make a quick disclaimer before we get into the thick of things: this primer is not meant to connect probability theory to the real world.
So let us begin with probability spaces and random variables.
Memorizing a programming language using spaced repetition software. I've been doing this for a year, and it's the most helpful learning technique I've found in 14 years of computer programming. Background: I'm an intermediate programmer. I didn't go to school for it. I just learned by necessity because I started a little website called CD Baby that just kept growing and growing, and I couldn't afford to hire a programmer, so I picked up a few $25 books on PHP, SQL, Linux, and Apache, and learned just enough to make it work, then used that little knowledge for years.
But later, when I worked along side a REAL programmer, I was blown away by their vocabulary! It made me think about how much I've learned then immediately forgotten, over the years. I wanted to deeply memorize the commands and techniques of the language, and not forget them, so that they stay at the forefront of my mind whenever I need them. Spaced Repetition: When you hear a new fact, it's forgotten pretty quickly unless it's brought back to the forefront of your mind repeatedly.
First, learn! MessagePack: It's like JSON. but fast and small. (18) What are some useful technical skills I can learn within a day. ← Python For Beginners. The Yaksis. Support Vector Machine has become an extremely popular algorithm. In this post I try to give a simple explanation for how it works and give a few examples using the the Python Scikits libraries.
All code is available on Github. I'll have another post on the details of using Scikits and Sklearn. What is SVM? SVM is a supervised machine learning algorithm which can be used for classification or regression problems. It uses a technique called the kernel trick to transform your data and then based on these transformations it finds an optimal boundary between the possible outputs. So what makes it so great? Well SVM it capable of doing both classification and regression. Cows and Wolves So what is the kernel trick? The kernel trick takes the data you give it and transforms it. For a second, pretend you're a farmer and you have a problem--you need to setup a fence to protect your cows from packs of wovles.