The Past, Present, and Future of the CPU, According to Intel and AMD - <AUTHOR> http://www.gamespot.com/articles/the-past-present-and-future-of-the-cpu-according-t/1100-6421514/ <comment><USER2> I'm disappointed that the article leads with Intel's performance lead. I've always found it to be meaningless. Their best CPU is over $2500. Their best i7 is over $1000. I use an AMD A4-3300. It's fast enough for my needs and $20. On the other hand, I also have a Bay Trail Atom tablet, and it has fantastic performance for its power usage. The article talks about what a failure Atom has been. I think part of the blame is tech journalism promoting the fastest silicon. It appeals to some psychological desire, but it doesn't make much practical sense. Battery life on mobile and value on the desktop is all I really care about. Why is it such an embarrassment for both AMD's desktop division and Intel's mobile division to be the most efficient?

<comment><USER3> Agreed. When I design a new PC, I don't look for the highest performance system, I look for performance per dollar. This chart is very useful: [http://www.cpubenchmark.net/cpu_value_available.html](http://www.cpubenchmark.net/cpu_value_available.html)

When designing a new PC about a year ago, I went with an eight-core AMD FX-8320. Which was significantly cheaper than an equally fast Intel i5 or i7 CPU (although the per-thread performance is only half of a 4-core i5/i7 with the same Passmark score).

</comment></comment><comment><USER4> "If Epic and its Unreal engine on console don't have a threaded graphics pipeline--which to date they don't"

I'm surprised to know that this thing is happening. I thought everyone has optimized their program to go multi-threading.

<comment><USER5> Current game engines are still bound by the single-threaded game loop model, although not by necessity. Here's a really cool presentation about it: [https://www.st.cs.uni- saarland.de/edu/seminare/2005/advanced...](https://www.st.cs.uni- saarland.de/edu/seminare/2005/advanced-fp/docs/sweeny.pdf)

</comment></comment><comment><USER6> I'm curious.. let me know good or bad (or wrong) what you guys think of this.

Quick background. My understanding of how a mobile phone works: There is a primary CPU, running Android, which does the majority of the work on the phone. Meanwhile, there is a second CPU attached to the radio running an RTOS. This RTOS interprets the signals from the antenna and makes nice packets for Android. The RTOS and secondary processing unit can then be optimized for just that one task, and Android can be optimized for reading, writing and processing data packets.

Similarly, what if we made more parts of our infrastructure "smarter"? Take for example the monitor. Currently, it has a frame buffer, we fill it through a DVI cord and the lights change. Is there some abstraction at which we could make a monitor work "smarter". Can we put a GPU in the monitor? Then just move memory and call OpenGL commands. Is that a better abstraction for monitors? Can we also put a CPU on the monitor and embed an RTOS/rendering engine? Would that make a better abstraction? Could we then optimize the "smarter" monitor / integration with the game logic, better than we could have if the monitor just has a frame buffer?

I don't have much domain knowledge and so I don't know what the correct abstraction for a "smarter" monitor should be. However, I do think its a good question to be asking (and not just about monitors). I'm curious if you guys can think of such an abstraction. What would that be?

<comment><USER7> GPUs are already pretty smart and are controlled by their own processor(s). Moving them into monitor is not going to make them smarter. On the other hand, communication with a GPU hooked up with a flexible cable is going to be more complicated than with a GPU sitting on a wide internal bus or, as it becomes more common, on the same chip with the CPU.

</comment></comment><comment><USER8> I'd like a better understanding of modern processor microarchitectures, i.e. what's happening inside the chip. What do you recommend I read? I'd like to be able to understand a diagram like: [http://www.realworldtech.com/wp- content/uploads/2012/10/hasw...](http://www.realworldtech.com/wp- content/uploads/2012/10/haswell-5.png?71da3d)

<comment><USER9> I'd recommend this course: [https://www.coursera.org/course/comparch](https://www.coursera.org/course/comparch)

If you're too advanced for this, I'd consider writing some behavioral VHDL or Verilog for a few of the units to see how a few of the pieces fit together.

</comment></comment><comment><USER10> Mantle still seems somewhat far out—the article mentions that the spec won't be published until the end of this year, and there's no word on when Linux support will come (though AMD has said it will happen).

<comment><USER11> Do you know of a good explanation of Mantle's goals? What sets it apart from DirectX or OpenGL?

<comment><USER12> OpenGL and and D3D are both very good APIs that have worked well for 20+ years. However, they have a few ideas about the hardware fundamentally baked into them that are not aging well.

The main issue is that they are based on a model of continuously modifying a very large, monolithic body of state representing fine details about what the next draw should do. At any moment a draw call may be issued to enact the current state and produce a result.

In the past, that state was represented in hardware mostly using a large collection of physical registers. Nothing else could possibly be fast enough. The API model of "set BlendStateSourceOp, set BlendStateDestOp, ect..." mapped very well to the hardware. You literally were continuously mutating a large block of registers.

In the present, programmable hardware has become capable of largely taking over for fixed-function hardware. Modern GPUs have been increasingly cutting out special-purpose silicon to make room for more multi-purpose ALUs. These general-purpose ALUs represent how to draw using fairly large, allocated structures instead of single-purpose registers. These structures are not trivial to construct and modifying them continuously is not advised. However, switching between them is as trivial as moving a pointer from one to the other.

Fortunately, most games don't actually use a continuum of states when drawing. In practice, they switch repeatedly between a small number of states with very little variation between frames. Therefore, modern drivers do a lot of work to implicitly infer what state setups are heavily repeated within each run each application. These states are baked into structures under the hood on the fly. Odd variants are expensive in this mode. But, they are also rare, so they are lower priority.

Mantle, Metal and DX12 all seek to reboot the idea of graphics APIs from scratch based on how hardware actually works today. You set up a an explicit set of draw state structures at init time. You switch between them explicitly and trivially at run time.

A second issue baked into OGL/D3D is that, in the past, the monolithic draw state was stratified into quite nicely orthogonal chunks dealing with separate issues such as: how to load a vertex from memory vs. how to operate on a vertex vs. how to pass data from the vertex shader to the fragment shader vs. how to operate on a fragment (sample) vs. how to blend the fragment into the framebuffer. This model made the APIs quite nice to learn and to use.

Unfortunately, it is simply not representative of how the hardware actually operates today. Today, most of those operations are actually handled by general purpose ALUs. These ALUs are running the vertex and fragment programs you wrote. But, they are also running more code to handle what used to be done in fixed-function silicon. Actually, it's worse than that. What used to be a register flip that was completely orthogonal to your vertex/fragment programs is now actually implemented by modifying code interleaved into the guts of the programs you compiled back at init time. These changes are done under the hood and on the fly.

Modifying the code under the hood is expensive. Worse, the draw state is so large and complicated that it is easy to accidentally request an invalid state. Validating each given state is expensive. Because the classic model lets you make draw state changes at any time preceding a draw and the state changes are no longer stratified, the state validation can no longer be done incrementally. Instead, every time you draw a significant amount of work is done just to make sure the request makes sense.

Again, by declaring draw states up front. Compilation and validation can be done once up front. Switching between pre-compiled, pre-validated states is trivial.

A third issue is that OGL/D3D have the genuinely great goal of preventing and/or detecting synchronization errors in the usage of the API. In other words, you really shouldn't try to have the CPU modify a given block of memory while the GPU is simultaneously reading that same memory in an uncoordinated fashion. OGl and D3D have an interface and implementation designed to prevent/detect/allow-at-a-huge-cost these usage errors as much as possible. In practice, serious programs cannot ship with these errors. That means that in practice, all serious, shipping programs do not have these errors to any significant degree, but the driver is still always doing a large amount of work checking for them all of the time.

The new-style APIs seem more inclined to declare this category of usage errors to be undefined behavior rather than pay the cost to handle them. "Here's how to avoid them. So... avoid them."

A fourth issue is that multi-core computing is much more common and important than it was in the past. OpenGL has never had in interface to issue draw command from multiple threads of a single process. D3D11 had an interface to record commands on multiple threads and dispatch them on a primary thread, but the consensus is that D3D11's implementation did not work as well as was expected in practice.

Mantle, Metal and DX12 all have new, multi-threaded interfaces that they are quite confident will work well in practice.

Much of what I'm describing here is covered in this presentation from Microsoft "DirectX 12 API Preview" [https://www.youtube.com/watch?v=m0QkjKGZQzI](https://www.youtube.com/watch?v=m0QkjKGZQzI)

An alternative approach has been proposed by a multi-vendor group of OpenGL driver developers. It was presented in the "Approaching Zero Driver Overhead" (AZDO) talk at GDC 2014. [http://gdcvault.com/play/1020791/](http://gdcvault.com/play/1020791/) and [https://www.khronos.org/assets/uploads/developers/library/20...](https://www.khronos.org/assets/uploads/developers/library/2014-gdc/Khronos- OpenGL-Efficiency-GDC-Mar14.pdf)

In the AZDO approach, instead of tossing out the legacy state machine of OpenGL, they demonstrate how some current (fairly cutting edge) features that have recently been added allow a draw state to be set up that is so expressive and so extensive that it can pretty effectively represent a whole, fairly complicated scene of a modern game in a single draw state. Once you set this up, you can pretty much issue a single request to draw much-if-not-all of the current frame as an atomic operation. Further, common frame-to-frame modifications (such as moving objects around) are very cheap in this setup.

ADZO is an interesting and perfectly workable approach. I am less of a fan of that approach than I am the DX12 approach.

I should make this into a blog post... I should start a blog...

<comment><USER13> AZDO is not about "single draw per frame" nor "single draw per scene".

Its "single draw per timeframe needed for switching state".

Difference bing that modern GPUs can "hide" state change behind big enough workload.

Also OpenGL as is right now, allow for explicit GPU/CPU synchronization. Multi threaded content creation (without needing any explicit api for it).

What it lacks are: * Requirement for caching shaders. (Quality of implementation) * Requirement for offline shader compilation. (Quality of implementation) * Intermediate representation (so that mundane task like elimination of dead code happen ahead of time) (Specification) * Having all that good stuff in core (Specification) * App devs moving to Core Profile (thats us...)

So OpenGL as is now, is quite close to solving all Your problems. And it do it somehow-less-somehow-more explicit then DX12/Mantle (as those focus on exposing CPU/GPU intensive operations, while OGL "AZDO" go ahead and propose solution to solve GPU/CPU bottlenecks)

<comment><USER13> In that sense You should add disclaimer at the beginning of this blog post ;), that by "OpenGL" You mean both OpenGL without AZDO extensions and OpenGL ES.

</comment></comment></comment></comment></comment><comment><USER14> > could run 64-bit operating systems, which could address more than 4GB of RAM

I just want to vent how insane it is how the x86 ecosystem moved to 64 bit because _Microsoft refused to support physical address extensions in XP_. It was completely artificial, it was not a technical limitation. Hell, we really have no excuse to be on 64 bit even today - the improved integer and floating precision is nice, but few people cared about that. With PAE, you are only limited by the per-application address space... which you are _still_ limited by today if you are running a 32 bit program. And in the Windows ecosystem, since there is so much less free software and no package management, everything is distributed as a 32 bit binary to be compatible across the board.

Which means in practice nobody ever needed 64 bit. And those that did had business reasons to do so. It is _true_ that Itanium failed because Intel was ignorant of the massive inertial resistance to trying to bring tools across architectures - there is a reason OS/2 still exists, and that is just cross- OS, you can still use the same ASM at least. And you would always be surprised how many enterprise programs are ASM bound somewhere because some unholy desecration of coding practices goes on in the bowels of that non-source- controlled shared repository of suffering.

But I'm talking about the consumer space here - if AMD64 took off as the Xeon class of 2004 that would have been fine, but we made this transition for pretty much _no reason at all_. I have no idea why Microsoft thought making Windows 64 bit for the Vista release (there was 64 bit XP, but that was really rare and business focused) was easier than just supporting PAE.

But that is happening _again_ today. Kind of in reverse, though. Or maybe it is just a precedent that was set? Apple has now opened the floodgates for ARMv8, and now everyone and their mother wants 64 bit buzzwords on their products while their phones still ship with 3GB of less of memory, and their architecture _again_ supports PAE without issue.

Because there are performance ramifications here. You can fit less into your cache lines when every address takes up twice the space. There is a reason to try fitting your data in the smallest format possible. You end up with more pages in aggregate from all the wasted space, and thus consume more memory implicitly. And we never even got real 64 bit - x86 chips are still physical 48 bit, because somewhere along the lines it was realized "64 bits is ludicrous amounts of memory".

I think the best part is that memory limitations are also solvable problems. If your program hits its memory limit (ie, a 32 bit binary with 4GB addressing) you can just fork a process instead of a thread, and suddenly you double your working space. It is insanely rare to have an active working set of more than 4GB where that data needs to be address-local available for access or else you suffer huge slowdowns, and even more so in routines where you cannot load balance to delegate processes that manage ranges of values that get that big.

Likewise, if you hit a kernel address limit (remember, with PAE, you can get anything from a magnitude to thousandfold increases in available physical memory) your problem is so huge it makes sense to have it worked on by a server farm compute cluster. Unless you tried to voodoo all that circuitry together into some supermassive NUMA system (sounds painful) which wouldn't make any sense anyway because trying to abstract away network interconnects between disparate nodes at that scale has so much latency trying to treat it like memory when it is as slow as flash storage is redundant.

....

Ok, tangential rant over. I just think 64 bit is such a stupid buzzword waste of time, and its crazy that the industry has gone deep end on it for so long because it exploits some cultural tick in people that bigger is better. No, in practice it really does not "hurt" to have, but we (at least the consumer class, and 99% of business use cases) never needed it in the first place, really.

<comment><USER15> >Microsoft refused to support physical address extensions in XP

Completely wrong

"The original releases of Windows XP and Windows XP SP1 used PAE mode to allow RAM to extend beyond the 4 GB address limit. However, it led to compatibility problems with 3rd party drivers which led Microsoft to remove this capability in Windows XP Service Pack 2. Windows XP SP2 and later, by default, on processors with the no-execute (NX) or execute-disable (XD) feature, runs in PAE mode in order to allow NX.[14] The no execute (NX, or XD for execution disable) bit resides in bit 63 of the page table entry and, without PAE, page table entries on 32-bit systems have only 32 bits; therefore PAE mode is required in order to exploit the NX feature. However, "client" versions of 32-bit Windows (Windows XP SP2 and later, Windows Vista, Windows 7) limit physical address space to the first 4 GB for driver compatibility via the licensing limitation mechanism, even though these versions do run in PAE mode if NX support is enabled.

Windows 8 will only run on processors which support PAE, in addition to NX and SSE2."

\- [http://en.wikipedia.org/wiki/Physical_Address_Extension#Micr...](http://en.wikipedia.org/wiki/Physical_Address_Extension#Microsoft_Windows)

<comment><USER14> The driver instability was only their fault. The fact is the reason AMD64 "won" was because in the late 2004 era, with SP2, Microsoft killed PAE (the concept, not the implementation, by artificially limiting addressable memory), and the artificial memory limit on 32 bit systems doomed the architecture.

I speak only of the time period from 2004 - 2008 where we went from Pentium 4 to Core 2 (and Athlon64 to Phenom), where 64 bit became ubiquitous because Microsoft failed to provide its consumer grade OSes the ability to access the amounts of memory the hardware supported.

<comment><USER15> Everyone crapped on Microsoft because there were no x64 drivers for Vista, and the 3rd party manufacturers didn't want to create new drivers for their old hardware.

It's Microsoft's fault that 3rd party driver support sucks? So they get blamed with they keep compatibility as in the case of PAE on x86 and blamed when they break it.

</comment></comment></comment></comment><comment><USER16> First thought: "This is a Gamespot article?" Seems like something you'd see at Anandtech.

<comment><USER10> Except that it's covering topics that were already well-known in the tech community 6 months ago.

</comment></comment><comment><USER11> The idea that Moore's law is still continuing is a bit misleading. For all practical purposes it's over. See the graph here: [http://www.extremetech.com/computing/116561-the-death-of- cpu...](http://www.extremetech.com/computing/116561-the-death-of-cpu-scaling- from-one-core-to-many-and-why-were-still-stuck)

Yes, we can still cram more transistors on a chip, but we can't get the clock speed any faster because we run into power/heat limitations. And actually if you look at the graph in the link I posted you'll see that clock speed peaked around 2005. Around that time AMD and Intel focused more on multiple cores and clock speed became less important.

Tangent: Personally, I like ARM much better than x86/x86-64. RISC based architectures just seem so much nicer. Plus, they are easier to optimize for and more predictable in terms of clock cycles per instruction.

<comment><USER5> Moore's law is about the number of transistors, not clock speed.

"The number of transistors incorporated in a chip will approximately double every 24 months." \- Gordon Moore: [http://www.intel.com/content/www/us/en/history/museum- gordon...](http://www.intel.com/content/www/us/en/history/museum-gordon-moore- law.html)

<comment><USER11> That's true, but the reason people care about it is because in the past more transistors led to higher clock speeds, which is what I was getting at by saying we _can_ still put more transistors on a chip, but that power and heat limitations prevent that from turning into increased clock speeds.

<comment><USER5> Yeah. I'd be curious to know how much of that is a product of the software/hardware architectures we currently use, e.g. programming languages generally not built from the start with parallelism in mind.

<comment><USER17> Look at it this way:

1\. Most software today is I/O bound, which is when programmers don't (and shouldn't care) about shared memory parallelism.

2\. Most popular programming languages today are based on classic imperative programming going back Fortran and co.

3\. These classic languages suggest using loops.

4\. Loops are inherently not parallelizable. Only in a specific case where there is no carried on dependency, a loop becomes parallelizable.

5\. These languages have basically infested everything we do, including compute / memory bandwidth bound problems that _should_ now be treated in parallel. (Even bandwidth goes down with sequential execution, for example on Intel sockets usually by a factor of 2).

6\. Since therefore most parallel things get written in loops, this becomes a hard problem. What the compiler vendors are doing is usually flinging [directives]([http://www.openacc.org/](http://www.openacc.org/)) [at us]([http://openmp.org/wp/](http://openmp.org/wp/)).

7\. Directives work well until they don't and you have no idea why, because it's usually a black box for most programmers (who can't read assembly like code).

8\. What we _should_ get is a way of saying: Here is some scalar code. I'd like this code to be applied in parallel over domains X, Y, Z etc. Be aware of symbols alpha and beta that are dependant in X, Y, Z as well as gamma that is dependant in X only.

10\. This should be available _at language level_ , so programmers start thinking in these terms. Only then do we have a reliable way of making use of data parallelism.

11\. CUDA and OpenCL are actually pretty close to this, but slightly too low level and generally thought as being hard to program in (which I don't agree, but that's the image).

Disclaimer: I've been involved in this problem space since some time and [this]([https://github.com/muellermichel/Hybrid- Fortran](https://github.com/muellermichel/Hybrid-Fortran)) is what has come out of it. It's HPC targeted, but at some point I'd like to make this whole parallel computing thing more generally approachable.</comment></comment></comment></comment></comment>


Unlink Your Feeds - <AUTHOR> http://unlinkyourfeeds.tumblr.com/post/387644253/a-manifesto

<comment><USER2> I'm having trouble extracting _any_ content at all from this, even after reading all the articles. I can't see why it's bad, nor what's supposed to replace it, because there's so little _anything_.

And how exactly is breaking everything up going to occur, when most people can't be bothered, and _want_ an everything bucket? Heck, if things are broken up into atomic units, microformats will probably have their day in the sun, and cross-posting will be magnified a _thousandfold_.

Why did they write this? An elaborate rant because they don't like reading the same thing more than once?

</comment><comment><AUTHOR> I started from the post the writer describes as the starting point, but this post might help to give the extra context that commenters are asking for:

[http://unlinkyourfeeds.tumblr.com/post/396675784/google- buzz...](http://unlinkyourfeeds.tumblr.com/post/396675784/google-buzz-the- slurriest-of-everything-boxes)

The other thing that helps is if you follow the links labelled "More" below the manifesto. I grant that the manifesto jumps in mid-stream (perhaps even mid-stream of someone else's consciousness), but I think the larger points he makes are well-worth considering.

</comment><comment><USER3> I have my tweets replicated to Facebook, but that's because I never use Facebook directly, and most of my friends aren't on the twitter bandwagon. The 3 friends who follow me on both are free to stop following me on either, they won't miss anything...

</comment><comment><USER4> So, the better way is just someone's pipedream? If you can't provide a suitable alternative, there's not much value there.

I think there's more value in updating one social network and having a bunch of different networks pick up on that so connections that are not on the original one stay updated as well.

I might be special in this case, but the different social networks I use don't have much overlap, connection-wise.

</comment><comment><USER5> I've unlinked most of mine.

I use a bookmarklet to post most of the things I want to share to google reader, which feeds to buzz. I just have a handful of followers on buzz though, since everyone turned it off in the first few days. So it's not very efficient sharing.

But I turned off Twitter feeding into buzz, and into facebook. I use twitter in a pretty bursty way, and the feeds would be annoying on either buzz or fb. And twitter is great for spreading links, but not so good for disucssions on the links.

Facebook is ok for discussion of links, but people don't use it that way all that much. Plus I don't friend people I don't know there. And it's hard for things to spread on fb now.

Friendfeed was the ideal for me, but it's more or less dead at this point.

I suppose the answer is to make a fan or group on facebook and then try to round up followers for it.

My goal is to post interesting things and then have a discussion about some of them with interesting people.

</comment><comment><USER6> I do not understand what this is about.

<comment><USER7> I think the writer suggests that people end the practice of using features that automatically cross-post to multiple "social" sites. E.g., auto-posting your tweets to facebook and buzz -- and start formatting & filtering posts for each context like: [http://unlinkyourfeeds.tumblr.com/post/387796108/theres-a- be...](http://unlinkyourfeeds.tumblr.com/post/387796108/theres-a-better-way)

</comment></comment><comment><USER8> I'm looking forward to buzz supporting [1] atom:source [2] so that it's possible at least in principle to automatically ignore buzz duplications of the twitter/reader/whatever streams to which I also subscribe. That and salmon can help reduce redundancy while still allowing us to form the links that help make information discoverable and accessible.

[1] [http://groups.google.com/group/google-buzz- api/browse_thread...](http://groups.google.com/group/google-buzz- api/browse_thread/thread/ac8b07ba5d0cc115/96f7784b3831e022?lnk=raot#msg_95949a58c301a3ee) [2] <http://tools.ietf.org/html/rfc4287#section-4.2.11>

</comment><comment><USER9> A little more context would be outstanding.</comment>


Ask HN: What are ways to build vocabulary? - <AUTHOR> I want to improve my effective business English speaking skills. What are the fastest ways to improve and build vocabulary? <comment><USER2> I dont have the perfect vocabulary myself, but here are some things that worked for me.

1\. Learn things by heart!!!

This could be a short story, like half a page. Learn it word to word and set a time limit to tell it to someone. Stick to that time limit. Make it so that you can tell it realistically, using intonation. This sounds like a childish thing for some, but really helps with fluency and use new words.

2\. Read more, journals newspapers, online articles

As you read, try to balance enjoying and constantly looking up the dictionary. I mean, you dont need to know every word, and you cant actually. And that is ok.

3\. Use flashcards, I use Anki: both web and mobile versions. really helps me remember things I learned.

4\. Talk to yourself!!

This is not for everyone, but I mostly improved my speaking by talking to myself constantly, and I still do that.

5\. Listen to more formal speeches more often.

You could try ted talks, or university lectures on the subject to improve your vocabulary.

The idea is to mix different strategies and find the ones that work best for you.

Good luck!!!

</comment><comment><USER3> Speaking and vocabulary are related but different.

Vocabulary: read and write a lot, and not just in "business." Memorization, via lists or spaced repetition (anki or 3x5 cards) is helpful, but just like programming you need to use your skill to improve your skill. Have a dictionary and blank cards at hand while you read and write.

Speaking: speak. :-)

Read and speak to a mirror. Get into contexts where you have to listen and speak to people.

</comment><comment><USER4> I have a method I have been using that works really well:

I read everything on the kindle, and use kindle highlights when I find a sentence with a word I dont know. Then, after Im done with the book, I download the highlights and create cards in Anki with the word in context and review every day.

I have expanded my vocabulary significantly using this method.

</comment><comment><USER5> Read, read and just read.

</comment><comment><USER6> I use a popup dictionary app that shows the definition when I long press. It stores my lookup history, which I periodically copy and quiz myself on. (I use and recommend "Look Up - A Pop Up Dictionary" on Android.)

</comment><comment><USER7> Hi, I have exactly the same problem.

I kind of know English and can communicate but I want to become more fluent. I even built a startup myself to help me reach fluency :) You can check the vocab10k.com.

</comment><comment><USER8> All you need to do is read a lot but most importantly you must have the curiosity to look up the new words that you come across so that you can understand and use it!

</comment><comment><USER9> Reading, and some more reading.</comment>


Rebecca Murphey: An Online jQuery Class - <AUTHOR> http://blog.rebeccamurphey.com/an-online-jquery-class

<comment><USER2> Tangentially related: I've started using the Google Closure Compiler, and I see JS in a whole new (and mildly depressing) light now.

When I first learned to use jQuery, I went hog-wild, running circles around fellow devs who didn't use it. I got so into JS, that I started writing more logic in the client, because I could, and because JS, with it's loose typing and object notation was just a fast place to write code.

Now, two years later, I've embarked on a large project, an HMI in an industrial sector, and I of course made heavy use of jQuery. After 4000 LOC, the program needed some serious re-factoring in order to handle the next level of complexity.

To handle the complex demands of the application, I decided to use the Closure Compiler, which is great! The only problem is, that now, I'm writing typed code, in a non-typed language, and there's not much to really like about the language, besides the fact it's on all web browsers and has a ton of third- party support.

I guess my point is: I think tools like Closure Compiler and others which produce "compiled Javascript" are the future, if anything is. Maybe we'll see Python, or Java get JS like support in the browser, but if I could talk to the me from two years ago, I'd tell him: "Start using the Closure Compiler, and use less jQuery."

<comment><USER3> Hi, I'm you from two years ago (loving jQuery, moving more code from server to browser, never used Closure Compiler). I'd like to take your advice, but I'm confused about something.

It sounds like you said (1) you had a great experience with jQuery, (2) writing Javascript is a much worse experience with Closure Compiler, (3) therefore use the Closure Compiler and not jQuery.

Could you please explain why you like the Closure Compiler, so I can understand the jump to (3)?

(1) "running circles around fellow devs", "JS, with it's loose typing and object notation was just a fast place to write code" (2) "now, I'm writing typed code, in a non-typed language, and there's not much to really like about the language" (3) "Start using the Closure Compiler, and use less jQuery"

<comment><USER2> It depends on the size of your project. Mine is large. Javascript becomes unwieldy after a few thousand lines. Closure Compiler really helps, but in you have to use comments to tell the compiler what types your functions take and return. This becomes a drag, making JS, to me, less fun.

If you're going to make a big project, I recommend CC from the start.

<comment><USER4> You may want to look at ShrinkSafe and the Dojo build system. While it does not create quite the compactness of the Closure compiler it does get you close without enforcing constraint on the way you write JS.

As well, if you are doing large apps with jQuery then you should take a look at Backbone. It helps organize the JS application architecture. In saying that though there really are better toolkits for large JS apps that are designed to provide the frameworks of application architecture in your app.

Dojo is the one that I use and recommend, once over the learning curve you will find that it is designed to handle large JS application is an intuitive manner and not just by making it look like Java in the browser. It exploits the best parts of Javascript while bringing in language constructs from several schools of thought to provide a very robust toolkit.

I have used most all of them and it is my choice when the webapp surpasses a certain point in complexity. I always tell people that I can save them a lot of time when it comes to JS toolkit selection and then I tell them if it's small use jQuery and if it's large use Dojo. It is meant to be slightly humorous but there is a grain of truth to it.

There is nothing faster to learn and more intuitive that jQuery but it comes at the cost of reduction in it's robustness. There are tools to address this but to me they always feel like bolt on's.

Dojo on the other hand trades up front intuitiveness for robustness. A trade off that toolkits like Closure make is to make JS more like Java to bring back some of that intuitiveness but at the cost of some of that robustness. Dojo is unapologetic a JS toolkit and uses JS concepts as first class citizens. It then borrows best of class language constructs from other areas of language progression.

Anyway, my long winded point is, if you are having issue with growth of your jQuery application you may want to give Dojo a try. Rebecca did and was pleasantly surprised:

[http://blog.rebeccamurphey.com/2009/11/12/dojo- confessions-o...](http://blog.rebeccamurphey.com/2009/11/12/dojo-confessions- or-how-i-gave-up-my-jquery-security-blanket-and-lived-to-tell-the-tale)

</comment></comment></comment></comment><comment><USER5> As information begins to flow freely, it's monetary value approaches $0. Forgive my insensitivity- but based on that sentiment the content of this course is worth relatively nothing.

I am of course not speaking towards the instructors ability, time, or guidance. Granted, $350 is a steal compared to formal education; but if teaching 20 people how to AJAX is worth upwards of $8,000... I need to move on to teaching.

<comment><AUTHOR> The course is a month long. How much do you bill each month?

<comment><USER5> Like I said- if the time spent maintaining this course (even considering there might _"probably"_ be office hours) is worth that much money, I need to consider teaching. I don't doubt the instructor of this course in particular is capable of maintaining 4 of these courses in a month.

More arguably: this information is information that is _not only_ documented thousands of times- but there are even plenty of human resource available for free as well (consider stackoverflow). I'm certainly not suggesting Rebecca value her time at nothing. But of all professions, I'd expect programming to be the first of which you can truly learn for free.

I don't mean to be argumentative, I am just being idealistic.

<comment><AUTHOR> Not at all, I kinda see where you're coming from. But the flaw in your reasoning is that we're not yet at the point where you can jack the kung fu program into Neo's cerebral cortex like they did in the Matrix.

You can actually learn anything for free today -- assuming that your time is worthless. You might not be able to learn it well or very quickly, but you can certainly learn it for free.

CodeLesson's biggest competitor is Google. Google can get you all the information you need about how to do pretty much anything -- bake a soufflé, sire a baby, write a compiler. But it won't tell you where to look for the information you want, it won't tell you exactly what you don't yet know, it won't evaluate your work, it won't tell you when you've learned enough to do what you want, and it won't validate what you've learned. That's where a human instructor comes in.

If you think that paying to take a course is expensive, then great -- read the online text for free and get what you can out of that. That's what it's there for. But taking a class is really about getting access to the knowledge and experience of an instructor. That's what people pay for.

</comment></comment></comment></comment><comment><USER6> I wish CodeLesson did a better job showing you what a course of theirs is like. If you have taken one before could you share what it was like?

<comment><AUTHOR> This is a FAQ: <http://codelesson.com/faq>

CodeLesson courses are taught online; there are weekly assignments but no set meeting times for classes, which works well if you have a day job, as most CodeLesson students do.

That said, there is plenty of structure, including weekly readings, message board Q&As, and several hands-on assignments each week that are evaluated by each course's instructor. Most courses have screencast videos and some have live chats.

<comment><USER6> Thanks Jeffrey. I think it would be great if you put your summary from above as the top of the FAQ. I finally read through the entire thing and saw everything you mentioned, but it is just too much for a quick overview (to answer the first question that came to my mind - is this worth $xxx?).

<comment><AUTHOR> I agree that we do need to do better at conveying what our courses are like. We'll do more in the near future to make that happen -- a guided tour on codelesson.com is one obvious and easy thing we have planned.

Another thing we're planning are free courses -- our first one (on programming the Etsy API) will take place in December. Taking a free course might be a good entree to what CodeLesson is about if you're unsure as to whether it's for you or not.</comment></comment></comment></comment>


Ask HN: Has anyone here self-published a book? Any advice? - <AUTHOR> Hi there,
I am close to finishing my book and keen to get it published. I figured it would be easier to self publish (could be a wrong assertion), and wondered if anyone had any advice? Have you done it before? Anything to avoid? Anything I should definitely do? Any good sites to promote it on?
N.B. The book isn't a technical book. It is a comedy book set out in the style of a blog.
thanks! <comment><USER3> I've self published two books now ("Double Your Freelancing Rate" and "Sell Yourself Online: The Blueprint") Together they've netted me a little over $100k in revenue.

1) Don't write in a vacuum. Build an audience of people who want to buy (double points if you presell to them), and deliver value to them once a week in the form of takeaways from chapters you've just written, thoughts you have on the subject, etc.

2) "It's a comedy book" means you're likely selling to consumers, and it's pretty hard to explain the value (e.g. why someone should pay you for your book) when you're selling to a consumer.

3) Don't promote the book, promote blog posts that reinforce what you're writing that end with a call-to-action to join a mailing list.

4) I'd usually say setup multiple packages, but again, I'm not sure if that'd work for a consumer product.

<comment><AUTHOR> This is really useful advice, thanks. So the book is actually based on a blog that I write and a sitcom that I've had produced ([http://www.youtube.com/watch?feature=player_embedded&v=Eu6Ef...](http://www.youtube.com/watch?feature=player_embedded&v=Eu6EfnsgVUk)) and so I've built a small audience, but a passionate one, and have captured mails of people who want to buy the book. Currently that is sitting at around ~750 people.

I'll look to get on the mailing hunt more and do some of the things you suggest above. Thanks!

<comment><USER4> That kind of audience is a great starting point for a Kickstarter if you're looking to raise funds. I'm currently in the process of self-publishing a technical book. My Kickstarter is wrapping up soon, and it's done really well [1].

[1] [http://www.kickstarter.com/projects/1223051718/practical- fla...](http://www.kickstarter.com/projects/1223051718/practical-flask-book- project)

</comment></comment></comment><comment><USER5> I'm also about to publish my first book (about a guy called Elon Musk). Here are some links I've saved that were interesting to read:

Selling my e-book on Amazon ([http://snook.ca/archives/writing/selling-ebook- on-amazon](http://snook.ca/archives/writing/selling-ebook-on-amazon))

How you can make a million writing your own e-book ([http://www.dailymail.co.uk/home/moslive/article-2040044/Kind...](http://www.dailymail.co.uk/home/moslive/article-2040044/Kindle- How-make-million-writing-e-book.html#ixzz2ZDvfiNPB))

How to Write and Promote New York Times Bestsellers: Tim Ferriss and Jack Canfield ([http://www.fourhourworkweek.com/blog/2012/09/01/how-to- write...](http://www.fourhourworkweek.com/blog/2012/09/01/how-to-write-and- promote-new-york-times-bestsellers-tim-ferriss-and-jack-canfield/))

How to (Really) Make $1,000,000 Selling E-Books – Real-World Case Studies ([http://www.fourhourworkweek.com/blog/2013/04/04/how-to- make-...](http://www.fourhourworkweek.com/blog/2013/04/04/how-to- make-1000000-selling-e-books-tactics-and-case-studies/))

How I Used Hacker News to Sell My eBook ([http://rubysnippets.com/2013/04/26/how-i-used-hacker-news- to...](http://rubysnippets.com/2013/04/26/how-i-used-hacker-news-to-sell-my- ebook/))

An eBook pricing model that resulted in $100,000 in sales ([http://blog.asmartbear.com/selling- ebook.html](http://blog.asmartbear.com/selling-ebook.html))

5 rules to sell thousands of copies of your ebook ([http://mir.aculo.us/2012/10/20/5-rules-to-sell-thousands- of-...](http://mir.aculo.us/2012/10/20/5-rules-to-sell-thousands-of-copies-of- your-ebook/))

</comment><comment><USER6> My friend Duncan McGeary is writing again.

His timeline is.

\- Hermit, single guy, writes and gets three books published in the 80s

\- He Marries

\- Purchases a pop culture / comic book / store of awesomeness

\- Can't keep writing and keep up his business and his family, so he quits writing

\- The business expands (Sports Card Bubble, Pog Bubble, some other bubbles) opening 3 other locations

\- The business contracts (bubbles pop)

\- Focues on making one location super solid

\- Gets his business dialed in

\- Finally pays off all his debt, store is doing really well

\- Works two days a week at the store, hires solid employees

\- Devotes other remaing days to writing books

\- Has been publishing ebooks

\- Has tried to go the traditional publishing route

Take aways

\- The dude has been around the block

\- He writes at least one blog post a day (he has been doing this for 5+ years)

\- He shares A LOT about what he is doing (store front business, book writing strategy, business strategy)

\- He has hired artists

\- He has hired an editor

The one warning I'll give, is a lot of the time his blog is him processing. You really are reading the guy's journal. So it may feel he repeats himself. I personally enjoy existing in the guy's head. It is a different type of blog. One where you eventually see him work stuff out and you almost get that "AHAH!" moment with him.

I really respect Duncan. I'd tell anyone interested in either business or writing to follow the guy.

[http://pegasus-dunc.blogspot.com/](http://pegasus-dunc.blogspot.com/) [https://twitter.com/PegasusBooks](https://twitter.com/PegasusBooks) [http://amzn.to/149vsQG](http://amzn.to/149vsQG)

</comment><comment><USER7> <shameless plug> I actually just announced the launch date for my self- published ebook this morning: [http://www.petekeen.net/announcing-mastering- modern-payments...](http://www.petekeen.net/announcing-mastering-modern- payments-using-stripe-with-rails) </plug>

I've been working on it for a few months after reading Nathan Barry's excellent book Authority. Based on that I started a mailing list right away and have collected a few hundred email addresses that I can market to.

I can't say I have any concrete advice (bdunn's advice sounds great, though). Best of luck to you!

<comment><USER8> I second the recommendation for Nathan Barry's book Authority.

</comment></comment><comment><USER9> Guy Kawasaki just published a book on self publishing called _APE (Author, Publisher, Entrepreneur): How to Publish a Book_ ([http://apethebook.com/](http://apethebook.com/)).

<comment><AUTHOR> Awesome, thanks! Will buy this and have a read!

</comment></comment><comment><USER10> We haven't done it yet but are in the midst of the process. We talked with Kevin Gao who sold more than $100,000 of his ebook in a single year and is now running HyperInk (a publishing company you might want to look at). We shared what we learned from Kevin here -> [http://www.kickpreneur.com/what-kevin-gao- taught-us-about-pu...](http://www.kickpreneur.com/what-kevin-gao-taught-us- about-publishing-an-ebook)

Hope you find something helpful there.

<comment><AUTHOR> This is really useful, thanks very much!

</comment></comment><comment><USER11> A subquestion, if I may: Anyone know a good way of finding designers for the cover? Preferably designers who've done some work in publishing before, since what makes a good book / ebook cover is not the same as what makes a good website design.

<comment><USER12> I used bookdesigners.com and was totally thrilled with them. I used to be a graphic designer, and discovered what you mentioned: good web design is not the same as good book cover design. They were pricey: $1500, but I figured an excellent cover was the best place to put marketing $$. I haven't made that money back in sales yet, but I still think I got good value for what I paid.

</comment></comment><comment><USER13> I self-published a book on Regular Expressions...it's free, but people have donated a few hundred dollars to me:

[https://leanpub.com/bastards-regexes](https://leanpub.com/bastards-regexes)

I used the Leanpub platform, which is more targeted toward technical writers, though it provides a great number of conveniences if you're writing something that is published in piecemeal.

I think the general advice is...get _known_. If you are self publishing, then you are on your own in terms of promotion. Put together a list of bloggers/sites who might be interested in reviewing your work and send it out. Create your own micro-site devoted to the book and publish excerpts that you think might stand on their own and generate interest.

Self-publishing is only easier in the sense that it is easy to put something out there. It doesn't make it any easier to get discovered or be successful

<comment><USER14> I've also published a book with Leanpub ([https://leanpub.com/learn- python/](https://leanpub.com/learn-python/)) and would definitely recommend them 100%. There is, essentially, zero downside in going with them, as they only get 10% of what you make, provide an excellent platform, and don't mind if you publish anywhere and everywhere else.

I particularly like the fact that you can publish a single chapter of the book, people can buy it, and you can keep writing it and improving it (with feedback) and people will continue receiving updates for ever. I just love it.

My advice would be, get on Leanpub _now_ (or, well, two months ago), let a few people discover and give you feedback on the book, see what works and what doesn't, and then publish the final thing somewhere else, if Leanpub isn't working for you, using the feedback you've gotten.

Also, everyone else's advice sounds sane too.

</comment></comment><comment><USER15> I published 4 books. First I used chapbooks.com, which no longer exists. After that I tried lulu.com and the problem was the distribution. They don't have a good deal to distribution worldwide and part of my audience was in other countries other than US. I then switched to using createspace from Amazon. The process was a lot easier and smoother with Amazon and the distribution is better there too. I started with the print on demand version and it was very easy to make the ebook version. The books are available on Amazon site and can be sold worldwide.

<comment><USER16> Could you elaborate on the problems with distribution at Lulu?

<comment><USER17> Lulu printing is very affordable and the shipping for a medium sized book is 5$ in US, 6$ in Canada. Outside of North America they charge for 10+ shipping if I am not mistaken...

</comment></comment></comment><comment><USER18> have you looked at [http://leanpub.com](http://leanpub.com) ? It is a great platform to self publish.

<comment><AUTHOR> Thanks, I haven't heard of Leanpub. Will take a look. Thanks again.

</comment></comment><comment><USER19> I started self-publishing how-to guides last year and created a company around it. I started with a single title ( _Dropbox In 30 Minutes_ ) that I wrote in about 10 days and released through Amazon's Kindle Direct Publishing program and as a PDF. It was a low-cost, lean, DIY approach. I had friends proofread it and created a simple product website using a modified Blogger template. I even did the cover myself. I just wanted to see if the topic and the concept resonated with readers. It did, so I began to optimize -- I hired a professional graphic artist to redo the cover (1), distributed the ebook to other platforms (iBookstore, Kobo, and the precursor to Nook Press), built out a better website on WordPress, and even created a paperback version through the CreateSpace print-on-demand service. I also started writing new titles, and eventually, contracted with other writers. There are now eight "In 30 Minutes" guides, and I am expanding into areas outside of software. You can see the current catalog here (2).

My advice to anyone else considering self-publishing:

* Start with Amazon KDP and CreateSpace. Both services are easy and fast. It's the quickest way to test an idea.

* Be prepared to iterate quickly based on reader feedback.

* Consider paying $100 or $200 for a decent cover. You can find designers lurking around the online writing communities (such as kboards.com for fiction) or hire someone on oDesk. Make sure they have experience designing book covers, which will save time and frustration.

* Have someone proof your manuscript. I see lots of writers who skip this step, and suffer in the ratings and reviews as a result.

* Have a cover blurb and Amazon description that grabs people. Also, make sure that readers can easily find out about you, either through the product listing page (which Amazon grabs from Amazon Author Central) or your own product website.

* If you want to use other platforms, Apple's iBookstore seems most promising. It's hard to set up, though. "iTunes Producer" is a very rough piece of software. However, if you've worked on iOS apps in the past at least you will be familiar with iTunes Connect, which is used to set pricing and monitor sales.

* I have sold many PDFs, but I am not sure how that would work for fiction. I started with e-junkie but switched to Gumroad (3) which has a much better interface.

Marketing is tough. One thing you can do once you have a print version through CreateSpace or another service, join Goodreads (a social network for people who love to read) and set up a Goodreads Giveaway (4) (a contest for your book that Goodreads runs -- usually a few hundred people sign up, and you have to send out 10 or 20 copies to winners that GR selects). It's free to set up, but you'll have to purchase and send out copies of the book to the winners of the giveaway. The advantages of this: Readers often write reviews, which are seen by other GR members. Many other people will put the book on their "to-read" list, and some will go out and buy the book right away because they don't want to wait to see if they won a copy.

Good luck!

1\. [http://www.digitalmediamachine.com/2012/09/do-people- judge-e...](http://www.digitalmediamachine.com/2012/09/do-people-judge-ebook- by-its-cover.html)

2\. [http://in30minutes.com/](http://in30minutes.com/)

3\. [https://gumroad.com/](https://gumroad.com/)

4\. [http://goodreads.com/giveaway](http://goodreads.com/giveaway)

<comment><USER20> As someone who is writing a book, that is hugely inspiring! Thanks!

Btw, does Gumroad support Bitcoins?

<comment><USER19> I have never seen any reference to bitcoins in their support pages. But their payment forms and customization options are excellent.

</comment></comment></comment><comment><USER21> Hmm. There is self-publishing and then there is not publishing with a legacy publisher. I recommend the later -- every writer needs a little help.

So technical stuff out of the way: * don't use MSWord (probably obvious), but it is way easier if you write in UTF8 with basic mark-up for italics. Markdown is great. * create an epub and then think about Kindle. You want to be everywhere. You need both formats so (Amazon is your primary target market) but it's easier on everybody if Kindle formatting comes second. * eReader specs are all over the map -- it's like a throw back to the browser incompatibilities from 10 years ago -- so clean mark-up is vital. If you want your book to look good on as many devices as possible, don't use a conversion meatgrinder (like calibre) to create files. Do look carefully at lean pub.com or pressbooks.com, especially if you don't need your hand held in this area. * you will need to buy an ISBN, either directly or through a third party

Editing * you need an editor -- your wife, your neighbour, a freelancer -- somebody needs to _edit_ your work. Don't be fooled otherwise, even if you write a blogpost a day and have for the last two years. Good editors will catch problems with tone, spot areas that are confusing, and generally shape the work. This is especially important because writing down complex thoughts is hard. A lot of people think they have a book in them, when really they just a magazine-length article or a blog post or an idea for a tumblr. A good editor will call BS on your ambitions. * proofreading is not editing. Have someone that isn't you or your editor look over your work before you publish

Selling and Marketing * If you are going to spend any money what so ever on your project, spend it on the cover. Self-publishing is plagued by terrible covers and even pro designers trip up when they try to approach ebook images. Do yourself a favour and hire a real book designer. If you can't afford it upfront, publish first and then redesign the cover later. * You want to be on Amazon, B&N, Kobo, iTunes, and (maybe) Google Play. You can take this upon yourself or get help from a service like SmashWords or Bookbaby.com * And of course sell on your own site and through your own newsletters using shopify or the like. * Again, it should be obvious your book is not going to sell itself.

All that said, the hardest thing is the writing so get to it.

</comment><comment><USER22> I've published 11 books, and that's actually how I make my living these days. My older books are on entrepreneurship and related topics, while my later work is narrative nonfiction (travel-based tales from my lifestyle on the road) and, more recently, speculative science fiction.

I've played in the completely self-controlled arena and more mainstream platforms (Amazon, Kobo, etc), and am happy to answer any questions you might have :)

Broad advice: Think very carefully about what you hope to achieve with your book. If you want to build a brand/platform/business/audience long-term, put out some free work to start, and show people what you're capable of. If you're looking to make a living from this book, publish some smaller works (blogs or short ebooks) first, to give people that sample, and build up a small list.

Treat your readers with respect, but don't take all advice given (filter!). Don't over-advertise. Do your best to incentivize sharing of your message and work without straying into over-marketing territory.

Recognize that you'll make a lot more money publishing yourself (through something like Gumroad or e-junkie), but you can get more organic traffic through a platform like Amazon (and there are MANY pros and cons to both paths). Also recognize that you can play in both arenas: use Amazon to gain new readers, and have other work available outside their ecosystem.

Remember, too, that there are still things that Big Six publishers (and their smaller, traditional publishing counterparts) do really well, and ideally indie authors don't see the publishing world as 'us' and 'them' — just two sides of the same coin. You can build up a library of work that you indie publish, and then seek a traditional contract and have more control over the process (having an existing audience to leverage), and the negotiations (they provide prestige that can get you in places that are otherwise difficult to get your book, like airport bookstores, and PR materials that can help you get on talk shows and such — some people still won't consider you a pro author until you've got a Penguin or HarperCollins logo on the spine of something you've written).

(Also: Consider the phrase 'indie published' over 'self published,' as the latter tends to imply the equivalent of a garage band, while the former implies something more akin to indie films or indie music — personal preference, but something to note when you're telling people how your book is published).

Again, happy to expand on any of this if you want to reply here, or shoot me an email — colin at exilelifestyle dot com

Best of luck whichever path you end up taking!

<comment><USER23> What would you consider a small list to be, 1000, 5000?

<comment><USER22> You can start making moves at even 100, so long as the people on the list are into you and what you're doing (rather than fly-by-night joiners, or people bribed into joining your list).

But 500 is great (with that same kind of audience), and by the time you get up to a few thousand really engaged, interested readers, you're set. You may not make a livable wage right away, but you'll be making SOMETHING, and from there all you have to do is keep doing good work and publishing it (and as you build a back catalog, each new release can lead to a big boost in sales of your past work, as well).

</comment></comment></comment><comment><USER24> I've self-published a book about Open Sound Control: [http://osc.justthebestparts.com/](http://osc.justthebestparts.com/)

It's meant to be something of an adjunct to some other in-the-works books. These other books (one about hacking the XBox Kinect, the other about the Leap Motion) make use of OSC, and I didn't want them to become bloated or sidelined by an explanation of OSC, especially for people who may not need it.

One of my goals is to keep the books short, on-topic, and to the point (hence "just the best parts").

Some advice: Know the limitations of your publishing formats. I started out writing the book on the Web, only to learn that HTML that works nicely in a full-size browser can end up as crap when rendered for epub.

Yesterday I did a giveaway of my book because it was my birthday. I think that did more to get attention for the book than anything else. (I'm leaving the free download in place for a few hours more if folks here want to grab it.)

People often say you need to promote the book with blog posts and stuff. I agree, but what it means is you are, in a way, now writing two books (or something). There's not just the work to create the book, there's the work to create the material to promote the book.

I've made the book available online as well, but even then it's hard to get attention. I've started doing some screencasts of some of my OSC software.

Bottom line is I tend to write because I enjoy it and I want to make certain information available to people. I want to see more artists get comfortable with technology. Ideally, though, I can manage some decent return on my time so I can continue doing it.

</comment><comment><USER25> Self-published a book in April, which is now selling in Paperback and Kindle versions ([http://www.amazon.com/Berkshire-Hathaway-Letters- Shareholder...](http://www.amazon.com/Berkshire-Hathaway-Letters-Shareholders- Buffett/dp/1595910778)). It's been doing pretty well although there was a built-in audience and it's not too difficult to market a book when the author is Warren Buffett.

I did a printing of the book and am selling the physical version on Amazon Advantage. Advantage takes a 55% cut of the List Price, and handles all shipping, ordering, etc. I just have to send them inventory when needed.

The program works, but so far in my experience it's a huge pain in the ass. They send out Purchase Orders when they need more inventory and it's pretty unpredictable (an order could be 4 copies or 900, which means shipping really changes my COGS). They also "lost" a shipment of 800 books that took them a month to find. So I wouldn't recommend Amazon Advantage unless there isn't another option.

</comment><comment><USER26> It's a trade off. Publishers can give you marketing, proof-reading, cover design, book layout, etc. But you get paid much more per book if you self- publish and you have more control over the final product, price, marketing strategy, etc.

It's relatively straightforward to get freelance proof-reading and cover design. You could use something like LaTeX to layout the book and if the market you are targeting is relatively niche then you can market it at least as effectively as a publisher, by using a blog / website.

How much hassle do you want? How much money do you want? Is there a publisher who wants to publish your book? Do you have a ready made market?

I've self-published a book on a niche topic. I used Lightning Source, a print on demand company. They expect you to give them everything print-ready. Some print on demand companies like CreateSpace will hold your hand a bit more.

Personally, I enjoyed learning all the things that were needed to get my book into print. It's also nice to make much more per book (~70% or the cover price rather than ~10%).

</comment><comment><USER27> I'm self-publishing two in-progress JavaScript books with Leanpub, and have had a fantastic experience so far.

They basically share a Dropbox folder with you and let you edit your book in Markdown. For me this means that I'm easily able to work with my normal text editing tools rather than learning something completely new. When I want to publish/preview a new version, I just log into their site and hit the appropriate button, which will autogenerate the PDF, epub and mobi files, putting them in the shared Dropbox folder.

The other nice thing about them is that they will let you start selling your book while it is still in progress, so you can get feedback from real customers about what they would like to see in the book.

A Drip of JavaScript: [https://leanpub.com/a-drip-of-javascript- book](https://leanpub.com/a-drip-of-javascript-book)

Jasmine Testing: A Cloak & Dagger Guide: [https://leanpub.com/jasmine- testing](https://leanpub.com/jasmine-testing)

</comment><comment><USER28> I wrote a comedy book in the style of a blog. Let me know if you have any questions. [http://www.amazon.com/First-World-Problems-Terrorists- ebook/...](http://www.amazon.com/First-World-Problems-Terrorists- ebook/dp/B006OGG4D6/)

Things I've learned: \- The cover is very important. Don't design it yourself. When thinking about the book design, make sure it looks good small. Half of the time your cover will be seen as a thumbnail online. \- Pay someone trustworthy to edit your book. I paid a guy on Craigslist as first and got what I paid for... \- Submitting to the Kindle store and paperback through Createspace is fairly easy. \- The program Scrivener is amazing. Besides being a great writing tool, it outputs to the Kindle format (as well as every other format).

I wrote out the step by step process here: [http://bennesvig.com/how-i-wrote- a-book-step-by-step/](http://bennesvig.com/how-i-wrote-a-book-step-by-step/)

</comment><comment><USER29> Publicity and visibility will be your biggest challenge. There's a reason Charles Dickens was on an American reading tour in 1867-1868: visibility and publicity.

Here's an example of a graphic novel self published, initial print run crowd funded. A Possibly useful example.

Jason Brubaker developed a following for years by blog, showing the actual pages and process for creating his intended book. Then he took his community to kickstarter to fund the initial print run, and initial orders too, and initial publicity beyond his blog (aside from guest posts at other comic author blogs). He's done a second one book the same way, too.

The book: reMind

His fundraising story: "Grassroots Funding with Kickstarter.com" [http://www.remindblog.com/2010/10/14/grassroots-funding- with...](http://www.remindblog.com/2010/10/14/grassroots-funding-with- kickstarter-com/)

</comment><comment><USER30> I published a book on Cheetah 3D (a nice 3d program for Mac OS X that conspicuously needs a manual). You can find out about it here [http://loewald.com/c3dbook/](http://loewald.com/c3dbook/)

The main thing I learned is that if you need to sell your book for more than $10 (if it's aimed at a vertical market) split it into multiple $10 books or you'll be screwed by Amazon (which gives lower royalties for books between $10 and $20 than for $10 books). I ended up only selling my book through Apple and Lulu (and BN but that's useless).

Another problem is I've found most of the epub tools I've used to be fairly awful. Were I doing it over again I'd probably write the whole book in markdown and convert it to epub using scripts.

</comment><comment><USER31> Hey, co-founder of Leanpub here. There is lots of great advice in this thread, and the comments about Leanpub have made my day. I just wanted to say that you should feel free to shoot us an email at email@example.com if you have any questions.

Good luck, whichever route you choose.

</comment><comment><USER32> I published my first book a month ago. Fiction. E-book. So not unlike a vanity press of old. My book is a comedy as well. Well, sci-fi comedy adventure with some romantic elements. The Dread Space Pirate Richard. With most of the majors including [http://www.amazon.com/dp/B00DIAYCLW/](http://www.amazon.com/dp/B00DIAYCLW/)

I'm so new to it don't feel I can give any authoritative advice. I have sold copies. I have not hit the lottery. But it's a great feeling of accomplishment. Feel free to ping me via the email addr in my HN profile.

My next book will be technical, on Software Performance and Scalability. Then switch back to a sequel to DSPR.

<comment><AUTHOR> Thanks, I may well take you up on that! Good luck with your book..

</comment></comment><comment><USER33> I've self-published 2 editions of C++11 Rocks (for Visual Studio 2010 and Visual Studio 2012): [http://cpprocks.com](http://cpprocks.com)

I wrote a post about some of the things I learned from it: [http://korban.net/2013/04/10000-in-sales-of-my-c-book- easier...](http://korban.net/2013/04/10000-in-sales-of-my-c-book-easier-than- i-thought/)

Two things I can say (also discussed in the post above): I wouldn't go with a traditional publisher now (with the exception of Pragmatic Programmers), and marketing isn't as hard as I thought, but it's definitely a long term effort.

</comment><comment><USER34> I used iuniverse. Their service is pretty good, although their support can be sucky and they tend to spam you a lot with newsletters (it's almost impossible to get off their mailing list unless you yell at them a few times). I think I'd still use them again.

Some advice:

\- Spend a lot of effort on designing the cover, as you can't easily change it afterwards and it makes a big difference to whether or not people will buy your book.

\- Proof read it thoroughly multiple times (and get someone else to proof read it as well if you're not 100% confident in your own spelling/grammar).

\- Don't expect to sell many copies unless you do a bunch of marketing yourself.

<comment><USER35> _Spend a lot of effort on designing the cover_

Did you hire someone for this? If so, who?

<comment><USER34> No, I did it myself and ever since I have been disappointed with the result. If I did it again I would definitely spend a lot more effort on this (or get someone to do it, although that isn't always easy to do).

<comment><USER35> _someone to do it, although that isn 't always easy to do_

Exactly. I am getting ready to self-publish and am facing this problem. So far this group: [http://bookcoverexpress.com/about-book-cover- express.html](http://bookcoverexpress.com/about-book-cover-express.html) looks promising, but they don't list prices, which is seldom a good sign.

</comment></comment></comment></comment><comment><USER36> I have used publishers like Springer-Verlag, McGraw-Hill, J. Wiley, etc. in the past - a nice experience. I am now using leanpub.com and I am very happy with them. They take all the hassle out of writing.

I recently released the 4th edition of my Java AI book on leanpub.com [https://leanpub.com/javaai](https://leanpub.com/javaai) and in a few weeks the 3rd edition of my "Loving Common Lisp. The Saavy Programmer's Secret Weapon" will be released.

Leanpub.com pays 90% royalties, minus a $0.50 handling charge so you might be pleasantly surprised how much money you can earn.

</comment><comment><USER37> I'm founder of Sellfy and we have many ebook publishers on our platform - <USER2> see what works and what doesn't so I'm happy to share few tips if you are interested.

Here are few quick tips:

1) Build your audience beforehand (email, social) as it will power your sales once you launch your book.

2) Try to do guest blogs and get reviews from other bloggers on your book. Send them free copies etc.

3) Launching is easy but holding the revenue steady requires a lot of work so plan to spend some time post-launch to promote your book.

*) To optimize revenue think about several pricing options.

Feel free to contact me maris[at]sellfy for more info!

</comment><comment><USER38> While we're on the subject, what are some good tools for receiving feedback, editing, and incorporating that feedback?

Draft ([http://draftin.com](http://draftin.com)) is pretty good for this, but not designed for larger scale projects like ebooks.

Leanpub is awesome for distributing early / unfinished copies and opening the doors for feedback, but as far as I know, does not have any built in tools for collecting and integrating feedback or edits (gramatical, writing structure, etc).

Any ideas?

</comment><comment><USER39> I self-published a book and built a platform around the sourcing for it.

[http://www.aarongreenspan.com/authoritas.html](http://www.aarongreenspan.com/authoritas.html)

I answered a question on Quora about this general topic a while back.

[http://www.quora.com/Self-Publishing/Are-there-any-self- publ...](http://www.quora.com/Self-Publishing/Are-there-any-self-published- authors-on-Quora-Can-you-share-your-experiences-with-the-group/answer/Aaron- Greenspan)

</comment><comment><USER40> * Get a copy editor

A copy editor will challenge your sentence structures, paragraphs, overall flow, and much more.

Compare what you wrote before the copy editor did their work, versus after - you'll see a big difference.

Note that copy editing is often an iterative process - so you'll work with the editor as you complete your revisions.

Yet in the end it is your book, so you don't have to follow the copy editor's suggestions if you think you're right/know your topic more than he or she does/etc.

</comment><comment><USER11> A related question about making books freely available:

I'm currently writing a book about neural networks and deep learning. Ideally I'd like to make the book freely available online, with paid ebook and hard copy versions. But I'm uncertain about the impact a free online version will have on sales revenue. Anyone with much hard evidence? Or suggestions for how to make a reasonable amount of money, while keeping the book freely available?

<comment><USER41> Maybe instead of free online version you could try "pay what you want" approach? It takes the choice off the shoulders of your readers and increases the chance that the book will be actually read. Will it hurt the sales? I guess to the same extent that the online version (people can save the webpage as pdf anyway).

</comment></comment><comment><USER42> Gayle Laakman has a good post about self-publishing, and a lot of the hidden downsides, and why going the traditional route is often better (and more profitable).

[http://www.technologywoman.com/2012/07/09/the-dirty-truth- ab...](http://www.technologywoman.com/2012/07/09/the-dirty-truth-about-self- publishing/)

</comment><comment><USER43> If someone hasn't mentioned it yet: [http://www.smashwords.com/about/how_to_publish_on_smashwords](http://www.smashwords.com/about/how_to_publish_on_smashwords)

I found it to be a great resource for finding information as well as people to do the cover and/or formatting of the eBook.

Yes I have one out... :)

</comment><comment><USER44> I self published a book over a year ago. Happy to share all my sales data and let you know how I formatted it.

<comment><AUTHOR> That's really kind, thanks. If you're able to give me any advice then that would be much appreciated! Can be reached at stevewhyley at yahoo dot com. Would be very interested to hear what tools you used to format it. Thanks!

</comment></comment><comment><USER45> Glenn Fleishman's latest The New Disruptors podcast episode interviews a guy who did just that. Should be very relevant to what you are looking for. [http://www.muleradio.net/newdisruptors/31/](http://www.muleradio.net/newdisruptors/31/)

<comment><AUTHOR> Will check it out, thanks.

</comment></comment><comment><USER46> Not personally, but heard this a few days ago: [http://www.blubrry.com/theeconomist/1795098/kal-kal- kallaugh...](http://www.blubrry.com/theeconomist/1795098/kal-kal-kallaugher- on-funding-his-new-book-daggers-drawn/)

</comment><comment><USER47> Read this, tons of useful info here. [http://www.reddit.com/r/IAmA/comments/1a7jxd/i_am_hugh_howey...](http://www.reddit.com/r/IAmA/comments/1a7jxd/i_am_hugh_howey_the_author_of_the_selfpublished/)

</comment><comment><USER48> The only place a writer signs a check is on the back...

Use this to avoid scams:

[http://www.sfwa.org/other-resources/for-authors/writer- bewar...](http://www.sfwa.org/other-resources/for-authors/writer-beware/)

Best of luck!

</comment><comment><USER49> You could try using PapyrusEditor ([http://papyruseditor.com](http://papyruseditor.com) )

PS: I created this tool, let me know if you need any help.

</comment><comment><USER50> Since this forum is about hackers and developers, do developers buy ebooks related to programming or other technologies? Any tips or stats available?

</comment><comment><USER51> Try out netminds: [http://netminds.com/](http://netminds.com/)

</comment><comment><USER52> You can get some feedback on authonomy as well. It's free.

</comment><comment><USER53> i think this guy has: [https://news.ycombinator.com/item?id=6052626](https://news.ycombinator.com/item?id=6052626)

:D

</comment><comment> Link- Yeah, go up to Link #4 on the front page.

</comment><comment><USER54> Make sure you have a kick-ass cover.

</comment><comment><USER55> Congrats and good luck with sales!</comment>


Apple patents the page turn - <AUTHOR> http://bits.blogs.nytimes.com/2012/11/16/apple-now-owns-the-page-turn/?smid=tw-nytimesbits&seid=auto

<comment><USER2> I'm a little surprised to see the NY Times perpetuating the hysteria that typically follows patent issues with exaggeration of their scope and claims.

This is a _design patent_ , meaning that Apple has protection for _this specific animation_ and not page-turn animations in general. Note that many of the references cited (a good one is the O'Reilly article from 2004) depict page-turn animations, but differ from _this specific one_.

<comment><USER3> Is the design of this animation _novel and not obvious for all items_ , as the requirement for design patent puts it?

To me, this patent fails both. Its not novel, as substantially similar (legal term) has existed before in animated film. Its neither non-obvious for all items, ie, its a obvious way to illustrate a turning of a page for any application that want to illustrate a turning of a page.

<comment><USER4> It's novel only if the book is fiction. :]

<comment><USER5> Must be a hell of a page-turning novel.

I would like to propose the twitter test for patents: If the patent can't be summarized in 140 characters, it has been done before.

</comment></comment></comment></comment><comment><USER6> A prime example of a difference between Google and Apple both on HN front page at the same time. "Google Books team open sources a book scanner": <http://news.ycombinator.com/item?id=4793974>.

<comment><USER7> Maybe Apple shouldn't abuse the patent system this way.

</comment></comment><comment><USER8> The Register hints at an interesting new development - name and shame the "innovators":

[http://www.theregister.co.uk/2012/11/13/apple_page_turn_desi...](http://www.theregister.co.uk/2012/11/13/apple_page_turn_design_patent/)

"This massively complex concept required three inventors to craft it: Elizabeth Caroline Cranfill, Mikio Inose, and Stephen Lemay."

<comment><USER9> "The trio submitted application D/408,904 on December 19, 2011"

Yes, shame on them. They filed for a patent on a trivial animation, at a time when it was well-known the system was being abused.

<comment><USER10> It's not necessarily the inventors who filed it. More likely, it's an Apple patent lawyer. Naming and shaming the inventors is a bit unreasonable as inventors working for large companies may not have much sway over which parts of their work gets filed for patent protection.

<comment><USER11> I am pretty sure they at least need to sign it, which is why the common (overreaching and abusive) employment contracts include a clause saying that the employee will facilitate the filing of such paperwork.

I think naming and shaming is a good tactic. People should not be signing contracts with clauses like that in the first place, and if there is potential for future shame, maybe it'll make them think a bit more about it.

<comment><USER12> > I am pretty sure they at least need to sign it, which is why the common > (overreaching and abusive) employment contracts include a clause saying that > the employee will facilitate the filing of such paperwork.

Sadly, that's not the case: "Whenever all of the inventors _refuse to execute an application for patent_ , or cannot be found or reached after diligent effort, a person to whom an inventor has assigned or agreed in writing to assign the invention, or who otherwise shows sufficient proprietary interest in the matter justifying such action, may make application for patent on behalf of and as agent for all the inventors." 37 CFR 1.47(b).

<comment><USER13> Would the uncooperative inventors' names still be placed on the patent? Name and Shame seems reasonable to me, if not.

</comment></comment></comment></comment></comment></comment><comment><USER14> It's a design patent. They own this specific design/style for page turn animations, much like a trademark. Same goes for the music app icon.

The article also mentions the Apple Store's glass stairs and the iPhone packaging patents as if they are something ridiculous, when in reality both were very innovative (the stairs are still an unmatched engineering feat). The iPhone packaging went on to be imitated by everyone, right now I'm sitting beside an Asus laptop packaging that looks exactly like the iPad's.

<comment><USER15> > the stairs are still an unmatched engineering feat

What in the world are you talking about? It's stairs, made of glass, typical in high-end civic and commercial buildings the world over. So common are glass stairs that they have to be pointed out to be noticed.

Here's the patent if anybody is remotely interested in reading about commonplace construction materials [http://pdf.ifoman.com.s3.amazonaws.com/staircase_page_patent...](http://pdf.ifoman.com.s3.amazonaws.com/staircase_page_patent_c.pdf)

<comment><USER14> The stairs in the Apple stores are made almost _entirely_ out of glass. There are no steel beams holding it up, the glass itself bears the load. The ones you usually see at high-end buildings/shops only have glass steps and/or sides. And don't forget the curved ones [1][2]. They are also earthquake- resistant for the japanese stores.

[1] [http://www.macrumors.com/2012/02/29/stunning-photo-of- glass-...](http://www.macrumors.com/2012/02/29/stunning-photo-of-glass- staircase-at-amsterdam-retail-store/)

[2] [http://www.eckersleyocallaghan.com/projects/project/apple- sh...](http://www.eckersleyocallaghan.com/projects/project/apple- shanghai.html)

</comment></comment></comment><comment><USER16> It's an ugly skeuomorph (much like the ugly bookshelf skeuomorph). I won't be sad to see it not implemented by competitors.

<comment><USER17> I get that it's a skeuomorph, and that skeuomorphs are the cool thing to hate now, but what's ugly about it? I think it is very beautiful and elegantly done.

Are books ugly?

<comment><USER18> Why do we need a metaphor for a physical page on a digital device?

<comment><USER19> It helps alert the user to how the data they are being shown is changing.

There are lots of non-skeuomorphic animations that could serve this purpose... cross-dissolves, flashes, slide-ins, etc. This just happens to be a reasonably nice one, that fits with the "this-is-a-book" metaphor of iBooks.

Even the name of iBooks is "skeuomorphic". It would be more accurately called "iMedium-to-long-static-documents-available-for-purchase" but that's a fucking awful title. Everybody has an idea of what a book is, so calling it iBooks means users know that there are book-ish-things contained within.

An app called iBooks where the next page trickled down like the title sequence from The Matrix would be tacky as hell and users would ask themselves why their "book thing" was doing this non-book thing.

<comment><USER20> +1 for "iMedium-to-long-static-documents-available-for-purchase" !

</comment></comment></comment></comment></comment><comment><USER21> To start with its ugly. Also this has been used in Flash since around 2005. It would be a shame if Apple is granted this patent.

<comment><USER22> Even the Classics app did it on iOS before Apple.

<comment><USER23> Do you have some evidence that Classics had this before Apple ?

<comment><USER24> See the references on Wikipedia <http://en.wikipedia.org/wiki/IBooks#Controversy>

"Some have claimed that the iBooks interface is a near exact replica of Classics by Andrew Kaz & Phill Ryu, released over a year prior and even featured in Apple's own TV commercials. Apple has made no acknowledgement of this.[29][30][31]"

</comment></comment></comment></comment><comment><USER4> I seem to remember Amazon own a patent for just this.

edit: It was Microsoft: [http://appft.uspto.gov/netacgi/nph- Parser?Sect1=PTO2&Sec...](http://appft.uspto.gov/netacgi/nph- Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch- adv.html&r=1&f=G&l=50&d=PG01&p=1&S1=20100175018.PGNR.&OS=dn/20100175018&RS=DN/20100175018)

<comment><USER2> That's a patent _application_ , which was rejected earlier this year in light of a prior IBM patent (<http://www.google.com/patents/US5463725>) and another of Apple's (<http://www.google.com/patents/US7469381>).

</comment></comment><comment><USER25> It's a design patent, not an utility patent.

<comment><USER26> Unfortunately neither the tech-press, nor the anti-IP-period crowd have a particularly good grasp on just what utility patents cover, nor any apparent interest in learning.

So hoping they'll recognize, learn and appreciate the difference between a utility and a design patent seems a bit optimistic.

<comment><USER3> Design patents are only granted if the design is novel and not obvious for all items. Utility patent must be novel, non-obvious, and be useful (legal defined term).

Both has requirements that must be fulfilled. non-novel and obvious design can not, should not, would not if the patent system worked, be granted as a design patent.

</comment></comment></comment><comment><USER27> dated:2002 <http://www.actionscript.org/showMovie.php?id=459> shout yourself Apple

</comment><comment><USER28> You mean that page turn that was in no other reading apps before iBooks and is now in the Kindle app for iPhone? The one that doesn't exist on Sony e-Readers, Amazon Kindles, Kindle apps besides the iPhone one, Nooks, or any other reading device?

So... Apple doesn't own page turning, or animating the turning of a page, just this specific implementation of it in this context. Which, for the record is something they did invent. Nobody else in the market was using a page turn animation, and it's the first thing people show off about iBooks.

Yeah I'm just not feeling the outrage. I am getting more and more sick of this "Damn you patent system & Apple!" bullshit though.

<comment><USER29> What? Nobody else was using it?

Have you seen the Classics app for the iPhone? It appeared before iBooks and it had page turning. Apple even copied the bookshelf from them.

It's no bullshit, the system is being abused. Silly and obvious things like a specific implementation of pagination in ebooks are being patented by a company who wants to go "thermonuclear" with its competitors. And many act like it's OK. Why? Because it's Apple? They didn't innovate at all with iBooks.

<comment><USER28> > Have you seen the Classics app for the iPhone?

Nope, neither did anyone else. I was talking about major e-book competitors, not every reading app ever made regardless of popularity.

> Apple even copied the bookshelf from them.

That's funny because if you ask the Delicious Library folks, they would say it was copied from them. Just goes to show that the concept of a digital bookshelf looking like a real bookshelf is a good one.

> Silly and obvious things

First of all, the best ideas are obvious once someone has thought of them. Of course we all want a minimal tablet, right? Well that's news to Microsoft who was letting 3rd parties sell Windows tablets for a decade. Not one of those tablets was minimal or boasted a clean design.

Then Apple comes along and does it, everyone ridicules them, it sells like crazy. Now, suddenly it's obvious. As someone who has stood by them, it's hard to really give a shit that Apple is getting the patents they filed for.

I find it much more bothersome that the rest of the tech industry gets to use Jony Ive as their hardware designer than Apple being afforded some small protection from what is slowly becoming an industry of clones.

> And many act like it's OK. Why?

Because they filed and were granted the patent. Where is the patent from the Classics team? Exactly. If you aren't going to even participate in the system, don't be surprised when things don't go your way.

</comment></comment></comment><comment><USER30> The photoshop plugins: Kai power tools and alien skin. Already did page turn effects back in +-92.

</comment><comment><USER31> Apple patents the page turn. At first I read "Apple turns the patent page." But I guess this is not likely to happen any time soon...

</comment><comment><USER32> Apparently it increases pageviews to talk about patents and Apple in the same post. It doesn't even need to be accurate.

</comment><comment><USER33> Call me crazy, but it seems like the internet will correct the patent system by calling duds like this one. As specific patents get publicly criticized (be it design or utility), it not only helps correct examiner errors, but also puts pressure on patenters to file only worthy patents.

</comment><comment><USER34> I can't say I mind too much. I'll be surprised if the book analogy stays around for much longer.

</comment><comment><USER35> Would this be prior art for an animated buggy whip interface when accelerating an automobile?

</comment><comment><USER36> Am I being punked?</comment>


J-Startup News: Helping news people find news about journalism startups new biz models - <AUTHOR> http://jstartupnews.slinkset.com/

<comment><AUTHOR> The gist:

There needs to be a Hacker News for entrepreneurial journalists. I've pitched this idea to some of the foundations funding journalism startups without much response. So I set up a slinkset and a twitter account <http://twitter.com/jstartupnews>

I'll be posting news of new newspaper/government APIs, niche publications, and business models.

If it takes off, great. If not, I'll have a great archive of useful links.</comment>


Ask HN: BP oil spill and US - <AUTHOR>

united states is -the- engineering country of the world -first on the moon- landed on mars -when oil wells caught fire in saudi arabia or iraq it was us companies who knew how to stop it - when a ship founders it is us engineers who salvage it - oil industry itself started here - tallest buildings - longest bridges - this is a country built by engineers - why then doesnt the president issue an order to his engineers -money is no object stop that leak now- does anyone has an explanation why the us engineers cannot stop this leak <comment><USER2> The problem is the pressure and weight of the water combined with the temperature a mile below the sea. Nobody knows how to build stuff that deep under water, it is all hypothetical, unicorns and rainbows, that is the problem.

</comment><comment><USER3> The US didn't make it to the moon overnight or mars in a week. It took years of careful planning and failing and redoing. The oil companies promised everything was under control and covered any lingering doubts with political contributions (that's what we call bribes here).

The leak is so deep it may as well be in outer space. The US will come up with a top notch oil well patching under thousands of feet of water solution, but it will take time.

They just need to start on this solution a decade ago.

</comment><comment><USER4> The depth at which this leak is happening elevates it to an entirely new problem compared to any previous spill. noonespecial was right when he said it may as well be in outer space; in fact, one of the lead engineers working on the problem was brought in due to his research adapting mining techniques for _off-world_ situations. Having an army of engineers in a case like this is no more effective than mobilizing HN to tackle P vs NP.

<comment><AUTHOR> This is what I mean. It seems to me that US has lost its engineering can-do edge. In 1955 going to the moon looked like science fiction and impossible. But that was not a deterrent. If this leak happened 50 years ago, instead of coming up with excuses, US would have fixed it by now.

<comment><USER4> We didn't go from zero to the moon's surface in 60 days. My point was that this isn't a numbers game; more engineers doesn't mean things will get done faster. Really, two months is not a long time at all considering what they are trying to accomplish. They don't really have the luxury anymore to be able to constantly experiment and iterate.

</comment></comment></comment><comment><USER5> Because once you leave hypotheticals behind, money _is_ an object.</comment>


Is SEO Still Worth It in 2015? - <AUTHOR> http://searchenginewatch.com/sew/how-to/2386695/is-seo-still-worth-it-in-2015?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+sew+%28Search+Engine+Watch%29

<comment><USER2> In all seriousness, SEO in the sense of the word that we used to know has not existed for a long time now. Once upon a time SEO was really just counting how many incoming links your site had and the keywords you were using.

Search engines like Google have become far more advanced in the last 4 or so years in regards to what they can parse and understand. They don't just follow links, they analyse your content, they factor in the response time of your site, whether or not your site is responsive and tonnes of other things.

I think the best kind of SEO in 2015 and onwards is just building a great site. Nicely optimised, use gzip compression, minify and combine your CSS and Javascript, use icon fonts and the big one: write great content and people will naturally link to it.</comment>