denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise
It is time for your friendly neighborhood reminder about asking for help!

If you're stuck on something, confused about something, need somebody to walk you through something, would like to talk through something, aren't sure about something, want confirmation of something, want cheerleading or a second pair of eyeballs on something, or anything of the sort, please please please ask. This goes for whether you're just starting out or if you've been doing this for ages.

For those who irc, a quick or casual question in #dreamwidth-dev is fine, but we do have people who don't irc -- and the problem with asking more involved questions on irc is that the answers are ephemeral and can't be shared more widely. I know how easy it is to slip into having most discussions in irc (the real-time nature of it really is irresistable sometimes) but I'd like to encourage everybody to use [site community profile] dw_dev and [site community profile] dw_dev_training more frequently.

Don't feel like you can't post admitting that you don't know something, and if you're confused about something or want more information, don't wait until somebody posts something related to ask about it! (If you look back at my own posts in [site community profile] dw_dev_training for instance, you'll see that I'm certainly no stranger to "halp, i broke it" type posts myself.)

For those who are offering help, meanwhile, please try to keep your responses in the same place as the question was asked, or at least make sure that someone returns to the original post to update with the outcome -- for instance, if somebody posts to [site community profile] dw_dev_training asking for help on a project, and you happen to catch them in irc or by email or instant message, one of you should come back and comment on the post with a summary afterwards. That way, everybody else can benefit from the information.

Likewise, if a conversation in irc covers stuff that it's likely more than one person is confused about, it's fine to say "actually, you know, can you post this to dw-dev or dw-dev-training so everybody can get the answer, or write up a page for the wiki explaining how it works?"

Folks who've been doing this for a while: There are a lot of things in our process and in our codebase that are Very Complicated and grew slowly over time, and we've been doing our very best to get them documented as we trip over them so new people don't have to find someone and ask "okay, so how do I make an account on my 'hack paid?" (Answer for anybody reading along: there are a few ways to do it, but the best way is to give your admin account the "payments" priv, then go to /admin/pay, load the account, and grant the paid time.) Any time you catch yourself answering a question like that, see if you (or somebody else who's participating in the conversation) can take a second and dump the information in the wiki. If you don't have wiki editing privs, see [personal profile] foxfirefey!

I think that about covers stuff I've noticed lately, but if anybody has any questions, ask me! I shall even model good behavior and say, ask me here and not in irc. :) (Okay, mostly because I've been minimizing irc use because of my hand surgery, but still.)
jeshyr: Participating in #dw may cause you to end up leading a project team. (Dreamwidth - Project Leader)
[personal profile] jeshyr
Lots of new developers - including myself - are very nervous about screwing things up. Lots of old developers have told me not to worry, but I keep worrying. I don't want to seem stupid or break something important!

So I thought we could make a list of some wonderful hilarious things that Dreamwidth developers have done and still do. I've put the names of people who told me I could share these, but you can be sure that pretty much all of them make everybody around grin and admit that they do something very similar too, actually.

Our fearless leaders have commented on the topic when I told them I was making the list:

[staff profile] denise: you haven't arrived until you've made at least one mistake that brings the site to its knees ;)

[staff profile] mark, when told about this list's creation: if we're going to create a list of all the shit I've done over the years it will be a very long list.

Things Real Dreamwidth Programmers Do (Or Have Done)

Everybody: Spent ages searching for the bug, only to realise the file you're editing is not actually the same file you're running. [personal profile] fu managed to do this one while I was actually writing up this list, and not just on her Dreamhack but on Dreamwidth itself!

[personal profile] exor674 I STILL have to look at the TT docs every damn time I have to do things. and I mean the "how to make pages" not the scary "doing weird and obscure things in the plugins" (note: [personal profile] exor674 is the project head for TT conversion)

[personal profile] shadowspar: I spend a lot of time with 'perldoc -f <most-any-perl-function>'

[personal profile] azurelunatic: Forget to convert null entries to zeroes before doing mathematical operations that's likely to involve counting or dividing.

[staff profile] mark: the other day I oopsed a database and had to rebuild it. while debugging the slow page load thing, I installed something, that uninstalled MySQL :P

[personal profile] azurelunatic: And for my part, I totally submit suggestions all the time that are already logged in Bugzilla.

[staff profile] mark: when I was at Mozilla, I accidentally clobbered the database that contained the crash logs. i.e., every time Firefox crashes and you let it send in the crash log. this was at the Firefox 3 launch. I blew it away. no backups.

[staff profile] denise: like the time [staff profile] mark helped me troubleshoot my broken email for like three hours, only for me to discover the reason it wasn't working was because i'd let the domain registration lapse

[personal profile] azurelunatic: Forget to increment the serial number on the DNS file, and spend a half-hour cursing and weeping in class.

So next time you're feeling stupid, please remember that these things are all perfectly normal programmer behaviour:

  • Asking others for help

  • Forgetting how you did the same thing yesterday

  • Asking others for more help

  • Forgetting to restart Apache

  • Finding yourself looking up the same bit of Perl syntax for the 37th time

  • Forgetting to upload the file you edited

  • Making typos and not noticing

  • Forgetting to restart Apache again

  • Asking for help yet again

All of these are things that Mark, Denise, Fu, and all of our senior coders do on a regular basis, therefore we have proof they are totally normal and expected and no cause for shame or guilt.

If you care to, please share other silly things you've done in the comments!
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
[staff profile] mark
We've been getting a lot of interest from people who are applying to Google's Summer of Code. Welcome! It's good to see new people poking around and looking at what we are doing here. Briefly, I want to share some information and links that will make things a little easier for you to get started with Dreamwidth as a possible mentoring organization for your summer.

Getting More Information

If you have any questions, you are welcome to comment to this post (look for a link that says Reply or Leave a Comment). One of our community will get back to you as soon as we can, and hopefully the shared knowledge can help everybody out.

If you have any questions that you don't want to be public, you can email [staff profile] denise and myself at summerofcode at-sign dreamwidth period org.

What First?

Since you're looking at this post, you've already done the very first step of contacting us and getting referred to here. Great! Your very first step, after that, if you haven't done it already, is to get a Dreamwidth account. It's a very easy thing to do -- if you send us an email at the above address, or comment to this post, we'll give you a URL you can use to create an account.

Once you've gotten your account created, your first step should be to explore what exactly you can do with your account. Look around the site!

* Customize your profile
* Write a post in your journal about what you're working on, what you've done
* [site community profile] dw_dev: Join this community
* [site community profile] dw_dev_training: Join this community
* See the latest posts on Dreamwidth
* Search the site for content you are interested in

Those are some great first steps. Get a feel for what the site does, how it works. You will not have to know how to do everything, but familiarity with the site is going to be very helpful to working on any projects with us.

Next Steps

With a little familiarity of what the site can do and how people use it, you should probably understand a bit more about our culture and the things we believe in. Dreamwidth is a site that is working hard to promote a healthy, diverse community. It is more important to us that we have a strong, vibrant community than we have the latest and greatest code. At the end of the day it's the people that matter, and we believe that.

First read our Guiding Principles to get an idea of what [staff profile] denise and I founded the site on. Then, read our Diversity Statement -- hands down the most important thing to read and understand if you're going to work on Dreamwidth as a project.

We believe in respect for people. No matter where you come from or who you are, we will do our best to respect you and give you the ability to contribute to this community and be a part of things. That is the standard we hold ourselves to, and we expect the same from anybody who is going to participate in the community -- whether they come in on their own or through the Google Summer of Code program.

If you firmly believe in the meritocracy and think it's acceptable behavior to call someone stupid and belittle their efforts, you might have some difficulty here. Those are not acceptable in our community. We spend our time encouraging and building people up, not tearing them down.

If you have any questions, or you don't feel you understand this, please let us know. You can email me personally at mark at-sign dreamwidth period org if you want, too. I'm happy to discuss this as it's an important issue.

Going Deeper

Okay, now that you've looked around the site, created your account, had some time to play with it, and thought about the meaning behind our Diversity Statement, it's actually time to get down and look at the code and start thinking about preparing your application to work with us this summer.

Your first step should be to get a Dreamhack account -- this is our development environment. It provides you with the ability to tinker with your own version of Dreamwidth without having to actually install it on your own machine. While you certainly can install it yourself, and doing so is actually a very useful experience for learning how things work, it's not something we expect people to do.

Request a Dreamhack.

Once the application is sent in, it will take a day or two for [personal profile] sophie to process it and get your access sorted. After you have access to the system, you should read through the Dreamhack Getting Started page for some tips and advice on what to do with it now that it's setup.

You should also look at our Programming Guidelines which talk about issues of style and how to write code for us.

Once you've gotten to this point you can start writing code! Don't worry if you have many questions, most people do. We'll cover that... about now!

Oh my, help!

It's going to seem a little overwhelming -- but learning how to contribute to a project you're new to, especially one so complex as a website such as ours, is going to take some time and effort. We're here to help you through the process, and we're really excited to see more people interested in helping out on Dreamwidth.

Your best bet for getting questions answered is to use [site community profile] dw_dev. You can either write a new post to this community (on the Update page, you can select to post to here instead of to your own journal) or you can comment to this post (look for a Reply or Leave a Comment link).

If you want real-time assistance, you can try joining us in #dreamwidth on Keep in mind that we're still in the process of moving to Freenode, so things are a little slow until we have everybody over there. If you don't get an answer to your question, just wait a bit. We'll get to it!

Summer of Code Application Tips

If the above didn't really give you a good feel for the kind of things we're looking for, let me try to clear that up. Dreamwidth is a complex project with a lot of opportunities to code really interesting and challenging things. We have a lot of opportunities here for some really great coding and we will be looking for proposals that seem to have a good grasp of what they're trying to do and have the coding skills to pull it off.

That's not all we're looking for, however. Dreamwidth is a fairly unique project in the world of open source because of our strong stance on diversity and respect and how we run our culture. We're going to be prioritizing applicants that understand this and are similarly interested in what we're doing here.

So, in short, to maximize the odds you get accepted to work on Dreamwidth: write a good proposal (detailed, understand what you want to do), make sure you have explored the site, understand our Diversity Statement, and make sure this is all apparent on your application. It also wouldn't hurt to get involved in the community and show that you are interested. We've already had a few people coming by IRC and participating -- hanging out, talking, getting a Dreamhack setup, etc.

If you have any questions, let us know! Thanks for your interest in Dreamwidth. :)
denise: Image: Me, facing away from camera, on top of the Castel Sant'Angelo in Rome (Default)
[staff profile] denise
I have created [site community profile] dw_dev_training for beginning developers to discuss, encourage, and ask questions! Feel free to join even (especially!) if you're an experienced dev.


Apr. 22nd, 2008 01:00 pm
mark: A photo of Mark kneeling on top of the Taal Volcano in the Philippines. It was a long hike. (Default)
[staff profile] mark
This is an introductory post.  It's worth reading, though!  Especially if you're new around here.  :-)

This is the community for discussing things related to the Open Source Dreamwidth codebase.  In other words, just about everything that is related to writing code can go here.  If you want to talk about how to write plugins, or something that bugs you in the code, ask questions about how you would write something, toss in some documentation, or whatever else, go for it!

If you are new to the community, post an introduction!  Say hi, where you're from, what you do.  Give us a face with a name, and then join us in making this site, this community, be one of the best on the web.

Now down to some details...

The Dreamwidth (DW) codebase is licensed under the GPL.  We inherited this by forking from the original LJ codebase.  If you are going to be working with the DW code, your code will more than likely be under this license as well, to ensure that everybody in the community can benefit from the work.  However, if you stick to writing plugins, then you can license your code however you want.

Really, our goal here is to build something awesome, and for that we need your help.  By having a thriving community of developers contributing to this project, we will be able to make something really awesome that will provice a great place for people to live online.

If you don't know how to code, that's okay!  Documentation, design, support, even a cheering squad!  It takes all kinds of people to make a project like this succeed.  Will you be a part of it?  :-)


dw_dev: The word "develop" using the Swirly D logo.  (Default)
Dreamwidth Open Source Development

April 2019



RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 24th, 2019 07:02 am
Powered by Dreamwidth Studios