36
I Use This!
Inactive

News

Analyzed about 20 hours ago. based on code collected about 24 hours ago.
Posted almost 8 years ago
Update: The Book Is Available Now I've setup a pre-release for the book which you can buy now. You'll receive all updates as they become available! I was in the middle of a conversation with a friend the other week and we started debating some data ... [More] access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? I sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but... it's really what happened. Yes, I'm your nightmare. The truth is I've known Big-O notation for quite some time, but the fact that I couldn't just call it up right then and there was ... quite frustrating. I don't have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I'm truly qualified to do such things - but rather than do that I'll just throw in the towel and say you're right: I really should know these things. My problem is that I a) don't have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that's no excuse. The Inspiration I don't know if this is nice of me, or "cool to do" in the online sense, but it's the truth so... whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood's blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you're absolutely right. The main issue I have is that I don't know what I don't know. I set out to change that 6 months ago, and it's what I hope to share with you in a few months from now. The Imposter's Handbook I'm 80% of the way through this effort, and it's quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here's a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP "stuff" Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: How you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what's popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees... what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I'm 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don't take this lightly. One sure fire way that I'll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don't know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I'll add it in there. Hopefully I'll have this thing ready to go in a month or so. It's taking me forever and it's mostly research - which is too damn fun. [Less]
Posted almost 8 years ago
I was in the middle of a conversation with a friend the other week and we started debating some data access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? I ... [More] sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but... it's really what happened. Yes, I'm your nightmare. The truth is I've known Big-O notation for quite some time, but the fact that I couldn't just call it up right then and there was ... quite frustrating. I don't have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I'm truly qualified to do such things - but rather than do that I'll just throw in the towel and say you're right: I really should know these things. My problem is that I a) don't have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that's no excuse. The Inspiration I don't know if this is nice of me, or "cool to do" in the online sense, but it's the truth so... whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood's blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you're absolutely right. The main issue I have is that I don't know what I don't know. I set out to change that 6 months ago, and it's what I hope to share with you in a few months from now. The Imposter's Handbook I'm 80% of the way through this effort, and it's quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here's a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP "stuff" Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: How you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what's popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees... what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I'm 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don't take this lightly. One sure fire way that I'll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don't know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I'll add it in there. Hopefully I'll have this thing ready to go in a month or so. It's taking me forever and it's mostly research - which is too damn fun. [Less]
Posted almost 8 years ago
I was in the middle of a conversation with a friend the other week and we started debating some data access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? ... [More] I sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but... it's really what happened. Yes, I'm your nightmare. The truth is I've known Big-O notation for quite some time, but the fact that I couldn't just call it up right then and there was ... quite frustrating. I don't have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I'm truly qualified to do such things - but rather than do that I'll just throw in the towel and say you're right: I really should know these things. My problem is that I a) don't have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that's no excuse. The Inspiration I don't know if this is nice of me, or "cool to do" in the online sense, but it's the truth so... whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood's blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you're absolutely right. The main issue I have is that I don't know what I don't know. I set out to change that 6 months ago, and it's what I hope to share with you in a few months from now. The Imposter's Handbook I'm 80% of the way through this effort, and it's quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here's a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP "stuff" Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: Ho you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what's popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees... what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I'm 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don't take this lightly. One sure fire way that I'll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don't know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I'll add it in there. Hopefully I'll have this thing ready to go in a month or so. It's taking me forever and it's mostly research - which is too damn fun. [Less]
Posted almost 8 years ago
Update: The Book Is Available Now I’ve setup a pre-release for the book which you can buy now. You’ll receive all updates as they become available! I was in the middle of a conversation with a friend the other week and we started debating some data ... [More] access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? I sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but… it’s really what happened. Yes, I’m your nightmare. The truth is I’ve known Big-O notation for quite some time, but the fact that I couldn’t just call it up right then and there was … quite frustrating. I don’t have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I’m truly qualified to do such things - but rather than do that I’ll just throw in the towel and say you’re right: I really should know these things. My problem is that I a) don’t have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that’s no excuse. The Inspiration I don’t know if this is nice of me, or “cool to do” in the online sense, but it’s the truth so… whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood’s blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you’re absolutely right. The main issue I have is that I don’t know what I don’t know. I set out to change that 6 months ago, and it’s what I hope to share with you in a few months from now. The Imposter’s Handbook I’m 80% of the way through this effort, and it’s quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here’s a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP “stuff” Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: How you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what’s popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees… what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I’m 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don’t take this lightly. One sure fire way that I’ll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don’t know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I’ll add it in there. Hopefully I’ll have this thing ready to go in a month or so. It’s taking me forever and it’s mostly research - which is too damn fun. Want To Know More? You can sign up for the mailing list here [Less]
Posted almost 8 years ago
Update: The Book Is Available Now I've setup a pre-release for the book which you can buy now. You'll receive all updates as they become available! I was in the middle of a conversation with a friend the other week and we started debating some data ... [More] access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? I sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but... it's really what happened. Yes, I'm your nightmare. The truth is I've known Big-O notation for quite some time, but the fact that I couldn't just call it up right then and there was ... quite frustrating. I don't have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I'm truly qualified to do such things - but rather than do that I'll just throw in the towel and say you're right: I really should know these things. My problem is that I a) don't have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that's no excuse. The Inspiration I don't know if this is nice of me, or "cool to do" in the online sense, but it's the truth so... whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood's blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you're absolutely right. The main issue I have is that I don't know what I don't know. I set out to change that 6 months ago, and it's what I hope to share with you in a few months from now. The Imposter's Handbook I'm 80% of the way through this effort, and it's quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here's a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP "stuff" Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: How you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what's popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees... what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I'm 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don't take this lightly. One sure fire way that I'll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don't know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I'll add it in there. Hopefully I'll have this thing ready to go in a month or so. It's taking me forever and it's mostly research - which is too damn fun. [Less]
Posted almost 8 years ago
I was in the middle of a conversation with a friend the other week and we started debating some data access nonsense. This friend (whom shall remain anonymous) asked me a simple question: So you decided to go O(N^2) instead of just O(N+1) then? ... [More] I sort of laughed nervously, thinking that the definition would come. I swear it hurts to write this right now but... it's really what happened. Yes, I'm your nightmare. The truth is I've known Big-O notation for quite some time, but the fact that I couldn't just call it up right then and there was ... quite frustrating. I don't have a CS degree and the same can be said for a lot of my friends who write blog posts and get up in front of rooms of people to give talks on computer science stuff. We could sit here all day and debate whether I'm truly qualified to do such things - but rather than do that I'll just throw in the towel and say you're right: I really should know these things. My problem is that I a) don't have enought time and money to go back to school and b) I think I can dig in and figure a lot of stuff out using resources online (lectures, tutorials, etc) and books readily available for my Kindle/iPad. But that's no excuse. The Inspiration I don't know if this is nice of me, or "cool to do" in the online sense, but it's the truth so... whatever. My inspiration for this book is an anonymous comment left on Jeff Atwood's blog: For me, spreading ignorance (or bad information due to ignorance) is an issue. If you are gonna talk about subject X, make sure you know subject X, well enough to talk about it. At least, make sure that you are not making gross errors about subject X. Is it really too much to ask? I've been working as a professional programmer for years, and I've encountered many without basic scientific background. And that's FINE! Not everyone needs it, or wants it. But then these people read a blog post, and it sounds right, so they believe it. After all, they lack the knowledge to figure out which parts are true and which are don't. That's why they are reading the blog! And they learn stuff that is WRONG. And then they are going to implement this stuff, and argue about it, and generally BELIEVE that anything having to do with CS is either unpractical or is easily enough learned in 30 minutes of reading. And then I have to work with these people, and manage them! They have no grasp of how much they simply don't KNOW. And at some point, their knowledge simply ain't gonna cut it. And they are going to argue with me, or write me off as a user of fancy computer science jargon. I mean, it's just register allocation, right? How hard could it be? It's only BSP tree optimization, let's just check all the options! So I am trying to combat this ignorance for practical, selfish reasons. Programmers need to understand the problems they work on. They need to understand when they are out of their depths, and its time to hit the books, or call someone who knows. Or reject that project, or bump up the cost and time estimate. At least map out the areas of your understanding, so you'll know when you're on treacherous ground. The other reason is a matter of principle. Ignorance is pretty bad, and I reject mediocrity for its own sake. In less fancy terms, if you are writing technical posts, get the technical details RIGHT! M1116: you're absolutely right. The main issue I have is that I don't know what I don't know. I set out to change that 6 months ago, and it's what I hope to share with you in a few months from now. The Imposter's Handbook I'm 80% of the way through this effort, and it's quite literally changing my life. Every single chapter I write has completely altered my outlook on things and, most importantly: made me see all too clearly just what I do not know. Here's a list of the chapters I have so far (in no particular order): Computational Theory: Finite State, Pushdown, and Turing Machines as well as Geek Trading cards and P/NP "stuff" Algorithms: bubble sort, heap sort, quick and merge sort, selection sort and binary search. Big-O Notation: what each common asymptotic complexity means and why you should care. Linux Essentials: how to get around and do basic things Shell Scripting: How you can accomplish various tasks using the command line, including tossing Grunt/Gulp and using Make Software Design: SOLID, Gang of Four patterns, etc Programming Language Essentials: Compilers, memory usage, garbage collection, runtimes, TIOBE analysis, a quick overview of what's popular vs. what pays Data Structures: Arrays, linked lists, heaps, hash tables and binary search trees... what they are and why you should care Encryption: ciphers, encryption algorithms and basic hashing including the security/insecurity of each approach I might add some things or prune back but as I mention: I'm 80% there. Whatever Why Am I Telling You? I thought if you had any ideas or requests you could let me know (do it on Twitter: http://twitter.com/robconery). These are things that I need to know more about, and writing/presenting things like this forces me to research them. Which I think is critical: I don't take this lightly. One sure fire way that I'll learn this stuff is to have my ass on the line - and it really, really is with this effort. Is This Supposed To Replace a Degree? HELL. NO. My goal with this book is to show non-CS grads just how much they don't know. As I mention: the very act of writing this book has completely 100% no shit changed everything about how I approach programming. Absolutely everything. I hope to fire up the non-CS grads out ther to go investigate subjects that interest them. To seek out the easily-accessible, free online courses from Harvard, Stanford, and other high-caliber schools. All links will be included in the book. You Really Should Have a Chapter On X Yeah, I probably should. Do me a favor and let me know if you have a request. If I have time, I'll add it in there. Hopefully I'll have this thing ready to go in a month or so. It's taking me forever and it's mostly research - which is too damn fun. [Less]
Posted almost 8 years ago by Rob Conery
There is so much I don't know about Computer Science. I figured I'd share that with you
Posted almost 8 years ago
I’m headed out on my own once again, and no, there’s no drama here. Pluralsight has decided to venture into a realm of training that I’m just not qualified for (enterprise) so they were good enough to let me go off and do my own thing again. I think ... [More] that’s pretty damn honorable of Aaron and gang. I wish them all the best… Now I get to play… Once Again, Trying Something Completely New Pluralsight still owns the Tekpub brand, of course, so I can’t just do that all over again - and honestly I don’t think I want to. It was fun, to be sure, but there’s a sense of “ending something” that I think should just… be. It balances the event in some way. Over the last few months I’ve been trying some new ideas as well. For instance, I was extremely impressed by the Discover Meteor tutorials. Such a complete experience, top to bottom. The only thing I wish they had was a video to accompany their amazing book. I also like the idea of sprinkling in some kind of story or narrative. It’s so easy to be cheesy, but at the same time I think dosing a boring technical tutorial with a bit of context is kind of fun. So that’s what I made for Elixir. I love that language and the vast, amazing OTP framework underneath it. Seriously once you start down OTP, “forever will it dominate your destiny”. Erlang, Elixir - whatever - OTP is brilliant! I just can’t help myself - I like to share this stuff. Didn’t You Already Make That? Sort of, but it needed to be updated and prettied up a bit. I love taking my time, refining things until they shine. I think customers feel that at an unconscious level - that you cared enough to sweat every pixel and font choice. The first Red:4 was fine - it looked … OK but I always felt like I could have done more. So I did - and I added a lot of content on the way.. Yesterday I launched what I’d love to make more of: an elegant tutorial site that’s looks as good as its content. This thing took me months to put together and, I’ll admit, was one of the most frustrating experiences ever. The first experience was fairly complete, but given some feedback and changes to Elixir, I decided to add: Two chapters on debugging A complete Github repository with bugs and refactoring that you need to fix More OTP as well as troubleshooting OTP Ecto and Mix Tasks There are, of course, lots of fixes as proposed by our intern pool. Getting It Right Takes Time Once I realized that my time with Pluralsight was over, I began to freak out a bit. It’s my only job! I had just received a royalty check (they send them out quarterly) so I was good for the next three months - that was a month and a half ago. I don’t think I ever intended to make a living off of this one site. The tutorial is on Elixir, which is kind of niche these days (but is also amazing seriously you should check it out), so the audience isn’t all that huge. But I want to do other things just like this. Little sites, one-off domains for a given topic like Node or Career stuff. I think people care about polished material. Available For Professional Video As Well I’ve also started working with companies who want to do something a little different for their product videos - getting away from that god-awful ukulele/whistle music, making something relevant to the viewer. Currently I’m helping a company with their help and documentation tutorials - something I wish every company invested in. So, if you need help that way let me know :). I have plenty of things to keep me busy, and I’m equally excited and terrified for what the next year will bring. Stability, apparently, is not my thing. [Less]
Posted almost 8 years ago
I'm headed out on my own once again, and no, there's no drama here. Pluralsight has decided to venture into a realm of training that I'm just not qualified for (enterprise) so they were good enough to let me go off and do my own thing again. I ... [More] think that's pretty damn honorable of Aaron and gang. I wish them all the best... Now I get to play... Once Again, Trying Something Completely New Pluralsight still owns the Tekpub brand, of course, so I can't just do that all over again - and honestly I don't think I want to. It was fun, to be sure, but there's a sense of "ending something" that I think should just... be. It balances the event in some way. Over the last few months I've been trying some new ideas as well. For instance, I was extremely impressed by the Discover Meteor tutorials. Such a complete experience, top to bottom. The only thing I wish they had was a video to accompany their amazing book. I also like the idea of sprinkling in some kind of story or narrative. It's so easy to be cheesy, but at the same time I think dosing a boring technical tutorial with a bit of context is kind of fun. So that's what I made for Elixir. I love that language and the vast, amazing OTP framework underneath it. Seriously once you start down OTP, "forever will it dominate your destiny". Erlang, Elixir - whatever - OTP is brilliant! I just can't help myself - I like to share this stuff. Didn't You Already Make That? Sort of, but it needed to be updated and prettied up a bit. I love taking my time, refining things until they shine. I think customers feel that at an unconscious level - that you cared enough to sweat every pixel and font choice. The first Red:4 was fine - it looked ... OK but I always felt like I could have done more. So I did - and I added a lot of content on the way.. Yesterday I launched what I'd love to make more of: an elegant tutorial site that's looks as good as its content. This thing took me months to put together and, I'll admit, was one of the most frustrating experiences ever. The first experience was fairly complete, but given some feedback and changes to Elixir, I decided to add: Two chapters on debugging A complete Github repository with bugs and refactoring that you need to fix More OTP as well as troubleshooting OTP Ecto and Mix Tasks There are, of course, lots of fixes as proposed by our intern pool. Getting It Right Takes Time Once I realized that my time with Pluralsight was over, I began to freak out a bit. It's my only job! I had just received a royalty check (they send them out quarterly) so I was good for the next three months - that was a month and a half ago. I don't think I ever intended to make a living off of this one site. The tutorial is on Elixir, which is kind of niche these days (but is also amazing seriously you should check it out), so the audience isn't all that huge. But I want to do other things just like this. Little sites, one-off domains for a given topic like Node or Career stuff. I think people care about polished material. Available For Professional Video As Well I've also started working with companies who want to do something a little different for their product videos - getting away from that god-awful ukulele/whistle music, making something relevant to the viewer. Currently I'm helping a company with their help and documentation tutorials - something I wish every company invested in. So, if you need help that way let me know :). I have plenty of things to keep me busy, and I'm equally excited and terrified for what the next year will bring. Stability, apparently, is not my thing. [Less]
Posted almost 8 years ago
I'm headed out on my own once again, and no, there's no drama here. Pluralsight has decided to venture into a realm of training that I'm just not qualified for (enterprise) so they were good enough to let me go off and do my own thing again. I think ... [More] that's pretty damn honorable of Aaron and gang. I wish them all the best... Now I get to play... Once Again, Trying Something Completely New Pluralsight still owns the Tekpub brand, of course, so I can't just do that all over again - and honestly I don't think I want to. It was fun, to be sure, but there's a sense of "ending something" that I think should just... be. It balances the event in some way. Over the last few months I've been trying some new ideas as well. For instance, I was extremely impressed by the Discover Meteor tutorials. Such a complete experience, top to bottom. The only thing I wish they had was a video to accompany their amazing book. I also like the idea of sprinkling in some kind of story or narrative. It's so easy to be cheesy, but at the same time I think dosing a boring technical tutorial with a bit of context is kind of fun. So that's what I made for Elixir. I love that language and the vast, amazing OTP framework underneath it. Seriously once you start down OTP, "forever will it dominate your destiny". Erlang, Elixir - whatever - OTP is brilliant! I just can't help myself - I like to share this stuff. Didn't You Already Make That? Sort of, but it needed to be updated and prettied up a bit. I love taking my time, refining things until they shine. I think customers feel that at an unconscious level - that you cared enough to sweat every pixel and font choice. The first Red:4 was fine - it looked ... OK but I always felt like I could have done more. So I did - and I added a lot of content on the way.. Yesterday I launched what I'd love to make more of: an elegant tutorial site that's looks as good as its content. This thing took me months to put together and, I'll admit, was one of the most frustrating experiences ever. The first experience was fairly complete, but given some feedback and changes to Elixir, I decided to add: Two chapters on debugging A complete Github repository with bugs and refactoring that you need to fix More OTP as well as troubleshooting OTP Ecto and Mix Tasks There are, of course, lots of fixes as proposed by our intern pool. Getting It Right Takes Time Once I realized that my time with Pluralsight was over, I began to freak out a bit. It's my only job! I had just received a royalty check (they send them out quarterly) so I was good for the next three months - that was a month and a half ago. I don't think I ever intended to make a living off of this one site. The tutorial is on Elixir, which is kind of niche these days (but is also amazing seriously you should check it out), so the audience isn't all that huge. But I want to do other things just like this. Little sites, one-off domains for a given topic like Node or Career stuff. I think people care about polished material. Available For Professional Video As Well I've also started working with companies who want to do something a little different for their product videos - getting away from that god-awful ukulele/whistle music, making something relevant to the viewer. Currently I'm helping a company with their help and documentation tutorials - something I wish every company invested in. So, if you need help that way let me know :). I have plenty of things to keep me busy, and I'm equally excited and terrified for what the next year will bring. Stability, apparently, is not my thing. [Less]