UBook – Markdown for eBooks - <AUTHOR> http://ubook.info/ <comment><USER2> I don't think this is a bad idea per se, but it seems to me that comparing it to Markdown is a poor way of communicating the intent and utility of this markup language. Markdown's central design principle is that, by adopting semantic markup conventions from email, it is readable in plain-text form even to someone who hasn't set out to learn the conventions. That severely limits the kind of thing you can express in Markdown, but that's an acceptable (even desired) tradeoff in the majority of situations where Markdown would be useful in the first place.

Because Markdown doesn't cover everything, and because there are other sets of semantic markup conventions used in a plain text setting, there's certainly room for "Markdown-likes" which attempt to replicate the same kind of effort with those other conventions in mind. For example, Fountain[1] is a language for writing screenplays, and its conventions are a fairly close (though not as close as possible) approximation of the same ones used in real screenplays.

I've never authored a manuscript for a book, so I don't know myself whether such conventions for things like tables of contents exist in the publishing world. But I have a feeling that if they do, they wouldn't look like this. What UBook actually reminds me of is troff/nroff macro syntax[2], which was developed for a similar purpose and is still in use today as the lingua franca of Unix manpages.

You've implied in other comment threads that you don't really intend this for writers to use directly. If this were to be the output of a more user-friendly writing tool, I'm curious what such a tool might look like, and how it could differ from existing WYSIWYG rich text editors (where everything looks like a nail and your hammers are labeled "bold" and "bigger font"). For example, how would you represent section and paragraph structure in an editable way without the use of inline control characters that you edit the same way as other text? I don't think I've ever seen an editor built that way, but if that's what you're going for, I look forward to it.

[1]: [http://fountain.io/](http://fountain.io/)

[2]: [http://liw.fi/manpages/](http://liw.fi/manpages/)

</comment><comment><AUTHOR> UBook is a universal language to help authors, publishers and book designers easily markup and format books. Like markdown it uses simple, semantic tags to create a plain text file that can be transformed into something more complex such as HTML, saving the compiler the job of managing complex code.

It is designed as an intermediary language but it is hoped it can be a publishing language in its own right.

It can handle any type of book, from simple novels to very complex textbooks. Although similar to markdown it has a number of features to cope with the specific demands of book publishing:

1\. The table of contents is compiled automatically using a simple, intuitive method;

2\. No footnotes or endnotes;

3\. Structural components unique to books are included e.g. scene breaks and page breaks;

4\. Complex elements are included e.g. tables, links, images and indexes;

5\. The final file is just a zip file; the manuscript is a plain text file.

UBook is a not-for-profit, open project designed to solve a problem. It simplifies the production of ebooks, and focuses on a universal method of doing so. It is at a pre-release stage, and I would welcome any insights you have to offer.

If you have an interest in ePublishing, web languages, HTML, markdown etc. please do check it out.

<comment><USER3> > No footnotes or endnotes;

I must be misreading that. How is lack of support for footnotes and endnotes a positive feature, as opposed to a glaringly missing feature?

> saving the compiler the job of managing complex code.

I re-read this 6 times, trying to figure it out. You mean, the human who creates the book?

On technical forums, I suggest you not use "compiler" in that sense, because we are accustomed to its technical meaning, of software that translates computer language.

On a positive note, I like markdown, and I dislike creating and reading XML by hand (although it works ok for software to deal with), so this seems like a fine idea to me.

<comment><AUTHOR> Footnotes are bits of text tagged on at the end, like Wikipedia for instance. UBook semantically tags them so they are available where the note exists in the book. Presumably a popup or panel when you touch or click the note marker in the text. It was a bad use of words. It was meant to convey the idea you didn't jump to the end of the chapter or book to read a note. HTML-based formats just use anchors.

Yes, compiler is ambiguous. The idea behind it is a clean interim language a writing tool could export to, and software could then adapt to other formats like Kindle etc.

</comment></comment></comment><comment><USER4> This appears way more complex than Pandoc, which can produce multiple output formats (yes, including ebooks) while using well know markdown syntax. Even the extensions to the syntax are a) from popular libraries (github, mmd) b) easy on the eye.

<comment><USER5> One up for Pandoc.

</comment></comment><comment><USER6> It seems that you've tackled a problem that doesn't really exist. Nobody really cares if the compiler has to manage complex code--that's what its there for. Pushing the work on to a human isn't the solution--the current html+css- based approach of the existing eBook standard already works well enough and there are already plenty of WYSIWYG editors to take care of the underlying source code.

Edit: Note that all of the major eBook standards are variants of HTML, with some specific extensions/modifications that are generally not difficult to deal with when converting between formats.

<comment><AUTHOR> You've possibly never tried to create ebooks then. Even something simple like a table of contents is handled quite differently by different formats. Many convertors aim to convert Word docs into ebooks, for example, and are poor.

But time will tell. You could be right. If there is no demand it will fail to catch on. But the ambition to to provide a single universal format that can then be output to different formats.

Thanks for the feedback though.

Edit: I meant to add; the goal is not for people to hand code it. The ideal is the format is used invisibly by writing software, or perhaps as an export format. Obviously I only "released" it an hour ago, so like markdown, in the first instance its a rough and ready thing, only usable in a text editor.

<comment><USER7> For the most part it's either epub or mobi at this point in the ebook game, with the rare occasional pdf. Epub and mobi are essentially interchangeable thanks to Calibre, and if you need PDF then you probably need more complex formatting than a Markdownesque language can provide.

Converting from Word _is_ a problem, but that's for different reasons: 1) authors (understandably) have no idea how to typeset, so each author has their own special bizarre style that's almost always wrong, 2) the HTML produced by Word is a hideous wreck no matter how you slice it, and 3) each different version of Word produces wildly different, but equally monstrous, HTML.

Sadly the word processing game has been won by Word. 99% of non-techie authors will use Word (or maybe Scrivener) to write their novel and it's tough to convince them to learn a formatting language when they can just press 'bold' on the toolbar.

In either case we already have a format to be invisibly used by writing software: HTML/CSS. It's the underlying language for epub and mobi, it's well understood and easily learned, it was specifically designed for book-like documents (and not web apps funnily enough), and programs _already_ export in that format. The problem is that some programs (like Sigil) do a better job of exporting than others (like Word).

Things like TOCs can be handled by using an open, easily-editable format like epub as a base format, then using Calibre to invisibly compile to different formats. Calibre does a flawless job 99% of the time.

Edit: My creds are that I run one of the largest writing communities online, briefly ran an online ebook conversion service, and have composed and published ebooks myself.

<comment><USER8> _Sadly the word processing game has been won by Word. 99% of non-techie authors will use Word (or maybe Scrivener) to write their novel_

That's because publishers rely on Word for workflow _because everyone uses Word_ and they require interoperability.

They don't actually _like_ Word any more than the rest of us do -- they mostly rely on Adobe InDesign for typesetting, and getting Word docs into InDesign is a bit painful unless the author is au fait with the publisher's own style sheet -- and if you talk to their electronic/internet publications specialists they'd _love_ to find a usable alternative platform. Unfortunately they need such a platform to be universal, to support workflow-specific tasks such as copy editing (handled today, not terribly well, via Word's change tracking) or checking page proofs (handled today by going over PDFs until your eyeballs bleed), and to work for everyone they do business with. Scrivener is great, and generates very clean HTML/CSS/ePub, but it stops at the point when you hit "Compile" \-- it doesn't interoperate with the proofing/production side of workflow. As for the rest ...

(Credentials: I write novels for a living and in the past week have been discussing this topic with Hachette's head of digital strategy and one of Penguin Random House's digital production specialists.)

</comment></comment></comment></comment><comment><USER9> I love Markdown, and I've written a couple of essays in LaTeX. Unfortunately, this reminds me more of the latter. We live in a world of code completion and excessive hard drives. We don't need to use cryptic tags no one can remember. Nice idea, but maybe a little more Markdown and a little less LaTeX?

<comment><AUTHOR> Markdown is ultimately a pre-HTML format and inherits its weaknesses. It is a display language.

Books have their own foibles; table of contents, notes, indexes etc. These really need a semantic approach.

Finally, I'm not suggesting anyone handcode it. I use a writing tool on my iPad that uses markdown as its file format. I never see the markdown, I just bold text, add headings etc. That was the idea, to keep it in the background. Hence the reason I'm aiming for simplicity.

Incidentally, most books need only ten tags, five of which are used exactly once on the title page.

<comment><USER9> Personally, I am fed up with WYSIWYG editors; none of them work, though LibreOffice comes close. Word freezes up if you use more than a couple of pictures.

<comment><USER10> Consider paste linking pictures in Word.

My ultimate word processing environment would be an empty web page where you can type Markdown and have the UX adapt to what you are typing, much like entering comments on StackOverflow. When you are done you could apply global styles or even page templates without changing the semantic content. You could even go back to authoring in the utf8-based language if you preferred.

Outline view in Word is useful, section navigation (and section styles) in OpenOffice are useful. Text to table would be great if it actually worked.

</comment></comment></comment></comment><comment><USER11> This isn't thought through: if someone has started writing his book in Markdown he can't use this markup without converting the expressions; instead of extending the original in a useful way, this project is breaking compatibility.

</comment><comment><USER12> Isn't it Mark UP if you use funny syntax that you wouldn't normally use? Markdown should use normal syntax that you may have used anyways, losing no readbility, but at the cost of some possible ambiguity.

</comment><comment><USER13> Have you looked at Oreilly's HTMLBook [1] infrastructure ?

[1] [https://github.com/oreillymedia/HTMLBook](https://github.com/oreillymedia/HTMLBook)

<comment><USER14> honestly I do not understand: how is HTMLBook better than the old DocBook?

I mean, is

        <section data-type="preface"> ... </section>

really an improvement over

        <preface> ... </preface>

    ?

</comment></comment><comment><USER15> I use penflip, which lets me download text as PDF, Word doc, ePub, HTML, .txt, or as markdown source. Who are you targeting?

<comment><AUTHOR> I have no idea. I have coded for different ebook formats, and used various tools. I just felt it was a mess. I wanted to see if a simple markdown-style language might help create a universal approach that could be used as a basis for outputting to competing formats.

It is an experiment as much as anything, and it is on HN just to see what people think of the idea.

<comment><USER16> I thinks a nice idea. This is great for programmers, most of whom already understand markdown.

However, based on my experience, if you need to get wide spread adoption, it has to be simpler that MS Word. Why? Because most authors are used to that. It will be the first point of comparison.

My $0.02

</comment></comment></comment><comment><USER17> There already is FB2 format. Sure, its XML-based and many people may not like it, but why reinvent same thing againg?

</comment><comment><USER18> i have a system that's much more developed than this one.

it's also simpler, more powerful, and actually _working._

meanwhile, posts like this seem to get lots of attention.

even though the person just created an account to post.

i don't get it. can someone give me a pointer or two?

-bowerbird

</comment><comment> guard-of-terra This looks like plain text version of FB2 but without software or device support.

</comment><comment><USER19> For a format to be used, it has to be attractive in some form. Markdown is attractive because it's extremely easy to read and write. HTML is attractive because it can be displayed by all web browsers. LaTeX is attractive because it is extremely powerful, has the best math typesetting, and allows for user- defined abstractions. Your format is not easy to read. There is no implementation that displays it. It lacks many advanced features that make it useful, and those features that it does have are rather weird.

To evaluate the format, let's consider a couple of texts that could be written, with their unique requirements:

\- A fantasy novel. The novel may rely on custom fonts, or multi-colored text. Your UBook cannot handle this (but to be fair, neither can Markdown).

\- A collection of poems. Modern poems can have rather challenging layout requirements, which UBook does not offer (but to be fair, neither does Markdown).

\- A highschool-level math textbook. This requires good support for math typesetting, figures, and tables. UBook has no clear vision to support math typesetting, e.g. through something like MathJax (to be fair, HTML relies on JavaScript or MathML for this, but some Markdown dialects are math-aware).

\- A programming book. This requires a form of verbatim input and syntax highlighting. Neither is possible with UBook (to be fair this is a pain in HTML, and only some Markdown dialects are highlighting-aware).

\- An academic paper. This has domain-specific requirements (e.g. math typesetting, special typesetting for linguistics) and also requires excellent handling of references (HTML: yes, Markdown: no) and footnotes (HTML: no, Markdown: in some dialects). The footnote handling in UBook is not sufficient (for example, it's not possible to reference the same footnote from multiple locations).

Of course that are rather demanding examples, and there are plenty of texts that don't need many of these features. What use cases remain? Any text without advanced layout or formatting requirements, and without a need for much structure: wide swaths of literature, and non-demanding technical writing. Is your UBook the _best_ choice for those use cases? Wouldn't it be easier to write it as Markdown, and compile it via HTML to a MOBI or EPUB before deploying?

Now that I've looked at the _scope_ of the language, let's look at the finer design decisions of UBook itself.

\- For example, the whole book has to be in a single file. This makes it unwieldy to write. Adding an "include" feature could help.

\- All commands except the table commands are terribly short, which makes them hard to remember. This makes sense for often-used commands, but seldom-used commands can be longer. for example, "$A" is not as memorable as "$AUTHOR".

\- UBook considers a line break to be a paragraph separator. This is bad for two reasons: (1) Advanced users with version control might want to split paragraphs onto multiple lines for better "diff"s. (2) Line breaks and paragraphs are semantically different, and HTML, Markdown, and LaTeX include ways to output a line break without starting a new paragraph.

\- The "$E" command (empty line) makes no sense whatsoever. No other format I know supports such a feature (although it can be faked with line breaks).

\- Inventing a new link syntax is highly unnecessary. The one used by Markdown is pretty good, and allows us to refer to a link target via a shorthand:

        Some Text [inline](link) or [keyword] link which can be used with [other text][keyword] as well

        [keyword]: some link

\- For the given use cases, the index functionality is unnecessary: A text complex enough to require a glossary will likely have more requirements that are not met by UBook, e.g. a way to link to a glossary entry in the text.

\- Using the same character to introduce a block-level command and a headline is _very_ confusing. It might be better to use explicit headline commands like "$SUBSECTION" and "$CHAPTER" (compare LaTeX).

\- The format appears to lack composability. E.g. it's not obvious whether a block-level image can be included in a quote. It does not seem like a table cell could contain another table. It doesn't seem like a list item could contain multiple paragraphs (and if it does, where does the item end and normal text start?). Of course, this makes it very easy to parse (which is unnecessary, given today's state of parsing technology).

\- The fact that the three-character sequence "$Q " has to be included before each quoted line is a WTF in itself (and a misfeature shared similarly by Markdown). This is undue burden on the author as he has to type it, and undue burden on the parser as this makes the language non-context free. Using a quotation-start and quotation-end marker would be much better for all involved.

\- I fail to see the difference between horizontal lines and "$S" section separators.

\- The "$END" is a horrible anachronism and should die. The end of file is good enough to denote the end. Requiring such a token means that all your examples on the page won't work, and that many authors would be surprised when their _magnus opus_ doesn't display.

Your UBook in its current state is not a viable markup language. It has a few interesting concepts (indices, footnotes, book-orientation, table-cell merging), but isn't really attractive when we have so many other possible languages. Before redesigning the language, take a look at _AsciiDoc_ , _MultiMarkdown_ , and older markup languages like _LaTeX_ , Perl's _POD_ , and _troff_. Learn from their mistakes instead of repeating them! Remember that many restrictions of these formats do not apply to you!

UBook as a distribution format is unlikely to ever become a viable option even though it has some nice features like excerpts (I would like to see the ebook format market to be disrupted, but UBook won't manage that). It would be better to de-emphasize this part of UBook, and focus on it as an authoring tool that can compile to various ebook formats.

</comment><comment><USER20> I would be interested in LaTeX compatibility with Markdown files

<comment><USER21> Pandoc provides Markdown converters for many formats, including LaTeX. Under the hood, its PDF output is via LaTeX.

<comment><USER22> My frequent path is Orgmode (which is just text and very md-like) which can export to Markdown proper and a bunch of other formats including PDF. It can autogenerate leverage pandoc and also make a TOC for you.

</comment></comment></comment><comment><USER23> Is there a converter currently?

<comment><AUTHOR> No, the language itself is pre-release. The posting here is basically a first showing.

The idea is to encourage convertors of course. For the author or book designer to mark it up as a UBook, then be able to export that to anything e.g. Kindle, ePub etc.

The focus at the moment is in defining the tags, then encouraging others to use it as a universal method to semantically encode books in a very simple way.

</comment></comment><comment><USER24> $I $don't $like $this.

</comment><comment><USER25> I really want a better markup for producing books. I'm not sure that this is it.</comment>


Embarassing Bill Gates video - <AUTHOR> http://www.ifilm.com/video/2679657

<comment><USER2> It's an amusing self-deprecating video. What's so embarrassing about it? Is it because he's Bill Gates and we're supposed to hate him mindlessly because Windows isn't perfect?

</comment><comment><USER3> That was cool, it actually looked like he slapped Bill Gates though.

</comment><comment><USER4> okay, why is that "embarrassing?" i think a better characterization would be "not funny." unless the humor comes from in-jokes i'm not privy to, since i'm not a windows user.

</comment><comment><USER5> Let's see PG dance like that.

<comment><USER6> That would frighten me.</comment></comment>


Ask HN: Data Scientist/Analyst jobs at environment or wild life organizations? - <AUTHOR>

<comment><USER2> Not really sure what you are looking for by the title, but I would go where the money is. There are tons of energy companies (many are mandated to do environment analysis) that hire data scientist and/or analysts. One example is SUNCOR [1], but there are tons of supporting engineering firms that provide services to these types of companies too. Just google a few and then look for firms that provide services to them. If you're new to the industry, I'm guessing you are, since you're asking, then start trolling these sites and look at the job postings, these will tell you the types of skills / certifications they are looking for.

[1] [http://www.suncor.com/en/careers/4769.aspx?qr=data](http://www.suncor.com/en/careers/4769.aspx?qr=data)

<comment><AUTHOR> I have data mining and analytics background, but hope to use it for more than marketing and finance applications. I am not sure what are the equivalent roles are within in those industries. Environment is a cause of importance for me, so I hope contribute to it while making a living.

Admittedly, I have not heard of Suncor before. Thanks.

</comment></comment><comment><USER3> What are you expecting in terms of compensation? Remember, most of the time these organizations are operating on sparse budgets. It would need a lot of actionable discoveries for an organization to see the benefit of having one on staff. I do know that the New York Times started a new department for this. You should try building something with their very cool API and send something over.

<comment><AUTHOR> I'm looking a lot of money, more of meaningful work and enough to get by. The NYT API does sound interesting, will google for it. Cheers.

</comment></comment><comment><USER4> There's data organizations like [https://discover.amee.com/](https://discover.amee.com/) who specialize in this space.</comment>


QANTAS A300 2008 incident - spikes in data caused computers to pitch down - <AUTHOR> http://www.atsb.gov.au/publications/investigation_reports/2008/aair/ao-2008-070.aspx

<comment><AUTHOR> Summary:

While the aircraft was in cruise at 37,000 ft, one of the aircraft's three air data inertial reference units (ADIRUs) started outputting intermittent, incorrect values (spikes) on all flight parameters to other aircraft systems. Two minutes later, in response to spikes in angle of attack (AOA) data, the aircraft's flight control primary computers (FCPCs) commanded the aircraft to pitch down. At least 110 of the 303 passengers and nine of the 12 crew members were injured; 12 of the occupants were seriously injured and another 39 received hospital medical treatment.</comment>


Former Nvidia Dev's Thoughts on Vulkan/Mantle - <AUTHOR> http://www.gamedev.net/topic/666419-what-are-your-opinions-on-dx12vulkanmantle/?view=findpost&p=5215019 <comment><USER2> Very interesting post.

 _So ... the subtext that a lot of people aren 't calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold._

This begs the question: what about DirectX 12 and Apple's Metal? If they didn't have similar engine developer involvement, that's clearly a point against DX12/Metal support in the long run.

Also, the end is worth quoting in its entirety to explain why the APIs are taking such a radical change from the traditional rendering model:

 _Personally, my take is that MS and ARB always had the wrong idea. Their idea was to produce a nice, pretty looking front end and deal with all the awful stuff quietly in the background. Yeah it 's easy to code against, but it was always a bitch and a half to debug or tune. Nobody ever took that side of the equation into account. What has finally been made clear is that it's okay to have difficult to code APIs, if the end result just works. And that's been my experience so far in retooling: it's a pain in the ass, requires widespread revisions to engine code, forces you to revisit a lot of assumptions, and generally requires a lot of infrastructure before anything works. But once it's up and running, there's no surprises. It works smoothly, you're always on the fast path, anything that IS slow is in your OWN code which can be analyzed by common tools. It's worth it._

I wonder if/when web developers will reach a similar point of software layer implosion. "Easy to code against, but a bitch and a half to debug or tune" is an adequate description of pretty much everything in web development today, yet everyone keeps trying to patch it over with even more "easy" layers on top. (This applies to both server and client side technologies IMO.)

<comment><USER3> About your last paragraph, I would say that that is even more important to optimize and to make low level layers for than graphical game engines (believe it or not :)).

The thing is while gaming is seen as a "performance critical" application, where it is natural to want the maximum performance to be squeezed out of your hardware, Web development is just a behemoth of inefficiency, and _we think that that is the norm_ , an inevitable drawback of developing for the web, an inescapable trait of web applications. Web apps are dozens or even hundreds of times slower than native applications, and we think nothing of it, because it seems to be an inherent characteristic of the web about which we can't do anything.

Your comment made me reconsider that. Maybe it doesn't have to be so. What if there was a Vulkan for the web, instead of the layers upon layers of inefficiency which are all the rage these days? What if I could run a medium complexity web page or app without it bogging my computer several times harder than a comparable native app?

<comment><USER4> Write your whole webapp in WebGL?

Edit: Seriously, how feasible is that? Creating a GUI framework on top of WebGL and creating an abstraction layer (which the original article advises against) would be a huge performance boost comparing to current webpages, wouldn't it?

<comment><USER5> WebGL should never have been invented, at least on current architectures. It's a ticking bomb, precisely for the reasons this articles explored - drivers are complex and buggy black boxes that lie in kernel space so ring 0 access is never too far from reach for many exploits. WebGL has a potential to be exploit vector much more severe than what we've seen with other auxiliary web technologies like JavaScript or Java applets. Why not confine web to (mostly) nicely behaved x86 VMs?

<comment><USER6> Personally I think browsers will become service layers that expose the underlying OS in controlled and specific ways. Not a completely sandbox, but not a free for all either.

We've started creeping that way with a lot of the newer HTML5 stuff, but we have a long way to go.

</comment></comment></comment></comment></comment><comment><USER7>
      These are the vanishingly few people who have actually
      seen the source to a game, the driver it's running on,
      and the Windows kernel it's running on, and the full
      specs for the hardware. Nobody else has that kind of
      access or engineering ability.

One option is to release the source of the drivers, making it possible for motivated engine developers to do this without explicit access to AMD developers.

If they did this on Linux as well, then developers would have access to the full stack, in order to be able to learn about how the lower levels work and more easily track the problems down without simply a whole lot of trial and error on a black box.

<comment><USER8> It seems to me, based on this article, that providing support to major game studios and releasing driver updates to accommodate their games is a major revenue source for GPU manufacturers. I guess that's why only Intel releases open source drivers: their GPUs aren't really expected to provide high performance for games.

I guess with Vulcan/Mantle, the drivers are just trivial hardware abstraction layers, so the GPU manufacturers no longer have to make up for the cost of developing complex drivers by doing part of the work on every AAA title.

We might see Nvidia and AMD releasing open source Vulcan drivers, and if not, it would at least be easier for reverse-engineering projects like Nouveau to produce competitive drivers. This at least means you don't have to have non- free code running in ring-0 to use a discrete graphics card on Linux.

<comment><USER9> Yeah, one of the things this doesn't mention is that, to a certain extent, these issues are self-imposed and the GPU vendors make money from them. In particular, one of the big reasons OpenGL games are so standards-violating is that NVidia consistently refuse to enforce the specs. So software is developed against the NVidia driver's behaviour and breaks on AMD, Intel and open source drivers that enforce the specs, then people blame this on the drivers being crap and buy NVidia hardware. This was a big reason why Wine worked badly on non-Nvidia hardware for a long time.

</comment></comment></comment><comment><USER10> To me, this neatly explains why in just about every performance comparison of video drivers in Linux shows the proprietary drivers having an edge, even if only a slight one.

I've never actually dived into the source code for the open source video drivers but I'm now curious how much time the devs of the open-source drivers have to spend on anticipating and routing around the brain damage of the programs calling them. Do they similarly try to find a way to correctly do the right thing despite the app crashing if it finds out it didn't get the wrong thing as asked for? Or is the attitude more akin to 'keep your brain damage out of our drivers and go fix your own damned bugs'?

<comment><USER11> I've spent a fair bit of time in the open source radeon and nouveau drivers and I never noticed any workarounds in place solely to fix a broken client.

Open source driver developers don't have the time or resources to pull off a stunt like that!

<comment><USER12> Especially since an open source client, can be fixed on the client side. No reason to include nasty hacks for buggy clients.

</comment></comment></comment><comment><USER13> Performance gains are worth any trouble IMO, here is why:

While at GDC I saw a DirectX 12 API demo (DX12 is more/less equivalent to Vulkan from an end-goal perspective). On a single GTX 980:

DX11 was doing ~1.5 million drawcalls per second. DX12 was doing ~15 million drawcalls per second.

This API demo will ship to customers, so I am pretty sure we can easily verify if these are bunk figures. But a potential 10x speedup, even if under ideal conditions, is notable.

<comment><USER14> That's great, and for project like yours (Voxel Quest), it'll definitely help.

I'm wondering though, if the demo also uses the CPU for other things - physics, audio, collision, path-finding or some other form of ai, state machines, game script, game logic. My point is that 10x might be possible (on a 10 core cpu) if the cpu's are only used for graphics, but there are other things that come into play... But even then, even if only half the cpu's are used for graphics, it's still better.

The bigger question to me, is how would game developers on the PC market (OSX/Linux included) would scale their games? You would need different assets (level of detail? mip-mapped texture levels? meshes?) - but tuning this to work flawlessly on many different configurations is hard...

Especially if there are applications still running behind your back.

E.g. - you've allocated all cpu's for your job, all to be taken by some background application, often a browser, chat client, your bit-coin miner or who knows what else.

<comment><USER15>
      The bigger question to me, is how would game developers
      on the PC market (OSX/Linux included) would scale their
      games? You would need different assets (level of detail?
      mip-mapped texture levels? meshes?) - but tuning this to
      work flawlessly on many different configurations is
      hard...

This isn't really any different from what it has been until now. All AAA games have different levels of detail for meshes/textures/post-processing etc. Even when not exposed to the user as options in a menu these different levels of detail exist to speed up rendering of for example distant objects or shadows where less detail is needed. DX12/Vulkan is not going to change anything in that regard.

Doing a good PC port is not as easy as it may seem at first glance. Different hardware setups and little control over the system cause lots of different concerns that simply don't exist on consoles, which means nobody bothered taking that into account when the game was originally built. These new APIs will help though; the slow draw calls on PC are a pain compared to lightning fast APIs on consoles (even Xbo360/PS3!).

</comment></comment></comment><comment><USER16> > What has finally been made clear is that it's okay to have difficult to code > APIs, if the end result just works.

So true and yet, we have all those crazy JavaScript frameworks trying to abstract everything away from developers. There's a lesson in there.

<comment><USER17> You cannot abstract away complexity. This is a lesson people relearn every 2-3 years or so.

From the javascript frameworks - I use only backbone and jquery - first as a simple router, second for easy dom traversal.

<comment><USER18> Hearing web developers discuss the dangers of abstraction is just about the craziest thing in computer science. JavaScript and the DOM sit atop layer upon layer upon layer of abstraction that hides an absolute mountain of complexity around networking, memory management, hardware capabilities, parsing, rendering, etc.

Believing you're somehow avoiding abstraction because you only use a couple of additional libraries _on top_ of JS and the DOM is like insisting on a 99th storey apartment instead of an 100th storey one, because you prefer being close to the ground.

You can by all means argue that all the big JS frameworks are poor abstractions. But a sweeping statement like "you cannot abstract away complexity" completely ignores the fact that web development as a field is only _possible_ because of the successful abstraction of huge quantities of complexity.

<comment><USER19> Well you have to take something for a reasonable base, otherwise the argument becomes absurd quickly. We think of bare-metal (CPU-level) as our default base and take that for granted. But the CPU itself has many abstractions over physics, multiple levels of caching, branching prediction, some built-ins and so on. A modern CPU sits much deeper in the skyscraper that you describe but it's still nowhere near ground level.

Similarly, since with web browsers we get what we get, we might as well consider that our reasonable base for web development, it's not like anyone is going to do that part differently any time soon.

</comment></comment></comment></comment><comment><USER20> I've been discussing this a fair amount with a colleague, as I'm curious to see further uptake on linux as a gaming platform. I think the biggest barrier for this is when games are written for D3D and all of a sudden your game cannot communicate to any graphics API outside of windows.

More companies are starting to support OpenGL, but I'm just curious as to why uptake is so slow. It seems like poor API design may be a part of it. I'd like to see more games written with OpenGL support, and I think it's happening slowly but surely. We even see weird hacks add Linux support at this point... Valve opensourced a D3D -> OGL translation layer[0], though hasn't supported it since dumping it from their source.

[0] [https://github.com/ValveSoftware/ToGL](https://github.com/ValveSoftware/ToGL)

<comment><USER21> Having shipped multiple PC games with separate D3D/GL backends, and one game with GL only, a contributing factor here is that OpenGL (at least on Windows) still totally sucks.

To be fair, driver vendors have gotten a lot better. And the spec itself has matured tremendously, with some great features that don't even have direct equivalents in Direct3D.

Sadly as a whole the API still sucks, especially if you care about supporting the vast majority of the audience who want to play video games. Issues I've hit in particular:

Every vendor's shader compiler is broken in different ways. You HAVE to test all your shaders on each vendor, if not on each OS/vendor combination or even each OS/vendor/common driver combination. Many people are running outdated drivers or have some sort of crazy GPU-switching solution.

The API is still full of performance landmines, with a half-dozen ways to accomplish various goals and no consistent fast-path across all the vendors.

At least on Windows, OpenGL debugging is a horror show, especially if you compare it with the robust DirectX debugging tools (PIX, etc) or the debugging tools on consoles.

Threading is basically a non-starter. You can get it to work on certain configurations but doing threading with OpenGL across a wide variety of machines is REALLY HARD, to the point that sometimes driver vendors will tell you themselves that you shouldn't bother. In most cases the extent of threading I see in shipped games is using a thread to load textures in the background (this is relatively well-supported, though I've still seen it cause issues on user machines.)

OpenGL's documentation is still spotty in places and some of the default behaviors are bizarre. The most egregious example I can think of is texture completeness; texture completeness is a baffling design decision in the spec that results in your textures mysteriously sampling as pure black. Texture completeness is not something you will find mentioned or described _anywhere_ in documentation; the only way to find out about it is to read over the entire OpenGL spec, because they shoved it in an area you wouldn't be looking to debug texturing/shading issues. I personally tend to lose a day to this every project or two, and I know other experienced developers who still get caught by it.

I should follow with the caveat that Valve claims GL is faster than Direct3D, and I don't doubt that for their use cases it is. In practice I've never had my OpenGL backend outperform my Direct3D backend on user machines, in part because I can exploit threads on D3D and I can't on GL.

<comment><USER22> If Vulkan solves some of these problems, does it seem likely to you that the tooling and community could grow up around it and shift the momentum?

<comment><USER21> Absolutely. Tooling & community around GL have improved over the past few years, and Valve has been a part of that. If there's a concerted effort from multiple parties to improve things, Direct3D could probably actually be dethroned on Windows.

</comment></comment></comment></comment><comment><USER23> "Former Nvidia dev" \- s/he did an internship there. Maybe too weighty a HN title.

<comment><USER24> I'd agree, but they certainly know what they're talking about so I don't really mind. They obviously did some form of software development at Nvidia if only as an intern.

<comment><USER25> Right, he's also worked as a game developer, has been a moderator on GameDev.Net for many many years, and lead the SlimDx project to implement one of the only remaining DirectX libraries for .Net. He knows what he is talking about.

</comment></comment></comment><comment><USER26> For reference, here's a tutorial on drawing a triangle in Apple's Metal, which follows some of the design principles as Vulkan, Mantle and DX12: [http://www.raywenderlich.com/77488/ios-8-metal-tutorial- swif...](http://www.raywenderlich.com/77488/ios-8-metal-tutorial-swift- getting-started)

So, essentially, no validation, you have to manage your own buffers (with some help in DX12 I think), you can shoot yourself in the foot all day long. But if you manage to avoid that, you are able to reduce overhead and use multithreading.

</comment><comment><USER27> Former intern that admittedly sucked at his job gets promoted to NVIDIA Dev by HN moderators because clickbait. Srsly?

<comment><USER25> I'm guessing the title came from the tweet that went about it as well (which Promit did correct, but that isn't going to matter when John Carmack retweets it): [https://twitter.com/josefajardo/status/574719821469777921](https://twitter.com/josefajardo/status/574719821469777921)

</comment></comment><comment><USER28> What an horror show.

I always was interested in game programming, but never was able to really get interested enough in graphics programming, I guess having a messy API is not an excuse, but you can really sense that CPUs and GPUs really have different compatibility stories, and that's maybe why it's not attracting enough programmers.

I still hope that one day there might some unified compute architecture and CPUs will get obsolete. Maybe a system can be made usable while running on many smaller cores ? Computers are being used almost exclusively for graphic application nowadays, I wonder if having fast single core with fat caches really matters anymore.

<comment><USER29> > maybe why it's not attracting enough programmers

Game companies have, in general, never had difficulty attracting programmers, especially young programmers. That's why they have such a reputation for low pay and crappy work conditions: because they can.

</comment></comment><comment><USER30> The idea that nVidia and AMD are detecting your games, and then replacing shaders, optimizing around bugs, etc should be absolutely terrifying. And vice versa, the idea of having to fix every major game's incredibly broken code is equally terrifying. And it's a huge hit to all of us indie devs, who don't get the five-star treatment to maximize performance of our games. So overall, I'd say this is a step in the right direction.

However! Having written OpenGL 3 code before, the idea that Vulkan is going to be a lot _more_ complex, frankly scares the hell out of me. I'm by no means someone that programs massive 3D engines for major companies. I just wanted to be able to take a bitmap, optionally apply a user-defined shader to the image, stretch it to the size of the screen, and display it. (and even without the shaders, even in 2015, filling a 1600p monitor with software scaling is a _very_ painful operation. Filling a 4K monitor in software is likely not even possible at 60fps, even without any game logic added in.)

That took me several weeks to develop just the core OpenGL code. Another few days for each platform interface (WGL/Windows, CGL/OSX, GLX/Xorg). Another few days for each video card's odd quirks. In total, my simple task ended up taking me 44KB of code to write. You may think that's nothing, but tiny code is kind of my forte. My ZIP decompressor is 8KB, PNG decompressor is another 8KB (shares the inflate algorithm), and my HTTP/1.1 web server+client+proxy with a bunch of added features (run as service, pass messages from command- line via shared memory, APIs to manipulate requests, etc) is 24KB of code.

Now you may say, "use a library!", but there really isn't a library that tries to do just 2D with some filtering+scaling. SDL (1.2 at least) just covers the GL context setup and window creation: you issue your own GL commands to it. And anything more powerful ends up being entire 3D engines like Unity that are like using a jack hammer to nail in drywall.

And, uh ... that's kind of the point of what I'm doing. I'm someone trying to _make_ said library. But I don't think I'll be able to handle the complexity of all these new APIs. And I'm also not a big player, so few people will use my library anyway.

So the point of this wall of text ... I really, really hope they'll consider the use case of people who just want to do simple 2D operations and have something official like Vulkan2D that we can build off of.

Also, I haven't seen Vulkan yet, but I really hope the Vsync situation is better than OpenGL's "set an attribute, call an extension function, and cross your fingers that it works." It would be really nice to be able to poll the current rendering status of the video card, and drive all the fun new adaptive sync displays, in a portable manner.

<comment><USER31> > The idea that nVidia and AMD are detecting your games, and then replacing > shaders, optimizing around bugs, etc should be absolutely terrifying.

Actually it's par for the course, if you care about backwards compatibility. Raymond Chen has many, many stories about the absolutely heroic lengths Microsoft has gone to ensure that popular, yet broken, programs continue to work smoothly between Windows upgrades [1][2][3][4][5].

On Depending on Undocumented Behavior:

[1] [http://blogs.msdn.com/b/oldnewthing/archive/2003/12/23/45481...](http://blogs.msdn.com/b/oldnewthing/archive/2003/12/23/45481.aspx)

[2] [http://blogs.msdn.com/b/oldnewthing/archive/2003/10/15/55296...](http://blogs.msdn.com/b/oldnewthing/archive/2003/10/15/55296.aspx)

Why Not Just Block Programs that rely on Undocumented Behavior?

[3] [http://blogs.msdn.com/b/oldnewthing/archive/2003/12/24/45779...](http://blogs.msdn.com/b/oldnewthing/archive/2003/12/24/45779.aspx)

Who cares about backwards compatibility? (A lot of people):

[4] [http://blogs.msdn.com/b/oldnewthing/archive/2006/11/06/99999...](http://blogs.msdn.com/b/oldnewthing/archive/2006/11/06/999999.aspx)

Hardware breaks between upgrades, too:

[5] [http://blogs.msdn.com/b/oldnewthing/archive/2003/08/28/54719...](http://blogs.msdn.com/b/oldnewthing/archive/2003/08/28/54719.aspx)

Joel Spolsky's (somewhat dated) "How Microsoft Lost the API War" gives a good overview of the above concerns:

[6] [http://www.joelonsoftware.com/articles/APIWar.html](http://www.joelonsoftware.com/articles/APIWar.html)

<comment><USER32> I'd argue there's also a bigger problem. There have never been conformance tests for OpenGL until recently. They finally wrote some for ES and then finally started backporting them to OpenGL.

Worse, they rarely check the limits, only the basics. They also they didn't check anything related to multiple contexts. The point being the drivers are/were full of bugs on the edge cases.

Testing works. If there were tests that were relatively comprehensive and that rejected drivers that failed the edge cases they'd gone a long way to mitigating these issues because the dev's apps wouldn't have worked.

There's also just poor api design. Maybe poor is a strong word. Example, uniform locations are ints so some apps assume they'll be assigned in order then fail when they get to a machine where they're not. Another example, you're allowed to make up resource ids. OpenGL does not require you to call `glCreateXXX` just call `glBindXXX` with any id you please. But of course if you do that maybe some id you use is already being used for something else. So id=1 works on some driver but not some other.

I'm excited about Vulkan but I'm a little worried it's actually going to make the driver bug issues worse. If using it in a spec compliant way is even harder than OpenGL and your app just happens to work on certain drivers other driver vendors will again be forced to implement workarounds.

</comment></comment></comment><comment><USER33> From the looks of it, it seems Khrono's API may actually be significant better/easier to use than DirectX?

I haven't heard of DX12 getting overhauled for efficient multi-threading or great multi-GPU support. DX12 probably brings many of the same improvements Mantle brought, but Vulkan seems to go quite a bit beyond that. Also, I assume DX12 will be stuck with some less than pleasant DX10/DX11 legacy code as well.

<comment><USER34> It sounds like Vulkan is not going to be easy to use. If anything, it is going to be harder to use.

For example, in OpenGL, you can upload a texture with glTexImage2D(), then draw with glDrawElements(), then delete it glDeleteTextures(). The draw command won't be complete yet, but the driver will free the memory once it's no longer being used.

It sounds like with Vulkan, you'll need to allocate GPU memory for your texture, load the memory and convert your data into the right format, submit your draw commands, and then you'll need to WAIT until the draw commands complete before you can deallocate the texture. At every step you're doing the things that used to be automatic. So it's harder to use, but you're dealing with more of the real complexity from the nature of programming a GPU and less artificial complexity created by the API.

<comment><USER35> This is already how we do it on most consoles. The CPU has to sync with the GPU to know when the resources associated with draw commands are safe to release. Having something like glTexImage2D is way too high level for these graphics APIs and would be a luxury. Instead we get a plain memory buffer and convert manually to the internal pixel format.

There is no waiting to free resources however, unless either the CPU or GPU is starving for work. We have a triple-buffering setup and on consoles you also get to create your own front/back/middle surfaces as well as implement your own buffer swap routine. This provides a sync point where we can mark the resources as safe to release.

It's definitely more complexity on the engine part, but as mentioned in the forum post it makes everything much, much easier when you get to debug and tune things. Also having to implement (or maintain) all of that engine infrastructure gives us a better perspective into how the hardware works and how to optimize for it.

However, even with Vulkan or DirectX12 I doubt NVidia or AMD will expose their hardware internals publicly which is critical in optimizing shader code. On consoles we get profilers able to show metrics from all of the GPU's internal pipeline. It makes it easy to spot why your shader is running slow without having to send your source code to the driver vendor.

<comment><USER11> Do you think -- since the XBox One and PS4 both use an AMD GPU -- that the developer tools will improve on Desktop PCs?

<comment><USER35> Hard to say, they are very different tools aimed at different audiences. Console SDKs are behind huge paywalls and all their tools and documentation are confidential. The developer networks even go as far as checking if the requesting IP address is whitelisted.

I haven't had to profile an AAA title for the desktop so far and therefore don't know much about the state of tools there. However, I heard only good things about Intel's GPA.

</comment></comment></comment></comment></comment><comment><USER36> It's telling about the whole graphics programming scene that this has been such a well kept secret from the public. Games you see are not in reality running on open APIs, but are based on back alley arrangements between insiders camouflaged as open API apps. I bet this post is very demoralizing eg. to hopeful indie game devs or people holding out hope for driver situation improving on Linux.

<comment><USER37> Actually I think this points to a potential area of success on Linux. One of the points the post brings up is that there is only a very small group of people who have access to the Microsoft kernel code, the driver code, and the game code. On Linux, this pool is vast. With open source kernel and open source drivers, game developers can dig all the way through the stack to understand the entire system. I would hope this leads to better APIs that expose the nature of the system directly, and not having to impose workarounds for specific games inside the driver itself.

</comment></comment><comment><USER38> This is interesting, it's good to hear the opinion of somebody who's actually programmed against the APIs. I think the increase in exposed complexity is probably a good thing. The AAA studios have proved that they're able and willing to throw engineering resources at tough problems, so actually allowing them to directly interact with a lower level of code is probably a good thing.

I'm sure there's a counterargument that it raises the bar for indie game devs, but when's the last time an indie game directly programmed against DirectX or OpenGL (barring webGL)? This should let engine developers better use their development time.

<comment><USER39> > when's the last time an indie game directly programmed against DirectX or > OpenGL (barring webGL)?

I don't work in indie, but my understanding is that this is still pretty common, especially for games with any budget at all.

<comment><USER38> I'm sure it still happens, but the popularity of Unreal, Unity, etc says to me that they likely wouldn't be too negatively effected.

</comment></comment></comment><comment><USER40> That's evolution. New graphics APIs are intended for engine developers, not for application programming. Application should use higher level engines, not low level APIs.

<comment><USER41> Not necessarily. If application cares about performance, it can go to lower APIs to craft parallelism model that it needs.

</comment></comment><comment><USER42> > Part of the goal is simply to stop hiding what's actually going on in the > software from game programmers. Debugging drivers has never been possible > for us, which meant a lot of poking and prodding and experimenting to figure > out exactly what it is that is making the render pipeline of a game slow.

This is really sad. Imagine if someone were pushing a new file API with the justification that storage-device drivers were full of bugs.

I get a similar feeling whenever I read one of those " _CSS trick that works on all browsers!_ " articles. Yes, it's nice that you can build a thing of beauty on top of broken abstractions, but ....

</comment><comment><USER43> How come, that the open source drivers did not show much better performance?

<comment><USER16> Because the documentation for the hardware is not open source. You need to sign very strict papers to be able to look at the hardware documentation which means few selected people have access to it which means not much support, etc. Can't remember why I know this but it was something related to my linux open source back in the days.

<comment><USER44> I think things have shifted a bit away from that. IIRC, AMD's pretty free with the documentation for everything that isn't part of the DRM-enforcement chain, so their open source drivers are mostly lacking in manpower. NVidia just won't release the docs at all, so the open source drivers for them are reverse- engineered and plagued by problems like an inability to get most GPUs out of power-saving mode. I'm not sure how open Intel's documentation is, but their only Linux driver is the open-source one that they do significant in-house work on and it has often been competitive with the Windows driver.

<comment><USER16> Good to know it's moving towards a more open environment. Also good to know that my memory wasn't playing tricks on me. Thank you for the update.

</comment></comment></comment></comment><comment><USER45> Reminds me a bit of what I recall as a unix principle: The API should be designed so that the implementation is simple, even if that makes the use complex.</comment>


Apple and Amazon Have a Problem - <AUTHOR> http://www.wired.com/2014/10/apple-amazon-problem-people-dont-want-buy-stuff-anymore/?mbid=social_fb

<comment><USER2> "This long-predicted shift in consumer priorities–from ownership to access"

But this is only about books and music. Then the article goes on to correlate a less than expected rise in sales with rent, on the basis of re- selling/streaming existing as an option, but without numbers connecting lost sales to actual new rentals (if any).

<comment><AUTHOR> Very good point. Have you seen any other articles related to this topic recently?</comment></comment>


SpringSource - launches CloudFoundry based on AWS - <AUTHOR> https://www.cloudfoundry.com/

<comment><USER2> "in beta and is free to use. Normal cloud service provider fees still apply. Pricing will be announced after an extended beta period and will follow standard cloud service pricing models."

I respect the work of SpringSource and appreciate their commitment to the Java community. However, I'd be very nervous about launching an app onto a platform without first knowing the exact cost of the platform. Also, I had to dig into the FAQ to even find any mention of the price.

</comment><comment><USER3> I skimmed the FAQ and "Getting started" part and can't help but think they either completely missed the point or fail to explain it properly.

Why would I (or anyone) want to use this, what particular problems does it solve?</comment>


Appgravity: Android App Search Engine - <AUTHOR> http://thenextweb.com/apps/2012/01/01/appgravity-is-like-a-better-google-search-for-android-apps/ <comment><USER2> Could not find my (simple) android app (id=gr.hotspots). Searched it by name and id. Nothing at all.

Maybe the undocumented API they refer to is just a scraper?

Other than that, it could work. Discoverability in the Android market is a problem.

<comment><USER3> The Android Market application on the phone uses an API to talk to the Android Market backend. You can call a tool that uses that API a scraper if you want, but "scraper" brings up the mental image of accessing a website, which this isn't.

Note: I am the developer who built Cyrket, which I believe was the first website to do exactly what AppGravity does. I no longer operate or keep Cyrket up to date, as honestly it was really painful to get the kind of accurate data I felt was required (I considered "missing one app" a serious serious bug).

This was especially true as Google kept tightening the screws on their rate limits, some incidents of which involved me getting a PM from someone on the Market team informing me that whatever new thing I was doing they had decided to fix. ;P

The best story of which, being the time I managed to figure out that their API had a requests/time limit, but not a queries/request limit: I managed to put together multi-megabyte large requests to their backends that scraped down tens of thousands of comments at once... it was epic.

I had been up for over a day straight working on that part of Cyrket; I deployed it, and immediately went to bed. An hour later the Market team tells me they got tons of red lights and error bells, and tracked it back to me. They put in a temporary hack, and then added a query/request limit. ;P

That temporary hack, near as I can tell, is a hardcoded "if user == Cyrket: return None". It is still there. If I log in as Cyrket to the Android Market on my phone I seriously am living in a world where no one comments on anything at all. ;P

</comment></comment><comment><USER4> We had a great conversation about app search yesterday: <http://news.ycombinator.com/item?id=3409575></comment>


How Apple's story is like 'Breaking Bad' - <AUTHOR> http://www.cnn.com/2012/08/31/tech/innovation/apple-breaking-bad/index.html?c=tech <comment><USER2> If you're going to make a tortured analogy, it would help if you actually understood the things you're comparing. The writer clearly doesn't understand Breaking Bad.

<comment><USER3> Why?

</comment></comment><comment><USER4> From all the different ways I have seen 'journalists' trying to create traffic by making up stories around the legend of Apple, I wish I could say that this is the worst and most shameful.

</comment><comment><USER5> I have no idea how Apple's story or Breaking Bad's story will end, but I do not see things ending well for the author of this fine piece...

</comment><comment><USER6> The most interesting part of this article was the fact that the next 8 episodes (after the one today) will air summer 2013 :-(.

</comment><comment><USER7> I find this offensive. Apple does a lot of shit I disagree with, but to compare Steve Jobs and Walter White is a bit much.

The role of cancer in _Breaking Bad_ is like this: Walter White is "cured" but then he _becomes_ the cancer. Many tumors kill the host by releasing toxins into the body that disrupt organ function or cause organ failure. Walter White became a tumor that releases poison (methamphetamine) into society. Like a cancer cell, he no longer serves a purpose. He just wants to "grow", in a very negative sense of the word. He's now doing increasingly more damage as long as he can... until ( _if_ ) he ends up dead or in jail.

I don't think comparing Steve Jobs to a cancer is fair.

That said, _Breaking Bad_ certainly has themes of corporate competition (internal and external) and it uses those extremely well. Killing Gale was classic corporate politics: get rid of your replacement rather than risk him being good enough to make you disposable. I doubt the correspondence is intentional, but _Mad Men_ and _Breaking Bad_ are deeply related shows: both "men at work" dramas set in workplaces dominated by masculine swagger (although the former has great female characters) and they're the erotic and thantoptic bookends of the American Era. _Mad Men_ is set in the optimistic time about 15 years after it starts on the east coast (sunrise) and _Breaking Bad_ occurs at its end out in the southwestern desert (sunset).

</comment><comment><USER8> "Apple" and "Breaking Bad" in the same article. Awesome.

CNN doing SEO spam now.</comment>


Google Loses Most US Search Share Since 2009 While Yahoo Gains - <AUTHOR> http://www.bloomberg.com/news/2015-01-07/google-loses-most-u-s-search-share-since-2009-while-yahoo-gains.html

<comment><USER2> Yes, choice of search engine is mostly by default. Most Bing searches come from Microsoft products where Bing is the default. One would think that Mozilla users would turn off Yahoo search immediately, but apparently some do not.

Yahoo doesn't really have a search engine, and hasn't for five years. They resell Bing and add some in-house content. The only reason to search with Yahoo is if you want their in-house content.

Bing is currently more literal-minded than Google. Google is using too much popularity-based machine learning to "correct" what you're searching for. It's become difficult on Google to search for a non-popular thing that happens to be close to a popular search target. Google does not treat quote marks as a mandatory exact match any more, just a hint.

Running a search engine is so profitable that even the little guys with < 1% market share make money - Ask, InfoSeek, DuckDuckGo, and Blekko are all profitable. (Cuil blew it - no revenue model.) The most valuable ads on the Internet are the ones on search results, because they appear when someone is actively seeking something. Almost all other ads are interruptions. The only thing that keeps the phone vendors and carriers from entering the search engine business is huge payments from Apple, Google, and Bing.

Microsoft's current approach to Bing is unusual. Bing used to have its own CEO; the last one was Satya Nadella, who is now CEO of Microsoft. Now, various parts of Bing are under five different Microsoft VPs who also have other responsibilities. Some people speculated that this was in preparation for closing down or selling off Bing, but that doesn't seem to be happening. Anyone know more about that?

<comment><USER3> > Google is using too much popularity-based machine learning to "correct" what > you're searching for. It's become difficult on Google to search for a non- > popular thing that happens to be close to a popular search target.

This has been getting me lots lately. It used to be 1 attempt, maybe 2, to find what I'm after.. lately I find myself regularly needing to try >4 different searches before getting what I'm after. I've consciously noticed that Google seems to have lost the whole thing that made them so great in the first place.

<comment><USER4> Try verbatim mode, available under Search Tools -> All Results -> Verbatim or by adding &tbs=li:1 to the URL.

<comment><USER5> Project Mycroft has hundreds of configuration files for browser search plugins, including Google verbatim.

[http://mycroftproject.com/search- engines.html?name=google+ve...](http://mycroftproject.com/search- engines.html?name=google+verbatim)

</comment></comment></comment></comment><comment><USER6> I'm a mobile computer technician in rural north Cornwall, UK. My clients are domestic and small biz (5 or fewer employees).

One of the things that surprised me was the approach to search that my non- technical clients take. Anecdotally, around half use Bing because they like Internet Explorer. Curiously, more than two thirds of these folks also have Chrome installed, so they can use Google; the misconception is that they _need_ Chrome in order to use Google _anything_. Chrome is use for Google, and nothing else.

I don't recall a single person using Yahoo! across 300+ home and small office visits. Firefox is rarely seen, and if it does crop up it's usually because of a years-old recommendation from a trusted family member.

<comment><USER7> _the misconception is that they _need_ Chrome in order to use Google _anything_. Chrome is use for Google, and nothing else._

Misconception?

<comment><USER6> These clients think that Google Chrome is the one tool to use for Google services; that is to say, if you want to access Gmail, Google search, Google whatever, they must use Google Chrome to do it. Internet Explorer isn't to be used for that kind of thing. They consider Chrome to be an app to do purely Google things, and use IT for everything else.

<comment><USER8> I interpreted rockdoe's comment as:

"A misconception implies it's accidental, but it's partly deliberate: Google wants to leverage their search-engine influence, convincing people they have no choice but to buy into a larger Google-Stuff ecosystem."

<comment><USER7> I was referring to the fact that many Google sites offer a subpar experience if you're not visiting them with Google's own browser, yes. So it's not a misconception, those people are right that they're better of using Google Chrome for the Google Internet.

</comment></comment></comment></comment></comment><comment><USER9> The main problem with google is that it's too 'smart' for its own good (smart tool makes stupid users). If I search for something, I don't want it to by default include a massive list of other 'helpful' things up to and including antonyms or different word order that changes the meaning (e.g. how "foo guide for bar users" == "bar guide for foo users" according to google). Google has been getting dumber ever since it stopped supporting + and "".

Similarly, although most search engines (except DuckDuckGo) filter bubble people, it is by far the most pervasive and irritating with google. So far, every single person I have explained filter bubbles to has been weirded out by the idea and thanked me for telling them about it.

Of course, the other reason Google loses ground is privacy - Yahoo is definitely not good on privacy, but at least they fought as hard as they could before their hand was forced where google capitulated immediately. I can't wait until in a year or two DuckDuckGo is as good as google (not as hard as it used to be)...

<comment><USER10> > The main problem with google is that it's too 'smart' for its own good > (smart tool makes stupid users).

I don't think that's true; one, I don't think that Google's smarts are a problem with Google, and two, I don't think that allowing people to direct their intelligence other places than carefully crafting search queries to get useful results in most cases makes stupid users.

> If I search for something, I don't want it to by default include a massive > list of other 'helpful' things up to and including antonyms or different > word order that changes the meaning (e.g. how "foo guide for bar users" == > "bar guide for foo users" according to google).

Altered word order in a query isn't equivalent to Google. I just tested with a bunch of pairs that differed in order, and got different results for each search in the pair.

Altered word order may be something Google things _may_ be relevant to your search, but that's different than the equation you presented.

> So far, every single person I have explained filter bubbles to has been > weirded out by the idea and thanked me for telling them about it.

Its possible to explain anything to people in a way that weirds people out, but I don't see why search personalization should. Most people, I think, understand that the same set of words from different people have different most-likely meanings: if you know one person is a cocaine addict and another is, to the best of your knowledge, drug-free but a heavy soda drinker, and each says to you "I need some coke!", you'll probably interpret those statements differently.

<comment><USER11> One thing I used to do quite a bit was go to a lot of shopping search sites (Amazon, The Find, Shopzilla, Nextag, Shopwiki...) and try some pathological queries to see who was doing stupid search and who was doing smart search. My favorite test queries where [apples to apples], [dress shirt], [shirt dress], and [+++++].

</comment></comment></comment><comment><USER12> This isn't really much of a surprise, it was virtually guaranteed by the Firefox deal. As the article says, "I doubt Google needs to worry. For one, that's probably the high water mark".

Low-water mark (in terms of market share for Google) would probably be a better phrase, but the point is that unless Firefox grows a lot (which seems unlikely) the damage to Google is done.

<comment> SG- More damage could be done if Yahoo worked a deal with Apple to change the default search engine.

At the end of the day tho it's all about money and Google has more of it.

<comment><USER13> How is it about money?

<comment><USER14> Google pays Apple to be the default search provider.

<comment><USER15> Bing is the default Spotlight and Safari search in Yosemite. I can find no way of changing it back to Google for Spotlight, which is incredibly irritating as I find the Bing results useless.

<comment><USER16> The web search feature in Spotlight is equivalent to the search engine of your default browser.

<comment><USER15> I don't think it is - the search engine option in Safari does not affect Spotlight. Spotlight is hardcoded.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Let's not forget this little metric: mobile. These stats were taken from Statcounter which is not a comprehensive representation of the marketshare.

[http://i.imgur.com/aOXsraC.png](http://i.imgur.com/aOXsraC.png)

According to the same data, Google owns 87% of the mobile market, and I venture to guess that number is actually higher and will continue to climb in 2015 as mobile will continue to dominate the consumer market.

<comment><USER18> The importance of mobile marketshare is overblown. People aren't searching for things to buy on their mobile phones, the searches themselves being very superficial, the attention span being lower. As a result conversion rates and CPC is much lower on mobile.

I also believe that this post-PC era has been nothing but bullshit. Yes, PC sales have been declining, but that's only because people stopped feeling the need to upgrade. And yes, mobile phones are here to stay, with their numbers rising and their utility growing, but if you take a look at tablets, lo and behold, sales are declining and the ones already bought are probably gathering dust.

Most importantly is that Google's Android does not own 87% of the mobile market. If Apple would switch to an alternative as the default, that would be a big blow to Google. And if this move by Mozilla ends up working out without Firefox losing market share, that might end up encouraging Apple to do so.

<comment><USER15> Is tablet market share really decreasing? For casual users (like my mum) she has bought an iPad and no longer even turns on her PC/laptop, let alone thinks about getting another one.

I thought this was the case with most "casual" PC users who only used it for email and Internet shopping. My wife fits this category, who will never use my laptop, ever. She even does basic spreadsheeting activities on the iPad with Google Sheets.

Are tablets really sat around gathering dust?

<comment><USER19> I m monitoring several million MAU websites.. Smart phones are growing at the expense of tablets too. Especially the consensus on larger screen sizes boosted phone usage and cuts into tablet share.

<comment><USER15> Ah OK thanks. I suppose the division between smart phone and tablet is disappearing a bit after the "phablet" revolution. I still have distinctly different sized devices for phone and tablet; that would explain my confusion. Thanks.

</comment></comment></comment></comment></comment><comment><USER20> I am a Firefox user, and the switch encouraged me to explore non-Google search engine alternatives.

For my personal browsing I tried Yahoo for a few days but have since switched to using DuckDuckGo. It's definitely not bad. But for work, and for when I'm not satisfied with the results, I still use Google. In my opinion, it is a superior search engine.

<comment><USER21> Isn't DuckDuckGo primarily powered by Bing, which also powers Yahoo? Or has this changed?

<comment><USER22> DDG uses yandex a lot, not bing.

<comment><USER21> No, they still use Bing (assuming their site is accurate)

[https://duck.co/help/results/sources](https://duck.co/help/results/sources)

"DuckDuckGo gets its results from over one hundred sources, including DuckDuckBot (our own crawler), crowd-sourced sites (like Wikipedia, which are stored in our own index), Yahoo! (through BOSS), Yandex, Yelp, and Bing."

</comment></comment></comment></comment><comment><USER23> Search has imho become too much of both a privacy intrusion, and at the same time too much of a market determinant. I think the following has to happen.

(Just thinking out loud).

\- Search has to be made into a replaceable service, or a commodity. This means that one could easily switch search providers without any other noticeable difference (to the user) than a difference in search results.

\- This means that search engines should be stripped of their user-interface.

\- Search engines should "be" simply APIs that browsers can hook into. An advantage of this, is that search engines could be denied the use of scripting, which disables the possibility of user tracking through "device fingerprinting".

\- Of course, if desired, the user could enable personalization. Personalization could be handled like it is now (through user tracking). But we could invent an API that reveals only a user's interests to a search agent. For example, you could reveal that you are researcher or a programmer, interested in technology, and certain programming languages, and you could list a set of webpages that you use regularly.

\- Of course, different profiles could be used for different searches.

I imagine that the privacy-aware engines like DDG could start with the development and implementation of these protocols, and cooperate with e.g. mozilla for a base client implementation.

</comment><comment><USER24> There's actually a very simple answer for this. When you go to Yahoo.com on an iOS device it asks you if you want Yahoo to be the default search engine. Since Yahoo is a popular portal (I go to Yahoo news atleast a few times a day on my iOS device) people can inadvertently switch to Yahoo. This has happened to me numerous times and I couldn't figure out why. Then I figured out that Yahoo puts up a popup which I promptly clicked "ok" to get it out of the way, then wondered time and time again why my iPhone was always ignoring my default search preferences which was Google.

</comment><comment><USER25> What a clickbait title :)

> Google's slice of the U.S. search market fell to 75.2 percent in December > from 79.3 percent a year ago, while Yahoo jumped to 10.4 percent from 7.4 > percent

I was expecting a landslide :)

<comment><AUTHOR> Well, for Yahoo, 10.4% from 7.4% is 40% increase.

</comment></comment><comment><USER26> Google search is heavily SEO gamed, and that makes their algorithm heavily weighted toward punishing page quality manipulation. If they could concentrate more on rewarding page quality instead, they could deliver better results (see the end of [http://goo.gl/y0AXWO](http://goo.gl/y0AXWO) )

</comment><comment><USER27> Google scaled buys (e.g. toolbars/default searches) back massively while Yahoo bought up that traffic.

</comment><comment><USER28> Losing monopoly might actually be good for them.

<comment><USER29> Not in the US. That's been settled already and Google spends too much money on lobbying for anyone to take a go at it (they also have a close relationship with the Obama administration).

<comment><USER21> How would Google prevent a competing search engine from taking their market share via lobbyist spending or any connections they have to the Obama Administration?

<comment><USER30> By suppressing the "shouldn't we stop Google's monopoly" suggestions in senate or whatever other ways USA uses for governing itself.

<comment><USER31> Yeah, maybe we can have a government subsidised search engine, powered by the same people that did healthcare.gov right?

I don't think there's any monopoly to be broken _in search_ , it's just that the competitors aren't up to that level.

(In other areas I might agree)

</comment></comment></comment></comment></comment><comment><USER32> That headline is probably the only way to make a 4% decline in search share sound like a lot. Bait.

</comment><comment><USER33> f we assume a modest 1:4 US to world ratio and a difference of 4.1% as explained by the firefox switch, then the entire US firefox userbase is about 1% of the world. Google won't be sweating.

<comment><USER34> Firefox only switched to Yahoo in the US so far. And Yandex in Russia, and Baidu in China. It's using Google everywhere else, for now.

</comment></comment><comment><USER35> And Yahoo is Powered by Bing, right?

<comment><USER36> Yahoo used to be powered by Google around 2004 and was still loosing market share to Google. Blind tests with just the logo replaced (same web results) had users still prefer Google. It was crazy. Disclaimer: I worked on Yahoo search.

</comment></comment><comment><USER37> Genius move. Partner with Firefox, compete with Chrome. Move the search fight to the browser, something that can be won unlike trying to force people to move away from typing google.com vs yahoo.com</comment>


They Don't Build Them Like They Used To: The New Construction Shortage - <AUTHOR> https://www.zillow.com/research/new-construction-shortgage-20991/ <comment><USER2> I believe the key factor is our education systems have heavily implied blue collar labour is low status so now there are labour shortages and the average age for a blue collar worker in some parts of the USA is in the 60s. I expect wages of $50 - $60 per hour to get normalized and even higher rents as housing stock stagnates.

The Fine Homebuilding podcast has a discussion here.

[https://www.finehomebuilding.com/2018/07/06/podcast- episode-...](https://www.finehomebuilding.com/2018/07/06/podcast- episode-123-shawn-van-dyke)</comment>


Ask HN: Should you execute a great idea that you're not very passionate about? - <AUTHOR>

Would you work idea that you're not very passionate about? I have an idea for a simple website that I know a friend of mine and many others (who are writers) will enjoy to use very much. I enjoy making websites, but I'm no writer and don't enjoy writing for fun.
The idea is similar to http://fmylife.com/
Should I make the site? <comment><USER2> Summary: Don't do it, it's a waste of your time. Why:

There's quite a few problems with not being passionate about an idea or project, even though you might see it to be commercially viable. For any idea, no matter how great, you need to invest a lot of time. Even though you might be able to code the thing in a few months, you'll most likely have to be INTIMATELY involved for the next few years.

You'll be doing marketing, sales, product development, support ALL centered around the core idea. Product success doesn't come overnight, and if you have no passion for the idea, it is very likely that you will run out of steam before it gets to be successful.

Even in the case it does become successful, you will probably still not feel passionate about the product. This means you are very vulnerable to competition who are fiercely passionate about a similar product. You would rather NOT think about the business, whereas your competition enjoy thinking about and revising the product / offering, simply because they can't help themselves due to the field being their big interest.

I wouldn't recommend anyone pursuing an idea that they really aren't that interested in.

There are so many opportunities, that it will most likely be a waste of your time if you choose to pursue one which does not hold your interest.

That said, in the case that it truly is a very simple site, and you don't have any other pressing projects, sure, do it for the fun of building it, gaining a portfolio piece or similar. But don't do it for the money, as it will most likely never materialize. To earn serious money off a project requires full investment for a very long period of time. Without passion or interest, it becomes very hard to remain committed.

</comment><comment><USER3> What do you mean by "a great idea"? An idea that your friend and many others would enjoy, or a monetizable idea that can become a sustainable business?

If you have an idea ready for execution that you deeply believe can be a profitable business, what's the downside of executing?

The fact that you are not the customer shouldn't be a showstopper. But, you should be close enough to the customers to understand their needs, and what they would pay for.

</comment><comment><USER4> nothing ventured ...</comment>


How Does Secure Socket Layer (SSL or TLS) Work? - <AUTHOR>

<comment><USER2> TLS is described in rfc 5246 --- <http://www.rfc-editor.org/rfc/rfc5246.txt>

Do you have any more specific questions?</comment>


Facebook Has Assembled a Small Army of Fact-Checkers. Too Small - <AUTHOR> https://www.bloomberg.com/news/articles/2019-04-21/facebook-has-assembled-a-small-army-of-fact-checkers-too-small <comment><USER2> We need a Ministry of Truth. Democracy is too dangerous to be left in the hands of the peasants to decide what's true or correct for them. /s</comment>


Chemotherapy may spread cancer and trigger more aggressive tumors - <AUTHOR> https://www.telegraph.co.uk/science/2017/07/05/chemotherapy-may-spread-cancer-trigger-aggressive-tumours-warn/ <comment><USER2> Funny, a couple of months ago we were discussing chemotherapy:

[https://news.ycombinator.com/item?id=18161535](https://news.ycombinator.com/item?id=18161535)

It's even worse than I thought.

</comment><comment><USER3> From the duh department. By definition a cellular toxin damages DNA, and cancer is the product of damaged DNA. Still surprised this article made it past the big pharma media gatekeepers.

<comment><USER4> > By definition a cellular toxin damages DNA

Untrue; a cellular toxin damages cells, but not necessarily by damaging DNA. A common mechanism is damaging the cell membrane.

<comment><USER3> Huh? The vast majority of chemotherapy regimens, such as alkylating agents, antimetabolites, anthracyclines, cause damage to and interfere with DNA replication.</comment></comment></comment>


Do you have a Raspberry Pi? Use it to monitor your parents' home network - <AUTHOR> https://netbeez.net/2016/02/03/do-you-have-a-raspberry-pi-use-it-to-monitor-your-parents-home-network/ <comment><AUTHOR> You might have seen the recent project on network speed testing on a Raspberry Pi which tweets to Comcast when the speed goes below 50 Mbps. This is an alternative or complementary option.

The Raspberry Pi software is installed as a Debian package. The data is displayed on a dashboard. You can receive alerts by email when the connection goes down, the Ping packet loss goes above x%, you can't access Facebook, or can't resolve times.com. No tweeting capabilities though.</comment>


Private Equity Modeling: LBO Guide - <AUTHOR> https://multipleexpansion.com/2018/04/23/easy-lbo/ <comment><AUTHOR> Built some free guides to help people better understand financial modeling</comment>


Ask HN: How should I make a point-to-point wireless home system? - <AUTHOR>

This is a problem I think a lot of people have, including some smart hackers I know:
Your internet connection is at location X, and you want it at location Y. Wifi router at X and receiver at Y is okay for some applications, but the signal can get week if you're passing through lots of walls or floors. Also, if you're, say, streaming to an X-Box or a desktop PC used for gaming or streaming movies, a hit in speed is really noticeable.
Using a hard wire is great, but hard. Who wants to dig into walls or have lots of wires around?
Setting up wireless routers to act like repeaters or access points seems arcane, with questionable benefits.
So I thought I'd ask the smart folks here: how should I do this? If I really just want the X to Y speed maximized, is there good specialty hardware for this? Any hacks to take off the cap on broadcast strength on an easily available router?
[edits: - Ethernet over power is horrible in my experience. I don't even think there is a connection between the two spots
- Laying down line is untenable currently because it is a rental, and the situation is dire: separate back office (converted garage) to a living room in the house. I won't dig into concrete and most certainly won't drape wires.
- Why isn't this just a product? Two routers with directional antennae + N repeaters long the route? ] <comment><USER2> _Any hacks to take off the cap on broadcast strength on an easily available router?_

Yes, with certain firmwares you can. This adjustment is like turning up your stereo: it might get a bit "louder" but beyond a certain point it begins to clip and distort. The big difference is that unlike a stereo, the default radio gain is usually set fairly high -- there's rarely much more headroom to get.

A radio tuned for 100mw might have 200mw in it, if you're lucky. While this sounds like a lot, it's only 3db, which is a small fraction of any signal meter "bar" reading.

If you really want to increase your effective transmission power, your best bet is a high-gain antenna:

<http://tinyurl.com/client-antennas> (no affiliation)

These will increase your effective signal strength by focusing the beam of the antenna in the direction you wish to transmit/receive it. The down side is that the antennas have to be pointed at each other, and the higher the gain the closer they have to be aligned.

However, please keep in mind that increasing your effective radiation in one direction above the initial design limit is likely to run afoul of your government's (the FCC in the USA) rules about RF emissions.

In summary, yes you can do it, but it will take expensive, fidgety antennas, is probably illegal, and at the end of it you still might not get the amount of gain you need. I recognize your desire to use wireless but generally IMO it's not worth the work.

<comment><USER3> Most often you don't want or need to increase your transmission power. What you are looking for is a better signal to noise ratio (often written as SNR, S/N). And a directional antenna will receive less noise from directions it's not pointed at.

To stay within the valid "effective" output power of your regulatory domain, you can lower the transmission power of the transmitter. Or you can spend your excess gain by adding a little of high-quality cabling that puts your antenna at a better suited location (but more often it will be easier to just move the whole WLAN router/card/dongle).

A "pringles-like" design made out of stainless steel toilet-brush holders that includes experimental and simulation results (in German): <http://www.heise.de/netze/artikel/print/100565>

</comment></comment><comment><USER4> Registered just so I could post it. Thanks for giving me the excuse.

If you're on Windows / OS X (and even under Linux, the Windows utility has a Gold rating in wine), I'd recommend the Airport Express: <http://www.apple.com/airportexpress/specs.html>

(The reason I mention the OSes is that it's got a software utility for configuration - doesn't have a web interface in the unit)

802.11n (and a,b,g too), out-of-the-box WDS, pretty rock-solid little boxes, Ethernet jack on each if you need to extend wired. Not much bigger than a power supply.

I've got 3 at my house for exactly the reasons you posted and routinely stream media from the upstairs AP through WDS to the downstairs unit or torrent with 200+ sustained TCP connections (and high turnover/churn) - it doesn't even bat an eye.

$99 USD a unit. A little pricier than your average home wifi router but well worth it (and if you're on Windows or OS X, you can stream music from iTunes to individual APs' audio out jacks or share printers from them as well). Highly recommend them.

Edit: And for those recommending dd-wrt / openwrt for WDS - don't you believe it. The people using it aren't putting any decent loads on it. I tried it (within this last year) before going all Airport Express. Too many issues with random reboots in the APs - the firmware stability on those projects isn't even remotely close to the Airports.

</comment><comment><USER5> Did you consider homeplug networking?

I have two ZyXEL home plug devices and get ~ 60-70Mbps from them (they're rated at 200Mbps for the whole network you can add them as you go). They're pretty good, but latency is higher than I'd expected - ~4ms.

</comment><comment><USER6> Why not use WDS on cheapo firmware-hacked routers, using dd- wrt/openWRT/freeWRT (I use Tomato)? If you really want speed, you may be able to find standard 802.11n routers that can do WDS, although if I really wanted speed I would (and do) use cable. These firmwares usually also allow wireless strength mods, although it may not be practial.

For info on WDS: <http://en.wikipedia.org/wiki/Wireless_Distribution_System> or: [http://www.dd- wrt.com/wiki/index.php?title=WDS_Linked_router...](http://www.dd- wrt.com/wiki/index.php?title=WDS_Linked_router_network)

</comment><comment><USER7> These used to be $50: <http://meraki.com/> (This company grew out of the MIT Roofnet auto-configuring mesh technology)

Expensive, but these are what my dad's WISP uses: <http://en.wikipedia.org/wiki/Motorola_Canopy> They are not not mesh, and they involve config. You can buy them on licensed spectrum as well. Bulletproof, amazing range and bandwidth.

</comment><comment><USER8> There is the Ethernet-over-Power option (they seem to work a lot lower than their rated speeds, but over longer distances / walls _might_ be better in some cases compared to wireless). (Linksys PLK300, or D-Link DHP-301, etc).

Before shelling out that much, I would try getting a second router to act in client mode and have high gain or directional antenna on both routers.

<comment><AUTHOR> Know of any good off-the-shelf directional antennae? Not sure I want to mess with pringles cans. Also, any guides on setting a direction through a few walls? Or do you just use it like a dowsing rod with some power sensor to point it in the right direction?

Also, I've tried a network-over-power system, and it totally sucked when it worked at all.

<comment><USER9> TigerDirect, surprisingly, has some decent directional antennas. I've had decent luck with [http://www.tigerdirect.ca/applications/SearchTools/item- deta...](http://www.tigerdirect.ca/applications/SearchTools/item- details.asp?EdpNo=713934&CatId=374), but [http://www.tigerdirect.ca/applications/SearchTools/item- deta...](http://www.tigerdirect.ca/applications/SearchTools/item- details.asp?EdpNo=4823733&CatId=374) looks pretty decent as well.

As for setting it up, I used it a pretty low-tech routine: set the antenna, walk around with a power meter, adjust antenna, and repeat. If you really want to get into it, put some thought into how the walls and other large objects are laid out, and take that into account when setting up your antenna.

<comment><AUTHOR> I'm amazed someone hasn't made a 2 router + 2 directional antennae package for people like me. Thanks

</comment></comment></comment></comment><comment><USER10> dd-wrt lets you change the broadcast strength on some routers. check out their documentation for details - <http://www.dd-wrt.com/>

otherwise, unless you invested in commercial solutions (microwave transceivers), i believe you are stuck chaining together repeaters or running a cable.

<comment><AUTHOR> I don't mind spending a bit for a low end commercial solution, as long as I'll spend less than, say, $800, and won't get cancer from sitting next to one for a long period of time :)

Got any links or brands?

<comment><USER11> If you're willing to pay $800, why not just pay someone to run a wire?

<comment><AUTHOR> It's a rental and I'd rather have the equipment. I've lived in places where running a wire isn't really an option. I've done it myself before too, but that isn't even tenable. Also, I'd have to be pretty damn sure that I'm getting what I want for that money.</comment></comment></comment></comment>