Ask HN: Has Apple become an "evil company"? - <AUTHOR>

I think in the past 4 years or so Apple has dramatically changed, for me it is no longer the cute cuddly company of the early 2000s and esp since the iPhone launch Apple seem to be indulging in monopolistic and anti-competitive practices similar to Microsoft in early 90's/early 2000s. This latest stunt of gouging developers is the last straw for me. It seems to be part of Apple's march to become the new Microsoft in "evilness" <comment><USER2> This isn't a change. They've been doing everything they can to reduce tinkerers to consumers ever since the first Mac (with no retail boards, no expansion slots, and a dealer-only case opening tool). Now they assert a degree of control that not even Microsoft at their most ruthless would have dared. It astonishes me that developers were so blasé about this threat (at least the ones whose businesses weren't blown up by capricious last-minute rejections) until they actually saw a price tag on it.

</comment><comment><USER3> Apple was never cute, nor cuddly, just your perception of it. I started in technology at the Berkeley Mac Users Group in the mid-80's while in my early teens. I was around when Microsoft was clearly the dominant leader in business and Apple, while highly valued was an graphic artist and midi gadget company and a non-serious contender in business environments. Wait, they still, mostly are!

Apple is now significantly larger in revenue than Microsoft; something I never thought would happen. Could they be 'evil' for taking the formula they started with and being true to their core? They have never wavered from their brand, or their goals. It's amazing really and should serve as a principle to anyone doubting their model or method of doing business.

Apple has always protected its IP, maintained strict controls of development and access, as prodigal_erik says below so succinctly. You bought Apple; or you bought the other guy. Nothing has changed, just the volume of business and the numbers who have adopted the various products.

</comment><comment><USER4> > monopolistic and anti-competitive practices

Any examples of these? Honestly, I can think none. Wanting their cut from stuff sold in their app store for their platform is absolutely fair, IMO.

Apple doesn't even have a monopoly, like MS ha[sd] in desktop OS market. Apple don't do falsifying anti-Linux/FOSS campaigns, lobby standard committee for substandard standards, ship substandard software (IE, Outlook) with their OS, or stop innovating for years when their bundled crap software becomes default choices because of their OS monopoly, etc.

Want to run your [non-3D/non-high FPS] software on iOS without Apple's permission, paying $100 for developer licence or learning Objective-C? Make it a web app with simple HMTL/CSS/JS (see the demos at <http://jqtouch.com>). You can have native feeling, run it fullscreen, have a homescreen icon etc. All of these friendly supported by Apple.

<comment><USER5> > _Any examples of these? I can think none. Wanting their cut from stuff sold > in their app store for their platform is absolutely fair, IMO._

I haven't been following this too closely yet, but my understanding is that if your app has any kind of content subscription component, regardless of whether you are using itunes billing, you need to make it available in itunes and give Apple their cut. Correct me if my understanding is flawed.

I don't have a problem with Apple taking 30% for distribution, but if they say you can't even release an app unless your content goes through their distribution channel, that's just a huge kick in the nuts for a scrappy content-based company like mine. Honestly, we don't give a shit about Apple's monopoly position, we want to build a great app on the best platform, but Apple is basically saying that they don't want us on their platform unless we also let them do our content distribution, something which directly takes away our core business. If Apple insists on this, then they're basically driving us into the arms of Android, regardless of how inferior it is because 30% is a non-starter.

</comment></comment><comment><USER6> How warm and cuddly Apple was in the early 1990's is certainly open to interpretation - I saw them sell a Title I Junior High a computer lab full of Apple IIGS's in 1991. The difference today is that developers are finally realizing that Apple doesn't think they're cool because they love the iPad - they're just a resource for providing labor on a pay when paid basis.

</comment><comment><USER7> I don't think they've become anything. Their actions are consistent with what they've always done. It's more apparent today because their policies affect many more people. My startup launched a campaign on <http://www.mylastiphone.com> to protest their greedy practices.

</comment><comment><USER8> Yes</comment>


Where start-ups go to get a leg up - <AUTHOR> http://www.mercurynews.com/breakingnews/ci_8427181

<comment><USER2> >Y Combinator - the name comes from calculus

Well, _a_ calculus, not _the_ calculus.

</comment><comment><USER3> Has anyone seen whether the print version includes photos?

<comment><AUTHOR> You got a picture in there :)</comment></comment>


Should Your Company Be Profitable? - <AUTHOR> http://avc.com/2017/06/should-your-company-be-profitable/ <comment><AUTHOR> Related:

The Calm Company (our next book)

[https://m.signalvnoise.com/the-calm-company-our-next- book-d0...](https://m.signalvnoise.com/the-calm-company-our-next- book-d0ed917cc457)</comment>


Strategies to quickly become productive in an unfamiliar codebase - <AUTHOR> http://devblog.nestoria.com/post/96541221378/7-strategies-to-quickly-become-productive-in-an <comment><USER2> I'm surprised I didn't see something similar to what I do: the deep-dive.

I start with a relatively high level interface point, such as an important function in a public API. Such functions and methods tend to accomplish easily understandable things. And by "important" I mean something that is fundamental to what the system accomplishes.

Then you dive.

Your goal is to have a decent understanding of how this fundamental thing is accomplished. You start at the public facing function, then find the actual implementation of that function, and start reading code. If things make sense, you keep going. If you can't make sense of it, then you will probably need to start diving into related APIs and - most importantly - data structures.

This process will tend to have a point where you have dozens of files open, which have non-trivial relationships with each other, and they are a variety of interfaces and data structures. That's okay. You're just trying to get a feel for all of it; you're not necessarily going for total, complete understanding.

What you're going for is that _Aha!_ moment where you can feel confident in saying, "Oh, _that 's_ how it's done." This will tend to happen once you find those fundamental data structures, and have finally pieced together some understanding of how they all fit together. Once you've had the _Aha!_ moment, you can start to trace the results back out, to make sure that is how the thing is accomplished, or what is returned. I do this with all large codebases I encounter that I want to understand. It's quite fun to do this with the Linux source code.

My philosophy is that "It's all just code", which means that with enough patience, it's all understandable. Sometimes a good strategy is to just start diving into it.

<comment><USER3> Your strategy is similar to mine, except that I only focus on the types.

Which types are required to define the function, both as parameters and through any global/inherited scope/other state? Which types are directly related, eg, containers to string, containers themselves, indexing, etc?

By the time you have some sense of what things go where in the program, and what they turn in to, you usually have significantly narrowed down what the program can be doing.

Note: This works considerably better with some languages than others, but can work reasonably well on weakly typed things like Python.

<comment><USER2> You inevitably spend much of your time understanding the types and the concepts they represent, but I find using a specific, high-level function to drive the understanding helpful. One, it provides a "theme" for the deep-dive, and two, the logic of that functions gives you particular paths through those types to focus on.

</comment></comment></comment><comment><USER4> Am I the only one reading this thinking "as written by someone who seldom dives into foreign code bases".

After a few months you'll be familiar with it?

Wow, I'm lucky to get 8 hours on a new code base before I have to ship a bugfix. Months?? O_o luxury. Sip your pina colada as you write your immediately out dated documentation. Great advice.

No, that code base was probably written by several people _some_ of whom knew what they were doing, some of whom were just 'getting the job done' and some of whom were idiots.

Probably, the only useful suggestion in that list is code reviews. Hack a fix in, get someone who seems clued up to review and suggest a better way.

Look for logging, thats the first thing I do; you're probably not the first person to be given this code to work with, and if you're lucky the last folk(s) made some debugging tools. If not, be a pro and leave some good ones behind when you go.

...not documentation.

<comment><USER5> Wow, I'm lucky to get 8 hours on a new code base before I have to ship a bugfix. << spotted your problem. If you're constantly working in completely unfamiliar code with at best an 8 hour lead time to get a fix in, you're being setup for failure. Yeah, sometimes you have to just get a fix fast, but spending your whole life coding like that is going to burn you out. I only have my own anecdotal evidence to go by, but I'm inclined to think your experience is not the only way.

<comment><USER6> Most teams I have worked with deliberatly introduced new members to their code base by:

A) Making sure they can compile it, and showing them where the various locations for documentation are.

B) Giving them simple bugs to work on while they get familiar with the codebase. 8 hours is more than enough time for a competent developer to fix many simple bugs.

You also have situations where the nature of the problem dictates that you fairly often need to make changes in unfamiliar code-bases. For example, at my previous job I was developing an Android fork. Android has a fair amount of its own code, but also includes a large number of external projects. It was a fairly common occurrence where I would have to fix a bug in one of those projects that I have never seen before (and will likely never see again).

</comment></comment></comment><comment><USER7> From my experience, the "be humble" strategy is by far the most important one. Many developers tend to dislike whatever piece of code that was not written by them before even looking into the actual code or they get discouraged because they have a hard time learning how it works. For whoever is in this situation, be humble... pretend your way of writing software is not the only way and see if you can learn something. You may get surprised.

</comment><comment><USER8> I once had to get my head around over 120k lines of complex, concurrent, buggy spaghetti Java code (for a real-time trading system).

My first attempt was to reverse engineer the code into a UML diagram. For some reason I keep making this mistake. A messy code base will result in an extremely messy diagram. It can give a few insights, but between finding a tool which will work and trying to make sense of a tangled mess of lines, visual diagrams usually aren't worth the time.

I found that a tool called Chronon was somewhat useful (google "DVR for Java"). This tools just records a single run of a program. It is great for going forwards AND BACKWARDS and you step through the code, take a look at different threads, state of various objects, etc.

My strategy was to run the server and have it execute a small and simple bit of functionality (execute a single order). Follow it all the way from input to output. Make the scenario a bit more complex and follow that through to completion. This way you get to understand the core functionality, edge case code and start to get a sense of performance enhancements, etc.

I found myself making steady progress and fixing a number of bugs, until I hit heisenbugs, caused by overly clever concurrency/object pooling. It is enough to drain your soul :)

</comment><comment><USER9> Another strategy that I've often used is to just fix a few bugs that seem to be in the vicinity of the area you want to familiarize with. Heck, I even do this on my own codebases that I haven't touched in a while.

I find it helps focus the mind, provides a clear definition of success and forces you to think about a specific area of the code without requiring too much context.

</comment><comment><USER10> I've done this a lot in my career. My strategy is simple: start by finding a trivial bug, and fix it. Then find a slightly less trivial bug. Do this four or five times. Don't ask anybody about anything unless I'm really lost, just chase the thread and let the bugs lead me through the active code paths.

After doing a few of these I've got a fair understanding of the structure of the code and can figure out where to go next.

</comment><comment><USER11> I find it helps to focus on a 'successful' path through the code, starting with an important entry-point and ignoring error conditions and validation. Once I've covered a fair chunk of what the software does, I can go back and delve into the parts I didn't understand.

I'm also wary of comments as I find they can often have 'drifted' in old code and become misleading. I make detailed notes of things that look dodgy or could be improved separate from the code.

I'd add that if the project has poor-to-no build scripts that require a lot of manual steps it's worth at least bandaging it up with a shell script early on.

I recently worked on a project that had many separate modules with independent build scripts, requiring copy-and-pasting built artifacts that others depended on, and several manual configuration tweaks post-packaging. That stuff is very tedious and sucks your energy. It's not generally a priority to rewrite all the build scripts, but if you're editing several modules it's worth being able to do a one-shot build from early on.

</comment><comment><USER12> I think that the two most important strategies are to actually pair with someone and ask questions after doing some research.

Being able to do some pair programming helped me to understand a new code base, in a language I never used before bits by bits. I could ask questions and actually helped on the issue. Asking questions is important, but as stated on the post, you should try to find to answer by yourself first. I'll actually time myself for 10 minutes, and if I can't find an answer, I'll just poke the most prominent person based on a git blame of the file that is related to my question.

This is my second week working on a Ruby codebase, without any prior experience with Ruby, or Rails (I've mostly been doing Python with Django and Pyramid for the past 3 years). I managed to get quickly up to speed this way.

</comment><comment><USER13> What types of tests—or testing software—could be run on a WordPress site? For example, after we update a plugin on a WordPress site we manually check that the site hasn't changed in appearance. What software – or methodology – would you recommend for automating this game of spot-the-difference?

The nearest I've found (but not tried) are:

Screenster: [http://www.creamtec.com/products/screenster/index.html](http://www.creamtec.com/products/screenster/index.html)

Wraith: [https://github.com/BBC-News/wraith](https://github.com/BBC- News/wraith)

<comment><USER14> There's also Huxley: [https://github.com/facebook/huxley](https://github.com/facebook/huxley)

</comment></comment><comment><USER15> There's a good episode of Software Engineering Radio on this topic, as well:

Episode 148: Software Archaeology with Dave Thomas [http://www.se- radio.net/2009/11/episode-148-software-archaeo...](http://www.se- radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/)

</comment><comment><USER16> I recently started a new job with a new language and did a few of these steps. The only one that has really helped me learn this codebase is "make something".

Making unit tests can be great if you already understand the language (and the IDE), but when you're new to xcode, dont expect a unit test to make any more sense than the code.

Pairing can be a great tool, if you are pairing with the right person. You can't always find the right programmer (with the time or care) to sit down and work with you like that.

I was certainly humbled by this process, whether by choice or not, and asked my share of dumb questions, but I don't think you can really understand a codebase until you work on it

</comment><comment><USER17> Working Effectively with Legacy Code, by Michael Feathers, is still my go-to reference, even though it's now ten years old. [https://cmdev.com/isbn/0131177052](https://cmdev.com/isbn/0131177052)

</comment><comment><USER18> Nice 10kf overview, but more hand on tips:

1\. Run the program, look at stacktraces/profiler. Sometimes it's easier to analyze runtime and figure out what the program is doing and what are the main/common patterns.

E.g. Java - jstack, C++ - gdb, gprof

2\. Use some static tools to get call/caller graph and be able to browse program quickly. Jump between definitions, see what's used, what's not.

E.g. C++ - docgen, Java - most modern IDE will do just fine

<comment><USER19> Tools like gdb and docgen are useful for smaller open source projects, but I think they quickly loose effectiveness on a large code base. For example I think the original post's high level view would work great when starting a new job as well as when diving into an open source project.

That said one step down the chain from stack traces and profiler output might be to look at log files, or run the code in verbose/debug/trace mode if it exists.

</comment></comment><comment><USER20> How can you write tests if you're familiar with what the code is supposed to do?

<comment><USER21> The tests are one way to express your understanding of the code. If the tests you have written fail, then you can focus and improve your understanding in that part of the code. And if they pass, you can be reasonably assured of your understanding.

</comment></comment><comment><USER22> For my current employer I landed on the job during their regression test sprint.

Just running through the tests and communicating a lot with testers and developers helped me understand how the app (ought to) behave.

</comment><comment><USER23> "Ask questions", I found that if you ask too many questions, management starts to get annoyed and actively avoids you and or has attitude in their response.

</comment><comment><USER24> Somewhat adjacent to the conversation, but Bowery - [http://bowery.io/](http://bowery.io/) \- is building a toolset for getting a full dev environment in a few seconds.

Saw them on the "Made in NY" Product Hunt collection yesterday. Has anyone played with Bowery?

</comment><comment><USER25> Can't over emphasise the importance of a good IDE for this kind of thing, even if you're a hardened vim or emacs zealot. A tool like IntelliJ IDEA makes navigating new/large codebases a million times easier.

<comment><USER26> With Vim and Emacs you can get this if you have a plugin that autogenerates a ctags/etags file. Then (in Vim) just <C-]> to an identifiers definition and <C-o> back.

<comment><USER25> for many languages ctags doesn't come close unfortunately, for code exploration a good IDE is essential. Even if you don't use it for actual editing.

</comment></comment></comment><comment><USER27> This is very useful, and I think I will post or link to something like that on my own open source project's page.

<comment><USER28> You should also try to make sure your project has tests, is clean, commented, and easy to read. :)</comment></comment>


Mish: Australian Lenders Learn Nothing from US Housing Bust - <AUTHOR> http://globaleconomicanalysis.blogspot.com/2010/09/australian-lenders-learn-nothing-from.html <comment><AUTHOR> The March of the Dumbasses</comment>


A C/C++ Programming riddle - <AUTHOR> http://praseedp.blogspot.com/2010/10/cc-programming-riddle.html <comment><USER2> This doesn't have anything in particular to do with C/C++. It's how IEEE floating point works. Anything that provides access to an IEEE 754-compliant FPU will display this artifact. The author is confused and thinks this is some feature of C, betraying his lack of knowledge.</comment>


Sharing Is Caring: Open Source at Groupon - <AUTHOR> https://engineering.groupon.com/2014/open-source/sharing-is-caring-open-source-at-groupon/

<comment><USER2> Help the GNOME Foundation defend the GNOME trademark against Groupon

[https://gnome.org/groupon/](https://gnome.org/groupon/)</comment>


Statistical Data Mining Tutorials - <AUTHOR> http://www.autonlab.org/tutorials/ <comment><USER2> Great resource, thanks for sharing! It is yet another reminder that I should have paid better attention in statistics classes!

</comment><comment><USER3> <http://news.ycombinator.com/item?id=960909>

Great tip though. I'm taking a lot of statistics right now and my interests are certainly in this area.</comment>


Introducing the Google Translate app for iPhone - <AUTHOR> http://googlemobile.blogspot.com/2011/02/introducing-google-translate-app-for.html

<comment><AUTHOR> Great app but I actually had trouble downloading it... I went to the app store and searched for "google translate" and it came up with a bunch of apps that were not the right one. App store searching sucks</comment>


Net  Score - <AUTHOR> https://nes.gosquared.com/ <comment><AUTHOR> sadly HN does not support emoji and my title is ruined.</comment>


PuzzleScript - <AUTHOR> http://www.puzzlescript.net/editor.html?hack=7c68f433e31a7cafbcce

<comment><USER2> The PuzzleScript gallery is very much worth a look: [http://puzzlescriptgallery.tumblr.com/](http://puzzlescriptgallery.tumblr.com/)

Alan Hazelden's page is especially good: [http://www.draknek.org/games/puzzlescript/](http://www.draknek.org/games/puzzlescript/)

<comment><USER3> I also recommend Alan Hazelden's Mirror Isles: [http://www.draknek.org/games/puzzlescript/mirrors.php](http://www.draknek.org/games/puzzlescript/mirrors.php)

</comment></comment><comment><USER4> Let me take this opportunity to recommend the best PuzzleScript game: Heroes of Sokoban.

[http://www.puzzlescript.net/play.html?p=6860122](http://www.puzzlescript.net/play.html?p=6860122)

(Full disclosure: made by a friend of mine.)

<comment><USER5> Seconded wholeheartedly, from a non-friend.

</comment></comment><comment><USER6> So... how do I get past the second gem?

<comment><USER7> Three gems of the same kind in a straight line will destroy each other.

</comment></comment><comment><USER8> Reminds me of Paganitzu ([http://en.wikipedia.org/wiki/Paganitzu](http://en.wikipedia.org/wiki/Paganitzu))

</comment><comment><USER9> Wow I've been obsessing over Call of the Jewels for an hour now! Always awesome when a game without insane graphics can do that.

</comment><comment><USER10> Neat little game.

I played some Sokoban back in the day. This game reminded me of that :)

</comment><comment><USER11> Wow that's kind of cool. :)</comment>


Paul Graham's blog may harm your computer - <AUTHOR> http://www.techpovera.com/blog/2007/06/paul-grahams-blog-considered-harmful-by.html <comment><USER2> Mystery explained: <http://news.ycombinator.com/comments?id=23980>

<comment><USER3> Oh, I thought the warning was because of this: <http://www.raydeck.com/2006/10/paul-graham-is-hurting-the-children/></comment></comment>


History of Creation of First 3D Digital Film (1970) - <AUTHOR> http://www.openculture.com/2011/09/first_3d_digital_film.html

<comment><USER2> They even made movements of the fingers. One step before inverse kinematics.</comment>


Ending the Stranglehold of Health Care Costs on American Families - <AUTHOR> https://elizabethwarren.com/plans/paying-for-m4a/?source=soc-WB-ew-tw-rollout-20191101 <comment><USER2> The plan suffers from the same problem as the student loan plan: reducing the cost to zero for the majority of consumers.

Rather than reduce co-pays to zero, patients should share in the cost at some level capped at some number. Similarly, the student loan forgiveness she proposes should have a sort of co-pay. Instead of paying off the first $50,000 of student loans, it should pay all student loans above some level, perhaps $5,000. By having patients and students share in the cost of their treatment and education, they are incentivized to make wise choices. By taking care of the costs beyond some point, patients and students are protected from catastrophic outcomes resulting from systemic failures.

<comment><USER3> I think visibility into costs is not any sort of driving control for healthcare (nor education loans). They are already features of our existing system and do nothing to control costs vs having the appropriate government regulation - in the case of healtcare of drug and service prices like other nations, or of providing basic low-cost public university options again like most modern nations besides the US does.

</comment></comment><comment><USER3> I thought this was an interesting discussion of some of the tradeoffs in the financing of the plan.

[https://www.peoplespolicyproject.org/2019/11/01/warrens- perp...](https://www.peoplespolicyproject.org/2019/11/01/warrens-perpetual- medicare-head-tax-is-unworkable-and-bad/)

</comment><comment><AUTHOR> Regardless of what you think of this plan its absolutely stunning in terms of the wholesale changes to the way Americans receive healthcare and are taxed.</comment>


Microsoft, HP try to avoid Intel's "netbook" moniker - <AUTHOR> http://www.thestandard.com/news/2009/01/30/netbook-any-other-name-probably-same-low-powered-portable

<comment><USER2> Doubt it will standardize on the "mininotebook" name. It's long, not catchy, and "netbook" is already pretty entrenched.

What Intel and Microsoft want to do is to give it a different appellation so that what they are attempting to sell doesn't languish in the sub-$200 price range where they make no money on them -- especially Microsoft, which will no longer be able to charge egregious licensing fees.</comment>


Documenting the Web together - <AUTHOR> https://blogs.windows.com/msedgedev/2017/10/18/documenting-web-together-mdn-web-docs <comment><USER3> I really miss the old MSDN Library. The 5GB installable one you'd get as one of the 200 DVDs in that giant case they'd ship you with your MSDN subscription back in the day.

It was awesome. You could hit F1 and it would instantly pop up good, detailed, documentation for whatever method or keyword was under your cursor. In any of their developer products, so it worked as well in SQL Server Management Studio as in VS.NET. Every language, every technology, updated monthly via Automatic Updates on your dev box.

But they stopped shipping it in favor of "web help". That's the thing where you hit F1 and it spends several seconds opening a web browser (a custom one in a new tab in the IDE for some reason), then several more seconds opening a "meet the mouse" style page telling you how to use the code editor window (which it had helpfully detected was your context when asking for help).

So in one stroke, they switched from the worlds most awesome help system at your fingertips to "just go open Chrome and type your search into Google, since that will at least get you something relevant".

Today, they've improved that workflow by trying to ensure that something relevant exists on MDN, provided you're searching for web-related stuff.

We're still about 10 years back from the state-of-the-art in 2003.

Shame.

<comment><USER4> VS2017 opens the correct documentation most of the time, and in the default web browser.

For C++, cppreference provides archives of all their docs: [http://en.cppreference.com/w/Cppreference:Archives](http://en.cppreference.com/w/Cppreference:Archives).

Of course, that won't help you for Win32 or .NET.

There's also [https://zealdocs.org/](https://zealdocs.org/)

<comment><USER5> There's also [https://github.com/jeaye/stdman](https://github.com/jeaye/stdman) which provides the pages from cppreference as manpages, and [https://github.com/aitjcize/cppman](https://github.com/aitjcize/cppman) (which I haven't used, but seems to look a bit nicer)

</comment></comment></comment><comment><USER6> Don't forget you can use [https://devdocs.io/](https://devdocs.io/) too which also searches MDN and store offline. The two are a great pair.

<comment><USER7> There is also mdn.io which can be used as shortcut in every browser like this (for a search for 'await'): [http://mdn.io/await](http://mdn.io/await)

<comment><USER6> It seems neat on the surface but it also seem to involve _two_ redirects, first one to google.com (which is not obvious and personally not something I would like), and then to MDN. It would be cool if it linked directly to the page on MDN or showed the content directly within the page.

And the second time I clicked I was met with this message, not mdn.io's fault but nonetheless (i.e. "google police" \- not sure what they mean with "unusual activity", there is hardly any at the moment - maybe not enough? :) or maybe I just got a busy vpn exit point): [https://imgur.com/itn48dZ](https://imgur.com/itn48dZ)

<comment><USER8> Yup, that site seems to be basically redirector to Google redirector [1].

You can get the very same effect like DuckDuckGo keyword search but with "just the last redirect" with vanilla browser bookmark [2] with `%s` interpolation:

        https://www.google.com/search?btnI&q=%s%20site%3Adeveloper.mozilla.org

[1] [https://github.com/lazd/mdn.io](https://github.com/lazd/mdn.io) [2] [https://www-archive.mozilla.org/docs/end-user/keywords.html](https://www- archive.mozilla.org/docs/end-user/keywords.html) \- old page about feature in Firefox (currently the same works in Google Chrome as well). Amusing that the this `btnI` search is in the second example there.

</comment></comment></comment></comment><comment><USER9> Guess they are going to band together to dethrone W3Schools :-) (only half kidding, that web site has has some serious staying power.)

Related, when I was active in standards work (I learned just how badly that stuff was run) I discovered that new people in a standards group that was being formed would be lobbying to be the group Chairperson or Vice Chair. But the people who had been in standards bodies before were all vying to be the Editor. That was because the group could argue all they wanted but at the end of the day what was in the standard was what was in the _document_ and only one person had absolute sway over that, the Editor.

So when I see all these leading lights, who just got through a rancorous debate about DRM with the standards body, endorse a new way to capture the "actual" standard, I see a seasoned standards wonk offering to do all the slavish work of editing the documents so that everyone else can focus on the hard work of coming up with the best possible standard.

<comment><USER10> W3School is very good to quickly look something up - short and always with a simple example.

MDN is very good for details and in general as reference.

<comment><USER11> Short and always with a terrible example. I would never trust W3Schools with the simplest stuff. Take this form documentation, they don't even mention using <label>

[https://www.w3schools.com/html/html_forms.asp](https://www.w3schools.com/html/html_forms.asp)

Sadly, "html forms" brings up 3+ W3Schools pages of at the top.

<comment><USER12> +1

W3schools is contributing to poor education amongst junior web developers.

</comment></comment></comment></comment><comment><USER13> We were speaking about this at the W3C's Advisory Board meeting in London earlier this week.

It distresses me that the specs on w3.org are so hard to read for the average developer. It's great to see how MDN focuses on simplicity, readability, and usable examples.

<comment><USER14> Specs are not meant to be read by average developer. Average developer should read books. Specs are meant to clarify moot points between different implementations. Spec is like legal document, they are hard to read, but they serve their purpose.

<comment><USER15> I think that's a very narrow view and it's far from universally true. While a lot of W3C specs are impenetrable there are many counter examples at the IETF which might not be introductory level but are certainly easier for a developer familiar with the topic to follow.

I think this is actually fairly important for two reasons. The first is simply that unreadable specs are just as bug prone as unreadable code, but the second is that this increases the distance between the web as specced and the [much much much] larger developer community, and things like <img srcset> / <picture> show the benefit of having less of a communications chasm between those groups.

That doesn't mean that specs can't be precise but simply that good technical writing can accommodate a wide audience.

<comment><USER16> I think it also largely depends on what the spec describes. XML for example is rather abstract and can be hard to follow, but SVG is quite easy to read and in my opinion much better than any 3rd-party explanation (primarily because it's complete and error-free).

</comment></comment></comment></comment><comment><USER17> Mozilla Blog post: [https://blog.mozilla.org/blog/2017/10/18/mozilla-brings- micr...](https://blog.mozilla.org/blog/2017/10/18/mozilla-brings-microsoft- google-w3c-samsung-together-create-cross-browser-documentation-mdn/)

<comment><USER18> Interesting that there is no Apple representation.

<comment><USER19> Apple never hosted web-related docs, so they probably don't care.

<comment><USER20> Sorry, that is not true. Apple documents all of its platforms quite thoroughly, and Safari is one of them. Theirs is simply not an analogue to MDN.

[https://developer.apple.com/library/content/documentation/Ap...](https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariCSSRef/Introduction.html#//apple_ref/doc/uid/TP40002050)

"Apple doesn't attempt to document general-purpose Web technologies without an eye on its own platforms" might be a more accurate statement, but even that is shaky because they spent a lot of time explaining HTML5 media while killing Flash.

<comment><USER19> Ah. Missed that. Yup. It would be nice to see Apple's support behind MDN as well.

</comment></comment></comment></comment></comment><comment><USER21> So, can maybe Google finally push the w3schools out of their SERP? :)

</comment><comment><USER22> This is a great start. Now let's integrate caniuse into every single MDN page.

<comment><USER23> MDN already has compatibility tables for lots of things; if they're missing from a particular article, it's not because they're unsupported, it's because nobody has done the research and filled in the information (it's a wiki! You can add things!).

<comment><USER24> MDN didn't do a good job of advertising itself as a wiki. It wasn't until recently that you could login with a GitHub account.

When you google "can i use flexbox", caniuse.com comes up but MDN does not.

The other thing missing from MDN, is that caniuse.com shows browser support as a percentage. Now I know I'm safe to use flexbox since its supported by 97.74% of browsers in the wild.

When a new feature comes out, I add it to both MDN and caniuse. It would be great if these two could be integrated as well.

<comment><USER25> I don't like that caniuse by default shows only several recent browser versions, deceiving developers and making it look like some new technology is supported everywhere. It is clearly a "dark" UI pattern that motivates developers to make sites viewable only on latest Macbook.

Instead, it should show the year since which some feature is supported.

For example, for flexbox it could write:

IE - <USER2>

Edge - since 2015

Firefox - since Mar 2014

Safari - since Oct 2013

Opera - since Nov 2012

etc.

This gives a better picture.

<comment><USER24> I actually like how it currently works because it doesn't matter if Chrome 32 didn't support feature X because no one is using it. The boxes are sized by their current usage and aligned based on the stable version.

It's a perfect chart to show your boss when someone complains about Firefox 4 not working. Clearly that person missed a few updates :)

That being said, I would like a year on each column for the occurrences when time/year is relevant. Currently I just Show All.

</comment></comment></comment></comment></comment><comment><USER26> Déjà vu. Previously ( _checks email_ …almost exactly 5 years ago?! Christ, it was a long time ago), the web powers that be announced they were going to collaborate on a new web docs wiki.[0] I don't think it went anywhere because, well, MDN already existed.

I'm glad they finally just surrendered to MDN, even if it was many years late.

[0] [https://www.w3.org/2012/10/webplatform.html.en](https://www.w3.org/2012/10/webplatform.html.en)

<comment><USER10> "One of our guiding principles in developing Microsoft Edge is that end users should never have to worry about which sites work in which browsers. This philosophy—"the Web should just work for everyone"—led to our choice to target the "interoperable intersection" of web APIs in our browser engineering."

Many sites already don't work correctly in Edge, IE11 nor Firefox - it's too late, these are minor browsers, used by a smaller fraction of end users. End users on on smartphones use 95% a WebKit originated based browser aka Chrome/Safari. Chrome and Safari are bigger than the rest on desktop.

Sites in 2017 are tested against Chrome and Safari by web developers.

[http://gs.statcounter.com/browser-market- share/desktop/world...](http://gs.statcounter.com/browser-market- share/desktop/worldwide)

[http://gs.statcounter.com/browser-market- share/mobile/worldw...](http://gs.statcounter.com/browser-market- share/mobile/worldwide)

<comment><USER27> Minor is very relative here, especially with regards to Firefox. IMO anyone who only tests against Chrome and Safari is seriously wrong. The amount of features not supported by Firefox or Edge are relatively small and so basically everything except for a few special cases should just work everywhere.

</comment></comment></comment><comment><USER28> A few years ago most of these companies got together to do the same thing and launch the WebPlatform for the same thing. If you watch the video, you can see some guy named Tim Berners-Lee with a title "Web Developer" say it was the place to learn.

I wonder why they are relaunching instead of using Webplatform.Org ?

<comment><USER29> Can't beat them, join them. Developers simply go to MDN and MDN often is on top of the search results anyway. It often gets linked from stackoverflow too.

</comment></comment><comment><USER30> Totally OT, but "Today, we're excited to " is as an opening statement, through its ubiquity and seeming robotic mindlessness, is starting to distract from the actual topics. Maybe just me. Still. Just sayin.

<comment><USER31> What else can you even write instead though

<comment><USER32> In this case, there could be literally nothing instead.

> (Today, we're excited to share some big news for developers around the world > wide web: )We're committing our resources towards making MDN Web Docs the > best place to go for web API reference.

<comment><USER31> There needs to be an intro or it sounds very weird.

<comment><USER33> Agreed. Keep the word "Today".

</comment></comment></comment></comment></comment><comment><USER34> Microsoft you are doing all the right thing to win the hearts of developers! Great! Thanks for all wise decisions

</comment><comment><USER35> This news sounds great to me, but I feel like I don't understand what's happening behind the curtain and don't grasp the second-order consequences. What would motivate them? I wonder what the political motives are (industry politics, not the other kind that we won't mention here).

Could this eventually displace standards bodies such as WHATWG and W3C? If the Product Advisory Board of Mozilla, Google, and Samsung agree on a standard and publish it at MDN, will that become as official, at least de facto, as a standard published by W3C? I do see W3C is mentioned as a participant.

Also, for the sake of argument (and IMHO, of realism) let's assume that Google, who can virtually set web standards themselves these days, isn't doing this for a purely altruistic motive of supporting the open web. Why would they give up the 'soft power' of writing their own documentation for their own standards?

<comment><USER36> In general I like that Google and others are doing this. The web is so complicated, so overwhelming, that a central source of documentation is needed. This "blog posts as documentation" culture is not healthy.

However I think we should all be skeptical of any actions corporations take today until proven otherwise. When 60,000 Americans are dying of opiods per year (that's all the deaths in Vietnam per year) and drug companies will reject calls to regulate them and pay off members of Congress, some constant skepticism is called for (who could of believed they would do that??) [https://www.washingtonpost.com/graphics/2017/investigations/...](https://www.washingtonpost.com/graphics/2017/investigations/dea- drug-industry-congress/)

<comment><USER37> > (who could of believed they would do that??)

I didn't even realize I was being cynical when I was unsurprised by this news. I don't really understand why everyone else is. (That isn't to say it isn't important news, but the shock that everyone seems to be in is confusing).

</comment></comment></comment><comment><USER38> My favorite line was this:

 _One of our guiding principles in developing Microsoft Edge is that end users should never have to worry about which sites work in which browsers. This philosophy—"the Web should just work for everyone"—led to our choice to target the "interoperable intersection" of web APIs in our browser engineering._

It wasn't favorite because I agree with it. It was favorite for the humor value of Microsoft accepting a principle that flies so strongly in the face of how the company established itself, managed its battles with competitors, and tried to sabotage existing web standards for most of my professional life.

I'm glad they are finally claiming to be on board. I'll trust them as far as I can throw them. (Guess how far I can throw 120k people...)

<comment><USER39> People change, and so do its companies (or at least, their management).

Looking from a non-Windows-user perspective, in the last couple of years: VSCode is now a thing, .NET is open sourced, they've started financially supporting organization that I like (like OSI and the Linux foundation), Powershell is now available on my platform, and, if I ever decide to switch back to Microsoft's technologies (highly unlikely), I have Windows Subsystem for Linux and I'll be able to run Linux servers on Azure.

As a non-Windows user, I'm totally happy with this new Microsoft.

</comment></comment><comment><USER40> MDN is an AMAZING resource, and I'm glad that it's getting the attention it deserves (both from Mozilla and the rest of the internet). Really hope this effort lasts over time as the effort put into MDN by volunteers, besides Mozilla employees, is tremendous!

Hope MDN becomes the go-to Wiki for the web (It practically is for me already)

Kudos to the team! :)

</comment><comment><USER41> Awesome! Great to see that Mozilla gets the approval, respect and support from such big players.

Looks like there is hope for a free and open Web! Well done Mozilla!

</comment><comment><USER42> _> One of our guiding principles in developing Microsoft Edge is that end users should never have to worry about which sites work in which browsers. This philosophy—"the Web should just work for everyone"—led to our choice to target the "interoperable intersection" of web APIs in our browser engineering._

That's a good move by MS. In this context it's great to see them supporting open codecs, and for istance OGG container for audio which was recently announced as work in progress in Edge. Quite a turnaround from the old times of "best viewed with IE", ActiveX, Silverlight and etc.

Why can't MS apply same principle across all their teams? Compare the above to their push for 3D graphics API lock-in.

<comment><USER43> Because video-games is still the one place where Mac and Linux are lagging behind, and they have DirectX to thank a lot for that.

<comment><USER44> In case of Linux, you forgot availability of drivers, cohesive user experience, stability and ergonomy rather than programmer designed interfaces.

<comment><USER43> I guess I should have said "Mac or Linux", but I'll answer your points because they tick me off.

First some context : I'm both a Windows, Mac and Linux user, and my favorite is probably Mac. But I've converted a fair share of my family to Linux (my grandma too) because it's more predictable than Windows, and cheaper than MacOS (I'm basically my family's IT hotline). Most of what I'll talk here is a mix of my own experience, and feedback from my family members.

Let's talk about drivers. Turns out, drivers are available for most of the hardware you'll need (which is basically GPU, WiFi, Bluetooth and Webcam). Sure, this weird piece of equipment might not have linux drivers, but in truth I can't even remember the last time I've hit that problem. I don't think equipment compatibility is the reason people use Windows in 2017 anyway, given we're all using Android/Linux on our smartphones and tablets, so I'll move on.

Let's talk about cohesive UX. Windows, since 8 and 10, has the least cohesive UX ever. Running Gnome or KDE on Linux today will get you a more cohesive UX than win10, and that's no compliment. Half the Windows apps still use the old winforms look, half use the new metro (or whatever it is called) look, and then there's all the webapps that have their own custom look and feel. Cortana is a clusterfuck of an UX, the File Manager has this weird "It's a filesystem but not really" mentality (the location bar doesn't show the full hierarchy, WHY ?), and there are so many papercuts here and there that I end up _fighting_ my OS half the time.

Let's talk about stability. Windows forces reboots every few days because it has "mandatory updates". Windows basically built this feature where they _force_ the computer to _reboot_ and the user has _absolutely no say_ in the matter. This is not the stability guarantee I'm looking for. Another anecdata : one of the few family members to still have a windows has a Microsoft Surface Pro. She has to reboot it every few days because it won't detect the Wifi card anymore. Microsoft can't even make their own OS stable on their own hardware.

Windows might have been good at all of this at one point, but that's not the case anymore. It's become terrible at all of it. So bad that Linux slowly creeped its way into my family, and that made my life much easier.

<comment><USER45> Windows is better and more efficient than it ever was, thanks to many improvements since Windows 8.

[https://np.reddit.com/r/Windows10/comments/74xc2z/windows_an...](https://np.reddit.com/r/Windows10/comments/74xc2z/windows_and_efficiency/)

Most default Windows apps are UWP with Fluent Design now, and more are migrating towards that since they have major advantages that you won't find on Mac and most Linux distros

[https://np.reddit.com/r/Windows10/comments/75lgti/announcing...](https://np.reddit.com/r/Windows10/comments/75lgti/announcing_uwp_support_for_net_standard_20/do7ifkr/)

Also, your other points mostly contain misinformation.

<comment><USER43> I never claimed windows hasn't been getting better in other departments. And I'll agree that a default Windows install is probably more battery efficient than a default Linux install. But that wasn't the point.

To respond to your point specifically, I said the UX in windows 8/10 is terrible. I hope it gets better, but right now, strictly speaking, win7 was the last time windows had a _cohesive_ UX.

And please tell where the misinformation is. Mandatory updates were a thing[0] (seems they fixed that, good). The wifi card problem on surface pros is documented[1]. The explorer _does_ break the hierarchy analogy consistently, you can see by yourself that the location bar doesn't show the full hierarchy when you access "Libraries" (whatever those are).

When you claim misinformation, please say what is. It might allow me, or you, or someone else in this thread, to learn something !

[0]: [https://www.cnet.com/news/microsoft-windows-10-forced- update...](https://www.cnet.com/news/microsoft-windows-10-forced-updates-auto- restarts-are-the-worst/)

[1]: [https://www.windowscentral.com/microsoft-acknowledges- surfac...](https://www.windowscentral.com/microsoft-acknowledges-surface- pro-3-disappearing-wi-fi-and-slow-connection-complaints)

</comment></comment></comment></comment></comment></comment><comment><USER46> The is great indeed. I hope w3schools.com won't appear in Google search result. BTW, It feels like OP omitted to mention to MS in the title though.

<comment><USER47> I barely webdev, but when I do, I've found w3schools pretty helpful. What's wrong with it?

<comment><USER48> Historically, w3schools had a lot of outdated (or outright wrong content):

[http://www.w3fools.com/](http://www.w3fools.com/)

</comment></comment></comment><comment><USER49> This is great news. I learnt JavaScript from MDN first and it was a great resource. Still use it almost everyday as a reference, would love to see it grow.

</comment><comment><USER50> I can only hope MDN does to w3schools what Stack Overflow did to experts- exchange.

</comment><comment><USER51> What would be the best way to download MDN for offline use? A quick search shows: [https://developer.mozilla.org/media/developer.mozilla.org.ta...](https://developer.mozilla.org/media/developer.mozilla.org.tar.gz) [https://kapeli.com/mdn_offline](https://kapeli.com/mdn_offline) [https://zealdocs.org/](https://zealdocs.org/) Any experience with the above?

<comment><USER52> Definitely [https://devdocs.io](https://devdocs.io)

</comment></comment><comment><USER53> Hopefully that will push the ranking up for MDN articles.

</comment><comment><USER54> I wonder how much influence over MDN content these new contributors will have. On the one hand, it looks like a victory for Mozilla and developers everywhere; on the other hand, it looks like this will amplify Google's voice on the direction of web standards and help grow Chrome's market share at the cost of Firefox's.

</comment><comment><USER55> I'm so happy to see this! MDN has always been my go-to resource for any JS/CSS help

</comment><comment><USER56> Already was the place to go.

</comment><comment><USER57> Somehow I had more luck with stackoverflow and others when looking for a quick hint/example.

<comment><USER58> Yes, for hints like "how do I", but for JS ref like "methods on a Set" I use it all the time. Problem with SO is that often the anwsers are quite old (<=ES5).

</comment></comment><comment><USER59> Why Samsung?

<comment><USER17> Probably a case of having engulfed the industry so much that just throwing money into the industry will actually pay out for them in the long run.

And it's probably also just nice to be able to bite Google and Microsoft in the butt here. Those do benefit from a healthy web and both very much need the PR of supporting webstandards, but they could also both benefit a lot more from controlling a platform like MDN and then sneaking in pseudo standards here and there. So, Samsung helping out with MDN makes it even harder for one of those to build up their own version.

Lastly, Samsung does ship their Samsung Internet Browser on all of their Galaxy devices, which has got to be a somewhat significant share of daily internet users. Currently, that's Chromium-based, but they could be looking to eventually follow Google and Microsoft in making up webstandards.

They've also already invested into Mozilla's Servo, so maybe they're also just trying to build up a partnership with Mozilla to help to take on those giants.

<comment><USER24> From what I've heard, Samsung Internet Browser is trying to lead the way with WebVR (Virtual Reality).

[https://webvr.rocks/samsung_internet](https://webvr.rocks/samsung_internet)

</comment></comment></comment><comment><USER60> Together, except for Apple that does not care.

</comment><comment><USER61> Are they still pushing Edge?

</comment><comment><USER62> > redirecting

Cool!

</comment><comment><USER63> This is great news, but the title misses out on the fact that Microsoft (the blog poster, nonetheless) is part of the "others" joining. Revising for clarity would be good.

<comment><USER64> Yeah. And the link is actually to a blog post from Microsoft stating they started redirecting MSDN pages to corresponding MDN ones.

</comment></comment><comment><USER65> Given that the blog is on windows.com and it mentions MSDN, I think the title should include Microsoft as well. I was actually confused/befuddled seeing the juxtaposition of Google and Mozilla in the title, and windows.com as the domain in brackets to the right of the title.

<comment><USER66> We've reverted the title to the article's original which, since it is neither misleading nor baity, is what the guidelines call for ([https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)).

The submitted title was "Mozilla, Google, others team up to make MDN Docs the place to go for web API ref" which is actually an uptick in misleadingness, as you and others pointed out. Submitters: please don't do that.

</comment></comment><comment><USER67> Great, while they are at it can Google please downgrade the extremely spammy w3schools or at least allow me to remove certain websites from my searches. There are so many better resources out there...

<comment><USER68> I've never understood the hate for w3schools. I've always found them to be extremely useful. I like that usage examples is the focus of their site. I find that more useful than wordy documentations that more advanced references provide.

<comment><USER69> [http://www.w3fools.com/](http://www.w3fools.com/) top of the page summarizes the situation:

> When W3Fools was launched in 2011, the state of documentation for developers > was poor. This site documented many content errors and issues with the > W3Schools website. The Mozilla Developer Network was around but it did not > have much support at the time.

> Today, W3Schools has largely resolved these issues and addressed the > majority of the undersigned developers' concerns. For many beginners, > W3Schools has structured tutorials and playgrounds that offer a decent > learning experience. Do keep in mind: a more complete education will > certainly include MDN and other reputable resources.

MDN would greatly benefit from more soft documentation and a playground setup similar to W3Schools

<comment> 52-6F-62 I'm still waiting for the true spiritual revival of HTML Goodies [https://web.archive.org/web/19980130110903/http://htmlgoodie...](https://web.archive.org/web/19980130110903/http://htmlgoodies.com:80/)

Or not. MDN usually suits me fine.

Actually, I find TutorialsPoint [https://www.tutorialspoint.com/](https://www.tutorialspoint.com/) generally pretty good, if not lacking in some depth. They give a decent soft intro, though.

</comment></comment></comment></comment><comment><USER70> For the people who have and will comment on how bad w3schools is, Google provides a Chrome extension for blocking domains in search results.

[https://googleblog.blogspot.com/2011/02/new-chrome- extension...](https://googleblog.blogspot.com/2011/02/new-chrome-extension- block-sites-from.html)

I don't know if there's a Firefox version.

<comment><USER71> Can Google see your own personal list of blocked sites?

Post seems to indicate just that: "One of the signals we're exploring is explicit feedback from users."

<comment><USER70> They started with it built into search. This was probably a compromise solution to some competing internal concerns.

</comment></comment></comment><comment><USER72> For me, as an experienced front-end-focussed developer, MDN has been my go-to website for quick spec references. MDN has all I need to know, and I know my way around. However, I've been in teams where the less-experienced developers went to W3C Schools to see how they should implement some feature. And to be honest, I cannot completely blame them. W3C Schools shows directly what you need to know and how the API you are discovering works. This is mainly because of the playground with possible implementations on top of every specification page. I hope MDN can make their site more appealing for less experience developers without cutting in on the feature-completeness.

For those interested: Behold, the W3C Schools hider extension. [https://github.com/Spetnik/W3Schools- Hider](https://github.com/Spetnik/W3Schools-Hider)

<comment><USER73> Your comment excellently demonstrates the problem with them: W3Schools is not related to the W3C in any way. Many beginners see the "W3" and think it's an official resource. This is bad.

<comment><USER72> I never implied that W3C Schools is related to W3C. But I do agree with you: that's bad. But for me that's a public secret. I don't think that's the main reason why I dislike W3C schools, though. My problem with W3C Schools is that they are not the right away to learn web development in a proper way: [https://www.impressivewebs.com/w3schools-ugly-bad- good/](https://www.impressivewebs.com/w3schools-ugly-bad-good/). MDN holds a far greater standard on a whole lot of aspects: following exact W3C specs, being up to date, design, just to name a few obvious ones.

<comment><USER74> Parent thought you believe W3Schools is related to W3C because you keep calling it "W3C Schools" (it's W3Schools).

<comment><USER72> aha... right :D

</comment></comment></comment></comment></comment><comment><USER75> Is there an extension to hide all the w3schools related comments in this thread?

<comment><USER66> We've marked the existing ones off-topic. That makes them rank lower on the page.

</comment></comment><comment><USER76> Good Bye w3schools.com ?

<comment><USER77> w3schools.com is a great resource.

I prefer it when I need a quick refresher on an HTML element because it's especially good for having short, simple examples I can copy and paste.

MDN tends to be verbose and technical. It's good when you need to know everything in detail, but often I need a quick refresher and a simple example and for that w3schools.com always seems to have better content.

Compare these two pages for input types:

[https://www.w3schools.com/html/html_form_input_types.asp](https://www.w3schools.com/html/html_form_input_types.asp)

[https://developer.mozilla.org/en- US/docs/Web/HTML/Element/in...](https://developer.mozilla.org/en- US/docs/Web/HTML/Element/input)

The MDN page is more complete, but reading it gives me a headache.

<comment><USER78> The whole point of documentation though is for it to be complete, technical and well explained. Not to have copy-pastable examples.

W3schools is neither good documentation or good examples though.

<comment><USER79> When I need to change a car's oil, I don't need a complete, detailed overview of the entire lubrication system. There is a place for all kinds of documentation, but exhaustive explanation is often less preferable to a quick "how do I do this."

</comment></comment></comment></comment><comment><USER80> Embrace...

<comment><USER81> This time around, it looks like that's where the phrase ends. Until the next CEO perhaps.

</comment></comment><comment><USER82> mdn.com is of course a 90s directory site for Muslims in Dearborn, Michigan. last updated by the looks of it in early 2016... maybe they'll relinquish the vanity domain?

<comment><USER83> What makes it a vanity domain?

Just imagine how much printed material has circulated since the 90s with the mdn.com address. Why do you want to break the web?

<comment><USER84> For JS developers, there is already a short-hand URL, mdn.io.

It's quite neat in its functionality, allowing for searches via url params, like so: mdn.io/promise

<comment><USER82> thanks for that. didn't realize that mdn.io existed.</comment></comment></comment></comment>


What I've learned in 5 years of running a SaaS - <AUTHOR> http://mir.aculo.us/2013/11/27/5-things-ive-learned-in-5-years-of-running-a-saas/ <comment><USER2> I absolutely agree on every item. Notes:

2.: Couldn't agree more. I tried it a few times, could never make it, because something came up. So I don't tell release dates. I hardly tell about new features. Nobody cares. Perfect.

5.: My PHP application without any fancy technology makes me close to 100K euro in revenue per year. It delivers, it keeps delivering, there are no problems.

I want to add one more thing:

6\. You hear critics' voices the loudest, if you don't do anything against it. I changed pricing once and about 50 people complained. I tried to justify myself (won't do this again) and the 50 people became a mob with the respective mentality. No chance to say anything. I might have lost another 50 users because of the discussion. In my mind, I completely forgot about the other few thousand people who did not complain.

Happy people hardly contact you, only the critics and haters. Don't let it sink in too deeply. Or use an easy mitigation strategy: If people reach a certain goal, ask them for feedback by writing a personal sounding email (that you send automatically, for sure). You'll get mostly positive feedback. This is important from a psychological point of view: You see that people are happy with your product and you can handle the critics in a better way.

Most emails I get are like:"There's nothing to improve, thank you so much for this product". Nice :)

<comment><USER3> Out of interest, what is your SaaS?

<comment><USER2> Sorry, won't tell. I decided to keep a low profile on HN :)

It's consumer-oriented, it costs 2 euro a month, it has several thousand users.

<comment><USER4> You should raise your prices.

Charge at least 5 euro a month, or 50 euro a year.

<comment><USER2> I heard that before and my sibling-poster is correct: You have no idea what my product is, so you can't say anything about the price. If my product were MP3s, 5 bucks per MP3 wouldn't work.

Anyways, your point is not totally invalid. I did a mistake when I changed from free to paid. I started with 99 Cent per month. The goal was to convert as many users as possible. This worked well. Only about 10-20% stopped using my service. However, it made future price increases harder.

Some people would pay more. For some people the service delivers a a lot of value and they'd probably pay 10 bucks a month. However, there are also quite a few people for whom 2 euro is the limit, especially since the long-term costs would explode for them.

And I can't experiment with pricing. The niche is too small to have this go unnoticed. I know, because I tried. Either I increase it globally for everybody or not. To be honest, maybe I didn't find the perfect pricing point yet, I don't know. But it's okay, because I can live quite comfortably.

<comment><USER5> Couldn't you make different levels of subscriptions? So find a new idea to improve you product, and have only those with Gold membership be able to use it. This way you don't make and enemies with the old subscription, but you can still convert more to the more expansive price tag.

<comment><USER2> I thought about that as well but I have a luxury problem:

There is not much to improve. In the space I'm operating in, the software, as it is, can be considered more or less complete. I mean, I can always add features, but the core mechanics, the way it works, the way it delivers value and the value people expect from the software is more or less complete. There's not much to add that improves the perceived value for people in such a way that they'd be willing to pay more for it.

But the fundamental idea is right: There must be some additional thing that's good for people, that people want. There's also related products, added benefit, whatnot. I won't do Gold membership, but I might be able to sell different things that complete the offering for some people.

Compare this to Microsoft Office. Word is for writing stuff. It's more or less feature-complete. Sure, you could add some stuff, but most people are happy with how it is in its basic edition. So Microsoft offers also Excel and PowerPoint. They are for very similar people, they complete the offering, but they're totally different. A "Word Gold" wouldn't make any sense.

One more thing: Whatever I add and whatever pricing change I introduce comes at a cost. Introducing tiered-pricing (3 wiggles for 2 euros, 7 wiggles for 4 euros etc.) for example has benefits, but it also increases complexity and decision making. I'd do this for my next project, but for the current business, I'm also a bit stuck in the current userbase with decisions I made in the past.

I might offer my service in English as well next year. That's going to be an opportunity to experiment a little bit and a way to grow the business.

<comment><USER6> An interesting tactic that I see repeated by successful bootstrapped internet businesses is to really dig into the pain of their current audience. You've got this group of thousands that have proven to pay for things on the internet. You are in a position of trust, since you provide them value already.

What are their other pain points?

That is the question I'd be studying them to answer.

<comment><USER2> Thanks for your advice. I probably didn't dig deep enough into the pain points. But I know what you mean. I gonna try something and go from pain points to product ideas. I mean, I talk to people and ask for feedback, but maybe I'm asking the wrong questions.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Number 5, "don't believe the hype," reminds me of this interview with the creator of Pinboard...

> _The Pinboard about page says: "There is absolutely nothing interesting > about the Pinboard architecture or implementation; I consider that a > feature!"_

> _Can you explain why you think that 's a feature?_

> I believe that relying on very basic and well-understood technologies at the > architectural level forces you to save all your cleverness and new ideas for > the actual app, where it can make a difference to users.

> I think many developers (myself included) are easily seduced by new > technology and are willing to burn a lot of time rigging it together just > for the joy of tinkering. So nowadays we see a lot of fairly uninteresting > web apps with very technically sweet implementations. In designing Pinboard, > I tried to steer clear of this temptation by picking very familiar, vanilla > tools wherever possible so I would have no excuse for architectural wank.

[http://readwrite.com/2011/02/10/pinboard-creator-maciej- cegl...](http://readwrite.com/2011/02/10/pinboard-creator-maciej-ceglow)

</comment><comment><USER8> I just upgraded my laptop from a 4 years old mbp to a brand new one, got a 27" second screen display, and i can tell you my productivity has been skyrocketing. Performance gains are obvious, but the psychological aspect is also a factor. After working for a year on the same project, new hardware can bring some new joy, and a new boost to your project.

<comment><USER9> 4 years is reasonable. But the OP just says 'upgrade often' which might mean anything and as such reminds me too much of iDiots [1], which is imo not what your upgrade strategy should be like (i.e. upgrading for the sake of upgrading).

Over the years I tried different upgrade schemes, and it seems 2 or 3 years works best for us. Over the course of that timespan there is an overall performance gain large enough to notice and worth money. If you go with less, say 1 year, the gain is much smaller, and you essentially pay for something that's the same but just looks newer. Also depending on the country you live in, there's a certain amount of time you can use hardware as an actual cost on your tax form. As such keeping it much longer than that time means loss, keeping it much shorter as well.

The psychological aspect (which we all know since childhood already and basically is set in our genese: new = interesting) does do something, of course, but has in my experience no long-term effect whatsoever apart from it costing money. Especially with short upgrade cycles the 'wow, new' effect gets less and the money effect more.

[1] [http://vimeo.com/79695097](http://vimeo.com/79695097)

<comment><USER10> Adding extra ram or a second monitor would be upgrading, you don't need to replace every component.

<comment><USER9> This is true - must admit I didn't consider it/forgot it as I'm not a big fan of saving on these from the start: when we buy new workstations, we immediately get them with plenty of ram (which is rather cheap anyway) and screenspace (which is productivity-wise way more important for me than raw computing power)

</comment></comment></comment></comment><comment><USER11> My homegrown saas application grosses ~$225k USD per year and growing. I started it in 2003 with $0 capital. I don't currently advertise, new business comes from seo and referrals. I am the sole developer/designer. (I use those titles loosely.)

What I have learned:

\- Try to think about/plan for ten years out \- Make your application easy/pleasant/fun to use for you _and_ your customers \- Limit third party dependencies at all junctures \- Log everything, it makes support and monitoring easy and fast \- Customers don't care what language/platform/db you use \- Have a support ticket system \- Have a coding convention/style and stick to it \- Life work balance is important, take vacations \- Run lots of backups \- Keep it simple and thank yourself later!

Of course YMMV. Hope that's helpful to someone starting out.

<comment><USER12> moneyrich4, who is hellbanned, has a good question for you:

 _i have a question for you. i have a software product, and its so informative it would almost assist someone who copies it. any advice on planning 10 years out for a software product with this problem? planning x years out is not my strong suit.

i've thought a bit about removing stuff that would help competitors but that would hurt my customers. i will probably do this though anyway._

</comment></comment><comment><USER13> > software that allows you to concentrate on developing your application's > features rather than configuring servers

If you are running a SaaS, how is system administration less important than coding?

Now if the author had written "software that allows you to be more productive on both fronts", fine. But the notion that operations is somehow less important than development is exactly what fucks up so many SaaS companies in the long run.

Your users want your service to be 24/7 available and responsive. That's not a static goal (unless you fail to gain traction), and an essential and highly integrated part of what you deliver.

Maybe the author is lucky that his particular SaaS is easy to deploy and scale, but dismissing system administration as a distraction that can be solved with software is not universally applicably advice.

<comment><USER14> The context of the snippet you quoted is "Spend money on tools that make you more productive." In other words, don't skimp on a tool or service that can simplify an operations task, if the result is that you can focus more time on features. I don't see the implication that operations is unimportant.

Having a laptop/PC that you can develop on is important to developing a product, but no one would suggest that the author design one from scratch. Everyone (excepting perhaps Richard Stallman) would say it's better to just outsource that task to Apple or Lenovo.

</comment></comment><comment><USER15> I especially agree with item #2. I have been involved with several web based projects that have "failed" only because someone loosely associated with the project put a release date and the dev team made the mistake of agreeing (it seemed like a sure thing at the time). However, this deadline took its toll on the team's moral. As it became more and more evident that we would not meet the deadline we became more and more grumpy with each other and started shooting down great product ideas because the couldn't be done NOW. It resulted in lots of bad blood and several resignations.

That being said - I do think there are certain situations where release dates will exist in a SaaS product. For instance, if you market tends to start and stop activities on a set calendar (ie: school year) or if there are a handful of trade shows that are critical to demonstrate new features at. I think it is about being insanely pessimistic about how much you can actually achieve. Figure out the minimum you need to demo at a date and work on that first, but never commit to a set of UI diagrams with features that are not insanely flashy for a demo.

my $0.02

<comment><USER6> There is a distinct difference between internal milestones/targets and publicly announcing "feature X will be ready by xx/xx/xxxx!"

</comment></comment><comment><USER16> As someone who runs a SaaS company, I agree with everything in this article. The importance of point #1 cannot be overstated!

</comment><comment><USER17> "2\. Never promise dates for a feature launch"

Reminded me of a sponsor who once offered me a bonus if I could put together a schedule with delivery dates for each and every product feature.

"Hmm, no thanks. I prefer to leave it (the bonus) for when we go to market."

<comment><USER18> All the side projects I've ever done have had hard deadlines. E.g. systems that had to be ready for a campaign the client was already committed to.

But for something that's entirely your own, yeah creating artificial deadlines doesn't make a lot of sense.

</comment></comment><comment><USER19> 5\. Don't Believe the Hype - really good points there, too. "Use technology that's proven (to you)."

I agree but also don't ignore newer technologies just for the sake of familiarity. Especially if it has an active, supportive community.

</comment><comment><USER20> Really agree with #3 with regards to software. I've been focused on getting a VPS and the flexibility but it's lead me to not focus on my application/service. The configuration and maintenance of the VPS is chewing up my time, time that I could have spent working on validtaing my idea. Maybe I'm just not focused enough but I'll try to get something going on Heroku so my application/service gets the attention it needs. Any thoughts?

</comment><comment><USER21> "It's your job to make your customer more awesome. Every decision you make for your product and business should revolve around that."

Unless of course your customer requires knowing a date that a certain feature needs to be in place by. In which case, point them to Number 2. Which really means Number 2 should be Number 1 because Number 2 negates Number 1 if the two come in conflict.

</comment><comment><USER22> "Never promise dates for a feature launch" \- Gem of a point.

<comment><USER23> In a dull corporate environment, the equivalent is "No ETA yet".

</comment></comment><comment><USER24> I like that there is a perspective of time. A six month sprint would not care so much about working hours, ignoring hype, and investing in productivity tools.

</comment><comment><USER25> Post would benifit from examples or stories. Also genuinely curious how author can stay afloat in the rough and tumble world of note taking SaaS.

<comment><USER26> You mean of time tracking?

I know Thomas and Amy well, and trust me when I say they're doing quite well with Freckle. And there are much, much bigger fish in the pond. The great thing about building business tools is that the markets they typically serve are SO BIG that you only need a few hundred / thousand accounts to have a healthy and profitable company.

</comment></comment><comment><USER27> > software that allows you to concentrate on developing your application's > features rather than configuring servers

I wonder if Amy and Thomas would use a PaaS like Heroku if they were doing a new product. Or would that be considered too expensive?

<comment><USER28> I can't answer for Amy and Thomas, but I guess the answer would be it depends on the project. If you are building a freeminum project with lots of pageviews, you'd have to watch server costs more than a SaaS with only paying customers. Just do a quick estimation and you will get an idea how much it will cost you.

</comment></comment><comment><USER29> [3] ... software that allows you to concentrate on developing your application's features rather than configuring servers.

Can somebody please explain what he means by this using some examples? Thanks!

<comment><USER30> Here are some examples, some based on personal experience.

\- You could set up and configure an email server to send email to your users, or just use a service with an API like Mailgun or Mailchimp.

\- You could write your own Wordpress theme and plugins from scratch, or just pay $10 for a slick theme and $50 for a few plugins that meet all your needs.

\- You could spend time each week backing up your system with a set of external drives, or just pay a monthly fee to Crashplan or Dropbox.

\- You could buy a discount VPS account and spend all your time keeping it patched and running, or just pay for a fully managed server until you outgrow it.

In each case, the former solution is "free," but may require you to spend tons of time getting it working and putting out fires. Often it's better to pay a little money to just remove the problem from your critical path. The reason for this is that you only have a finite amount of time and mental energy each day. Try to use them on the things that matter.

</comment></comment><comment><USER31> Of course a SaaS is a "make customers awesome" company but you'll need use technology to make it awesome. Sure, clients don't care about the technology but that is not the same as "You're not a tech company".

</comment><comment><USER32> Did you learn something about privacy of users?</comment>


5 Facts You Didn't Know About Photos & Copyright - <AUTHOR> http://blog.kunvay.com/5-facts-you-didnt-know-about-photos-copyright/

<comment><USER2> _" However, using copyright notice may be a smart choice. By using copyright notice, those who sue for copyright infringement can prevent the innocent infringement defense. This defense is the easiest way to refute infringement. The infringer simply claims he wasn't aware of the copyright. When properly pleaded, the defense can reduce the amount of damages owed, but proper copy- right notice nullifies this scenario."_

Or, y'know, including CC BY SA.</comment>


Why is nginx so popular with the adult websites? - <AUTHOR> http://trends.builtwith.com/Web-Server/nginx

<comment><USER2> Because nginx is really good at streaming, on a huge number of connections, simultaneously.

</comment><comment><USER3> Meaningless question without an idea of how many of the top 100,000 sites are adult sites.

<comment><AUTHOR> You can compare this with say Apache use in the same context on the site

</comment></comment><comment><USER4> Because they like making money. To make more money you serve more users with less hardware. It's a pragmatic decision.

</comment><comment><USER5> Maybe porn world is more agile than the rest, and thus are able to choose more modern solution.

</comment><comment><USER6> The fact that it ends with the letter "X".</comment>


US and UK agents moved after China and Russia decrypt Snowden files - <AUTHOR> http://www.bbc.com/news/uk-33125068 <comment><USER2> Please don't editorialize titles when submitting to HN.

</comment><comment><USER3> >"Well, we are told authoritatively by people in Downing Street, in the Home Office, in the intelligence services that the Russians and the Chinese have all this information and as a result of that our spies are having to pull people out of the field because their lives are in danger."

"Authoritatively".

How can we tell if this is true or just a PR stunt? I'm naturally suspicious of anything the security services say, but can see that this could have a germ of truth.

I have no idea how Snowden encrypted the files, nor do I know if any people are singled out in them. Does anyone know any better?

<comment><USER4> Knowing Snowden, the password was probably "1111".

<comment><USER5> Or "password".

<comment><USER6> We know his advice to Greenwald was to use a password like "MargaretThatcheris110%SEXY" to avoid dictionary attacks, and in his interview by Jon Oliver he says that short passwords can be brute forced. (See [http://www.wired.com/2015/04/snowden-sexy-margaret- thatcher-...](http://www.wired.com/2015/04/snowden-sexy-margaret-thatcher- password-isnt-so-sexy/) for both videos.)

Therefore, both of you are very likely incorrect.

</comment></comment></comment></comment><comment><USER7> On the chance that this is true (I have no reason to trust the British government on any surveillance topic), that would mean one of three things: 1\. Snowden messed up and chose a bad encryption scheme/key. 2\. Russia and China have the ability to break secure encryption schemes. 3\. One of the journalists entrusted with the documents messed up with the handling of the keys.

Only number 3 seems a little bit possible, and even then I'm skeptical...

<comment><USER8> Number three isn't that unlikely. Encryption is hard to use and subtle mistakes can ruin the encryption.

And some of the mistakes are not that subtle.

[http://www.telegraph.co.uk/news/uknews/crime/10276460/David-...](http://www.telegraph.co.uk/news/uknews/crime/10276460/David- Miranda-was-carrying-password-for-secret-files-on-piece-of-paper.html)

David Miranda carried USB sticks with emcrypted material through a UK border. He also carried a piece of paper with the password. The UK has abused their anti-terror law so ot was entirely predictable that they would abuse the law to detain and question Miranda.

</comment></comment><comment><USER9> After the recent OPM compromise, I'd find it hard to believe the US wouldn't pull out their agents anyway.

<comment><USER10> I sure is convenient timing. The idea that we just found out that _both_ China _and_ Russia had decrypted Snowden's documents right after the government suffered a rather significant security failure requires too many coincidences.

A simpler explanation is that other (probably not publicly discussed) sensitive data stolen in the OPM compromised required moving agents, and Snowden is a convenient scapegoat.

</comment></comment><comment><USER3> Greenwald has a good critique of the claims here:

[https://firstlook.org/theintercept/2015/06/14/sunday- times-r...](https://firstlook.org/theintercept/2015/06/14/sunday-times-report- snowden-files-journalism-worst-also-filled-falsehoods/)</comment>


Debt-trap diplomacy: Papua New Guinea wants Huawei loan cancelled - <AUTHOR> https://www.afr.com/companies/telecommunications/debt-trap-diplomacy-png-wants-huawei-loan-cancelled-20200811-p55kmr <comment><USER2> I unironically want America to expand its liberalism sphere of influence again, without the problematic methods that it has employed in the past. It is time for the self-flagellation and isolationism to end. America can be a major force of good.

<comment><USER3> Regardless of your personal feelings on the matter, the systematic forces involved would result the same problematic methods that it has employed in the past. It's pretty much all the same people running things for the past 30 years.

<comment><USER4> I don't see the problem at all, Korea and Japan are doing just fine. All that's changed is that a lot of people lost their stomachs and bought into the idea that the old methods don't work. The result of this 'peaceful' (creating vacuums is handwaved as inevitable of course) attitude has been needlessly protracted scenarios that waste everyone's time.</comment></comment></comment>


Ask HN: Anyone else getting annoying popups? - <AUTHOR>

Brace yourself for a very newb question.
So I've purchased and downloaded Prevx CSI, I've got the latest Norton package, scanned and don't have any virii showing up.  I've enabled the popup blocker in Firefox.  But I still get the popups!
What is going on?  I'm having flashbacks of 1999. <comment><USER2> Thought about getting some ad blocking plugins for firefox?

Adblock plus, I think, is a good one.

<comment><AUTHOR> Awesome, this works.</comment></comment>


Pittsburgh as a tech hub? - <AUTHOR> http://www.informationweek.com/blog/main/archives/2008/06/penguins_pirate.html <comment><USER2> I've been wanting to post my thanks to news.YC for a while now, because if it weren't for an article back in the beginning of the year about Innovation Works Alphalab incubator, I wouldn't have submitted an application, got to the interviews, won one of the 6 spots, and be sitting here in the Southside Alphalab offices as I type this right now.

Thanks for the Pittsburgh love YC, I have a startup because of you.

<comment><USER3> That's really awesome. Kudos!!

Where are you from? And why AlphaLab over YC?

</comment></comment><comment><USER3> It's a different kind of "tech" that goes on in Pittsburgh (spoken from a 22-year-old lifetime resident). You just don't hear about young guys hacking away to solve new problems, and the InformationWeek article echos that. Look at the videos... everyone's 30, 40+ in some cases.

Older heads out of the area's #1 uni (CMU) are the ones who get the attention of big money. Under 30 need not apply, and God help you if you graduated from Pitt, Duquesne...

Not saying any of this is inherently a bad thing. It's _different_ (from Silicon Valley, Boston). But I'm not convinced it's a net positive as far as innovation and entrepreneurship go. And it's almost certainly the wrong climate for young hackers of a non-prestigious pedigree.

<comment><USER4> Totally agreed.

I've been planning to make the move back to Pittsburgh and can't find anything remotely interesting and 'startup'-like (looking for a front-end engineering position).

I think AlphaLabs is doing a great thing and I will definitely apply for the next round (considering I'll be living in Pgh by then).

But for now... I'm a bit lost.</comment></comment>


Ask HN: Have you ever tried to start a podcast? What did you learn? - <AUTHOR> <comment><USER2> For over two years I helped co-host a science/comedy podcast at Stanford called Goggles Optional ([http://gogglesoptional.com/](http://gogglesoptional.com/)). We never hit hockey stick growth, but kept plugging away week after week. When I left, I think we had somewhere between 50,000-100,000 cumulative downloads from around ~90 countries. It's still going today.

I learned a lot from doing the podcast. Consistent, deliberate practice where you get feedback from others and from your own listening is a terrific way to improve over the years. As a result of the podcast, I became a more engaging speaker, a punchier writer, and even a better scientist. Spending hours thinking about how to best tell a story around a scientific concept really builds fluency, even if you think you already know the concept well.

If anyone is thinking about doing a podcast, feel free to email me. We found that having a big team with specialized roles and work rotation helped make the work sustainable and enjoyable. And as others highlight, content matters far more than tools or editing.

</comment><comment><USER3> Yes, it was pretty good too. I got +150 downloads (or subscribers, I can't remember) the after 2 or 3 weeks AFAIK. This number is huge if you consider that it was in Greek.

The problem that I needed ~ 6-10 hours per week in order to create a 45min content that didn't suck using GarageBand and another podcast tool (can't recall names now). The best had 3 sections: Weekly news (just referencing quick), Commentary on some of these news, Interviews.

What I found interesting is how easy is to get someone to talk about something he is working on. I recall finding Greek guys working in major corps (Nokia, Google, etc.) and get them to talk and I had many great ideas on how to improve it, create a community around it, etc.

So although, the idea was _good_ I wanted to spend 2-3 hours per week, but that's not possible if you want to create quality content. At least wasn't for me.

ps. It is something that I'd like to re-do at some point, but still I don't want to spend so many hours on this. Probably if I could find someone to help with editing / publishing and split the tasks would be a lot easier. Ideally, should be a team of 3.

</comment><comment><USER4> First, it's going to be slow to start unless you're either really good at advertising, already have a following etc. Getting a podcast going, like and project, is hard.

Second, it's going to be weird listening to your own voice recorded. Again and again as you edit. You'll probably think you sound stupid and pick out all your flubs, but you'll have to get used to it.

Lastly, it is extremely difficult to do a one-man podcast. Two people is the bare minimum to keep the conversation going, three is (in my personal experience listening and creating podcasts) the perfect number. Four is great if you can find a good diverse cast (e.g the Rooster Teeth podcast). So get a couple of your friends and make sure to make talking points, either written down or in your head, so that there's little dead air.

<comment><USER5> why do you consider 3 to be the perfect number?

</comment></comment><comment><USER6> I've learned that (like many projects) it's easy to get sidetracked on:

* What's the best microphone to use? (There goes at least 20 hours of research and reading and listening to comparisons, etc.)

* What should I use to record the podcast? Audacity? Logic Pro X? Reaper (which I haven't upgraded to 5.43 yet)?

* What about intro music? (More weeks pass as I reinstall and upgrade my digital audio workstation, the synth and drum plugins, my guitar interface, which oh, needs a driver upgrade...)

* How should I clean up the noise? (More time passes installing and upgrading my compression plugins. Do I need to buy the latest Waves plugins? Didn't I buy that set years ago, maybe I can upgrade? Check out KVR Audio for freeware plugins...)

* Where should I store the podcast? Which service? Is libsyn still good? What about podbean?

* Oh, now I need a website. Spend time resurrecting an old blog. Think: maybe I should convert over to one of those newer static sites (Hugo, et al)? Hey, maybe I'll write something in Go, which I've been trying to learn! (Weeks later...)

So, it's months later and I've clearly shaved far too many yaks. I don't have a podcast, but I've learned that I should just record one with whatever mic I've got, using Audacity, or whatever, and just publish the darned thing.

<comment><USER7> Couldn't agree more with the: just publish the darned thing.

That's it.

<comment><USER8> There's a balance really. Don't overthink it, but don't just ignore the main issues. For example I unsubscribed from a few podcasts just because they had a lot of static, or completely unbalanced speakers' volumes. You don't need the latest and greatest software/hardware to deal with that, but do go with Audacity at least.

There's a very low threshold where whatever the content is, you can't concentrate on it. Do the minimum to not sound terrible at the beginning.

</comment></comment></comment><comment><USER7> I got to the point where I had a microphone (got it from amazon after a couple days of research), I had my software (I didn't think much about it, I had Garage Band preinstalled) and I recorded one audio.

After hearing it, I found it so bad I never did more.

I used the microphone for recording other stuff though.

What I learned is that you should first record yourself somewhere and listen to yourself before committing.

</comment><comment><USER9> Like others have mentioned, I found the time required quickly had me burning out & questioning the time investment. 5 - 10x the final length of the podcast seemed a good rule of thumb, even when you've managed to automate some of your process. For that reason, you might want to consider hiring someone to do your editing & uploading - the fresh pair of ears will probably help too.

Some of my time was spent being fussy about audio quality, but I still think it's important - I've unsubscribed from a lot of podcasts because the audio was unbearable. At the very least, learn a little about dynamics/compression, so that your podcast is a steady volume and not too loud or soft compared to others. Look at something like The Levelator [1] as a bare minimum.

Personally, I used iZotope RX [2] for noise reduction when necessary, and iZotope Ozone [3] for controlling dynamics and applying EQ. Ozone has a feature where you can analyze the EQ of a recording - say, Leo Laporte's TWIT podcasts - and apply that EQ curve to your own recording. That together with Ozone's dynamics compression helped get a much more professional sound.

Lastly: you might want to look at Christopher Hawkins book Record & Release [4] about every step of the podcasting process.

[1] [http://www.conversationsnetwork.org/levelator](http://www.conversationsnetwork.org/levelator)

[2] [https://www.izotope.com/en/products/repair-and- edit/rx.html](https://www.izotope.com/en/products/repair-and-edit/rx.html)

[3] [https://www.izotope.com/en/products/master-and- deliver/ozone...](https://www.izotope.com/en/products/master-and- deliver/ozone.html)

[4] [http://www.record-and-release.com/](http://www.record-and-release.com/)

<comment><USER10> Thanks for mentioning my book! I'm glad you found it useful.

To answer the OP, I learned tons doing my first podcast: \- It was the first time I'd used WordPress to build a site \- It was the first time I'd edited audio with Audacity \- It was the first time I'd used any kind of opt-in form to build a mailing list \- It was the first time I did any kind of automated social media marketing \- It was the first time I'd done long-form interviews with people \- Etc

GREAT experience. The best thing was making friends with all my guests. I was bummed when the podcast ended, but it was time.

I'm gearing up to start a new podcast right now, for freelancers and consultants. It should be launching next month & I'm pretty excited about it.

<comment><AUTHOR> Thanks Chris for writing such wonderful content! Me and my friend are super excited to get started, and we're glad we have so many great resources, both from you and from everyone else on HN!

Good luck for the next one, I can't wait to check it out!

</comment></comment></comment><comment><USER11> I've done three. All were wrapped up or abandoned within a dozen episodes. I learned that the prospect of an on-going podcast is daunting. It seems many others have learned the same thing, as "seasons" and story arcs seem to be gaining in popularity. I'm starting another podcast soon, but with a distinct curriculum in mind, so I can stop after 6 episodes and still have a complete topic arc that I can release. I'm hoping that will make the difference.

</comment><comment><USER12> I've started/participated in two podcast projects. One was recordings of a series of RPG sessions that was never published. And the other was an informational, science-type podcast. I learned it's very difficult to be spontaneous and keep up a conversation especially with more than 3 people. Also if someone says they'll do all the sound mixing be skeptical.

</comment><comment><USER13> As a listener I want ok audio, this means:

\- low noise enviroment

\- mic placed as close as you can without pops or much change in the distance. (just try it a bit to find what soudns best). For multiple people: make sure they are all the same distance and angle to the mic.

\- run it through a modest compressor once

I guess the kind of mic etc is not even that important.

</comment><comment><USER14> I tried this years ago, when podcasting was maybe two years into being a thing. The one lesson I learned is that it's a huge time investment. All of the other costs pale in comparison, so you should be ready to make that commitment.</comment>


Intel's 8th generation processors see price increases due to 14nm shortage - <AUTHOR> https://www.techradar.com/news/intels-8th-generation-processors-see-price-increases-due-to-14nm-shortage <comment><USER2> update: intel says it isn't so</comment>