I'm learning to code by building 180 websites in 180 days. Today is day 115 - <AUTHOR> http://blog.jenniferdewalt.com/post/56319597560/im-learning-to-code-by-building-180-websites-in-180 <comment><USER3> There's this great story from the book "Art and Fear", that's very appropriate here:

===

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.

<comment><USER4> This is a great reason to do what is often frowned upon by us high achieving Hacker Newsers: get a job.

I have worked on so many projects in so many jobs that I lost track long ago. But it's always been the same: Get it done, good enough, on time! At first, I was always frustrated that I wasn't delivering product up to my own standards. But a funny thing happens when you do that hundreds (or thousands) of times: You get so good from sheer repetition that "good enough" morphs into "pretty damn good".

Don't be afraid to take what appears to be a boring, repetitious, or demeaning job. You never know what you might become.

Thanks for the great story, Derek!

And thanks for the great post and project, Jennifer. You inspire me.

<comment><USER5> Practice makes perfect. It's a tired adage, but it's absolutely true.

<comment><USER6> True, for sure.

But then perfect is the enemy of good, which for anyone doing software should remember.

Until a customer or someone important actually cares about that 2px off CSS, that refactor you want to do, or your caching/performance numbers, just don't do it. Wait till someone asks and then get after it.

I love how OP put her work out there to prove her wide array of skills, or more important, her ability to learn random skills. Who else has put out 180 sites for public review?

Awesome!!

<comment><USER5> I agree - but I don't think the statement semantically means perfection. It really means "practice makes greatness." Perfect just has a P.

<comment><USER6> Yes, you said it much more succinctly than I did.

</comment></comment></comment></comment></comment></comment><comment><USER7> 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.

<comment><USER8> seconded. day 46 you wrote a snake game using canvas manipulation? i call shenanigans.

<comment><USER9> I definitely see your point, but from her description she spends 10 hours a day on this excersize. I could see that level of progress given those constraints, 10 hours a day every days for a month and a half is insane dedication.

On the other hand that level of dedication seems to indicate that apparently she has some kind of OCD, no disrespect just wild speculation.

<comment><USER8> i'm not saying that this feat of creating 180 websites in 180 days is impossible. it's highly improbable and takes a very unique mix of dedication, intellect, funding, and, well, nothing better to do for half a year, but that's for someone with a background in coding. my beef is that this person is claiming to come from a completely non-programming background and has not read any books or taken any courses. i don't care if you spend 24 hours a day coding, you can't write a program as complex as MS Paint in canvas in a month if you've never written a line of code in your life. There are just too many intermediate steps missing and progress is just too fast.

I would love to be wrong about this, but seeing as I've been doing this for a really long time, this just smells funny to me.

<comment><USER10> Indeed -- I find it kind of hard to believe that someone with truly zero programming experience knows what github or even knows what source control is.

I have no doubts about the main thrust, just some details seem as if they are embellished.

<comment><USER11> Github and source control are the very first things out of my mouth when someone expresses interest in programming. They were the first things that were recommended to me. I basically say to go get set up on github and walk through the tutorials, and 'follow' me while you're at it. Instant community feeling and the new programmer can always Stack Overflow 'how to revert my last commit'. It's low-hanging fruit to get set up.

Next, I usually suggest grabbing an introductory reference and a bunch of small projects (usually my go-to is Project Euler) in the language of their choice. What she's doing is exactly what I'd recommend if you were brand new and wanted to get a feel for the landscape.

</comment></comment></comment></comment></comment></comment><comment><USER12> 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.

<comment><USER13> So let's see her repository ([https://github.com/jendewalt/jennifer_dewalt](https://github.com/jendewalt/jennifer_dewalt)).

This girl not only became a competent front end developer in 100 days, but looking at the Gemfile, she knows how to use capistrano, redis, capistrano, paperclip, omniauth and devise?

She knows the best practices for Rails perfectly. She not only grasped to use MVC perfectly, but also organized asset codes perfectly in like 50 days.

I forgot to mention that she knew Rails from like day 1.

Additionally, she knew better to hide sensitive information about secret tokens for maybe AWS in the config folder and other Rails environment info.

Really? Is Hacker News this gullible? If you really want to see what actual beginner struggle with for 10 hours a day, go take a look at StackOverflow. Beginners are struggling for hours to create hoverover effects and persistent footer.

<comment><USER14> As far as I can tell this is an account that was created entirely to post negative responses in this thread. How sad.

(it was created 1 hour ago and the only comments from the account are negative posts about the article: [https://news.ycombinator.com/threads?id=petea](https://news.ycombinator.com/threads?id=petea))

To me it just confirms what the GP said: plenty of bruised egos in this thread.

<comment><USER13> I created a new account to avoid precisely people like you psychologizing libelously about who I am. I feel reassured that it was a good idea to create a new account.

<comment><USER15> It's interesting that you reach so quickly for the adjective "libellous" given the tenor of your comments and the insinuations therein.

And, unlike the subject of the post, you don't even have the courage to stick your identity to your work.

<comment><USER16> >you don't even have the courage to stick your identity to your work.

Neither do you -- as far as I can tell by viewing your profile and googling on your user name.

</comment></comment></comment></comment></comment></comment><comment><USER17> 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?

<comment><AUTHOR> Before I started the project I freaked out and wrote down a list of every idea I could think of. Sometimes I feel like I'm going to run out of ideas but I usually get inspired by what I've been working on.

I spend about 10 hours a day working on the project which doesn't leave time for much else. Most of that time is spent coding the day's website and I spend about an hour at the end of the day writing the blog post. Monday's start with me writing a bigger post about my thoughts from the previous week.

<comment><USER18> I'm extremely impressed by how far you've gotten in this. I've seen a lot of these "create something every day" quests but they're usually in the first few days when posted.

10 hours a day spent on this seems like a huge commitment to me. I clicked the link to your blog but didn't see anything more to the motivations of this project. Have you posted any more details on what made you choose to devote yourself to this non-profit full time endeavor?

<comment><AUTHOR> I had been thinking about how people communicate with each other on the internet and I got really interested in how websites facilitate that communication. I figured learning how to code would be a good way to see how those websites work and maybe even get to help build them myself.

I wrote a little about this here - [http://blog.jenniferdewalt.com/post/53231496490/week-11-lets...](http://blog.jenniferdewalt.com/post/53231496490/week-11-lets- talk)

</comment></comment></comment></comment><comment><USER19> 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.

<comment> ryan-allen Interesting sleuthing. Maybe it's just exceptionally well targeted self- advertising. I know I'll get creamed by playing the gender card, but if this were a guy, would we be so coy to call them out on the fact that 'this ain't your first time'.

I think if anything this kind of misinformation regarding 'the possible output for a beginner' is actually discouraging to beginning developers. I do think this experiment it self-serving.

I have been doing web for around 10 years and it would be no cakewalk (albeit not impossible, if I had the time) to come up with a new novel idea every day for 180 days, and certainly as a beginner this kind of output is the most improbable thing I have ever seen (I have taught a few smart people how to get started and it takes a long time).

So, do we play along and misinform all the other true beginners or do we call out this Red Herring?

If we want more women to be welcome in tech they have to be held to the same kind of standards (honesty and ability). We can't let one individual get away with this kind of dishonesty because of gender.

And if you don't think this kind of manipulation exists, you should go read Reddit sometime (it's full of stuff like this, you can turn a picture of a random puppy into massive attention by saying 'look at who I adopted from an abusive home! I will love him for ever!').

Think about it people!

EDIT: The projects Jen has done are cool and interesting, no doubt. And the 'just f'ing do it' idea is even better. But can't possibly be programming beginner.

EDIT 2: I probably shouldn't be such a bastard, but anyway. Good job. Just be honest where you are coming from and you'll get deeper respect, I think is my point.

<comment><USER20> I created a game in Actionscript 2.0 back in 2009.

I started to program in around November of 2011.

Being able to cobble together an app or what-have-you is very different from programming, I think. I would not call what I did back then programming.

I even wrote a couple of follow-up games which used a tile-based map system and pathfinding but didn't store nodes on the map as variables - the game calculated the location of the nodes each time they were to be used. That's hideous.

I'd also point out that the vastness of the internet's resources should not be underestimated. I could create something awesome in 10 hours using Codecademy as a reference and generic tutorials I found using Google.

The problem for me would be finding 10 hours to do this in.

I do not think that this is a deliberate attempt to deceive as much as it is a sense the person feels that the person is 'not a proper programmer'. Hell, if I created a similar project now, after completing coursera/proglang and coursera/algorithm-design-and-analysis and working with web design for about a year and a half, I would _still_ call it "teaching myself to code", because there is so much to learn I'm barely dipping my toe in the water.

</comment></comment></comment><comment><USER21> This one is awesome: [http://jenniferdewalt.com/song_machine/page](http://jenniferdewalt.com/song_machine/page)

<comment><USER22> Interesting how that is implemented. Didn't quite get from viewing page source. I mean, where is js?

<comment><USER8> at some point, she learned about minification and http requests and concatenated all her scripts into one "application" script.

<comment><USER23> It looks like the site is built with Ruby on Rails.

Rails has a feature called 'The Asset Pipeline'[1] which handles concatenation, minification, and compression

[1] [http://guides.rubyonrails.org/asset_pipeline.html](http://guides.rubyonrails.org/asset_pipeline.html)

</comment></comment></comment></comment><comment><USER24> This kind of dedication is inspiring.

From [http://blog.jenniferdewalt.com/post/51616616313/day-58-explo...](http://blog.jenniferdewalt.com/post/51616616313/day-58-explosions) :

"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.

</comment><comment><USER25> 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.

<comment><USER26> If I were Jennifer I'd be flattered by the comments. It must feel great to have produced so much quality work that HN naysayers tell you what you did is impossible after you've already done it.

<comment><USER27> This, when I used to make Halo maps I would often be accused of modding the game to make them. I always took this as a compliment.

</comment></comment></comment><comment><USER28> 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.

<comment><USER29> "Start the day by producing instead of consuming." Sounds wonderful. I'm going to try and live by that. Thanks for this :)

<comment><USER30> but i love breakfast.

<comment><USER31> Then cook it before you eat it.

<comment><USER30> genius

<comment><USER32> But don't "consume" any energy cooking it?

</comment></comment></comment></comment></comment></comment><comment><USER33> 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).

</comment><comment><USER34> 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:

        * 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

</comment><comment><USER35> 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.

</comment><comment><USER36> 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.

</comment><comment><USER37> 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.

<comment><USER38> You can buy a large number of domains but don't want to spend $5/month for them?

<comment><USER39> Some domains are free. Why limit yourself to second-level domains?

</comment></comment></comment><comment><USER40> 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](http://www.conceptart.org/forums/showthread.php?t=870)

I guess this works for learning programming too.

<comment><USER41> I've always loved that thread because there's such a huge history of progress. It'd be interesting to see the OP come back in a year to implement one of these exercises and compare the quality of the code from where she started.

</comment></comment><comment><USER42> 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!

</comment><comment><USER43> This is amazing. It's inspiring. I like the rules you set for yourself - <USER2> 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.

</comment><comment><USER44> 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.

</comment><comment><USER45> 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."

<comment><USER29> I've started many times to do projects or follow books or lectures, and it's very hard to stay disciplined. However, once you start on your problem, I agree that it's probably a good idea to look at some lectures/books/blogs to take a look at what's available in terms of technologies and practices to save you time and money.

</comment></comment><comment><USER46> 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?

</comment><comment><USER47> 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!

</comment><comment><USER48> 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...](http://www.writersstore.com/dont-break-the-chain-jerry-seinfeld/)

</comment><comment><USER49> 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.

</comment><comment><USER23> 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!

<comment><USER50> Are you still based in Santa Cruz? I'm also starting up programming slightly later on while going to a community college (possibly the same one that you went to??), as I first started tinkering with some PHP around a year ago (my age now is 22), then tried a bit of RoR but they ended up being false starts.

I've in the last few months started back up with Python (primarily Flask) and JavaScript (mainly AngularJS), and deployed a couple toy web apps in the last month.

I don't know too many people in town, so I'm wondering is Santa Cruz still a viable place to get into the professional world? Might you have any specific advice for getting started here?

Thanks!

<comment><USER51> Not OP, but in SC - email: email@example.com

<comment><USER52> But, but, your name sound so Norwegian..??

</comment></comment></comment></comment><comment><USER53> 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.

</comment><comment><USER54> 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.

</comment><comment><USER55> 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!

</comment><comment><USER56> 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?

<comment><USER57> I don't think there's any real value in HN points, so you're basically asking if it's worthy of something worthless. It's just an indicator of interest by the HN community, not a gift of any worth. That being said, I'm sure a decent chunk of the 900 votes were from software devs, many of whom are probably ones that work their tails off. It's possible there is something more intriguing than the dedication alone. One thing I find interesting is the head-first/all- in nature of the project.

</comment></comment><comment><USER58> 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.

</comment><comment><USER59> Brilliant. Good for you! Suggestion: add some contact information in your profile

<comment><AUTHOR> Thanks for the tip! I added my email address.

<comment><USER59> You're welcome - let us know what happens after this!

</comment></comment></comment><comment><USER60> This is awesome. When I read the title I was expecting a bunch of exercises in layout with different slick UIs and such. I was very surprised by how creative each of these were. They're very fun to go through. And in the end, when it comes to getting a job, this kind of stuff looks way better than "went to school, got this degree".

</comment><comment><USER61> Jennifer, you mentioned you weren't following any kind of course - how did you decide what to build on the next day?

</comment><comment><USER62> Very impressive. It reminds one that complaining about "too much work" is often just a poor excuse for petrifying in a niche of self-satisfaction and comfort. I can't read all of this, browse what you've accomplished in so little time, and doubt the feeling great things are destined for you. Congrats!

</comment><comment><USER63> I'm a software engineer. I love this style of learning.

However, if the idea of building 180 different websites in 180 days sounds so unappealing to me I actually winced when I read the title, should I find another career? (real question)

I'd rather do the opposite thing, sell my laptop and do 180 drawings or sculptures in 180 days.

</comment><comment><USER64> Jennifer, I've skimmed through a handful of your projects and they are all very creative, fun and thoughtful. I'd be excited to see what you could do with d3.js ([http://d3js.org/](http://d3js.org/)). Check it out if you haven't already!

</comment><comment><USER65> Congratulations! I'm impressed how you just got started rather than waiting for "the perfect moment." Your persistence and progress are inspiring. Also, your work doubles as a collection of engaging content ideas for teaching beginning programming :) Thank you!

</comment><comment><USER66> As someone else mentioned, I think the hardest part is coming up with idea.

Most of these are really cool! Awesome job.

</comment><comment><USER67> Thanks so much for posting this. This is the most inspiring "show HN" I've seen here.

</comment><comment><USER68> I've thought of doing this before. Make one attempt every day, and see it through. Not just for websites but for other skills like songwriting, drawing, short-story writing, and also other types of programming. Needless to say I never went through with it, but it's good to see someone who has.

Taking songwriting as an example, what's interesting to me is that basically anyone can try it. Sit down with a note pad, think of a tune, and make a verse-chorus-verse-chorus song (chords and riffs are optional extras). No doubt people like Paul McCartney do try this every day, but then there's the vast majority of people who never make the attempt once in their life, despite their being no real barriers.

</comment><comment><USER69> Wow, a huge congratulations to you! I'm just starting my journey to become a programmer and am dedicating the same amount of time. You're dedication, patience and work ethic really inspire me! Awesome job on all of your projects.

</comment><comment><USER70> I was leaving the film industry and unemployed for a year. I only did about 4-5 hours a day (had $$ saved) and got far enough to get a great job, but wow. I like that you're not just BS-ing 180 days, but actually challenging yourself.

</comment><comment><USER71> Just made my middle-school kids' summer break more interesting. If you take all this js knowledge and add android/ios skills, you can increase your hourly fees by 10X. I myself would hire you for my mobile suite of apps.

</comment><comment><USER72> Kudos to you Jennifer. I hope your path inspires many other aspiring programmers.

</comment><comment><USER73> It's a great way that learning to code can produce a ton of content and experimental innovation. Code Academy (and others) listen up: What if everyone produced content while learning to code?

<comment><USER74> that's a great idea! It's actually similar to the idea behind duolingo.com People produce translations while learning a language

</comment></comment><comment><USER75> Super Impressive, dedicating the time to accomplish this remarkable.

</comment><comment><USER76> How admirable, good for you. I don't have anything more to add than my sincere appreciation for seeing what you're doing, it's a fantastic example.

</comment><comment><USER77> Great Jennifer, you have just greatly inspired me. I will get started, maybe do one site a week instead of a day since I have this thing called full time job!

Keep it up

</comment><comment><USER78> This is really great! There are quite possibly many better ways to spend 180 days if you wanted to make money (#1 would probably be completing every Rails tutorial available) but I don't think that is important here. Rather, I find her approach inspiring and it's something that can be applied to any endeavour.

One nice thing that she will have, even if she doesn't make it through the full 180 is a record of her earliest creations through to her latest. Like when keeping a journal she'll be able to refer to it when she's feeling low and see the progress she's made, and she'll have a record of what she's done that transcends her memory.

At my first job I was lucky enough to report directly to the Technical Director of the company who took the time to mentor me on what it means to be a good software engineer. The first thing he had me do is to keep an engineer's journal. The benefits of this would only become clear a few weeks down the line but clear it was: I would encounter a problem I knew I had solved before but couldn't quite recall the solution to; I would flip back to find my notes and there it would be. Fast forward a few months, then a year and the value received from this simple act of keeping an organised journal far exceeded my expectations.

I have since kept the habit going but I feel that more can be done here. On one level you can keep notes for yourself and improve your own productivity. A level up would be to write those notes up on an internal wiki. One level up further and you've polished them into material you can publish to a wider community. One level up again you can inspire others to do the same through your efforts. One such effort that I have seen (outside of Jennifer's) that I think is completely worth anyone's time to explore is Journey of an Absolute Rookie: Paintings and Sketches ([http://www.conceptart.org/forums/showthread.php?t=870](http://www.conceptart.org/forums/showthread.php?t=870)), 10 full years of recorded progress of a beginning artist that blew my mind. Warning: you may lose a lot of time to that forum thread!

There is something beautiful and powerful in things that have been worked on and tended to for years, things that cannot be rushed no matter what: the only way to have 10 years of recorded progress today is to have started 10 years ago and to have kept it up for the duration. What a present to give to yourself!

</comment><comment><USER79> i'd love to hear more about the resources you are utilizing. plus - how do you find time to work on this for 10 hours/day!?

<comment><USER79> you could really help a lot of people out by writing a basic curriculum!

</comment></comment><comment><USER80> Fantastic and I'm also glad to see that most of the comments are positive. I was almost afraid to click on the comments link.

</comment><comment><USER81> This is pretty cool, but I think spending a bit more time with a bigger project instead of doing 180 small ones would be more beneficial. But maybe her goal is to jump into bigger/long term stuff after the 180 days. Either way, congrats for getting out there and building stuff!

<comment><USER12> Keep in mind, she's starting from scratch, and her goal is to learn fundamentals of programming, not project management. Managing an large, interconnected project is a formidable task in itself.

She's made a pretty strong case for starting small, managing scope, and keeping realistic expectations.

</comment></comment><comment><USER82> This is awesome, humbling, and inspiring at the same time.

(There were 180 comments on this story, now there are 181)

</comment><comment><USER83> Incidentally, does that remind anyone of the "Cascade Cassette 50"?

[http://en.wikipedia.org/wiki/Cassette_50](http://en.wikipedia.org/wiki/Cassette_50)

The work is of profoundly higher quality, though, I just mean in terms of volume!

</comment><comment><USER84> This is so awesome! Thanks for sharing your work. :) I really love the Window Master!

</comment><comment><USER85> So many envious comments here, ridiculous. Jennifer, this is really inspiring stuff!

</comment><comment><USER86> i like day 114 [http://jenniferdewalt.com/image_palette/page](http://jenniferdewalt.com/image_palette/page) was looking for an online quick to user color picker just yesterday

</comment><comment><USER87> Ah, but note that Mondrian uses stripes of varying width -- it adds a lot to the piece. Consider trying to make the width individual stripes changeable. This might even provide even some insight into Mondrian's art.

</comment><comment><USER88> I want to learn from your code, but it looks like it's all hidden somewhere?

</comment><comment><USER89> Good on you, your progress is amazing. If you want a job, you'll get it.

</comment><comment><USER90> This is inspirational ... find time to dedicate to learning something new

</comment><comment><USER91> Wow. Unimaginable patience.

</comment><comment><USER92> Wow this must really time consuming. Really great work. Inspirational

</comment><comment><USER93> Amazing story, love it. Yes it's all about building wonderful things. I've been doing one screencast per week since 2011, I have to say it's really really lots of fun.

<comment><USER94> happypeter: Would love to hear about what type of screencasts you're building, my company ([https://www.bitcast.io](https://www.bitcast.io)) is looking for the best screencasters we can find. Feel free to reach out at nikhil at bitcast.io.

</comment></comment><comment><USER95> It looks like the majority of her Github commits are happening during 6pm-12am [http://imagebin.org/265513](http://imagebin.org/265513)

</comment><comment><USER96> Wow. Impressive dedication, and even more impressive creativity.

</comment><comment><USER97> This is great. \- she is learning to code \- she works hard \- she is creative with her ideas - everyday \- and she is communicating very well - and getting better at it.

</comment><comment><USER98> Wow. This is inspiring. I've been programming for years, and don't think I'd be able to create something new every day for 180 days. Major props.

</comment><comment><USER99> Jennifer, you are just plain amazing. You are my inspiration.

</comment><comment><USER100> Great idea. One minor quibble though: it's 180 web _pages_ or web _apps_ for me at least. I'd say that websites require full infrastructure etc.

</comment><comment><USER101> Congrats, it's amazing what you have achieved.

</comment><comment><USER102> Dear Jennifer, something tells me this will be the most difficult of the 180 days. If all this buzz does not distruct you, nothing will.

</comment><comment><USER103> This is awesome, Jennifer. Keep up the good work!

</comment><comment><USER104> Great job! Will stay tuned for the 65 days left!

</comment><comment><USER105> this is super smart. also, it gives me a good guide for ideas for the sites i want to build as i'm learning to code. THANKS!

</comment><comment><USER106> Hi, what day-to-day tools did you uses to create these? I wish I did something like this too instead of just playing all day :(

</comment><comment><USER107> I tried to splode a bacon bit, but it would not splode. Very disappointed. But love the execution. Good job and keep going!

</comment><comment><USER108> Is fizz buzz broken? A random number is nice, but what if not divisible by 3 or 5 - what do I enter? Example: I got 559.

</comment><comment><USER109> Cool! That's DEF fun and creative!! :D

</comment><comment><USER110> Awesome stuff, Jennifer! Congratulations!

</comment><comment><USER111> It's 180 HTML & Javascript PAGES, not 180 WEBSITES! Big Difference.

Nevertheless, congratulations on your dedication.

</comment><comment><USER112> My plan is to learn how to code by reading the code for 180 of Jennifer Dewalt's websites in 180 days.

<comment><USER113> Not a good plan.

</comment></comment><comment><USER114> I wish I had time to do similar approach solely to learn new things using HN: Hacker News University.

</comment><comment><USER115> Reminds me of [http://danceinayear.com](http://danceinayear.com)

</comment><comment><USER116> Great idea. Way to go, Jennifer.

</comment><comment><USER117> 180 iterations of the same website in 180 days and you have a company :]

</comment><comment><USER118> Cant wait until Number 180 when you build a complete Web Framework ;-)

</comment><comment><USER119> Who has the time or money to teach yourself to code in 180 days?

</comment><comment><USER120> Very inspiring! Keep up the good work!

</comment><comment><USER121> Really Wow! Quite inspiring.

</comment><comment><USER122> Great Work! Keep Going !!

</comment><comment><USER123> Way to go, Jennifer.

Best wishes for you!

</comment><comment><USER124> How cool! Keep it up!

</comment><comment><USER125> I have a new hero.

</comment><comment><USER126> i'm curious what kind tools are you using.

</comment><comment><USER127> execution

</comment><comment><USER128> I wouldn't launch this kind of project without some kind of ace up my sleeve.

I'd either prepare it in advance, vamp it all from the "tutorials," or have some backup code somewhere.

That would be necessary to avoid having a mundane interruption cause the project to fail.

</comment><comment><USER129> Steven King vs. Vladimar Nabrakov

</comment><comment><USER130> this is inspiring

</comment><comment><USER131> I thought you said "websites". You mean pages with a single purpose.

It's a good idea though and you probably learn a lot from it, but I wouldn't say that I'd made 180 websites after completing this.</comment>


The Ultimate HTML5 Tutorials and Useful Techniques - <AUTHOR> http://www.dzinepress.com/2011/04/the-ultimate-html5-tutorials-and-useful-techniques/ <comment><USER2> Weird, loaded and put me at the bottom of the page. HTML5 Technique? ;)

<comment><USER3> Maybe it was fixed ... it works fine for me.

</comment></comment><comment><USER4> Can we avoid these types of submissions in the future? This article isn't trying to educate the readers with anything in particular, HTML5 is just a buzz word and by dumping a ton of links about the topic they can drive traffic to their site. Just look at the content: there are two articles about "Drag and Drop with HTML5", a half dozen articles about writing HTML5 that is backwards compatible and cross-browser, and another half dozen articles that are just generically talking about how to create a page with HTML5 from scratch.

</comment><comment><USER5> Chrome does indeed jump way down the page on load. No idea what possible "technique" this would be other than "weird out the reader."

</comment><comment><USER6> here are some of my favorites:

<http://diveintohtml5.org>

[http://www.amazon.com/Introducing-HTML5-Voices-That- Matter/d...](http://www.amazon.com/Introducing-HTML5-Voices-That- Matter/dp/0321687299/ref=sr_1_1?ie=UTF8&s=books&qid=1301199843&sr=8-1)

</comment><comment><USER7> Links just return back to the same page, and right at the bottom..

</comment><comment><USER8> Usually don't see these blogspam "32 Great Links About [keyword]" on HN.</comment>


"Adds iOS build support to gomobile command" - <AUTHOR> https://go-review.googlesource.com/#/c/11587/8 <comment><USER2> So, let me get this straight:

* You can write part of your app in Go

* You can share that code across your Android and iOS apps?

Is that right? If so, seems like a solid use case for Go. Until Swift compiles to Android...

<comment><USER3> Is it really that beneficial to do this? Your system API's are still in Java/Obj-C/Swift, so all you can really share is business logic.

Has anybody had any real benefit from doing this in the past? I know Facebook did it with moments, but the image processing code could at least be shared here.

<comment><USER4> is that still correct after the Dalvik -> ART move ? I always thought a long term strategy around ART was to move away from the jvm dependency.

Just in time for all the Oracle lawsuits confirming that Java apis are patent encumbered.

<comment><USER5> Nothing official but after all these efforts with ART and jack&Jill both of which are not tied to java, it seems likely that Google is at least experimenting with another language.

<comment><USER3> What else would Google use? Android dev is pretty reliant on the OO model.

<comment><USER5> Well, that's an open question...

IMO, moving to another language should be taken as an opportunity to fix the oversights of the Framework. Things like the atrocious Activity lifecycle or the backstack handling.

There are several contenders :

-Dart : Google controls this language and the Dart Team is openly experimenting with their own Android fralewirj. The results are extremely underwhelming so far though.

-Kotlin : A better Java. I doubt that it would solve Android legal troubles though.

-Rust : the language has so many interesting ideas. I don't know if its complexity is warranted in Android's context though.

-a new language inspired by Kotlin, Rust, Go, Swift,... . Why not ? It would need a serious value proposition in order to be interesting though.

-insert your pet language here : everyone seems to want to develop Android apps in their most familiar language ...

Again, the official word from the Android team is that Java is the language of the platform for the time being. I just hope that if they are indeed planning a switch to another language, it will be discussed in the open beforehand. Such a debate is not always constructive, but it could be very important in Android's context.

</comment></comment></comment></comment></comment></comment><comment><USER6> OT: Does Gerrit provide any extra features helping in code review, compared to Github? We use Github and it does fine.

<comment><USER7> Gerrit and GitHub provide two different paradigms. If you want a straightforward answer, then yes Gerrit provides a number of extra features, but it isn't a replacement for GitHub.

</comment></comment><comment><USER8> So this make something similar as Cordova possible ? Running a local webserver with all logic, serving html5/css/js as GUI ? Would still need bindings for accelerator and such (just as Cordova) but maybe its possible to use the ones Cordova already has ?

</comment><comment><USER9> Which part of the application can be shared between iOS and Android apps that is most suitable to write in Go? Data layer, like communication protocol?

<comment><USER10> go has issues on IPv6 clients, so not communication.

Probably the business logic, which is what least needs to interact with the OS APIs.

</comment></comment><comment><USER11> What exactly does this enable?

<comment><USER12> Here's some good examples: [https://medium.com/using-go-in-mobile- apps](https://medium.com/using-go-in-mobile-apps)

Judging from the popping a dialog example, I think the main use case is reusing a Go library inside an iOS app, not any kind of standalone app development entirely with Go. At least, not without a lot of helper libraries which don't exist yet!

</comment></comment><comment><USER13> Dear mods: _please_ stop 'de-editorializing' headlines when the alternative won't make any sense. The new title for this link is nigh-unintelligible.

(the previous title was something like "Go 1.5 will add support for building iOS apps")

<comment><USER14> Take the sample bias out of your request and generalize it to all of HN, and what you're asking will no longer sound so trivial.

Submitters make up titles all the time that are (to use the sibling comment's words) "clear, descriptive", and wrong. Set aside the fact that HN's rules explicitly ask people not to do that. What would you have us do?

If you say "never change them", that would flood HN with false and manipulative titles forever. (Not that this one was false and manipulative—I wouldn't know. But I do know that that would be the consequence of never changing titles.) If you say "change the ones that are false and keep the ones that are true", you're asking us to be experts on everything.

The submitted title was "Go 1.5 will have iOS support". The submitted web page says nothing of the sort. What should we do? Being an expert on the Go project's internal progress—that is, being an expert on everything in the general case—is not an option. So we look for language in the article itself that is representative of what it says. That has two merits: (1) it preserves the neutral quality of HN's front page and (2) it's doable.

If you'd like to propose a change that doesn't demand superhuman powers of us and wouldn't destroy the character of HN, please do. But getting upset over a single suboptimal example doesn't seem serious to me. HN sees a thousand stories a day. Not every example is going to come out optimal no matter what we do.

<comment><USER13> Hi Dan - fair point. To be pedantic, though, the title of this article should then be

        Change Ibc23b6d3: cmd/gomobile: enable target=ios
        builds | go-review.googlesource Code Review

which a) doesn't fit, and b) doesn't make any sense. A potential technical fix would be to allow both titles and descriptions on posts with URLs.

<comment><USER14> Even pedantically, that's not true: the HN guidelines have never said you must always use the original title. Pedantry aside, the important thing above is _language in the article itself that is representative of what it says_. That's both why we changed the title and what we changed it to.

> allow both titles and descriptions on posts with URLs.

I appreciate the suggestion, but we're unlikely to do that. On HN, submitting a story conveys no special rights, and submitters do not get to frame the story for everybody else. Framing it for everybody else effectively means controlling the discussion. We want discussion to be driven by the article itself, not a single user's spin. If a submitter wishes to offer a description or say what they think is important about a story, they're welcome to do so by adding a comment to the thread on the same footing as everybody else.

</comment></comment></comment></comment><comment><USER15> I don't think the fruit company will approve apps programmed other than objc or swift.

<comment><USER16> They've been doing that for ages already.

Please do at least a cursory bit of research before commenting about an area you're clearly not familiar with! It will save a lot of time, and prevent FUD like this from continuing to spread.

<comment><USER17> Well, I'm glad he asked, because I didn't know all these languages mentioned in the responses, were supported on iOS and the App Store.</comment></comment></comment>