www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Issue 10903 - rebuild dlang.org documentation

reply Martin Nowak <code dawg.eu> writes:
Could someone with access to the dlang.org site please rebuild and 
update the documentation so that it finally becomes usable (fast).

Meanwhile feel free to use http://dlang.dawg.eu.
Sep 05 2013
next sibling parent reply Martin Nowak <code dawg.eu> writes:
http://d.puremagic.com/issues/show_bug.cgi?id=10903
Sep 05 2013
next sibling parent reply "Brad Anderson" <eco gnuk.net> writes:
On Friday, 6 September 2013 at 06:14:49 UTC, Martin Nowak wrote:
 http://d.puremagic.com/issues/show_bug.cgi?id=10903

The real bug title should probably be "Allow more of the core development team access to upload to dlang.org". Yourself and many others should be able to update the public website. As far as I know it's just Walter and Andrei at the moment who can do it. Right now is the perfect example of why only having two uploaders is a problem. Both of them are busy at a conference. I believe Walter defers all the uploading to Andrei. Trusted group of developers is larger enough that it doesn't make sense to have all of the burden and bottleneck on Andrei. Even better, I think, would be to have the website just update automatically from git (nightly, perhaps). Have a script that generates the website from a git tag (or even better, a branch called "public" so hotfixes can be made) and uploads it to dlang.org. Also add preview.dlang.org which just uploads the website generated from d-p-l/{dlang.org,phobos,druntime}:master (sometimes people report bugs in the website that have already been fixed in master).
Sep 06 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-09-06 19:36, H. S. Teoh wrote:

 +1.

 It would be a good way for git HEAD users to see what the current state
 of the docs look like without needing to build it themselves (the
 current dlang.org repo introduces all kinds of dependencies on all kinds
 of stuff -- like latex, kindlegen, etc., that people may not have. I
 find myself running make -j6 several times just to coax it to build the
 stuff it can instead of aborting on stuff that isn't installed on my
 machine).

We would need some kind of versioning. One version of the site for the latest release and one for git HEAD. -- /Jacob Carlborg
Sep 06 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 06, 2013 at 07:29:33PM +0200, Brad Anderson wrote:
 On Friday, 6 September 2013 at 06:14:49 UTC, Martin Nowak wrote:
http://d.puremagic.com/issues/show_bug.cgi?id=10903

The real bug title should probably be "Allow more of the core development team access to upload to dlang.org". Yourself and many others should be able to update the public website. As far as I know it's just Walter and Andrei at the moment who can do it. Right now is the perfect example of why only having two uploaders is a problem. Both of them are busy at a conference. I believe Walter defers all the uploading to Andrei. Trusted group of developers is larger enough that it doesn't make sense to have all of the burden and bottleneck on Andrei.

+1 for improving our bus factor.
 Even better, I think, would be to have the website just update
 automatically from git (nightly, perhaps).  Have a script that
 generates the website from a git tag (or even better, a branch
 called "public" so hotfixes can be made) and uploads it to
 dlang.org.  Also add preview.dlang.org which just uploads the
 website generated from d-p-l/{dlang.org,phobos,druntime}:master
 (sometimes people report bugs in the website that have already been
 fixed in master).

+1. It would be a good way for git HEAD users to see what the current state of the docs look like without needing to build it themselves (the current dlang.org repo introduces all kinds of dependencies on all kinds of stuff -- like latex, kindlegen, etc., that people may not have. I find myself running make -j6 several times just to coax it to build the stuff it can instead of aborting on stuff that isn't installed on my machine). T -- Frank disagreement binds closer than feigned agreement.
Sep 06 2013
prev sibling parent "Martin Nowak" <code dawg.eu> writes:
On Friday, 6 September 2013 at 17:29:34 UTC, Brad Anderson wrote:
 Even better, I think, would be to have the website just update 
 automatically from git (nightly, perhaps).  Have a script that 
 generates the website from a git tag (or even better, a branch 
 called "public" so hotfixes can be made) and uploads it to 
 dlang.org.

source code. Tags are somewhat annoying for bugfixes and github is bad for maling pull requests to two branches, e.g. merge this into 2.063 and master. Then there is the issue that websites are hard to test automatically.
Sep 07 2013
prev sibling next sibling parent "Graham Fawcett" <fawcett uwindsor.ca> writes:
On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
 Could someone with access to the dlang.org site please rebuild 
 and update the documentation so that it finally becomes usable 
 (fast).

 Meanwhile feel free to use http://dlang.dawg.eu.

Thank you for sharing this link! Much more usable than the official site. Graham
Sep 06 2013
prev sibling next sibling parent "Graham Fawcett" <fawcett uwindsor.ca> writes:
On Friday, 6 September 2013 at 13:00:41 UTC, Graham Fawcett wrote:
 On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
 Could someone with access to the dlang.org site please rebuild 
 and update the documentation so that it finally becomes usable 
 (fast).

 Meanwhile feel free to use http://dlang.dawg.eu.

Thank you for sharing this link! Much more usable than the official site.

I may have been too hasty in complaining about the official site. I think someone rebuilt the docs, as you asked, because today it's much faster than usual. Many thanks to you and Brad for making these improvements! Graham
Sep 06 2013
prev sibling next sibling parent reply "Gary Willoughby" <dev nomad.so> writes:
On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
 Meanwhile feel free to use http://dlang.dawg.eu.

Woah! Why is this so much faster than dlang.org?
Sep 06 2013
next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/6/13 11:24 AM, H. S. Teoh wrote:
 On Fri, Sep 06, 2013 at 08:17:10PM +0200, Gary Willoughby wrote:
 On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
 Meanwhile feel free to use http://dlang.dawg.eu.

Woah! Why is this so much faster than dlang.org?

If I had to guess, it's because we finally nuked hyphenate.js and hyphenate-selectively.js, both of which are big resource hogs that provide only barely-noticeable functionality.

s/barely-noticeable/awesome/ I just updated the site. Yes, we should have more people with the rights to update. Andrei
Sep 06 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-09-06 20:52, H. S. Teoh wrote:

 If you consider requiring a nuclear power plant to power a handheld
 flashlight "awesome", then yes. ;-)

That would actually be pretty awesome. But not so useful :) -- /Jacob Carlborg
Sep 07 2013
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2013-09-06 20:24, H. S. Teoh wrote:

 If I had to guess, it's because we finally nuked hyphenate.js and
 hyphenate-selectively.js, both of which are big resource hogs that
 provide only barely-noticeable functionality.

Why do these script take so long time in the first place to download/run? -- /Jacob Carlborg
Sep 06 2013
next sibling parent reply Dmitry Olshansky <dmitry.olsh gmail.com> writes:
07-Sep-2013 00:39, Andrej Mitrovic пишет:
 On 9/6/13, Brad Anderson <eco gnuk.net> wrote:
 hyphenate.js uses a big language lookup table to insert thousands
 of &shy

Wouldn't it be much more effici- ent and more readable to just use word wrapping? I find hyphenation to create unread- able documents, because it always for- ces me to stop and rewind be- fore I can read the next word, which is extre- mely annoying when you have a wide- screen display. Hyphenation also looks unprofessional when it's used in a title. E.g.: "The D programming language. Modern convenience. Modeling power. Native effi- ciency."

That pretty much nails it. -- Dmitry Olshansky
Sep 06 2013
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/6/13 1:47 PM, Dmitry Olshansky wrote:
 07-Sep-2013 00:39, Andrej Mitrovic пишет:
 On 9/6/13, Brad Anderson <eco gnuk.net> wrote:
 hyphenate.js uses a big language lookup table to insert thousands
 of &shy

Wouldn't it be much more effici- ent and more readable to just use word wrapping? I find hyphenation to create unread- able documents, because it always for- ces me to stop and rewind be- fore I can read the next word, which is extre- mely annoying when you have a wide- screen display. Hyphenation also looks unprofessional when it's used in a title. E.g.: "The D programming language. Modern convenience. Modeling power. Native effi- ciency."

That pretty much nails it.

No, it doesn't. Andrei
Sep 06 2013
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2013-09-06 22:47, Dmitry Olshansky wrote:

 +1
 That pretty much nails it.

+1 -- /Jacob Carlborg
Sep 07 2013
prev sibling next sibling parent Martin Nowak <code dawg.eu> writes:
On 09/06/2013 09:52 PM, Brad Anderson wrote:
 hyphenate.js uses a big language lookup table to insert thousands of
 &shy; into all of the words on the entire page so that the browser can
 hyphenate the words.  It seems the author has spent a lot of time trying
 to make it run fast but it's going to be slow just by the nature of what
 it has to do.  A proper hyphenation algorithm is faster because it takes
 place during the layout stage so it doesn't need to consider every word
 for hyphenation (and also would be written in native code) but that
 option isn't available to javascript as far as I know.

The trie compression algorithm is actually quite interesting. It uses prefix and suffix compression at the same time with some priority system to disambiguate longer matches. I went and wrote a D library. http://code.dlang.org/packages/hyphenate It's not capable of processing HTML but if somebody had an idea how to integrate it in the doc generation we could use it. Otherwise I'm hoping for https://github.com/D-Programming-Language/tools/tree/master/dpl-docs.
Sep 06 2013
prev sibling next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 9/6/13 12:08 PM, H. S. Teoh wrote:
 But anyway. That's enough rubbing it in. It's gone now, good riddance
 and all that, and we don't have to argue over this anymore.

Oh, I'd be glad to still argue :o). Andrei
Sep 06 2013
prev sibling parent Michel Fortin <michel.fortin michelf.ca> writes:
On 2013-09-06 19:52:20 +0000, "Brad Anderson" <eco gnuk.net> said:

 hyphenate.js uses a big language lookup table to insert thousands of 
 &shy; into all of the words on the entire page so that the browser can 
 hyphenate the words.  It seems the author has spent a lot of time 
 trying to make it run fast but it's going to be slow just by the nature 
 of what it has to do.  A proper hyphenation algorithm is faster because 
 it takes place during the layout stage so it doesn't need to consider 
 every word for hyphenation (and also would be written in native code) 
 but that option isn't available to javascript as far as I know.

Not Javascript, but try CSS. https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens -- Michel Fortin michel.fortin michelf.ca http://michelf.ca
Sep 07 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 06, 2013 at 08:17:10PM +0200, Gary Willoughby wrote:
 On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
Meanwhile feel free to use http://dlang.dawg.eu.

Woah! Why is this so much faster than dlang.org?

If I had to guess, it's because we finally nuked hyphenate.js and hyphenate-selectively.js, both of which are big resource hogs that provide only barely-noticeable functionality. T -- Who told you to swim in Crocodile Lake without life insurance??
Sep 06 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 06, 2013 at 11:34:59AM -0700, Andrei Alexandrescu wrote:
 On 9/6/13 11:24 AM, H. S. Teoh wrote:
On Fri, Sep 06, 2013 at 08:17:10PM +0200, Gary Willoughby wrote:
On Friday, 6 September 2013 at 06:13:44 UTC, Martin Nowak wrote:
Meanwhile feel free to use http://dlang.dawg.eu.

Woah! Why is this so much faster than dlang.org?

If I had to guess, it's because we finally nuked hyphenate.js and hyphenate-selectively.js, both of which are big resource hogs that provide only barely-noticeable functionality.

s/barely-noticeable/awesome/

If you consider requiring a nuclear power plant to power a handheld flashlight "awesome", then yes. ;-) Seriously, there are better ways to hyphenate text than to use, of all things, *javascript*. Don't get me wrong, I don't have anything against *hyphenation* per se -- I'm a pretty big fan of proper typography too -- but when it comes at the cost of slowing the site down almost to the point of unusability, then clearly we've gotten our priorities all wrong. The primary function of the site is to provide documentation about D, not to show off javascript's ability to hyphenate text. T -- He who laughs last thinks slowest.
Sep 06 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 06, 2013 at 08:51:29PM +0200, Jacob Carlborg wrote:
 On 2013-09-06 20:24, H. S. Teoh wrote:
 
If I had to guess, it's because we finally nuked hyphenate.js and
hyphenate-selectively.js, both of which are big resource hogs that
provide only barely-noticeable functionality.

Why do these script take so long time in the first place to download/run?

Beats me. All I know is that they (or their ilk) made browsing dlang.org so painful that I decided to block javascript completely in dlang.org. It became surprisingly easier to use after that. Even on a fast machine with lots of RAM where you wouldn't notice the loading/running times, hyphenate*.js still causes annoying page flickering. I honestly am totally puzzled why people thought such a thing was a good idea in the first place, considering that (1) it requires a huge amount of CPU power and RAM, (2) it requires high-speed internet access which not everybody has, and (3) even after that it still flickers like it was a BASIC program running on a 6502 processor from the 70's. Like I said, the only way it can be considered "awesome" is if you consider powering a handheld flashlight with a nuclear power plant to be an "awesome" idea. But anyway. That's enough rubbing it in. It's gone now, good riddance and all that, and we don't have to argue over this anymore. T -- "Real programmers can write assembly code in any language. :-)" -- Larry Wall
Sep 06 2013
prev sibling next sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Friday, 6 September 2013 at 18:51:29 UTC, Jacob Carlborg wrote:
 On 2013-09-06 20:24, H. S. Teoh wrote:

 If I had to guess, it's because we finally nuked hyphenate.js 
 and
 hyphenate-selectively.js, both of which are big resource hogs 
 that
 provide only barely-noticeable functionality.

Why do these script take so long time in the first place to download/run?

hyphenate.js uses a big language lookup table to insert thousands of &shy; into all of the words on the entire page so that the browser can hyphenate the words. It seems the author has spent a lot of time trying to make it run fast but it's going to be slow just by the nature of what it has to do. A proper hyphenation algorithm is faster because it takes place during the layout stage so it doesn't need to consider every word for hyphenation (and also would be written in native code) but that option isn't available to javascript as far as I know.
Sep 06 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 9/6/13, Brad Anderson <eco gnuk.net> wrote:
 hyphenate.js uses a big language lookup table to insert thousands
 of &shy

Wouldn't it be much more effici- ent and more readable to just use word wrapping? I find hyphenation to create unread- able documents, because it always for- ces me to stop and rewind be- fore I can read the next word, which is extre- mely annoying when you have a wide- screen display. Hyphenation also looks unprofessional when it's used in a title. E.g.: "The D programming language. Modern convenience. Modeling power. Native effi- ciency." It just looks so awful. Imagine Apple using it, advertising their newest i- Phone. Ugh!
Sep 06 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 9/6/13, Andrej Mitrovic <andrej.mitrovich gmail.com> wrote:
 stop and rewind be-
 fore I can read the next word

Sorry, I meant "the current word" fully.
Sep 06 2013
prev sibling next sibling parent Artur Skawina <art.08.09 gmail.com> writes:
On 09/06/13 19:36, H. S. Teoh wrote:
 current dlang.org repo introduces all kinds of dependencies on all kinds
 of stuff -- like latex, kindlegen, etc., that people may not have. I
 find myself running make -j6 several times just to coax it to build the
 stuff it can instead of aborting on stuff that isn't installed on my
 machine).

make -j6 -k artur
Sep 06 2013
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 9/7/13, Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> wrote:
 No, it doesn't.

You're outgunned! The council has spoken. :o)
Sep 06 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 06, 2013 at 05:34:15PM -0700, Andrei Alexandrescu wrote:
 On 9/6/13 12:08 PM, H. S. Teoh wrote:
But anyway. That's enough rubbing it in. It's gone now, good riddance
and all that, and we don't have to argue over this anymore.

Oh, I'd be glad to still argue :o).

Well, you may go right ahead, the audience is empty. :-P T -- Why ask rhetorical questions? -- JC
Sep 06 2013
prev sibling next sibling parent "Martin Nowak" <code dawg.eu> writes:
On Friday, 6 September 2013 at 19:10:20 UTC, H. S. Teoh wrote:
 hyphenate*.js still causes annoying page flickering.

long pause before the relayout. https://github.com/D-Programming-Language/dlang.org/pull/365
Sep 07 2013
prev sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Saturday, 7 September 2013 at 15:31:31 UTC, Michel Fortin 
wrote:
 On 2013-09-06 19:52:20 +0000, "Brad Anderson" <eco gnuk.net> 
 said:

 hyphenate.js uses a big language lookup table to insert 
 thousands of &shy; into all of the words on the entire page so 
 that the browser can hyphenate the words.  It seems the author 
 has spent a lot of time trying to make it run fast but it's 
 going to be slow just by the nature of what it has to do.  A 
 proper hyphenation algorithm is faster because it takes place 
 during the layout stage so it doesn't need to consider every 
 word for hyphenation (and also would be written in native 
 code) but that option isn't available to javascript as far as 
 I know.

Not Javascript, but try CSS. https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens

That's what the website uses now. Works on basically everything but Chrome and Opera. hyphenate.js was supposed to use CSS3 hyphens if the browser supported it but that feature didn't seem to be working properly. When I applied CSS3 hyphens to dlang.org the display time went from tens of seconds to instantaneous. After I made that change we kept hyphenate.js around because Andrei didn't want to lose the hyphenation on Chrome but I tried to make it only run on Chrome (I think something was wrong with that though).
Sep 07 2013