denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
Denise ([staff profile] denise) wrote in [site community profile] dw_news2014-07-14 08:25 am

Dreamwidth news: 14 July 2014

Hello, Dreamwidth! I come with the assistance of our kitten, who likes to help with technical matters, to bring you a quick round of Dreamwidth news.

This is a short update, because I'm sneaking it in under the wire before elbow surgery (which is scheduled for 24 hours or so from now, eep), so I may not be able to respond to all comments and I definitely won't be able to respond past tomorrow -- prognosis is anywhere from 4 to 8 weeks before I'll be typing regularly again, and dictation software doesn't work for me.

Behind the cut:

* Development
* Responsive design: styles changes
* Date/time check removed when posting
* Bugfix for comment import problems
* Mail sending problems
* Tales from the Conference

A reminder: Whenever a news post is posted, all notifications are delayed for a little while as the mail system sends out notifications of the announcement. Comment notifications may be delayed for up to an hour or two. This was posted slightly before 0830 EST (see in your time zone). Please don't worry about missing notifications until at least 1030 EST.



Development



Last night's code push included the fixes and features detailed in the 11 Jun - 12 Jul code tour. Along with the usual backend bugfixes and groundwork to allow for future features (say that 12 times fast), and a few changes that will be detailed later in the update, this code push also includes:

* A fix for the problem of comments deeply nested inside a comment thread not being printed in some cases, and a fix for a problem where deeply-nested comments were causing too many closing </div> tags to be printed, thus occasionally breaking a layout.

* Better, more-explanatory messages when a community admin uses the link to remove accounts that have been deleted and purged from the community.

* Multiple tweaks and bugfixes for the new community admin area based on user feedback.

* A fix for the problem where entries posted by email and entries created through feed accounts would fail if the subject line was too long.

* Adding Flickr as an embedding source (so Flickr widgets can be embedded in your journal entries).

* Converting the all-entries-for-this-month view in journals to use the journal customization system, even when they're being displayed in site skin (and, therefore, creating month views that replicate all the site skins).

* Five new themes by [personal profile] dancing_serpent for the Ciel style.


Responsive design: styles changes



Last time around, I talked a bit about our responsive design project. The aim behind that project is to make the site work better on mobile devices, small screens, and touch screens without worsening the experience for people working on larger screens. (And, as a side benefit to the project, improve the site's accessibility and improve the way it works with assistive technology.)

The project continues apace! This time around, the changes are to journal styles. About half of our styles have been converted to use the new styling. The goal in this part of the project is to make sure things degrade more gracefully on smaller screens, without changing the experience for people on larger screens. It's one of the things people have asked for most frequently over the past year or two. I'm really excited about it, and [personal profile] fu has done an awesome amount of work on things.

The biggest change is that if your journal is set to a 2-column or 3-column layout, it will now gracefully degrade to a 1-column layout (with the sidebar modules beneath the main journal content) when the screen is smaller than a certain range. We picked the size at which the layout flips over to 1-column mode based on the rough size of standard mobile devices, but if you find that the change is triggering when it shouldn't, or not triggering when it should, let us know.

We also changed the navstrip so that it would degrade gracefully on smaller screens, instead of forcing the window to scroll sideways.

If you're using a system layout without any customization, your journal is already updated to take advantage of all these changes. If you've customized your journal and unchecked the "use layout's stylesheet" option in the Custom CSS tab of the Customize Journal Style page, you may need to tweak your journal CSS a little to make the navstrip display the way you'd like it to display.

When a journal collapses into one-column mode, the top of the journal will now have a link to the sidebar modules (to save you having to scroll through all the entries on the page). If you'd like to remove it, go to the Custom CSS tab of the Customize Journal Style page and add the following CSS in the "Use embedded CSS" box:

#module-jump-link { display: none; }

We'll be continuing to tweak the presentation of the already-converted styles (and fix the bugs that people have found) over the next week or so, then move on to converting the remaining styles for the next code push.

You can read more about the conversion, if you'd like!


Date/time check removed when posting



Last time around, I let you know that we'd be removing the date/time check when you post an entry. This is the thing that wouldn't let you post an entry in the 'past' (any entry dated prior to the most recent entry in your journal). It was originally intended to keep people from not being able to find entries in their journal due to a mis-set clock: your journal displays entries sorted by time, not by posting order.

We decided that these days, most devices update their time just fine on their own, so mis-set clocks are way less common. So, from now on, you can make posts dated whenever you'd like, without having to muck around with the "dated out of order" flag.

This does mean that if your computer clock has been set wrong, and you've been posting in the future -- if you have entries in your journal dated with a time that's later than now -- it may appear that your entries aren't being posted. For instance, if you have 20 entries in your journal that are dated 2015-06-10 through 2015-07-10, then you correct your clock and you post entry 21 with the correct date of 2014-07-14, that entry will not appear on the front page of your journal: it will appear behind all the entries dated 2015.

So, if you post an entry and can't find in your journal: double-check your computer clock and the timestamps on your previously-posted entries, or view your journal's Archive page, which will let you find entries by date.

The "date out of order" checkbox, meanwhile, has now been renamed "Don't show on reading pages", since that's the only thing it's good for anymore! Use it when you're posting a lot of entries at once that you don't want to flood your subscribers' reading pages with, such as if you're filling in old journal entries or posting a lot of placeholder entries that you'll fill in later. (The content importer already sets this flag for imported entries.)


Bugfix for comment import problems



If you've had problems with importing your comments from LiveJournal within the last two months or so, try the process again! We made a change that should fix one of the major issues people were having.

If that still doesn't work, open a support request. Be sure to include the text of the error message you're receiving (which can be found in your Inbox). We can't always guarantee we can fix the problems -- the importer is a complex system that relies on data we receive from the site you're importing from, and sometimes that can break in ways we can't fix -- but we'll do our best. (It will probably take a while for you to get a response to your support request, because the importer is a complex system, it takes time to troubleshoot it, and the number of people who can do that troubleshooting is limited, but we will give it our best shot.)


Mail sending problems



If you use a Yahoo email address for your Dreamwidth account, you may have noticed that you're having trouble receiving email from us. Yahoo is one of the email providers that decides to block us from sending mail to them pretty frequently. (AT&T and Bellsouth are the other ones that like to block us a lot.) This is due to a combination of the amount of email we send, and the fact that @dreamwidth.org forwarding email address are often spammed (and the way email works, it often looks like we're the spammers, not just providing a forwarding email address).

When that happens, we do try to get them to unblock us, but in the meantime, you may want to switch to using another email provider.

You can help to avoid this problem by not marking email from Dreamwidth or email that was sent to your @dreamwidth.org forwarding address as spam -- a lot of times, these blocks are triggered by too many people flagging mail from us as spam. If you don't want to get comment notification email from us anymore, you can change that in your notification settings.



Tales from the Conference



A few weeks ago, the traveling Dreamwidth circus went to Open Source Bridge, which is one of my favorite tech conferences. It's tradition for folks that DW brought to the conference to write a bit about what they did and what they learned, so I'll turn the floor over!

[personal profile] azurelunatic, who co-presented (with [personal profile] misskat) a talk called "Keeping Your Culture Afloat Through A Tidal Wave of Interest" on lessons learned from the early DW development period on how to maintain cultural continuity in the face of many new contributors to your project:
Before Dreamwidth had a website, it had a user group. Before Dreamwidth had a user group, it had a Diversity Statement. So [personal profile] misskat and I talked about parts of the process of watching the user group start from the concept of Hypothetical Journal and the Diversity Statement and the things we learned from that. It was great fun! I had stage fright, my computer kind of died a little, and I'm already planning the changes I'm going to make to the talk based on what I learned from giving it. 

I was surprised by one thing I learned at Open Source Bridge. The open source world, or at least the bits of it attending Open Source Bridge, has a lot of people at a 101 level for community organization and culture. In addition to a world-class performance engineer ([staff profile] mark) and [personal profile] fu and [staff profile] karzilla and all the other lovely devs, Dreamwidth has people working on making the development community and other official areas pleasant and productive places to be. 


Other things I learned: 

[personal profile] misskat and I got on famously in person. One surefire way to make your travel group laugh is to run slow-motion across the hotel restaurant lobby to embrace each other as violins play in the background. Or maybe it was dubstep. Nobody's quite sure. 

Editing your presentation at the last minute is a time-honored conference hobby, but it helps if your laptop doesn't crash Powerpoint five times in fifteen minutes. 

Having at least one car at the conference makes a lot of things better, including the spur of the moment laptop and soda run to Costco. 

Shortbread is more delicious when it's CAPTAIN AMERICA shortbread. 

And last but certainly not least -- meeting up with Dreamwidth people in person is an amazing bonding experience, and I want to do it again. Next year in Portland! *raises a glass* and ... TO THE ROLEPLAYERS!

(The "to the roleplayers!" was a repeated toast during the week; we love y'all and your big, beautiful, gleeful embracing of the site and everything you can do with it.)

[personal profile] fhocutt, who gave a kickass keynote, and who, while not traveling with the Dreamwidth Traveling Circus per se, was perfectly happy to be swept up in our wake:
Here are some things about Open Source Bridge:

* It is a delightfully inclusive and welcoming conference! Mobility lanes, quiet room, all-veg*n food, great code of conduct.

* I met so many amazing people, at least half of whom were badass technical women. An overlapping subset of said amazing people were familiar from dw-dev and/or #dreamwidth IRC! I continue to get further into open source/"open stuff" largely because of women who are doing such good work there already and want to share it.

* I talked with experienced people about what sorts of things are expected in a technical keynote, wrote at least three outlines, and gave two practice talks. I was very nervous about the talk until those outlines coalesced! Per [personal profile] brainwane's suggestion, I read Obama's "A More Perfect Union" while I was struggling with drafts, as an example of how to blend lived experience with theory and a call to action.

* I gave the Thursday keynote address: "'Whyare these people following me?': Leadership for the introverted,uncertain, and astonished." I talked about my journey through and out of chemistry and into founding a hackerspace, about leadership as a learned skill that is founded in warmth and authenticity (expressing these is also a learned skill!), about ways the open source community denies itself leaders, and about ways we can make leadership easier tolearn for more people.

* Julie Pagano and Lukas Blakk also gave fabulous keynotes! Julie spoke on ways to combat impostor syndrome, and Lukas talked about the Ascend Project, which aims to welcome underrepresented people into open source software development and is kicking off in Portland this summer.

* The Nyan Cat song sounds pretty great on organ.

* There was a thought-provoking discussion on class and classism in technology during the unconference day.

* There was a button maker and excellent paper to use it with! And at no point was it weird for me to be knitting.

* There were talks! My suspicions that the state of web security is appalling were only confirmed, thanks to Terri Oda and [personal profile] mjg59.

TL;DR: would go again, would speak again, and would meet up with #dreamwidth people again!

[personal profile] kareila, whom we will get to give a conference talk one of these days, I swear:
I thought the three presentations that our team did this year were really well done and very well received. My friends continue to inspire me with their amazing awesomeness, and that's a great feeling. [personal profile] misskat and [personal profile] azurelunatic talked about our processes for welcoming newcomers to a project and helping them acclimate to the culture; [personal profile] misskat gave a second talk that addressed the same subject but with more information about in-group and out-group bias, which was super interesting; and [staff profile] denise gave a talk about communication techniques that could be used to (nicely) manipulate people toward a common goal.

I found myself thinking a lot about the creative process and how facilitating the creativity of others feels just as rewarding to me as actually creating something myself. Looking back over the sessions I attended, only two discussed specific open source projects. Everything else I attended focused on process, not product. And by process, I mean tips and tricks to facilitate collaboration, learning, productivity, and outreach. Everyone in attendance that I talked to seemed to share a common goal of improving the experience of contributing to open source, and I believe that goal was what caused the conference to feel so welcoming.  It was an amazing experience, and one I hope to repeat again at the earliest possible opportunity.

And [personal profile] misskat, who, in addition to the talk on cultural continuity she gave with [personal profile] azurelunatic, also gave Hacking In-Group Bias for Fun and Profit, a talk on psychology and how you can take people's tendency to view other people in the framework of in-group and out-group and use it for the purpose of good:
Ah, Portland! I'm a New England girl, born and raised, so theoretically the Improper Coast should be anathema unto my people. Still, breathing in the hippie-laden air of Portland was almost as good as being back in Massachusetts. There was so much AMAZING seafood! Seriously, so good. I live very far away from the ocean now, so having free access to tons of fresh seafood was magical, like Santa, or a bug-free code push.

ANYWAY. The conference, which is the reason I was in Portland in the first place, was super great. I had an awesome time presenting with Azz. Fun fact: we met in person for the first time that week, even though we've been friends since before Open Beta. Our talk went really well. We had the opportunity to chat about some of the social scaling lessons we learned back in Ye Olde Mysts of Tyme when we were inundated with fresh faces who needed to be properly indoctrinated into our culture. We had Storytime with Kat and Azz, and it was glorious. My favorite part was where we were talking about the Welcoming Dance in IRC, and someone from the audience joined our IRC channel... and was promptly welcomed by someone who wasn't even at the conference. Proof of concept: UNLOCKED.

My own talk on hacking in-group bias was pretty cool too. I get really excited about brains, science, and community culture hacking, so being able to smush them all up together was a very squee-inducing moment! The best part was where [twitter.com profile] pjf introduced me to Zotero, a browser plug-in which makes collating and citing sources SO NICE. Seriously, it has changed my life, mostly because I hate making works cited pages. I will be happy to babble on at length to anyone who wants to know more about brains, or science, or community culture hacking.

Other highlights included:

--needing to use the terminal to install something on my computer and talking myself into -sudo-ing the command because, as my internal Kat put it, "Paul Fenwick is literally sitting 10 feet away so if you break your computer, he can probably fix it." (Spoiler: I need to have more faith in myself, because the command worked perfectly, and barely anything ended up on fire.)

--Talking one of the other attendees into flying to Minnesota the next week for the scifi con that I help run. Turns out that Gargoyles are kind of a big deal!

--Watching the Dreamwidth crew assimilate a new person by sheer force of awesomeness.

--Did I mention the food? Because food. So many foods. Umph.

--Floating for an hour with Jen in a near-silent pool talking about families, MIT, Dreamwidth, and the future. That was one of the most relaxing hours of the entire conference, and I loved it so much.

So thank you, Dreamwidth. Thank you for giving us the opportunity to invest, not only in our own developers, but in the greater FLOSS community. Thank you. To Dreamwidth! SKOL!

My own talk was called "Slytherin 101: How To Win Friends and Influence People, about techniques you can use to communicate better with people. (And get them to do what you want them to do! For The Greater Good, of course.) Two highlights of my talk: taking a census of the room to see which Harry Potter house everyone identified with and, completely unsurprisingly, having 85% of the room raise their hands for Ravenclaw (and then having everyone in the room who knew me point at me when I asked who identified with Slytherin), and having someone come up to me after the talk and say, "I feel like this is the 'How to Adult' manual I kept expecting someone to hand me that nobody ever did."

The next conference that we're likely to be attending is Linux Conf AU (which is being held in New Zealand this year and is not solely about Linux, so the only purely accurate part of that name is the 'conf'). If you're planning on going, find us and say hello while you're there.

*

That's it from us for another update! As always, if you're having problems with Dreamwidth, Support can help you; for notices of site problems and downtime, check the Twitter status page; if you've got an idea to make the site better, you can make a suggestion. (I'm still a lot behind on the suggestions queue, though, just as a warning, and it's probably not going to get cleaned up until after I recover from surgery. So don't worry if it doesn't get handled immediately!)

Comment notifications may be delayed for up to an hour or two, due to the high volume of notifications generated after an update is posted to [site community profile] dw_news. This was posted slightly before 0830 EST (see in your time zone). Please don't worry about missing notifications until at least 1000 EST.
marahmarie: Sheep go to heaven, goats go to hell (Default)

[personal profile] marahmarie 2014-07-16 04:45 am (UTC)(link)
Actually, you forgot to remove a bracket somewhere because I just learned this minute that that's what made it one-column for me as well. But yes, you do need to open a support request regardless because removing the @media language and all the corresponding brackets still leaves your layout exactly the same - completely broken with your sidebar overlapping your entries (in my case, I'm on 1280 x 1024 seeing that, if that helps you or helps Support any).

I've been fiddling with your custom CSS to see if there's a bad interaction between that and DW's base CSS (which is also quite possible, in hindsight) but I think the people in Support can probably figure that out much quicker than I can. Good luck. :)
devilbear: (SPN: Sam & Dean)

[personal profile] devilbear 2014-07-16 04:55 am (UTC)(link)
Hmm, I've triple and quadruple checked for brackets, but unfortunately it's staying one-column for me no matter what. I do have a slightly smaller (roughly 1100px width) window open for my browser, but even at full 1440 x 900 maximized it shows as one-column. I was able to toy with adding !important in a few places, but even that left me with huge margins and the 'modules' link etc. that should only be on one-column.

I do appreciate all the assistance, though! :) And hopefully support will be able to suss out what's going on. It's set to two-column, sidebar on left, so I haven't the slightest clue why my sidebar has migrated to live on top of my entries on the far right.
marahmarie: Sheep go to heaven, goats go to hell (Default)

[personal profile] marahmarie 2014-07-16 05:09 am (UTC)(link)
OK, in my instance (1280 by 1024) it displays as two-column (with the sidebar overlapping entries from the right, not the left) at any size or screen res, unless I remove all the @media language but forget to take out an associated @media bracket - then it changes (of course, because I made a mistake by leaving an extra, unclosed bracket in) to one-column. Sorry for the confusion on that. As for fixing it on my end, I was able to do that just now by simply changing:

@media only screen and (min-width: 30em) {
.multiple-columns #primary {
float: left;
}

to

@media only screen and (min-width: 30em) {
.multiple-columns #primary {
float: auto;
}

And everything was fine again. If your layout is displaying one-column no matter what then you have a more serious problem than I can see from my end (which is "just" sidebar overlap - from the wrong direction, no less) since your custom CSS is designed to display as two-column-left. Hope they get it all sorted for you. :)

PS: as to why changing .multiple-columns #primary works, I have no idea, so I checked your HTML for column settings and one of the main body classes is actually .multiple-columns .two-columns-left which is like, whoah, why are they calling it by both classes? I would think two columns left is .two-columns-left and .multiple-columns should be reserved for three column layouts only, but on my end the screw-up is somewhere within those classes, regardless.

PSS: So I thought the .multiple-columns code was strictly a Tabula Rasa thing because I've never seen it before but it looks like they've freshly added it to all layouts. Huh. Yuck. I don't think anything under three column should be .multiple-columns; it just adds another layer of complexity/confusion (but it's probably been added just to carry off exactly the kind of @media query your layout is now bungling on, fwiw).
Edited (because I just cannot get enough of your layout) 2014-07-16 05:30 (UTC)
devilbear: (Boys Winchester)

[personal profile] devilbear 2014-07-16 06:14 am (UTC)(link)
I think I figured out what was wrong, though it baffles me why in the world it's proving so problematic. When I tried what you mentioned here, I ended up with this: http://i.imgur.com/e4AZuDF.png which I noticed had ridiculously large entries, that managed to somehow get even larger when I maximized my browser window.

That led to me poking at widths in the custom css, which I never had realized weren't fixed pixel widths on their own. (I always use the same size browser window, and only rarely visit dreamwidth on my tablet.) Eventually, I came across this section:

#canvas {
width: 85%;
margin: 0 auto;
padding: 0;
}

#primary {
float: right;
margin: -2.25em 0 0 0;
padding: 0;
}

And with some poking, I was able to fix it by changing that to:

#canvas {
max-width: 85%;
margin: 0 auto;
padding: 0;
}

#primary {
float: right !important;
margin: -2.25em 0 0 0 !important;
padding: 0;
}

And that fixed it without having to remove the @media rules, or anything of that sort. I may just let it be, since that was such a pain and it took so much trial and error to figure out what would fix it, just with the @media rules in tact and whatnot.

I'm still not entirely certain why that was necessary to fix it, or how that was the fix, unless something about percentages no longer plays well with the default style. Either way, looks like your guess was right that it could be something in the custom css not getting along well with the updated theme. (Using !important on the width of #canvas didn't work; I had to switch it to max-width.)

Again, thank you for everything! If it hadn't been for your experience with this, and discussing it with you, I wouldn't have tried the things which led to figuring out the fix. ♥
marahmarie: Sheep go to heaven, goats go to hell (Default)

[personal profile] marahmarie 2014-07-16 09:30 am (UTC)(link)
You're welcome! Glad to see you got it sorted. :)

It's neat to know either one of our fixes works (well, my fix worked on my end but not on yours, so maybe not); as to you having to add !important in so many times, in testing your edits on my end just now !important was only needed to make "margin: -2.25em 0 0 0" work right (maybe that wasn't working in the first place without !important added in, which in turn broke something else once DW added in the new @media CSS?).

(Using !important on the width of #canvas didn't work; I had to switch it to max-width.)

So to test I removed max- from max-width just now but it made no difference at all. Why we've had different experiences both in what we've seen - up until now that it thankfully looks the same - and what happens when we edit the same CSS is another question for the DW ages, I suppose.
Edited (clarity) 2014-07-16 09:32 (UTC)
devilbear: eleventh Doctor (Doctor Who) wearing a fez, profile view; text, "Don't Mess with the Fez" (Doctor Who: Eleven - Fez)

[personal profile] devilbear 2014-07-16 09:36 am (UTC)(link)
What gets even stranger is that I just tried again now for curiosity's sake, and at least with the live css editor removing the max- actually didn't break it. The only thing I can think of is that I altered that part first then added the !important declarations when it was still acting a little buggy. So maybe the !important declarations were actually all it needed? I never thought to go backward and check to see if the max- was still necessary.
marahmarie: Sheep go to heaven, goats go to hell (Default)

[personal profile] marahmarie 2014-07-17 02:55 am (UTC)(link)
Yeah, I used to just add !important to everything that didn't work immediately in live editing, then rinse and repeat. It's an awful habit. Same with min-width, max-width, etc. I finally broke myself of those bad habits about 3-4 months ago by forcing myself to rewrite my design from scratch and test every edit I had ever made to see if it actually worked or not (result: most of the !importants were completely useless; some of my code was so not-doing-anything I was truly like, 'Wow, wtf I was thinking?' at times as I went through line after line of it).

Which finally taught me the best way to write or edit CSS is also the best way to write or edit s2 (which I learned from carriep63 over on LJ): write one line of code, compile, then check the result immediately before you move on to the next line. We don't use a compiler for CSS, of course, so with live editing it's even easier: just take the !important out that you've put in (or min- or max-on height or width, or whatever) and see what still works without it; if everything's OK, proceed to your next line of code. If not, there you go, put back in what you took out, then you can move on.

It's always better to double-check your code as you go than to have spaghetti code that you can't even barely untangle in the long run (it took me almost three months to get through my style sheet rewrite, if that gives you any idea how tangled-up my own spaghetti was).
Edited (typos) 2014-07-17 02:58 (UTC)