I'm learning to code by building 180 websites in 180 days. Today is day 115(blog.jenniferdewalt.com)
blog.jenniferdewalt.com
I'm learning to code by building 180 websites in 180 days. Today is day 115
http://blog.jenniferdewalt.com/post/56319597560/im-learning-to-code-by-building-180-websites-in-180
344 comments
I have to ask: How on earth do you find the time to do this?
As much as I'd love to do this in order to get my hands dirty on web development and out of systems, I can't ever fathom having the free time available every day consecutively.
I mean, for someone "learn(ing) to code" on Day 1 and by Day 15 doing "Dropping Boxes", it just seems a little far fetched. Obviously you have had a good portion of coding experience and are using -some- level of resources, or you are a savant.
I don't mean to sound rude, I just feel like the readers deserve a deeper level of explanation and cited resources, rather than believing you reinvented Conway's Game of Life by day 108.
Edit: I have to add that this is all very excellent work and good on you for sticking to your goals so far. Clearly you are a very talented individual. Cheers.
As much as I'd love to do this in order to get my hands dirty on web development and out of systems, I can't ever fathom having the free time available every day consecutively.
I mean, for someone "learn(ing) to code" on Day 1 and by Day 15 doing "Dropping Boxes", it just seems a little far fetched. Obviously you have had a good portion of coding experience and are using -some- level of resources, or you are a savant.
I don't mean to sound rude, I just feel like the readers deserve a deeper level of explanation and cited resources, rather than believing you reinvented Conway's Game of Life by day 108.
Edit: I have to add that this is all very excellent work and good on you for sticking to your goals so far. Clearly you are a very talented individual. Cheers.
So many hurt egos in this thread.
If you think what she's done is impossible, have you ever devoted 70/hrs a week to a personal endeavor for 6 straight months? Would you have the willpower and perseverance to stay committed and focused?
Also, these are cool sites, infused with a lot of creativity and a refined aesthetic sense, but it's not as if she's claimed to have written an OS or compiler in 115 days. Much of the javascript code is covered extensively in brief online tutorials. Maybe, given 10 hours, you couldn't ingest a tutorial and put your own spin on the concept, but thinking that nobody else could do that is a bit arrogant.
If you think what she's done is impossible, have you ever devoted 70/hrs a week to a personal endeavor for 6 straight months? Would you have the willpower and perseverance to stay committed and focused?
Also, these are cool sites, infused with a lot of creativity and a refined aesthetic sense, but it's not as if she's claimed to have written an OS or compiler in 115 days. Much of the javascript code is covered extensively in brief online tutorials. Maybe, given 10 hours, you couldn't ingest a tutorial and put your own spin on the concept, but thinking that nobody else could do that is a bit arrogant.
I suppose the hardest part of doing something like this, at least for me, would be coming up with a list of ideas of exactly what to create - not just coming up with 180 things, but 180 things that I can reasonably expect to accomplish in one day. Did you come up with that list beforehand, or do you decide today what to do tomorrow, or something in between?
Some other random questions that come to mind - What's your daily schedule like during this period? How many hours do you typically spend on a single project? Are you also working during this period, or did you save up some money beforehand?
From her Facebook, September 2009:
"If you don't know already, I've created an iPhone app! I've been working really hard on this and have had lots of fun taking pictures of myself and my friends. Oh, what it does is gives everyone in the picture a HOT or COLD rating. The app is called ruHOT and is available for download for the iPhone and Android phones. Check it out!"
So yeah, highly doubt this is truly her first rodeo. Cool project(s) nonetheless and impressive dedication.
So yeah, highly doubt this is truly her first rodeo. Cool project(s) nonetheless and impressive dedication.
This one is awesome: http://jenniferdewalt.com/song_machine/page
This kind of dedication is inspiring.
From http://blog.jenniferdewalt.com/post/51616616313/day-58-explo... :
"Tomorrow I head to Pennsylvania to host a bridal shower and bachelorette weekend for my sister. Between the pre-wedding festivities and visiting with family, I’m going to be pretty limited on time for building websites. But, the show must go on and I am excited to see what kind of goodness I can create under pressure."
Congratulations Jennifer.
From http://blog.jenniferdewalt.com/post/51616616313/day-58-explo... :
"Tomorrow I head to Pennsylvania to host a bridal shower and bachelorette weekend for my sister. Between the pre-wedding festivities and visiting with family, I’m going to be pretty limited on time for building websites. But, the show must go on and I am excited to see what kind of goodness I can create under pressure."
Congratulations Jennifer.
These comments are infuriating, but not unexpected. So many people who have likely wasted their last 115 days attempting to find every fault with someone who clearly hasn't.
OP: Excellent work, and keep it up. I hope you take the criticisms and disbelief for what they truly are: incontrovertible evidence that you're doing something very right.
OP: Excellent work, and keep it up. I hope you take the criticisms and disbelief for what they truly are: incontrovertible evidence that you're doing something very right.
This is awesome. Reminds me of the girl who learned to dance in one year by recording herself every day. Also reminds me of Seth Godin who recommends starting the day by producing rather than consuming and follows the practice by writing a new blog post every day, without fail.
Consistency is so hugely important. Quality is born from quantity.
Consistency is so hugely important. Quality is born from quantity.
I'm going to ignore all the malicious comments about how fraudulent this is. This is an amazing achievement, and it reminds me of a much better way of improving your skills.
Last time I wanted to build a ray-tracer, I starting using the PBR book, and then started learning about Fourier series and transforms, about signals etc. This of depth-first aquisition of knowledge is not very adequate for the average human mind, whose curiosity and motivation are much better served by achieving many short and tangible results, a so-called feedback loop.
Seeing Jennifer and her progress, I'm determined to start a similar project: 1 demo (not necessarily 4k/64k) coded in asm/GLSL per week. That's after I actually finish writing my hobby OS, which is being done in the same DFS fashion (started reading Tanenbaum's book on Minix, it has plenty of references).
Last time I wanted to build a ray-tracer, I starting using the PBR book, and then started learning about Fourier series and transforms, about signals etc. This of depth-first aquisition of knowledge is not very adequate for the average human mind, whose curiosity and motivation are much better served by achieving many short and tangible results, a so-called feedback loop.
Seeing Jennifer and her progress, I'm determined to start a similar project: 1 demo (not necessarily 4k/64k) coded in asm/GLSL per week. That's after I actually finish writing my hobby OS, which is being done in the same DFS fashion (started reading Tanenbaum's book on Minix, it has plenty of references).
This is great and all, but I do have to call BS on no previous coding experience. Perhaps she had plenty of HTML experience and wouldn't regard that as coding experience. If you look at her early examples, even on something like day 3, you find the following in the source:
Also noteworthy is the inclusion of an external JS file for loading Google Analytics. Most people have no idea what this is or how to set it up
* Inclusion of a CSS reset stylesheet
* Inclusion of jQuery 1.9.1
* Usage of HTML5 footer tag
* Inclusion of the HTML5 shiv JS
If this wasn't boilerplate HTML being used, I have no idea where a beginner would know these three things on day 3. Perhaps just stumbling upon the right project?Also noteworthy is the inclusion of an external JS file for loading Google Analytics. Most people have no idea what this is or how to set it up
This story indeed is very inspiring. I'm a business major turned front-end designer. I worked as a financial analyst for a semi-conductor company for two years and realized I want a career that fosters my creative side. Working with Excel, though I got very good at it :P, all day long made my day very dull and monotonous. I got my husband to teach me how to code (he's a CS major, working as a product manager for a SF company). Now I am fairly proficient in Photoshop, Illustrator, CSS, HTML, and Javascript. Then I made a Python program which analyzes the proper excess inventory to keep for the semiconductor company I worked for, which got me a lot of recognition (the program was prob elementary level and messy but got a credit for being a financial analyst that can code). I quit my day job and I'm working on my startup, for which I'm doing all the front end coding and some of back-end coding as well. Also relocating to SF to pursue this new found passion. I wish the best of luck to Jennifer and other people like her.
I take my hat off by personal challenge and the technical side of the project.
But I put more kudos on "publishing it".
I'm a self-taught which now can say I'm more than a decade in the industry, but I think I could never publish my "learning" projects because maybe I'm ashamed of their quality.
I think what you have do is nice, and more important is well presented for others to see. So you maybe encouraging others to do the same.
That is the spirit. Great.
But I put more kudos on "publishing it".
I'm a self-taught which now can say I'm more than a decade in the industry, but I think I could never publish my "learning" projects because maybe I'm ashamed of their quality.
I think what you have do is nice, and more important is well presented for others to see. So you maybe encouraging others to do the same.
That is the spirit. Great.
Wow, this is really inspiring. I see that she's hosting them all on her personal domain, but I have a question, if anyone has an answer. What's the easiest/most cost-effective way to host a large number of sites on different domains?
Learn how to use a VPS? Static pages with NearlyFreeSpeech? I've got a zillion ideas (and after seeing this, will be building them soon) but they need to be on separate domains. Paying $5/month or whatever for each is obviously not optimal.
Learn how to use a VPS? Static pages with NearlyFreeSpeech? I've got a zillion ideas (and after seeing this, will be building them soon) but they need to be on separate domains. Paying $5/month or whatever for each is obviously not optimal.
In a similar vein, here's a thread of a complete rookie starting from scratch who turned into a fantastic artist by drawing a sketch every day : http://www.conceptart.org/forums/showthread.php?t=870
I guess this works for learning programming too.
I guess this works for learning programming too.
I looked through your comment history to see if you already answered and couldn't find it. What happened when you got stuck? I'd suspect there were points where you couldn't figure something out; it tends to happen when you become frustrated and you have to take a break. You mentioned that you had no previous programming experience. How much time did you spend learning before you created the first app on day 1?
I ask because this goes against the pattern I've observed in most students. I was involved in starting Bloc, which is an online programming bootcamp. I think the #1 value proposition is having a person there to help when you get unstuck. It's fascinating to see you overcome the learning curve on your own which affects most people trying to learn.
Just so I can fully understand: did you have any human interaction or assistance during this entire time? That to me is the most impressive part of this. A lot of us had TAs, professors, group projects where we worked closely with others. I don't know a single person in my own network who has learned to program on their own without any human help.
Hope it doesn't come across as if I'm belittling what you've done or seem skeptical, this is really impressive!
I ask because this goes against the pattern I've observed in most students. I was involved in starting Bloc, which is an online programming bootcamp. I think the #1 value proposition is having a person there to help when you get unstuck. It's fascinating to see you overcome the learning curve on your own which affects most people trying to learn.
Just so I can fully understand: did you have any human interaction or assistance during this entire time? That to me is the most impressive part of this. A lot of us had TAs, professors, group projects where we worked closely with others. I don't know a single person in my own network who has learned to program on their own without any human help.
Hope it doesn't come across as if I'm belittling what you've done or seem skeptical, this is really impressive!
This is amazing. It's inspiring. I like the rules you set for yourself - a blog post to accompany every website, and releasing the code on github.
It's important that people know the WWW is not out of their reach, and that they can create stuff. This post, and Neocities, strongly feed that "democratisation" of the Internet.
Next it might be a nice idea to do 4 websites, one a month, but polish them so they're standards compliant, as accessible as possible, etc.
It's important that people know the WWW is not out of their reach, and that they can create stuff. This post, and Neocities, strongly feed that "democratisation" of the Internet.
Next it might be a nice idea to do 4 websites, one a month, but polish them so they're standards compliant, as accessible as possible, etc.
In the next couple of weeks you might want to look at secure authentication and authorized resource access, scaling, sessions, cross-platform issues, internationalization, adaptive design, etc.
Also might want to revisit some of your existing websites to get some exposure to refactoring, bug fixing, prioritizing feature requests, test based development, performance profiling, etc.
Also might want to revisit some of your existing websites to get some exposure to refactoring, bug fixing, prioritizing feature requests, test based development, performance profiling, etc.
Bravo!! I really liked this:
"I think the best way to learn is to solve problems that you actually have. This is the primary reason I decided not to follow a course or textbook. By following my own path, I can tackle new concepts and problems in the most logical order possible, which is precisely when I have them. When I have questions, I look them up on Stack Overflow. If I need to make a big jump, like starting a new language or platform, I’ll bootstrap off of a textbook only until I get off the ground."
Did you pre-plan the ideas for the websites?
When doing art, I used to set goals like "do 30 drawings in a month." However, I've found that I just draw the same stuff over and over again if I leave it at that. I have to actually make a theme (draw 30 plants) and even get a detailed list (draw a jade plant, a hydrangea, etc) in order to actually make any progress.
I am curious if you did any planning like this regarding the choice of sites you made?
When doing art, I used to set goals like "do 30 drawings in a month." However, I've found that I just draw the same stuff over and over again if I leave it at that. I have to actually make a theme (draw 30 plants) and even get a detailed list (draw a jade plant, a hydrangea, etc) in order to actually make any progress.
I am curious if you did any planning like this regarding the choice of sites you made?
To be honest, as soon as I read the title I thought "but if you force yourself to deliver something new every day you want have enough time to actually learn new stuff in between", and you proved me wrong. Congratulations!
An additional anecdote comes from Jerry Seinfeld, (comedian). He says that his goal when he got into comedy (and still to this day) is to write jokes every day. Create a chain of joke writing and keep track of it in a physical way (in his example, a calendar that he marks off with an X every time he sits down to write). You create momentum that you don't want to break, and even though you might not be writing good jokes (good code, etc...) every day, there is still improvement going on. [1]
All anecdote, but it seems to point to the fact that the value of iteration on DOING is more valuable than iteration on PLANNING. (i.e. plan a little bit, and do a lot).
[1] http://www.writersstore.com/dont-break-the-chain-jerry-seinf...
All anecdote, but it seems to point to the fact that the value of iteration on DOING is more valuable than iteration on PLANNING. (i.e. plan a little bit, and do a lot).
[1] http://www.writersstore.com/dont-break-the-chain-jerry-seinf...
Basically, work a lot. Make sure there's always a chunk of work that's new and challenging, a form of deliberate practice. Also make sure there's a chunk of work that's reinforcing what you already know until it becomes second nature. Rinse and repeat. Kaizen.
Really great idea Jennifer! This is the kind of initiative and creativity that will surely land you multiple job opportunities.
It reminds me of the steps which I took to transition into working on software professionally full time.
I came to programming relatively late in life when I was 26 and found out that my wife was expecting a baby.
The sudden change facing my wife and I made me take a hard look at my skill set to decide how quickly I could provide for us.
I decided that my interest in setting up wordpress installs as well as tinkering with Photoshop/Illustrator was the surest, safest, and quickest path to a successful career and decided then and there that within 6 months I would have a job as a junior web developer.
To help accelerate this I signed up at my local community college for courses related to getting a web design certificate. Ultimately I took 2 semesters (1 of which was a compressed summer semester) of classes including CS-1, Photoshop, Illustrator, Flash, InDesign, HTML/CSS, PHP/MySQL.
Soon I began to get the feeling that school was moving too slowly. I had joined the W3C HTML5 Working Group and was also participating in the WHATWG and started to realize that I was learning much more by hacking on code in the evenings than I was in class.
During this time I started to create a portfolio showcasing new HTML5 APIs as they would become available across different browsers. Mostly I did this out of my own passion for web standards and wanting to understand the most cutting edge APIs as soon as they dropped. However this portfolio soon became incredibly valuable with regards to landing a job.
During the second semester I got the chance to interview for a local android dev shop (this is in Santa Cruz, CA). I got the job but didn't find Java to be a good fit for my skills at the time and after a couple of months transitioned to another local dev shop.
This company was a rails shop building an app for Walmart's internal network. I got the job based on my HTML5 knowledge and soon found myself learning rails.
Around this time I made the decision to quit going to school and to focus full time on my job. I was at this job for about a year until the company unfortunately went out of business.
Since I left that job I've spent a year and a half at trulia.com where I was on the mobile team building m.trulia.com, Trulia's native windows 8 app, and the suite of webservices powering Trulia's native iOS/Android/Windows apps. Currently I'm at cardfree.com where I'm working with ruby on rails.
The reason I posted this tale is to encourage you to continue what you're doing! When I look back at my short but exciting career I notice that though I feel fortunate to have gotten a couple of semesters of training at a junior college it was mostly always the projects and initiatives which I undertook in my personal and spare time which ended up being the most valuable for me.
There is so much opportunity and demand in the consumer web and electronics space right now that showing this initiative and creating such a strong portfolio will surely land you multiple job offers if that's what you are looking for.
Either way excellent work and I wish you the best of luck going forward!
It reminds me of the steps which I took to transition into working on software professionally full time.
I came to programming relatively late in life when I was 26 and found out that my wife was expecting a baby.
The sudden change facing my wife and I made me take a hard look at my skill set to decide how quickly I could provide for us.
I decided that my interest in setting up wordpress installs as well as tinkering with Photoshop/Illustrator was the surest, safest, and quickest path to a successful career and decided then and there that within 6 months I would have a job as a junior web developer.
To help accelerate this I signed up at my local community college for courses related to getting a web design certificate. Ultimately I took 2 semesters (1 of which was a compressed summer semester) of classes including CS-1, Photoshop, Illustrator, Flash, InDesign, HTML/CSS, PHP/MySQL.
Soon I began to get the feeling that school was moving too slowly. I had joined the W3C HTML5 Working Group and was also participating in the WHATWG and started to realize that I was learning much more by hacking on code in the evenings than I was in class.
During this time I started to create a portfolio showcasing new HTML5 APIs as they would become available across different browsers. Mostly I did this out of my own passion for web standards and wanting to understand the most cutting edge APIs as soon as they dropped. However this portfolio soon became incredibly valuable with regards to landing a job.
During the second semester I got the chance to interview for a local android dev shop (this is in Santa Cruz, CA). I got the job but didn't find Java to be a good fit for my skills at the time and after a couple of months transitioned to another local dev shop.
This company was a rails shop building an app for Walmart's internal network. I got the job based on my HTML5 knowledge and soon found myself learning rails.
Around this time I made the decision to quit going to school and to focus full time on my job. I was at this job for about a year until the company unfortunately went out of business.
Since I left that job I've spent a year and a half at trulia.com where I was on the mobile team building m.trulia.com, Trulia's native windows 8 app, and the suite of webservices powering Trulia's native iOS/Android/Windows apps. Currently I'm at cardfree.com where I'm working with ruby on rails.
The reason I posted this tale is to encourage you to continue what you're doing! When I look back at my short but exciting career I notice that though I feel fortunate to have gotten a couple of semesters of training at a junior college it was mostly always the projects and initiatives which I undertook in my personal and spare time which ended up being the most valuable for me.
There is so much opportunity and demand in the consumer web and electronics space right now that showing this initiative and creating such a strong portfolio will surely land you multiple job offers if that's what you are looking for.
Either way excellent work and I wish you the best of luck going forward!
Finally someone posting a challenge they're undertaking when they have at least accomplished already some of it. I hate seeing people announce that they are about to do something. This is much much better.
I am really impressed this gal sure has a promising future as a software developer. I must also say this made me a little sad, she has done in days what I haven't been able to do in years.
You are super awesome. I have been programming for years and I still don't know how to do some of the stuff you've done for your websites. I'm sure I could easily learn how to, but then it's easy for me because I have the advantage of years of experience. To be able to get to where you are within 3 months is astounding to me and that tells me something about the validity of your approach, so I'm gonna shamelessly rip you off the next time I need to learn a new skill.
Somebody hire this person!
Somebody hire this person!
I have mixed emotions, not about the author, but the implications of this thread. It is great that she shows such dedication to the craft. But has dedication to a craft really become so rare that it is worthy of 900 plus points on hacker news? I know countless software engineers who work their tails off every waking hour, myself included. Do we all deserve hacker news posts? Or should we elevate our expectations?
This is inspiring and I'm not sure why. It's not technically impressive, there's far more impressive tutorials and snippets a single Google search away. It's something about the persistence and a desire to learn and improve. It's about the beginner's mind and artistic whimsy. I get to see someone's thought process expressed through a hundred tiny websites.
Brilliant. Good for you! Suggestion: add some contact information in your profile
===
The ceramics teacher announced on opening day that he was dividing the class into two groups.
All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality.
His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: 50 pounds of pots rated an “A”, 40 pounds a “B”, and so on.
Those being graded on “quality”, however, needed to produce only one pot — albeit a perfect one — to get an “A”.
Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity.
It seems that while the “quantity” group was busily churning out piles of work-and learning from their mistakes — the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.
===
Advance congratulations to Jennifer. This is amazing.