Django 1.5 release candidate available - <AUTHOR> https://www.djangoproject.com/weblog/2013/jan/04/15-rc-1/ <comment><USER2> The feature I like the most from this release is by far the swappable User model. Needing an extra table and performing JOINs between the User and my profile table have really been a pain.

I also like that some effort has been made to update the tutorial, when I started back in 1.2 I recall the tutorial to be quite confusing and didn't know where to go after I finished it.

Thanks all involved.

<comment><USER3> That was what attracted me, too, as I was starting a new project yesterday, but it turned out that the User model stuff is not as straightforward as I expected. In particular, a number of external applications/libraries have hard-coded references to auth.User, so those need to be patched.

So I'm using Django 1.5, but I'm using the old User->Profile setup, but I'm storing relatively little on the Profile.

EDIT: I've not found User->Profile to be much of an issue. I only store extra data in the Profile and don't have ForeignKeys against it, so I don't actually use the Profile that often.

<comment><USER4> I imagine there'll be somewhat of a database migration hurdle going from the profile configuration to auth.User, though. That seems like an incentive to use the format at one's earliest convenience.

<comment><USER5> Yeah, it is a bit weird. It took me around a day to migrate everything.

</comment></comment></comment></comment><comment><USER6> The verbatim template tag is probably my favorite. Excellent when using Angularjs together with Django templates.

[https://docs.djangoproject.com/en/dev/ref/templates/builtins...](https://docs.djangoproject.com/en/dev/ref/templates/builtins/#std:templatetag- verbatim)

<comment><USER7> I felt like such an idiot when I finally realised why my mustache templates refused to work.

</comment></comment><comment><USER8> Great! Does anyone have an estimate of when full Python 3 support is expected?

<comment><AUTHOR> So here's the deal:

Django 1.5 has "full" Python 3 support, at least from a technical level. It's done, works, is well-tested. I'm planning on putting a Django 1.5 / Python 3.3 site into production later this year. So in that sense it's "done" now.

However, we sorta have to hedge our bets in terms of what we recommend _others_ do.

We have a pretty serious backwards-compatibility promise, and we're not 100% certainly we've nailed down all the Python 3 APIs perfectly. There's a small (but non-zero) chance something might need to change between 1.5 and 1.6; we want the ability to make that change backwards-incompatible (for Python 3 users) if possible.

Similarly, there's a small (but again non-zero) chance that there's a serious bug or three in the Python 3 support. We don't want people getting bitten.

Finally, much of the "good stuff" in Django-land is actually in third-party apps, many of which don't yet support Python 3. This puts a pretty big obstacle in the way of a Django/Py3 site -- most real-world sites use a ton of third-party stuff. So to use Django on Py3 right now you'll need to make a bunch of "should I DIY this component or port it to py3 and submit a patch?" decisions.

In the case of the site I mentioned up top these are tradeoffs I'm willing to make. I know Django well enough to not be worried about potential bugs or backwards-incompatibilities, and I have the luxury on this project of getting to work on py3 patches as part of the deal.

Most people won't be so lucky, though, so we expect the majority of Django users to wait until 1.6 to start seriously using Py3.

We don't have a firm timeline yet. I'm guessing something like 6-9 months for 1.6, but that depends on a lot of different things. It could be longer, as much as a year, or possibly even as short as 3-4 months. We'll see :)

<comment><USER9> Is there a non-zero chance that all Python 2.* support will be removed in the future (2-3 years)? I'm with a company that's currently toying with the idea of using Django in our production environment. Py3 is a no-show in our plan or goals.

<comment><AUTHOR> At some point, yes, we'll drop Python 2 support. When really depends on how rapidly we see adoption (from users and re-distributors of Django) and how heavy the dual-version support burden turns out to be. My guess is what we're looking at a longer support window than the 2-3 years you posit, but that's really just a half-assed guess. Anything between "next year" and "never" would be a reasonable guess too...

... and y'know, Python 3 _should_ be on your radar, if not necessarily what you use right now. It's better than Python 2 in every way (except for adoption, and that's changing). 3.3 in particular has a ton of really great new stuff (futures! working namespace packages! yield from!) that you'll wonder how you lived without.

<comment><USER10> This! I'm so glad to hear this straight from one of the maintainers. Python 3.3 is the first version of Python 3 that has made me stop and say, "Wow, this really makes my life easier/better". The sooner we as an ecosystem get moving on, the better.

<comment><USER11> It's going to get worse before it gets better.

But, it'll be worth it.

</comment></comment></comment></comment></comment></comment><comment><USER12> I hope folks don't mind this rather off-topic question here. Is there a JavaScript-based equivalent to Django or Rails? My (limited) understanding is that node.js, Meteor et al are rather different beasts.

<comment><USER13> Locomotive and Railway to add two more.

</comment></comment><comment><USER14> Looking at the wall of (f|s)ame, there's still some vital projects without py3 support: south, fabric, mysql-python. Don't see myself developing without those.

<comment><USER15> On the upside, MySQL seems to have restarted work on Connector/Python which both claims to be Python 3 compatible and is pure Python (i.e. doesn't simply wrap the binary MySQL client library).

</comment></comment><comment><USER16> I'm looking forward to the swappable User model feature. Has anyone seen or heard of a site that has looked at migrating from a profile approach to a full in swapped User model? What does that migration look like and how painful was it?

<comment><USER17> God, I was so fed up with django.contrib.auth.models.User, not being able to ignore Username was probably the most insane part, I always felt email was a better choice than Username. I along with a bunch of people I know are looking forward to swappable User model, far saner than the round-about approaches I was using.

<comment><USER18> It's not terribly straight forward to do this, depending on which apps you may use. E.g. django-registration or even django.contrib.admin. Username is hard coded in many places. It will get there, but apps have some work to do.

<comment><USER4> I think you can just override the default clean_username() in RegistrationForm:

[https://bitbucket.org/ubernostrum/django- registration/src/27...](https://bitbucket.org/ubernostrum/django- registration/src/27bccd108cdef30dc0a91ed1968be17bb1e60da4/registration/forms.py?at=default#cl-45)

Looks like that's the only place that enforces duplicate usernames.

</comment></comment></comment></comment><comment><USER19> I've been using Django 1.5 for about a month for a couple side projects and it's been working great. A couple quirks with third-party modules (mostly related to the change in the default {% url %} template tag syntax). Anyway, awesome work by the Django team here!

</comment><comment><USER20> Just tried out StreamingHttpResponse and it's looking great. The User model should work well w/ the MongoEngine project (for MongoDB and Django), I'll look at upgrading it to support that.

</comment><comment><USER21> This came just in time for the first release of my webapp later this month. Hopefully the upgrade goes smoothly. Thanks guys!

</comment><comment><USER22> Is there support for composite keys in the model? This was a feature I was missing when I researched Django a while ago.

</comment><comment><USER23> Finally, verbatim.. I was tired of always needed to include it.

      {% verbatim %} template tag

</comment><comment><USER24> I just started learning 1.4! :-)

</comment><comment><USER25> I like the way you time your releases, boy.

</comment><comment><USER26> "the D is silent"

</comment><comment><USER27> Django Unchained?

<comment><USER27> HN needs to lighten up, -4 points for that comment? Why So Serious?</comment></comment>


A Clojure library for Apache CouchDB - <AUTHOR> http://github.com/tashafa/clutch/tree/master

<comment><USER2> Reading from CouchDB is pretty trivial in Clojure or any decent language; this is actually much more interesting since it implements a view engine.

</comment><comment><USER3> It's nice to see all of these libraries getting written in Clojure. It's a nice language, and it's a shame to have to constantly get into Java interop every time you want to use a lib. I know it's easy and all, but that doesn't make it fun.

</comment><comment><AUTHOR> The view engine is actually quite easy to get working if one follows the instructions on github. I had some problems getting view parameters to work but the author was quick to help me out.</comment>


Ask PG: The mixed message in AirBnB - <AUTHOR>

Hi Paul,
You have written and spoken out on numerous occasions that you prefer startups with all dev teams. No sales guys, no business guys etc. You have never made any qualms about where you stood on the issue.
However, when one looks at AirBnB and what you have said about them, is it fair to say that above all it is hustle that matters to you? Given the function they were performing it seems like they were business guys – doubt they were writing any code, correct me if I'm wrong here in my assumption that majority of the team was not neck deep in code.
My question to you, given the AirBnB example, where do you stand on the team's mix of founders? I personally agree that startups should be dev heavy, but I cannot help but notice the contradiction in all your writings and interviews v.s. your take on the Air guys.
Thanks! An avid reader of your writings. <comment><USER2> They weren't "hackers", but Joe/Brian were both great designers as well as pure embodiments of hustle. I went to school with both and they had a knack to transform the administration to suit their needs. e.g. Brian had the Mayor of Providence RI as the guest coach of our school's club hockey team. They may not have been able to code, but they could creatively solve just about any problem you put in front of them.

<comment><AUTHOR> I'm not trying to take anything away from your friends. To the contrary, I am giving them so much credit that I am asking pg if their impression on him has affected YC policy.

</comment></comment><comment><USER3> The founders don't all have to be hackers. There just has to be at least one.

<comment><AUTHOR> Thanks for answering my question, pg.

I'm still left wondering where your preferences lie in the post-AirBnB era.

And I'd also like to thank you for your collection of essays. That is, in my books, the single largest contribution anyone has made to the startup community.

<comment><USER3> Thanks, but Airbnb had no effect on our preferences. We've never said all the founders have to be hackers, just that at least one should be.</comment></comment></comment>


Considering The PayPal Mafia's place in Silicon Valley history - <AUTHOR> http://www.mercurynews.com/breaking-news/ci_15906180

<comment><USER2> Interesting article. I took away these two quotes from the article:

"There are no definitive answers to the question of "Why PayPal?"

"I think the biggest value is the brain trust and getting advice from people," Sacks said."

I think that this is true of any businessperson. Are contacts as important as true knowledge? Reading this article and thinking about the "PayPal Mafia", I think they are. Everyone is good at something and if you can ask the advice of your talented friends, you'll have an easier time putting the pieces of the puzzle together.

If you'd like to see an interesting interview with David Sacks, This Week In Startups (Jason Calacanis) interviewed him a few months back: <http://robisit.com/9m> He talks about PayPal, his movie and his other startup investments. It's not a great interview, but some of what Sacks says is interesting.</comment>


Google Insights shows what sites are mainstream and which ones are still early adopter - <AUTHOR> http://andrewchen.typepad.com/andrew_chens_blog/2008/08/early-adopters-vs-the-mainstream-google-insights-points-out-websites-only-used-by-silicon-valley-nerds.html

<comment><USER2> A very interesting look at the results of Google Insights. When I have a moment I'll see if I can find public sales/growth figures for a few companies and compare them to their Google Insight results to see whether there is any correlation.

</comment><comment><USER3> TechCrunch notes that:

"Chen included the '.com" at the end of each site's name when he created his maps ("techcrunch.com," "twitter.com," etc.)....Only nerds add the ".com" in the search box when they are looking for a site."

This affects results significantly.

here is the TC link: [http://www.techcrunch.com/2008/08/12/if-you-are-a- techcrunch...](http://www.techcrunch.com/2008/08/12/if-you-are-a-techcrunch- reader-outside-of-california-raise-your-hand/)

</comment><comment><USER4> Obligatory self-referential search for ycombinator: [http://www.google.com/insights/search/#cat=&q=ycombinato...](http://www.google.com/insights/search/#cat=&q=ycombinator&geo=US)

<comment><USER5> And if you limit the time-frame to the last 12 months, everything but CA disappears. I guess everybody in the northeast who's interested already has it bookmarked?

</comment></comment><comment><USER6> Twitter's heavy focus in states with major cities probably looks very much like early graphs of cell phone use. I still have a hard time imagining it spreading, but I guess I haven't been bit by the twitterbug yet.

</comment><comment><USER7> super cool tool, thanks for the tip andrew. This is a nice top level analysis and correlation, leave hardcore research to analysts. I'm all for "putting in keywords are looking at pretty graphs."

(edited)

<comment><USER8> Correct grammar and punctuation please.

<comment><USER7> are you kidding? -3 points down? I'm not writing a dissertation I'm making a comment.

<comment><USER9> I think most of the - points were for "leave hardcore research to analysts"

<comment><USER7> fair enough, I was jokingly referencing this comment from @jowyang "Friends, before you go ape shiggles for Google Insight, please note the data is NOT USAGE, it's just querying the frequency of search terms" <http://twitter.com/jowyang/statuses/885631287>

jokes and odd references often get lost in textual translation.</comment></comment></comment></comment></comment>


NYT: "MEN invented the internet" - <AUTHOR> http://boingboing.net/2012/06/03/nyt-men-invented-the-inter.html?utm_source=dlvr.it&utm_medium=twitter

<comment><USER2> I won't comment on the merits of this article, but before anybody comments, please take a moment to consider if what you to say is new. We had this dicussion recently, and having the same discussion isn't productive.

<comment><USER3> Maybe you are right and it's an old discussion. But repeating things and repeating discussions is in no way a bad thing. In fact, most of the ideas presented here on Hacker News are repeated ideas, maybe with a twist.

Either way, if you are tired of this discussions don't participate on one, but don't tell other people to not discuss. Maybe someone new here wants to express his/her ideas or maybe someone old really loves discussing this topic.

</comment></comment><comment><USER4> Grace Hopper was a complete badass. Here is an interview with her on Letterman circa 1986: <http://www.youtube.com/watch?v=RZ0g5_NgRao>

</comment><comment><USER5> _Women may have been invisible, but the work we did laid the groundwork for more visible advancements now credited to more famous men._

But what aspects of that work specifically led to the invention of the Internet? If "laying the groundwork" is the criteria then Newton, Tesla and Turing had a hand in inventing the Internet as well (an assertion I think few would make...). The fact that Lovelace and Hopper were women and programmers doesn't mean that "women" deserve credit for every invention that came after them.

<comment><USER3> Of course they don't deserve credit for every invention after them. I think the basic premise is that if you are going to say that only men's contributions to computers and the Internet are important, you are probably wrong as many women have advanced the field.

If we are talking about a particular invention we can talk about specific inventors. But the Internet is not one but many technologies put together invented and developed by different people, which include men and women (maybe not specifically Lovelace).

Apart from that, saying that women did not contribute enough to the Internet, is like saying black people did not contribute enough to the invention of cars; it's mostly true, but it could be argued that that's because they were an oppressed group.

<comment><USER6> > Apart from that, saying that women did not contribute enough to the > Internet, is like saying black people did not contribute enough to the > invention of cars; it's mostly true, but it could be argued that that's > because they were an oppressed group.

That is indeed an interesting juxtaposition, and I'd particularly note the use of the word "enough." That would suggest that in discussions on the history of technology, it is implied that there is some arbitrary threshold at which mentions of the contributions of a minority group (not necessarily an identity minority; i.e. in a women-dominated field you'd say the minority is the men, etc.) will be disqualified.

For instance, it is indeed "mostly true" that black people did not make many contributions to the automotive industry or its technological development. Richard Spikes' contribution of turn signals (<http://www.snopes.com/business/origins/blackinv.asp>) is perhaps notable or even significant, but not necessarily critical, so this could serve as an example of that statement. Does that mean that the hypothetical phrase "White men invented the modern automobile" in a hypothetical article about a black man being ostracized from the auto industry in 2012 is racist? Or is it merely an acknowledgment of the fact that white men get the credit because they structured the industry to give it to them, by excluding everyone else? Or is it both?

<comment><USER5> _That would suggest that in discussions on the history of technology, it is implied that there is some arbitrary threshold..._

But there's nothing arbitrary here, we know who invented the Internet. None of them where women. The argument that women could have contributed but didn't "because they were an oppressed group" is just an absurd couterfactual. Who knows what would have happened? You can say anything you want...

 _Richard Spikes' contribution of turn signals..._

Richard Spikes invented the turn signal. Full stop. Saying he contributed to the invention of the automobile is as absurd as saying that Edison or Tesla contributed to the invention of the turn signal. No one would say that because the turn signal stands on it's own. Using your line of reasoning, Richard Spikes invented the turn signal with contributions from who knows how many women and other minorities.

 _Or is it merely an acknowledgment of the fact that white men get the credit because they structured the industry to give it to them, by excluding everyone else?_

That doesn't mean women should get a historical "participation trophy" just for being somewhere and doing something in computing while the actual inventors where developing the Internet. It's insulting to them and women (and Al Gore...).

</comment></comment></comment></comment><comment><USER7> That's nitpicking at its worst imho and can only lead to articles that have longer disclaimers and footnotes than body.

<http://www.overcomingbias.com/2008/06/against-disclai.html>

</comment><comment><USER8> NYT: The tech industry is male-dominated and sexist.

BB: The NYT is male-dominated and sexist for pointing it out.

Flagged as bullshit.

<comment><USER3> Really? Maybe BB did say that, but that's not of the point of the article at all. Most of it is just criticizing the NYT views that men's contributions to computers and the Internet were more important than women's contributions.

<comment><USER8> The "NYT view" was a crude stereotype of the tech industry and the stereotypical male nerd tech worker, introduced to justify the article's position that the tech industry is male-dominated and sexist. There's plenty wrong with it.

And as a matter of fact, the contributions of men did heavily outweigh the contributions of women because women at the time were NOT ALLOWED to become engineers in most of the United States. In the rare places where it was allowed, high school advisors discouraged women from going to college and college advisors discouraged women from taking advanced math. Society was generally sexist and the potential for women to contribute was suppressed.

In the tech industry, women were allowed to become computer operators because it was seen as a natural progression from being typewriter operators, and because the tech industry was more progressive than the NYT gives it credit for. The heavy math, engineering, and design work was mostly done by men because, with rare exceptions like Hopper, they were the only ones with the skills and training to do it.

<comment><USER3> You are right. I was just saying what I thought the article was saying not what I believe personally. Saying that the article's argument is saying the NYT is sexist and male-dominated is an over-simplification, and in it's essential part, not true.</comment></comment></comment></comment>


Show HN: An easy way to compare GitHub repos side by side - <AUTHOR> https://www.githubcompare.com/?ref=hackernews <comment><USER2> This is pretty cool, nice demonstration GIF comparing SPA frameworks.

<comment><AUTHOR> Thanks!</comment></comment>


Why do Linux distros have different package names? - <AUTHOR> http://gwan.ch/faq#packages

<comment><USER2> With a collective market share of 1%, I find it hard to believe that the reason Linux distributions use incompatible package names is to get revenue from usage statistics.

Maybe we should use Hanlon's razor here: "Never attribute to malice that which is adequately explained by stupidity."

<comment><USER3> I suspect the razor needs an addition "or backwards compatibility". I suspect many of the names remain unchanged from when they were first added to each distro. There could also have been conflicts with similarly named packages at that time, so something pragmatic is chosen. 10 - 20 years later it looks like stupidity.

</comment></comment><comment><USER4> This is just idiotic. Different package naming conventions provide no meaningful lock-in. _Certainly_ it does not force users to use distribution maintained repos; it tends to be trivial to set up your own mirror of official repos.

</comment><comment><USER5> This whole web page reads like a crazy paranoid snake oil salesman SEO spam landing page. What the hell.

<comment><USER4> The rabbit-hole goes deeper... Search for gwan with hnsearch, this guy is the losethos of webservers or something.

<comment><AUTHOR> "losethos"? Are you talking about this guy? <https://twitter.com/losethos>

<comment><USER5> There was a long thread on Something Awful about this very, uh, "special" operating system written by one lone guy. Looks like it's renamed now: <http://www.sparrowos.com/>

<comment><AUTHOR> So what is special about losethos? I see it's 64-bit multi-tasking real-mode, and I see he's apparently posted some unpopular opinions on various forums (not sure what his posts are, they've all been deleted), causing him to become banned. Doesn't seem like any big deal to me.

According to <http://qaa.ath.cx/LoseThos.html> the author is often ridiculed for his work. I don't think the G-WAN author is in a comparable situation.

<comment><USER4> He seems, to a layman untrained in psychology, to be very... unstable. Just for starters, he seems to think that some sort of god talks to him through some sort of "dissociated press" style markov chains, or something.

His old HN account: <http://news.ycombinator.com/threads?id=losethos>

His new account: <http://news.ycombinator.com/threads?id=SparrowOS>

What I mean by comparing this guy to losethos is that his paranoid rantings and delusions of grandeur (ill-considered rants like this one, or rants about conspiracies to explain why his software isn't more widely used, etc) give me serious _"danger! stay away!"_ vibes.</comment></comment></comment></comment></comment></comment>


Indian scientists develop wonder material 'black gold' - <AUTHOR> https://www.vigyanprasar.gov.in/isw/Indian-scientists-develop-black-gold-wonder-material.html <comment><AUTHOR> Link to Royal society of chemistry -

[https://pubs.rsc.org/en/content/articlelanding/2019/sc/c9sc0...](https://pubs.rsc.org/en/content/articlelanding/2019/sc/c9sc02) 369k#!divAbstract

<comment><USER2> Fixed link: [https://pubs.rsc.org/en/content/articlelanding/2019/sc/c9sc0...](https://pubs.rsc.org/en/content/articlelanding/2019/sc/c9sc02369k#!divAbstract)</comment></comment>


Boeing, please don't do it with passengers on board - <AUTHOR> https://www.youtube.com/watch?t=130&v=KYbM-3E11Qo

<comment><USER2> Silly link is to the middle of the video after the interesting part.. Here is a better link to just before takeoff [https://youtu.be/KYbM-3E11Qo?t=37](https://youtu.be/KYbM-3E11Qo?t=37)

</comment><comment><USER3> As an aviation enthusiast, I'd happily pay $1000 for a window seat on that (demo) flight.

</comment><comment><USER4> Is it camera angles or is that actually taking off almost vertically there?

<comment><USER5> Here is a side-view: [http://www.youtube.com/watch?v=EWTK9phKoaE](http://www.youtube.com/watch?v=EWTK9phKoaE) But this is old video.

<comment><USER6> 50 degrees - recons the video author

</comment></comment></comment><comment><USER5> I think they need to develop life-saving technologies before doing things like that. Because one small mistake can lead to the crash.</comment>


Why your job ad sucks (plus how you can fix it).  - <AUTHOR> http://codepockets.wordpress.com/2012/02/05/why-your-job-ad-sucks-plus-how-you-can-fix-it/

<comment><USER2> I have come to suspect that all the free beers/macs/ping-pong exists so that the line between work and home gets blurred and you can work longer hours. But if you are applying to work in a startup you probably already know about the long hours.

The apply-via-API could backfire since the company loses talent that isn't motivated to jump through all those hoops. It should be interesting to see the results of their API hiring.</comment>


How Apple iPads are Manufactured At Foxconn Factory in China [video] - <AUTHOR> http://www.techieapps.com/watch-how-apple-ipads-are-manufactured-at-foxconn-factory-in-china-video/ Reporter Rob Schmitz is the Bureau Chief of Marketplace in Shanghai. He is the person who discovered a large portion of Mike Daisey's accounts about Apple's Foxconn factories from China. <comment><USER2> I wish people would compare China today with what the USA was back when it was developing. Let's not forget the pollution, child labor, crushed limbs, dead horses in the streets of cities, raw sewage in the rivers, paving over an entire rivers, environmentally devastating dust bowl, massive pollution, world police attitude of the United States. China has Tibet, we have Native Americans.

I've learned this: When you smell dog shit, before you go around blaming others for stepping in it, look under your own foot, because chances are you stepped in it too.

I just wish all countries didn't have to go through this route. If only there was a way to skip the dirty development phase. Because after China, India, and the Middle East comes Africa's time to rise. And Africa is the size of China, US, India, and Europe combined. I don't think I want to be alive when dozens of African countries hit the peak of their dirty development.

<comment><USER3> The rate of transition from sleeping in mudhuts to striking for maximum hours- per-day and longer holidays has dramatically shrunk for China and India, compared to Europe and the US. (it suddenly occurs to me that maximum hours- per-day and holiday-time hasn't even been reached in the US yet)

<comment><USER3> I like that we all ignored my mistake in saying the rate had shrunk, when I actually meant the time-to-transition has shrunk. :) Keeping focussed.

</comment></comment></comment><comment><USER4> I think this makes an interesting counter-point to the numerous articles that claim bad working conditions.

I think really, this just goes to show how we need to remember the situation within China, rather than comparing Foxconn to a 'Western' factory. Yes the hours are long, and the pay is rather poor - but it is certainly one of the best places to work within China.

<comment><USER5> I'm still skeptical. What's shown in this video seems ok, but it's impossible to know if this is representative or not. This is a tiny snapshot, and no doubt has been carefully orchestrated by Foxconn. See also: tourists' videos from North Korea.

<comment><USER6> It's representative of all the big electronics manufacturers. It is not representative of manufacturing in China as a whole, but it is wrong to conflate the high tech electronics industry with, say, the building supplies, food, or children's toys industries.

<comment><USER7> Or, paraphrasing my recollection of Tim Cook's remarks, "we're working to extend our inspections of factory conditions deeper into the supply chain." Probably if you chase down some of the components to the iPad you'd find much worse conditions than shown here. Not to mention the bags of concrete and hunks of rebar I get at Home Depot.

</comment></comment></comment></comment><comment><USER8> A quarter million workers is pretty unfathomable to me. I'm an engineer at a company with over 6,000 manufacturing workers in one location and that seems enormous.

The video mentioned $14 a day for the workers. In the US it's a lot closer to $20 an hour, or $160 a day.

$146 a day difference, * 250,000 = $36.5 million a day difference in direct labor costs. That turns into a couple billion dollars a year. It's staggering.

<comment><USER9> They offer free housing and food (plus the tax structure is totally different etc.) so it isn't a direct comparison (but still a big difference).

<comment><USER7> Even the most minimal benefit structure in the US has got to outstrip free housing and food at Chinese rates. FICA employer contributions, state disability insurance, etc.

<comment><USER9> I'm sure it does. However don't assume housing is worth nothing. Right now housing in Shenzhen is more expensive than Hong Kong.

</comment></comment></comment></comment><comment><USER10> There's so much missing from this video, most obviously the metal polishing steps which saw the deadly explosion last year due to inadequate ventilation.

<comment><USER11> Apparently the milling and polishing process is getting regular external inspections: [http://www.computerworld.com/s/article/9223435/Apple_confirm...](http://www.computerworld.com/s/article/9223435/Apple_confirms_aluminum_dust_caused_Chinese_factory_explosions)

</comment></comment><comment><USER12> The work and conditions shown in that video (although obviously not the pay) don't seem too different to IBM's factory in Greenock, Scotland in the late '90s/early '00s.

The scale was smaller, since it was pre-Lenovo ThinkPads and Netfinity servers, not millions of iPads, but it had a surprisingly similar feel.

</comment><comment><USER13> This seems like a propaganda video for Apple (not Foxconn because no one in the west cares what Foxconn does). I'd like to believe it though...

<comment><USER14> This is actually done by public radio/media in the US. They have had a lot of coverage of the factories recently--probably because a radio reported negative information a couple months ago that turned out to be falsified.</comment></comment>


Emergency Preparedness During Coronavirus Frenzy - <AUTHOR> https://whoisjoe.com/posts/emergency-preparedness-during-coronavirus-frenzy/ <comment><USER2> Complete overkill. YAGNI. A month or two of food and medicine is just about all you'll need. Dude is acting like he's going to be homeless, society will evaporate, and be scrounging for water from mud puddles like some episode of The Walking Dead. I live in Paradise and deal with fires, black bears, drug- addict trespassers, insurance companies and power outages. This story's level of insanity is a waste of money and unrealistic. I have a SHTF bag, but it's only for when I don't know where I'll end up.. and haven't needed it yet. And, a lot of that prepper stuff is junk: I tried a Survivor Filter Pro and it fouls the filter into uselessness with any brackishness or sediment; it's totally worthless.

And you can still go out if you:

\- wear indirect vented goggles (eye protection)

\- an N95 mask (disregard the CDC manipulative lies)

\- use 70% hand sanitizer, 1% bleach, or 0.5% hydrogen peroxide per WHO for cleaning surfaces

\- wash your hands thoroughly for 20+ seconds, and nails too

\- decontaminate/remove yourself, your clothing and PPE outdoors before entering your or someone's home.. removing clothing straight into a washing machine without entering living areas is a good idea

Also, the latest is that SARS-CoV-2 can survive up to 9 days on fomites (objects), so surfaces will stay contaminated for sometime.

<comment><AUTHOR> Thanks for reading my article. I agree this is overkill for this specific Coronavirus outbreak. The point of my article, though, was to show that with little outlay you can prepare yourself for a wide range of risks. In a city I think it's important to prepare yourself for being able to stay in one place, without external resources, for some time, how much time is entirely up to you.

I see a lot of people here panicking and buying up all the toilet paper and hand sanitizer because they have never thought of this before. It's best to be prepared, or at least thoughtful about your approach.</comment></comment>


Access to the websites listed on this page has been blocked - <AUTHOR> http://ukispcourtorders.co.uk

<comment><USER2> looks like the site which lists blocked sites has itself been subject to a block...

alternative link: [https://web.archive.org/web/20141203235852/http://www.ukispc...](https://web.archive.org/web/20141203235852/http://www.ukispcourtorders.co.uk/)

<comment><AUTHOR> When I submitted the link it worked without the www. - apparently that has since changed</comment></comment>


Unseen JD Salinger stories leaked on to filesharing site - <AUTHOR> http://www.theguardian.com/books/2013/nov/28/jd-salinger-unseen-stories-leaked-filesharing

<comment><USER2> I'm astonished that this "collection" exists at all, apparently as a 25-copy print run, which no one anywhere seems to have known about previously.

But even more surprising is that the eBay UK seller who sold this copy, presumably to the file-sharer, has sold at least two other copies of the same collection over the past 8 months.

Most astonishing of all: each of them sold for ~$100.

That's about the usual naïf price for obviously-fake art on eBay, and I suspect that when it all comes out, we will learn that these are fakes -- _phonies_ , if you will -- rough cuts or early versions, or at best scribed copies out of Texas and Princeton.

Still, I'm surprised that Salinger fans wouldn't pay more for even the most cloudy-provenanced versions of these stories.

<comment><USER3> According to Salinger scholars that DO have access to the real prints, these are the real deal. The 'no one anywhere seems to have known about previously' is a false claim because there was a bounty on said file sharing site for these to be uploaded.

<comment><USER2> The bounty on the file sharing site was for a different collection, with a slightly different set of stories. For what it's worth...

But being "the real deal" isn't always simple when you're talking about a print run of a short story collection.

It's not like validating authenticity of a painting, where the criteria (generally) involve being executed by the hand of the artist. Authors rarely print their own stuff anyway.

But if the author never intended the stories for collection together, or licensed them to a publisher at all...that can make the collection a "fake" even if the stories are perfect matches for the author's finished versions.

Somewhere along the line between drafts and manuscripts and galleys and first run publishing, the collection becomes real.

Salinger scholars and fans knew the stories existed, and knew where to go to read them, but no one seems to have known of a 25-copy print run of these three as a collection. This is surprising, bordering on incredible, given Salinger's prominence.

</comment></comment></comment><comment><USER4> [http://imgur.com/a/64v5t](http://imgur.com/a/64v5t)

</comment><comment><USER5> A little backstory:

On the site where these were uploaded (whatCD), users can post torrent requests. These stories were some of the most requested items on the site, and they had huge ratio bounties.

So when this torrent was uploaded it attracted tons of (unwanted) attention -- the admins panicked and temporarily took the site offline. After thinking it over, they decided to remove the torrent from the site, which didn't actually do much since the file had already made its way onto thousands of other sites.

If I remember correctly, a similar thing happened with a lost _Godspeed You! Black Emperor_ album a couple months ago.

</comment><comment><USER6> The Guardian is rehashing Buzzfeed's Reddit thread summaries now? I can come up with at least 21 Ways This Makes Me Dissappointed.

</comment><comment><USER7> SORT-OF SUMMARY (I didn't write this - it was posted on What.cd's forum by a user)

The story so far. Corrections welcome -- just add them.

Three short stories by J.D. Salinger (1919-2010) were to remain unpublished until 2060, but were released onto the Internet late 27Nov2013 and removed early the next day (Thanksgiving morning in the USA).

TWO LIVES

J.D. Salinger (1919-2010) enjoyed his personal creativity better if he published less because he felt the presence of a public following -- not to mention reviewers and critics -- was a constraint on his freedom. Salinger stopped publishing and instructed his estate to release his works piecemeal over many decades, as if his life as a famous author would only begin after his life as a private person had ended.

Manuscripts to be kept unpublished could be viewed by scholars (any eager person) in libraries. The libraries had typescripts of the three stories here, annotated in margins by Salinger, but not in final form. Why that kind of release? Because it was society's hubbub over artists that Salinger found constraining, not the world of the mind.

STORIES IN LIBRARIES The three short stories now released that were available in libraries:

\--"Ocean Full of Bowling Balls" (typescript; important precursor to "Catcher in in the Rye") \--"Paula" (early draft typed by Salinger, his notations in margins) \--"Birthday Boy (1946; early draft typed by Salinger, his notations in margins)

The drafts could be read by scholars under supervision, the first at Princeton, and the other two at the University of Texas at Austin's Ransom Center. UT/Austin permitted scholars to make photocopies they were pledged not to circulate, as did Princeton until the mid-1980s.

The Internet leak did not come from either library, but . . .

25 BOOKS IN LONDON

The three stories were published as a little paperback in London, 1999, in a limited edition of 25 numbered copies, each of which declared that this presumably unauthorized act did not constitute publication of the works. The origin of this private publication is unknown. Old photocopies of the library typescripts is a possible source, or perhaps Salinger himself had a publisher review the manuscripts before ceasing all publication a few years later.

THREE BOOKS ON EBAY

A British bookseller specializing in Salinger sold three of the 25 London books, the first on 17Nov2012. Prices ranged up to 65.50 pounds sterling plus shipping (ca $110). [http://feedback.ebay.co.uk/ws/eBayISAPI.dll?ViewFeedback2&ft...](http://feedback.ebay.co.uk/ws/eBayISAPI.dll?ViewFeedback2&ftab=FeedbackAsSeller&userid=seymourstainglass&iid=271278476542&de=off&interval=0&items=200)

The sales attracted no apparent attention from either eBay or the estate of J.D. Salinger.

ON THE INTERNET

The third book sold on eBay was scanned and pdfs of the page images were uploaded to what.cd. Site administrators removed the copy after being contacted by lawyers for the estate of J.D. Salinger. However, other sites began to carry copies (search Salinger Three Stories download).

Scholars say the book is faithful to the manuscripts they saw in libraries.

BOUNTY

The uploader dtauris will keep the bounty.

A what.cd member requested the community at large to provide a copy of some Salinger short stories (not exactly these three, but these three became acceptable). That was five years ago, about a year after what.cd was launched. The autonomous request system permits other members to show their approval of any request by donating part of their upload credits, creating a community- funded bounty. The bounty for the 84.49MB Three Stories file grew to over 6 terabytes, the largest in site history.

In 2002, Robert Reid (listen.com, Rhapsody) claimed the "active catalog" of all 5 major record company labels was 25,000 CDs (Gilder Technology Report 2/2002), so a 6TB bounty can download every CD in print 2 1/2 times over with V0/VBR encoding (100MB/CD; some are 60MB), and nearly the whole catalog in flac.

What now? "Download all of What.CD just in case [we go off the air]. We will need you for a backup," user Alcahofa advised: forums.php?action=viewthread&threadid=185074&postid=5029235#post5029235

What.cd has a collage of "1 TB Bounty Fills"; about 20 entries are listed. Twenty-six requests for at least 1/2 TB are currently pending (user tpchuckles, 401-500 block).

CENSORSHIP AND COMMUNITY

Only two items have ever been removed from what.cd: Microsoft's COFEE forensic software (see SoldierX) and Salinger's Three Stories.

Letting a member keep a bounty after the desired item has been removed from the community seems unfair to the community. There is a local contradiction between donating a bounty here, and not getting the item here ("the local contradiction"). But in a larger sense, the global community now has "Three Stories". So the uploader gifted our community, and our community -- your bounty -- has gifted all of humanity.

Solving the "local contradiction" by removing a request before it is filled has problems.

1\. The removal staff is forced to practice self-censorship.

2\. The self-censorship must proceed without any data about world reaction. Here, there was no apparent reaction to three sales of the forbidden material on eBay, but there has been world reaction (search Salinger leaked) to the same material on Internet file-sharing sites. To get "the perspective granted by fallout", one must post the material.

3\. Removing requests forces staff to take responsibility for an autonomous requests program available to users.

4\. Staff complicity in an act of deception could hide a torrent's origins. Let staff hold the high-bounty upload in escrow, while the uploader makes it go public with an upload elsewhere first. What.cd admins would then release their duplicate (escrowed) copy to our community. If you don't appear to be first, you don't appear to be guilty. Technology, score one; legality and morality, zero. At trial and sentencing, you have handed the moral high ground to opponents.

The two removal decisions (DECAFF, Salinger) have been based upon unwanted general publicity (10 pages of hits 1 day later to "Salinger leaked online") as well as upon legal pressure. Legal pressure depends on focus as well as resources: compared to the RIAA, the Salinger estate could focus on a single adversary.

The site was taken off line until early Thursday morning (5 to 8 AM EST) in part to avoid the steadily building "curiosity" traffic.

Site administrators stated their first priority is preservation of the site, and thus preservation of the community. what.cd was founded the day that an earlier site was forcible shuttered (Wikipedia what.cd). The beginning-of-the- end for the earlier site may have been an e-book posting (user Binjo).

Members who asked for stronger resistance did not mention financial contributions to legal costs. The existential seriousness of the moment is apparent in the comments of Administrator Irimias (201-300 block).

USER ANXIETY

Some users (cocabottle) want a commemorative T-shirt. Others are more anxious. If an ebook incident brought anxiety, some some users suggest banning ebooks. If a high-bounty request brought grief, some users suggest self-censorship of requests with high bounties. User sav0y suggests Cafe Del Mar (ambient, electronic, downtempo, future.jazz); others rushed to download anything. Suspending interview-based invites might be prudent.

Big practical and political differences between us (quiet invites) and The Pirate Bay (in-your-face politics) were summarized by mediaferret (401-500 block).

SOLID LEADERSHIP

Users praising Administrators conveniently forgot about the threatened return of Drone.

The [Manchester] Guardian quoted Administrator DixieFlatline: "Due to this case's rare and unlikely circumstances, due to the unnecessary and unwanted attention the Salinger leak has brought, and due to our desire to comply with the desires of the Salinger estate or other involved parties in this matter, the content has been removed … It is not to be re-uploaded under any circumstances, and anyone found doing so will have their account disabled." Concluded the Guardian, "Salinger could hardly have put it better."

User Snowflake (301-400 block) noted: The Guardian confirms what we already knew, Dixie's announcement writing skills are on par with Salinger's work.

"Strong leaders" for the site and "weak--zero?-- democracy" were linked in comments that did not also mention the vast amount of work done by members to produce the text, files and metadata here, or the fact that most staff are unpaid volunteers, or the many opportunities--this thread, for example--for users to express themselves, make suggestions, and provide the effort to carry them out.

LITERARY AGENTS AND ESTATES

User AGuyCalledMike reminds us how bad it can get with a grandson of James Joyce. [https://en.wikipedia.org/wiki/Stephen_James_Joyce](https://en.wikipedia.org/wiki/Stephen_James_Joyce)

Then there is Andrew Wylie:

" If I have to read James Michener, Danielle Steel, Tom Clancy, I'm toast. Fuck it. This is not about making money. I know where the money is. It's on Wall Street. I'm not going to sit around reading this drivel in order to get paid less than a clerk at Barclays. That's just stupid. ... I want to be interested in what I read, ..."

His living clients Martin Amis Al Gore Philip Roth Salman Rushdie Dixie Flatline?

The dead clients, he handles their estates Saul Bellow Jorge Luis Borges Norman Mailer Vladimir Nabokov John Updike Evelyn Waugh

</comment><comment><AUTHOR> I read the first of the three, absolutely loved it. Holden Caulfield plays a small role in it.

</comment><comment><USER8> It's a smart move by someone who understand IP and book markets (at the time)

Get luck with one book.

Milk it.

Leave other books to be published 50yrs after death.

That covers both the IP law (50yrs from author death for his previously, milked novel) and the book market desire for posthumous works.

That's the best investment he could have left for his state.

... we're it not for the imminent death of publishing

<comment><USER8> Yeah, there are typos.. But idiotic hn or my gingerbread browser refuses to let me to move the cursor in the text area. So fixing the typos is left as an exercise to the reader.

</comment></comment><comment><USER9> For some reason the Guardian page goes blank after displaying the page after a fraction of a second.

</comment><comment><USER10> Salinger plays this Sumerian Son in pop culture that is able to drop the note under a table that exhibits the essence to overcome technological exuberance for the plight of humanity.</comment>


Minstrel ZX80 Clone - <AUTHOR> http://blog.tynemouthsoftware.co.uk/2016/12/minstrel-zx80-clone.html <comment><USER2> No 3D Monster Maze - well, that is a disappointment!!! That was my favourite game on the ZX81 and it actually was terrifying to bump into him even though the screen was very blocky pixels with a very slow refresh rate. We are talking seconds per frame.

I am also amazed that you can buy a replacement ZX80 keyboard. This required someone out there to know what it was and to bother to put it on ebay etc. for someone else to find. This is trade at its most obscure, yet this is also our key survival skill - trade. It is what enabled our variation of the human form to survive ice ages where other human varieties perished. We could trade, they could not. Once we traded in things like salt, nowadays it can be in anything including a ZX80 keyboard.

The UHF modulator was replaced in this article, the original modulator was ubiquitous and found in all computers of the era that needed a TV for the monitor. At the time this part was taken for granted, however, it was the component that enabled the home computing revolution, without it and screens would have been an extra £400 or so (as per BBC/Acorn monitor). There must be more information out there on how these UHF modulators came into being.

<comment><USER3> > I am also amazed that you can buy a replacement ZX80 keyboard

There's a thriving scene for retro computing in the UK - looks like that is the primary business of the creator. I assume that the (non-test) keyboard, ULA and case all came from a donor machine. After all, there's the link to "Send me something interesting to repair / review / reuse / recycle"

[http://rc2014.co.uk/modules/universal-micro- keyboard/](http://rc2014.co.uk/modules/universal-micro-keyboard/)

</comment></comment><comment><USER4> Just for the record, and for those not familiar with these, the original ZX80 and ZX81's had only 1 Kb memory.

The "expansion" to 16 Kb (and later to a whopping 64 Kb!) was an extremely costly "add on", it was a small "vertical box" attached to the rear end connector (and the connection was - to say the least - flaky):

[http://www.computinghistory.org.uk/det/34163/ZX81-16K-Byte-R...](http://www.computinghistory.org.uk/det/34163/ZX81-16K-Byte- RAM-Pack/)

An image of a ZX81 with the expansion box mounted is here:

[http://oldcomputers.net/zx81.html](http://oldcomputers.net/zx81.html)

<comment><USER5> That would be kB (kilobyte) and not kb (kilobit) or Kb (kelvinbit).

<comment><USER6> What's a "kelvinbit"?

<comment><USER7> Now I want to see someone derive a nice formula that results in a kelvinbit. Offhand, I'd guess something to do with information entropy in temperature sensitive media. (Entropy rather than density as that would be more along the lines of bits/kelvin I'd assume. Or heat output would be kelvins/bit.)

</comment></comment></comment></comment><comment><USER8> This might be a cool project to build at Seeed. I think they could populate a board with sockets, SMD resistors, jacks and switches, leaving just the chip insertion for the end-user.

Caveat: I've only ever had them build an unpopulated through-hole board for my one hardware project.

<comment><USER9> Parts availability might be a serious problem, especially the ULA.

<comment><USER10> That's the point of this clone, it's based on the ZX80 which uses only standard TTL chips, all of which are still available today. The original 1K RAM chips and mask ROM are not, but modern parts have been substituted. The next version will incorporate an NMI slow mode circuit which will make it fully ZX81 compatible, still only using standard TTL parts.

</comment></comment></comment><comment><USER11> The ZX80 was the first computer I touched and used and it was bloody awful.

I mean really, you press a key and the screen blanked out as I recall.

Didn't stop me from getting the far superior Vic-20 the following xmas.

<comment><USER12> The ZX81 had the revolutionary ability to support both screen refresh, and keyboard input simultaneously! Well - as long as you didn't engage 'FAST' mode - which made your FOR NEXT loops go super-fast, at the expense of blanking the screen.

</comment></comment><comment><USER13> Can anyone explain what he means by "I have replaced [the UHF modulator] with the single transistor composite video buffer" ?

<comment><USER14> On the original ZX80 it produced modulated RF to connect to your TV aerial socket as it wasn't common then to have any other inputs on TVs.

More modern TVs have a composite video input which makes the RF modulator redundant. The quality of the picture is much better via composite video.

In fact that is how I used to use my ZX80 back in the day with a wire clipped onto the input to the RF modulator connected to a 9 inch monitor my dad liberated from work!

</comment></comment><comment><USER15> Articles like this one makes me wonder if dad's ZX81 clone is still sitting in the basement.

<comment><USER13> Your dad cloned a ZX81 or he has another company's clone of a ZX81?

Tangentially related: The Jupiter Ace was a relative of the ZX81 (same designers, different company) which ran FORTH instead of BASIC. If anyone has one they are worth a lot of money because it seems fairly few were made and/or survived.

<comment><USER16> If digi_owl's dad is/was resident in the US or Canada it could have been a Timex branded version of the ZX-81. There were also quite a few clones back in the day:

[https://en.wikipedia.org/wiki/List_of_ZX80_and_ZX81_clones](https://en.wikipedia.org/wiki/List_of_ZX80_and_ZX81_clones)

<comment><USER17> Timex clones were also sold in the Iberian peninsula.

I had a 2068.</comment></comment></comment></comment>


IPad is to iPhone as… - <AUTHOR> http://bluvox.com/2010/04/ipad-is-to-iphone-as/

<comment><USER2> Why is the type on this site unreadable on Firefox?

<comment><AUTHOR> Hm. I'm using Typekit, which does appear to be producing less than awesome results in Firefox. Thanks for pointing that out.

<comment><USER2> Interesting. It was readable on IE/Chrome/Android Safari though they all look different. Oh web, where did we go wrong with you. Maybe after iPad, Steve will work on getting web font support up to the 1984 Mac level.</comment></comment></comment>


Milwaukee's War on 'Pokémon GO' Could Change Tech Forever - <AUTHOR> https://www.inverse.com/article/31145-milwaukee-pokemon-go <comment><USER2> All these problema already have laws on the books.

"People are beginning to run across the streets, parking is absolutely overloaded, the police are now ticketing, food trucks are showing up," the Milwaukee County Supervisor remembers. "It was unbelievable. There's no facilities to go to the bathroom. People are urinating on people's lawns. You're finding female napkins and feminine hygiene stuff all over the place."</comment>


MIT researchers find where visual memories are made - <AUTHOR> https://newsoffice.mit.edu/2015/mit-researchers-find-where-visual-memories-are-made-0120

<comment><USER2> We updated the URL from [http://medicalxpress.com/news/2015-01-visual- memories.html](http://medicalxpress.com/news/2015-01-visual-memories.html), which refers to this announcement.</comment>


Leapfrogging the IDE - <AUTHOR> https://amasad.me/leapfrog?hn=1 <comment><USER2> A couple of observations:

\- Something like Light Table would probably seem like a step up for repl.it users, instead of a step down.

\- It can take a long time to reach the point where it feels like there's a big payoff from using IDEs and similar tool.

 _Now_ , I definitely see the value of being able to do something like set a breakpoint in Visual Studio, step through a bit of code and observer local values changing, and then step _backward_ , change the value of some variables or even edit my code a bit, and then step forward again to observe how my changes impacted the execution of the code. But when you're just learning, it's hard to even know that this kind of time travel debugging and live editing is even _possible_ , and even when you know it's possible, it can be difficult to envision how you'd want to use it until you have more experience.

<comment><AUTHOR> I think for someone not familiar with repl.it and just reading this might get the impression that we are anti-IDE features. That is not at all the point. In fact we think Code Intellisense is essential. We start a Language Server for many of the languages that we support: [https://repl.it/blog/intel](https://repl.it/blog/intel)

<comment><USER3> I think part of the problem is your home page, because it doesn't say anything about what your product is, or what it does, or what your mission is, or how it helps me.

I went to the bottom of the page to find the "about" link, which had a 1 line mission statement that doesn't say much, and a bunch of employee pictures.

I still don't know what it is you do, other than your name which implies a repl, which most languages have already.

<comment><AUTHOR> Which problem?

</comment></comment></comment></comment><comment><USER4> I can answer the question why switch if the limited online one is sufficient; it's because the developer is working less efficiently and is unaware of the impact on productivity and code quality.

I've seen this many times, variable renamed done with text replace or by hand, inconsistent formatting and headers, silly bugs that an ide could catch as you type get committed, switching between screens to test their code constantly. Ignorance isn't bliss, it's just new developers aren't getting the wisdom and expirence of the past and are repeating past mistakes instead of improving on the solutions.

<comment><USER5> I've been coding for 20 years. You are correct that some people would speed up in an IDE but it's more complicated than that. Many people are slowed down by their IDE.

I see IDEs largely as a symptom of the complexity sickness in software development. Companies take a strategy of letting complexity grow to the point where it can't be controlled. IDEs and other tools for managing massive complexity emerge, because you need such tools to work in codebasses that have become a hurricane of complexity.

There is another path, where you choose to use simpler tools and adapt your plans to fit the tools. This is how the Amish work and they are able to do incredible works and be highly productive.

So, yes. You can try to become like "iron man", wrapped in tools of immense complexity to match the tasks you set yourself to.

Or you can be like a Japanese carpenter and study and think and refine so that you can do only small tasks, with simple tools, and see miraculous detail emerge from the compounding interest of consistent daily practice.

<comment><USER6> There are features in PyCharm that I have found so, so useful, that I refuse to write Python in anything else.

When Julia and Rust get support that good I'll never have to use a text editor + plugins again; and I will be very pleased (even though the Rust sublime text plugin is very nice).

</comment></comment></comment><comment><USER7> Coming from an enterprise background and having used Eclipse and IntelliJ for many years, I am honestly puzzled by the current trend in IDEs such as VS Code, Atom, etc. given their lack of fully features refactoring support, code search which goes beyond just simple text search, native understanding of classes, interfaces, method signatures etc.

I have tried all of the above 'modern' editors and almost immediately find tooling i'd assume is part of every IDE (i.e. code formatting, import organization/cleanup) but wasn't

Amongst the current crop of engineers, there seems to be a stigma against even trying Eclipse or IntelliJ. I kind of feel like junior engineers are missing out on discovering some much more powerful tooling and forming their own opinions.

<comment><USER8> > Amongst the current crop of engineers, there seems to be a stigma against > even trying Eclipse or IntelliJ. I kind of feel like junior engineers are > missing out on discovering some much more powerful tooling and forming their > own opinions.

For me it's the _text_ editing features that these IDEs lack. I'm definitely giving up advanced language integration, but I _(and many)_ make the choice to do this for more powerful and/or preferred text capabilities.

Vim, Emacs, Kakoune being my main examples. Not just a "vim mode" \- I've never used one of those that was even remotely useful for me, heh.

<comment><USER9> What are some text-editing features that you find IntelliJ lacking?

<comment><USER8> It's more about the style of editing. Ie, right now I massively prefer Kakoune style editing. I choose that over Vim, despite Vim having much wider support.

When compared to Vim, it's not about one specific "feature" that vim lacks, it's Vim, it has just about everything - it's about my editing UX, and vastly preferring how Kakoune does it.

Now would I choose IntelliJ if it could perfectly replicate how Kakoune does editing? Without a doubt I'd choose IntelliJ. Yet I massively doubt that's even possible.

Fwiw, I've been dying to use a GUI editor, but I cannot give up first class implementation of my text editing methodology of choice, be it vim, Kakoune, etc. It's not about "is it possible to do X", it's possible to do nearly everything in Notepad.

</comment></comment></comment></comment><comment><USER10> > "I have one file called index.js"

Say it all really. Online coding tools may be fine for beginners, but think it would be next to impossible to do my work with one.

<comment><USER11> What if all the features of an IDE existed for online coding tools? I actually maintain a list of these tools[0] and several of them are very close to the native experience.

In particular, CodeSandbox has come a long way by basically running VS Code in the browser.

[0]: [https://github.com/styfle/awesome-online- ide](https://github.com/styfle/awesome-online-ide)

<comment><USER12> They still would not be nearly as fast. When I'm working with projects consisting of hundreds of files measuring hundreds of lines each, I need an IDE that's capable of using the full performance of my workstation

<comment><USER13> A counter-argument to this is that all files you need are stored in 'the cloud' and performing searches/indexing/refactoring would happen _faster_ than on your workstation because it can take advantage of a lot more 'cloud' resources.

<comment><USER6> My work computer is 8 cores, 32gb and a GPU; why do you imagine that a hosted instance somewhere running the web server is going to do a better or faster job than my local computer? Hell, even my laptop is going to do a better job than a cloud server.

<comment><USER13> Not 'a hosted instance' or 'a cloud server', but many. An arbitrary amount. Personal anecdote: Local full builds for me take 28-30 minutes. When I farm it out to our infrastructure in AWS it takes 9 minutes.

</comment></comment></comment></comment></comment></comment><comment><USER14> I don't know if this counts as the same thing, but I've recently started a Rails-based project on Google Cloud, using the cloud shell and its built-in editor. This is great because I don't have to futz around with a Vagrant environment or (worse) a straight Rails dev environment on my Mac, and I can do full-strength software development from the little Chromebook I like to carry around.

A Chromebook plus a 100% cloud-based dev environment is a great way to work without having to radically rethink How Software Works.

<comment><USER15> Just to be clear, what you carry around and enjoy using so much is essentially a wireless terminal to a mainframe.

<comment><USER16> It is ironic how we rejoiced with the freedom from the mainframe just for the current generation to go happily back to it.

<comment><USER17> Especially since absolutely nothing has changed from then to now

<comment><USER16> My hardware and OSes of choice state otherwise.

</comment></comment></comment></comment></comment><comment><USER18> I see no argument here made about hosted services like Repl.it that doesn't also apply to a simple ol' terminal emulator, or other forms of development environments. I feel like the real topic here is that there are effective developer environments on the web which can be accessed regardless of walled garden app stores.

I'm trepidatious however, since I'm not a huge fan on relying on external services in general. "I can't code because the server's down" doesn't seem acceptable to me. There is a _very real_ problem with mobile development environments though, a solution I'd like to see start with the phone manufacturers.

</comment><comment><USER19> I've never heard of repl.it, but the concept reminds me of a project that uses a Javascript REPL/IDE to try to make embedded development more approachable called 'Espruino':

[https://www.espruino.com/ide/](https://www.espruino.com/ide/)

It's nice for learning, because you can get the immediate feedback of a terminal with physical hardware. It is extremely limiting in that you can only have one file open in the IDE though, so it is unfortunately difficult to justify for anything other than teaching or toy projects.

</comment><comment><USER20> I think the basic idea is sound. If all you're after is learning to program and running little toy programs, then web based REPLs are a great choice.

My primary development environment is vim combined with CLI commands (and some wrapping with vim plugins to simplify the workflow). However, when I want to play around with something in Go to figure out how it works I will often go to The Go Playground ([https://play.golang.org/](https://play.golang.org/)) and play around there.

However, as soon as I'm done (and maybe shared my findings with a peer, which I can't do as easily with my local vim + CLI environment) I'm back to my regular development environment because very little that I work on is trivial enough to stay in Go Playground.

All that said, I've seen plenty of developers who seem to get by sticking to the basic feature level of Notepad. Whatever works for you.

</comment><comment><USER21> It sounds like users are trying to get back to working with a system image.

I have trouble labeling it "post-IDE". Depending on whether you consider Smalltalk/Lisp machines to be "IDEs", it's either "original IDE", or "pre- IDE".

<comment><AUTHOR> I think the Lisp community invented tools that, had they been successful, would've altered the course of history with regards to devtools. I wrote an essay on this: [https://amasad.me/disintegrated](https://amasad.me/disintegrated)

</comment></comment><comment><USER22> I've read the comments here, and perhaps due to my job not being purely software development, I have a different impression of Repl.It. I'm much more of an infrastructure guy than a developer, (DevOps? So overused) and I'm not overly ashamed to admit I learned to code with Powershell, mostly via their integrated scripting environment. Trying to make the switch from ISE to pure Python was extremely difficult for me, because I was so deep into the REPL style, and I just wasn't prepared to have things obfuscated and invisible. I wanted to re-run specific lines of code, and determine variable values on the fly, so I could adjust if needed.

Eventually, I learned Ruby (and abused Pry for a long time) "correctly" and I"m re-learning Python the proper way now (and abusing pdb), mostly with VS Code, but there are some very large gaps that are easily filled with a good REPL, so I find myself popping over to Repl.it to test out some snippet that isn't doing what I expect. Perhaps there is an IDE setup that would do what I want while enabling me to be more productive, but learning a (usually lightly documented) tool, full of various assumptions, while trying to learn the actual language, AND get useful work done, is not an ideal combination.

</comment><comment><USER23> amasad, I enjoyed the perspective of your article. I agree an engineer with many years of experience is going to have different expectations to someone who is entering the profession today. I think it's similar to my perspective on the iPad – I find it interesting but limited because my experience and mental model of computing is very different to someone who is growing up with an iPad in hand.

I work on the Web IDE at GitLab (among other things) which we built after we noticed that there were a few situations in our day to day work on GitLab where we didn't need a full local development environment, like updating documentation or addressing simple review comments. It doesn't replace a local IDE from me yet, but it is helpful and we hope we can make it more useful in more situations where local IDEs have shortcomings. I think the effort and maintenance of a local development environment is also a cost that is frequently overlooked – reinstalling dependencies is a headache that disappears in an automated ephemeral environment like repl.it or where we're heading at GitLab.

But that seems like it's just an iteration on the status quo rather than leap frogging to a post-IDE world. I think the idea of online interactive development can go so much further. Maybe we can integrate interactive editors/terminals/previews with our planning and code review tools so that experimentation and exploration are easier and happen in line in the discussions we have planning the next feature to build. I put a few dot points down on this line of thinking last week [https://gitlab.com/groups/gitlab- org/-/epics/533](https://gitlab.com/groups/gitlab-org/-/epics/533) but I'd be interested to hear some of your more concrete ideas of what a post-IDE world might look like.

<comment><AUTHOR> > But that seems like it's just an iteration on the status quo rather than > leap frogging to a post-IDE world.

I think the fact that you'd have a globally accessible, pay-as-you-go, zero- setup, multiplayer programming tools is surely a different beast from the IDE. However, it does go further than this and most of the innovation to this end aren't coming from us but from our users and how they (an)use the system. I can try to predict what the post-IDE world looks like, but it's better to discover it.

</comment></comment><comment><USER24> In theory, this makes sense. But I'll be cautiously optimistic about this. We've had this sort of "app is always running and changes are seen live" technology with Visual Basic since a long, long time ago. But that mode of development is hardly the norm across the wide spectrum of developers.

</comment><comment><USER25> Next time, please disclose the fact that you are the founder of the product you are promoting.

</comment><comment><USER26> So I know you wanted to frame this as IDE vs. REPL, but most IDEs have REPL built in (I think every Python IDE can open Jupyter notebooks no problem), and the additional features just depend on context. Like, scientific computing with Python, R or Matlab? You'll probably profit a lot from using RStudio, Spyder or, well, Matlab. Huge projects with lots of data and many files... why go through the pain of a html-based file management system if you can have as many text-editors and IDEs installed as you like... I mean, the choice you frame just isn't really a relevant question.

Instead, this is clearly a marketing article for your own product. You specifically ask the question in your article, why would anyone install an IDE locally, instead of using your product.

The answer seems very obvious to me: Only very few people can actually use an online interface, such as your product, in actual production.

For me, for example, it would be a non-starter. Not only do I work with sensitive data that I can't just upload to somewhere else, I am also often on the road and simply do not have guaranteed internet. So I'll need a local IDE anyway. Another reason is that the actual computing infrastructure is located, and protected, in a local network. So I couldn't even run my code directly. How much computing power do you actually provide? What if I actually generate large output files? Where do they go? Like, do you just send me gigabyte sized files over the tubes constantly? Do I have to download thousands of files from that terrible web-interface? How do you deal with changes in massive datasets? How do you deal with those data that need to stay local?

The whole article is just weird. The use-case for local IDEs is pretty clear, and I think the people who actually have to use some local solution is, and will be, larger than those who just casually write their code in your datasets. Most people would literally get fired for using your product as you suggest.

In fact I think the major use-case for your product is education and learning, specifically where you code in several languages. Like, you quote some kid asking why one would like to learn an IDE if repl.it is so cool and good. Well, that kid is obviously learning and not leapfrogging anything. Sooner or later, he/she will be coding in a company on a larger project and then all of the above applies.

I also like the irony of repl.it stating its support for Open Source, while apparently not being OpenSource itself.

</comment><comment><USER27> the 60s/70s had already better tools for dial-in on mainframes.

</comment><comment><USER28> How is repl.it different from a bunch of other web IDEs that came and went without leaving a mark?

<comment><USER29> This doesn't necessarily translate to production-level programming, but I used to teach computer science to middle and high school students. I originally used Cloud9, and had to walk students through the process of setting up a Github account, going through and setting up a proper dev environment, ensuring that their file space was showing and walk them through the run server commands. Very heavy stuff and ate into valuable time every class.

With repl.it, it was simply a matter of typing out a bitly link and hitting enter and everything was set up and ready to go.

</comment></comment><comment><USER30> TL;DR:

Repl.it member (amasad, see note) wants to promote Repl.it by saying that more people are using Repl.it and thus it is the modern stuff because modern is having "no IDE, just a modern repl" and etc. So "modern, 2018" is basically having what Lisp developers have had since the early '80s.

* [https://repl.it/site/about](https://repl.it/site/about)

<comment><USER31> > what Lisp developers have had since the early '80s

We absolutely did not have a globally, network-accessible terminal with pay- as-you-go computer time.

I have no experience or interest in repl.it, but I think you're understating things somewhat.

<comment><USER32> The article seems to be saying that the advantages of repl.it are the advantages of a REPL-based development platform, not remote access:

> With programmers growing up today being used to instant and interactive > programming like Repl.it, Jupyter Notebooks, serverless compute, and others, > it doesn't seem so outlandish to imagine a post-IDE world.</comment></comment></comment>


The Birdy helps you track your spending (my new weekend project) - <AUTHOR> http://thebirdy.com

<comment><USER2> Surprised that I cannot change the currency from $. Or am I missing some setting?

<comment><AUTHOR> Sorry about that. Enter in the currency you want, and that's what will display. I'm working on a way to edit your purchases now.</comment></comment>


'My job application was withdrawn by someone pretending to be me' - <AUTHOR> https://www.bbc.co.uk/news/business-48995846 <comment><USER2> "When Mr Fearn completed his written assessment, he said he had to save the Word document under his full name to a particular file. In that file, he could see the names and assessments of other candidates."

Hey you got your motive right there. Why would they even allow to see the names of the other candidates?</comment>


Show HN: Piste.io - <AUTHOR> http://www.piste.io/chamonix <comment><USER2> Excellent website and very easy to use.

1.) Why no US ski resorts? Google maps covers most of the big ski resorts here. I was hoping to see them in piste.io as well. 2.) Why does it require iOS 9.0? Any plan to support iOS 8.3.

<comment><AUTHOR> Thanks!

There are US resorts, eg [http://www.piste.io/northstar](http://www.piste.io/northstar).

If you type in USA into the search field they'll show up

On iOS, this was due to needing an 9.0 API, we hope to expand it as soon as we can.

</comment></comment><comment><USER3> Just had a look at my local resort Whistler and you kinda need to update it, the run difficulties are graded differently. We go green > blue > black > double black

<comment><AUTHOR> You're not the first person to point this out. Will get onto fixing it.

</comment></comment><comment><USER4> Would be great to have snow coverage by slope.</comment>


Bad code is the first step towards good code - <AUTHOR> https://medium.com/lets-make-things/dd9798e25874

<comment><USER3> Yeah, shipping something real is important, so long as you refactor long-term. Technical debt piles up. A car payment is manageable; a car payment, medical bills, and an upside-down mortgage can cripple you.

So it is with software.

<comment><USER4> Wisdom from comp.lang.perl.misc from the mid '90s, that's served me well my whole career: "_Always_ throw away the first version."

It provides two major benefits: 1) it lets you give yourself permission to take unwise shortcuts and h=just hack it together til it works, because 2) you've agreed with yourself it's going to get a ground up rewrite, which you'll approach with a much better understanding of the problem (and the solution and the customers and...)

<comment><USER5> Yes, but throw it away piece by piece. Often, tossing the whole thing and rewriting from scratch is a bad idea.

<comment><USER6> Depends... because if your very first version, which is usually a prototype or a demo, made it to production, I think you might have missed the point.

<comment><USER4> Ahhh yes - we all start out with the best of intentions, but I still somehow occasionally end up with what _I_ thought was prototype/demo code out there in production.

(I'm much more careful these days about either writing properly secured "demo code", or at least hard-coding non-routable ip addresses into it - <USER2> comments pointing out the lack of security right where someone would need to be looking to change those hard-coded addresses…)

</comment></comment></comment></comment></comment><comment><USER7> all very true, the one exception being API design. once it's published and used, it can quickly become a nightmare of legacy code that haunts you well beyond its expiration date...even if versioned. often this _does_ , in fact, translate to needing proper rest routes from the get-go, etc. (which can just be mod-rewritten of course), but releasing a prototype API can be quite scary especially if your service turns out to be extremely popular and is plagued by its own too-early success.

api iteration is something most of my projects go through as i use my own systems and refactor the internals to reduce the almost inevitable initial complexity as it begins to piss me off.

to a degree, i suppose the adage still holds true, but moreso as "bad api design on product A leads to better api design on product B (or v2)"

<comment><USER8> This is why using your API two or three ways before publishing it is so important. There's a quote that goes something like, "If you build a plugin system with one plugin, that's all it'll ever support. But if you build it with three, it'll support them all."

But then, this is really just doing what the author advocates, privately, within your team, before releasing the API.

<comment><USER9> It's amazing how many people consider dogfooding, before going public, to be a waste of time. Not only do you discover a whole bunch of bugs and difficult uses you didn't anticipate, it ends up being stronger when the public or partners are eventually let loose on it.

The internet is rife with v1 APIs that don't have version designators and are deprecated in favor of a version two that was released to "clean things up" but which never really supplanted the version one.

</comment></comment></comment><comment><USER10> Said another way: you need to practice. This is just how you get good at things.

Same with code. Just go out and build something. Iterating upon the idea is what's important and you code can get better as you go.

</comment><comment><USER11> Having multiple modes of work is critical in the field. It's an unfortunate reality that the theoretical complexity of programming projects is limitless. Unfortunately that means you simply can not have sufficient resources to do things correctly. This is where the balance of not just approaches, but also development methodologies comes in to play.

Whenever I'm working on my personal project I do things that many modern developers would balk at. I'll design and redesign components left and right, I'll leave components in a half completed state, and I'll write the bare minimum of tests to ensure the system works. This is the risk that comes from approaching programming as an art-form. However, as any other artist, I will not go out there to show off my project until it's done, so I don't have to worry too much about pissing people off with my erratic style and questionable intermediate decisions.

On the other hand programming as a profession must be wholly different. If I am getting money for code the expectation is that people want to see whatever they're paying money for. In this case I don't have the opportunity to screw around and try to match the perfect set of ideas to the problem set. Instead I will give myself two or three iterations to do what I've been paid to do, and then I'll clean it up so it satisfies the technical requirements.

Fortunately the latter style of programming tends to lend itself a lot better to TDD, agile, responsiveness and all those other terms we love to throw around until our clients give us that blank stare. At the very least projects you get paid for should have some sort of spec, so you'll be able to say for certain whether you have or have not done what's expected of you.

<comment><USER12> _Whenever I'm working on my personal project I do things that many modern developers would balk at. ... On the other hand programming as a profession must be wholly different._

Even when working professionally, different approaches fit projects of different scales. Processes and tools that keep you sane and productive if you've got multiple small teams to co-ordinate over a multi-year project could be absurdly over-managed and inefficient for a couple of developers at adjacent desks who are spending a month writing a bit of in-house automation software.

(Insert obligatory citation of _The Mythical Man Month_ here. It's about more than just why adding people can make late projects later.)

</comment></comment><comment><USER13> Reminds me of a quote from right here on HN that I took to heart a few years ago about how to write good code

1\. Make it work

2\. make it right

3\. make it fast

<comment><USER14> I generally aim for

      1. Make it right.
      2. Make it work.
      3. Make it fast.

Once code works, it's all too easy to move on and leave it the way it is. It also usually takes significantly more time to take code that works but is god- awful and clean it up than to take code that is well-factored and make it work correctly. The former usually involves rewriting large fractions of the code (frequently breaking it somehow in the process), while the latter usually just requires minor tweaks after automated testing.

"Make it right, then make it work" seems to me to take about twenty percent more effort than just "Make it work", but half the effort of "Make it work, then make it right." And _dramatically_ less effort as the time between "making it work" and "making it right" grows.

</comment></comment><comment><USER15> The other half of it is learning to engage more with other people's code and get inside their head.

The stereotype of the young coder, when given no oversight, is to skim over something, declare it crap, and start rewriting without even trying to maintain the original. Sometimes that is the correct move, but since they haven't engaged with long-term maintenance before, they can't tell the difference.

<comment><USER16> _"It is easier to write an incorrect program than understand a correct one."_ Alan Perlis, Epigram 7.

</comment></comment><comment><USER17> Sometimes I look at an old code and I say "Man, this is awful".

Then I realize that I wrote it.

<comment><USER18> I look at a lot of my old code and think that, as I should. You should be learning from every piece of code you write so that when you're done writing it's already obsolete based on your new set of knowledge.

<comment><USER19> I look at this from the other angle. I don't think we're getting much better. I think we rarely reduce the amount of bad code we write without outside critique. New code looks like better code because it is more similar to your current style and preferences, and nearer to you in memory than that old code was.

To really analyze whether your code is good or not you must do what you did with that self-identified bad code: step away for months, forget everything about it, and re-visit it to modify it in some way. Or get someone else to do it for you now and tell you why it sucks.

Code written "in the zone" is more likely to be bad, because when you're "in the zone" even bad code makes sense to you.

<comment><USER20> True. I always feel happy that I am writing good code until I leave it untouched for a month and get back to it to realize what a mess I made. The best way I have found to tackle this is to put comments everywhere, even at places that seem to be too obvious.

</comment></comment></comment></comment><comment><USER21> I've been programming for a number of years, I still follow this mindset. I'll write out a function and then later realize I need to use a subset of it somewhere else, so I refactor it out to its own function. Or I'll realize I've now extended the same class twice, so I create a better abstraction. It's much easier to create well designed code when you actually see a need for something in the source and do it, instead of starting first with some fancy design pattern you saw someone else use on another project. I mostly focus on getting the small, granular stuff right the first time and keep an eye out for any larger problems being created in the code.

</comment><comment><USER22> What a great point! This can happen to even us "seasoned" developer types. I remember learning how to write TDD after years of writing code without it. I was paralysed by trying to make all of the right decisions. Should I write a test here? Am I going to have the right coverage? Is my test to broad, not broad enough? Did I write my code correctly. I would always forget that refactoring, especially consistent, incremental refactoring, is actually the best way to go. We learn best by doing, by making mistakes, and by incrementally bettering our skills and our code. A lot of developers would be so much better if we would only remember that.

</comment><comment><USER23> I have different modes of working, and switch between them depending on the context.

When I wish to learn something new, I choose a new technology stack. I read a lot about it, and try my best to code in an idiomatic and clean style for that tech. I might have a couple of iterations right from the start, where I just want to get something to work, and then change it to be clean.

Then there is the kata-mode, where I do something that is familiar to me, but just try to do it better than before. Just to improve my existing skill set when I don't have the energy to do something new.

Then there is the project mode where I got to get paid. This is where the shortcuts are made. When I have time, I will code a version that works with some planning; and I'm talking at micro level, macro level planning has been done already. Then I commit it. And then I refactor it, if I'm happy, I will amend the previous commit. But when the pressure gets higher and there is just no time, the second step is dropped. This is where the technical debt starts accumulating, but at least it works and the project progresses. The first moment I get more time, I try to do some refactoring, but at this point, there never is time or reason to fix all those TODO's and broken windows.

It's a balancing act for me; and at work I have seen both extremities of this balance. And those who are the most experienced, can switch between different modes depending on the deadline; and I see that as one of the most important skills to have in our craft.

</comment><comment><USER24> This is something I relate to a lot. I've been paralyzed many times by being unsure if I'm coding the Best way. In the last 5 or so years I write some awful code but every piece of terrible code taught me how to write good code. The bad code worked, it did what it was supposed to do but it ended up causing complexity and making it hard to add on to down the line and that is what helped me learn to things right.

It has nothing to do with bad code not working. I think its when bad code works that you learn. You should have seen my pet project when it was started in 2011 (which I'll shamelessly plug, <https://writeapp.me>). It was a series of scripts all string together. Then it was rewritten using a framework when the first version couldn't be extended. From there the models, views, and controllers have been refactored many times over each time making the app more extensible, less buggy, and from a code perspective, more "right".

It's a one step backward, two steps forward kind of situation. Each time you hit a wall you go back and not only fix one problem but move forward helping yourself avoid other common pitfalls.

<comment><USER25> And it's really bad when you look at a project after a 1 month break and have no idea what's going on. If I know I'm writing bad code, I leave a fun treasure map of comments. Jibberish to others, but takes me back to why I would write a function like that.

</comment></comment><comment><USER26> Of course, this is also true for experienced programmers. I especially like the combination of bad code with tests.

        1. Write ugly tests
        2. Write bad code
        3. Refactor the bad code to make it good
        4. Refactor the ugly tests to make them pretty
        5. Goto 1

</comment><comment><USER27> Aka, worse is better.

<http://www.dreamsongs.com/RiseOfWorseIsBetter.html>

<http://www.dreamsongs.com/WorseIsBetter.html>

</comment><comment><USER28> Great post Nathan. Definitely something I am going through right now. I keep asking people "Is this the right style?" when really my bigger problem is getting it to work :)

</comment><comment><USER29> Bad code is also the first step toward more bad code, and even worse code. Understanding the f'ing problem is the real first step toward good code.

<comment><USER30> But how often does one actually fully understand the problem on the first try? Doesn't one sometimes take the wrong approach one or more times before and learn some things the hard way before he truly understands the actual problem he is trying to solve?

</comment></comment><comment><USER31> Great post. I agree that technical debt only applies to those who understand its significance. When learning, the feedback loop needs to be tighter. Experienced programmers are disciplined enough to determine the appropriate balance.

</comment><comment><USER32> Another good article towards the same sentiment - <http://prog21.dadgum.com/87.html>

</comment><comment><USER33> This is why I love hackathons. Let's encourage people to ship. We can worry about quality once we have got people actually started writing code!

</comment><comment><USER34> This is still true for experienced developers. Iterative development. Write crap first, then turn it into something beautiful later.

</comment><comment><USER35> Definitely a good read for anyone experiencing coder's block! Just stop worrying dig right in!

</comment><comment><USER7> by the time my code hits github it's been rewritten at least twice...

</comment><comment><USER36> It's like the author realized he didn't have much to say, so he just upped the font size.

It's not a novel observation that people improve as they go on. Strange that the community considers this to be a front page article.

<comment><USER37> The point isn't that people improve as you go. The point is that if you're like this author (and many people, including myself at times) are, then when you start working on something, you obsess over the exact, perfect, super- over-engineered version of a something; and you'll rehash that inconsequential something while many prior versions would have been just fine.

Instead, when you've gotten to X ability level, go ahead and make something at X ability level, don't let learning about a new, better way of doing that something stop you from doing it.

There was a saying that I'm going to butcher here from PHP: "While many people obsess over the little details that don't matter and quibble over language wars, the person that knows PHP just gets things done."

This article is in that similar vein where it's more important to ship than to quibble about the things that don't matter that much.

<comment><USER38> _Instead, when you've gotten to X ability level, go ahead and make something at X ability level, don't let learning about a new, better way of doing that something stop you from doing it._

There is a time that this is good advice, and a time that it is bad advice. It is good when it helps you get over analysis paralysis. It is bad when it helps people justify their turning the opportunity to gain 15 years of experience into having gained one year of experience, 15 times.

 _There was a saying that I'm going to butcher here from PHP: "While many people obsess over the little details that don't matter and quibble over language wars, the person that knows PHP just gets things done."_

Being snarky, PHP stands as an example of where you should take a step back, and learn better ways to do it.

<comment><USER37> _It is good when it helps you get over analysis paralysis. It is bad when it helps people justify their turning the opportunity to gain 15 years of experience into having gained one year of experience, 15 times._

Absolutely. I agree 100%. It should definitely be a case-by-case basis.

</comment></comment></comment></comment><comment><USER39> This is actually a good argument against code review nazis.

<comment><USER37> As long as you refactor, or are allowed to refactor, later.

And so on</comment></comment>


Ever been to a green sand beach? The newest geohack to fight climate change - <AUTHOR> https://www.fastcompany.com/90510254/ever-been-to-a-green-sand-beach-the-newest-geohack-to-fight-climate-change <comment><USER2> FFS, how much CO2 does the energy expenditure of mining, milling and transporting the olivine generate?

Just plant more trees!</comment>