Author Archives: katkat42

Getting Your Head in the Game: Anti-Procrastination Tips

Procrastination. Almost all of us have to deal with it in some way, but when you’re working on a project where the only communication is long distance and you don’t have someone looking over your shoulder, it’s a situation that can get exacerbated. So here’s some tips for dealing with it.

  • Try and do things that put you in a ‘work-mode’ frame of mind. Sit yourself down in a place that you associate with work. So a desk rather than a more comfortable lounging chair, or perhaps a library rather than at home. If you’re working on the weekend, avoid wearing your pyjamas all day, this could put you into a ‘relax-mode’ frame of mind. I have some music that I tend to listen to while studying for school, so I listen to that while working too. Even using a particular writing implement: I’ve been advised to study with the same pen/pencil I’m going to write a test with. These little things can honestly help
  • Sunlight. Especially during the winter. Seasonal Affective Disorder affects a lot of people. Plus, having the extra light is better for your eyes
  • Schedule time. Put aside a couple hours of ‘class’ time a couple days a week dedicated to this. Put it in your calendar. Write it down. Tell people you will be busy then
  • Write out a detailed to-do list. What do you need to get done? When does it need to be done by? Just writing it out will help cement it in your head
  • Ask for help. Yes, you’re behind and asking simple questions is going to betray that. But not getting the help is only going to put you further behind and make you want to work even less. Swallow that pride! The mentors are awesome guys! They really want to help, they’re not going to be super harsh.
  • Related to this, hang around the IRC chat. That way the option to ask about stuff is always right there and it doesn’t seem like a big deal
  • It’s fine to try and find answers on your own, but keep an eye on how long you’re spending on this. If it’s taking more than an hour, it’s probably time to talk to someone
  • Consider getting the people around you to help. If you concentrate better while working around other people, get a group of friends together to work with. Maybe get family members to nag you.
  • Try to be aware of why you might procrastinate and what your habits are. If you know what you’re likely to do, you can try to combat it. I know that one of the hardest steps for me is to just get started. Once I’ve begun, I can get into the zone. So I tell myself things like ‘well just make this one small change that’s super easy and go from there’. Then before I know it, an hour has gone by and lots has gotten done!

Meeting Minutes – March 10, 2013

Opening Announcements

Please don’t drop the course. We ♥ you all. We hate watching you go

For gregwym, katkat, ayrus12, the course ends in less than a month. So you’ll need to start manoeuvring yourselves to get into the “end run.” Remember that the mentors need time to review your code before it can be committed, and you need time to make revisions based on our reviews. All of which you should budget about five days for. So you’re going to want your patches out of WIP by the end of this month. Let that sink in. If you do feel like you’re going to have trouble hitting your target, now is the time to let the mentors know, either in IRC or via email.

gregwym

document.write is working well and he is now applying rendering to other text in the same way. He thinks he can hit the end of month target

Q: For the preview, should I open another RR?

A: It might not be a bad idea if you feel like your other patch is atomic enough that it can be committed without needing the preview patch. If you do that, make sure you specify that your new review request depends on your old one. We have to do that manually until Demelo’s patch lands.

katkat

Things are going well and she will be updating her WIP by the end of the day. She thinks she can hit the end of month target

ayrus12

He was having some trouble with backbone but spent time discussing things with ChipX86 so it’s all good now. He thinks he can hit the end of month target

fsung

His question about template hooks was addressed. His schema/mockups post (http://phoenixairs.wordpress.com/2013/03/09/rb-checklist-extension-specs) has m_conley excited.

Q: For the checklist extension, he’s using a generic foreign key pattern and m_conley isn’t sure it’s used anywhere else. How do we feel about that pattern?

A: Try using multiple potentially-null ForeignKey relations instead and see what happens. We might consult with ChipX86. You might want to quickly study http://reviews.reviewboard.org/r/3292/ to see what bogdana_p_away did to solve this (although it’s possible she found a solution that doesn’t apply to your particular problem).

Closing

When estimating efforts for review board, be sure to take into account factors like the due dates and assignments of other courses

Just because the course ends, doesn’t mean that you have to stop contributing. You’re all now part of our community, and once the course ends, we’d still love to have you hacking on RB. Plus, when new waves of students come in, we’ll need help answering their questions. So you’re welcome to keep hanging out in this channel too, if you’re still participating. 🙂

Keep up the good work. Keep pluggin’ away!

Status Reports – February 8, 2013

Jon Demelo

CURRENT

  • Implemented an initial version of dependencies earlier in the week.
  • Dealing with the always fun “first version” bugs/errors/breakdowns.
  • Gathering more context to aid in the development process. (i.e. I’ve mapped out multiple features from the project, such as Groups, Bugs, and People, so that I can see how each is implemented to better understand the system.)

ROADBLOCKS

  • Scheduling (i.e. My main days for project time shift depending on scheduling, so for example, this week my day to work on RB happens to be after the “24 hour” deadline for update reports, yet still before my meeting, therefore on paper my week looks flat.)
  • Figuring out what my initial version is missing that is stopping it from allowing the saving of new dependency input for a review. I’ve mapped/charted out similar inputs (bugs, groups, etc.) and apparently I’m missing something somewhere, although atm I cannot peg it down.

NEXT

  • Continue developing my task and fixing errors or mistakes when they appear.
  • Research, research, and more research.
  • Continue finding large chunks of time to dedicate. (so far so good) My work recently changed shift procedures so I’m adjusting to a new system there.

QUESTIONS

  • I’m curious on some context on datagrid.py. I understand that it seems to order column based data, and I see how it connects to the more front facing areas to allow querying of groups, group members, etc. Just wondering about it in general.
  • Any suggestions on where I could find out how input error checking occurs when entering in an invalid input during a new review request? I was able to track down the jQuery for the red error bar during the hackathon weekend, but I’ve yet to peg down where the checks are done, because this might have a role in my current roadblocks. I just can’t find where it’s coded.

Niklas Hambüchen

CURRENT

  • Implemented self-closing as planned, published in a WIP review.
  • Waiting for a bit of feedback for that.

ROADBLOCKS

  • I have to write a good test for the above; the fixtures don’t cover it, I might need a bit of help on how to create review requests, file reviews, and issues to test against.

NEXT

  • Talk again to the RB devs about how they would like to see the optional”everybody/group can click fixed/drop” implemented

QUESTIONS

  • None, all answered in last IRC

Surya Nallu

CURRENT (IN THE PROCESS OF DOING UNTIL SATURDAY NIGHT):

  • Front end for browsing extensions. User searches for extensions (gives some parameters) and the search results are shown with the ability to install.
  • Integrate the front end with the backend implemented last week (that “talks” to the server)
  • Maintain a design documentation (since the actual official extensions “store” will be done later separetely).

ROADBLOCKS

  • None.

NEXT

  • Add a modal window that would show more information about an extension that the user is interested in; since presently, the front end would simply let a user browse extensions (and install if needed).
  • Add unit tests for the extension browser module on djblets.
  • Further steps are subject to discussion/review on this week’s work and will be discussed in IRC.

QUESTIONS

  • None yet.

Hiroki GOHARA

CURRENT

  • Making database model for trophies.

ROADBLOCK

  • I have a error with database evolving

NEXT

  • Understand Jango Framework and solve the error.
  • Implement compute_trophies function which get data from database

Paul Woods

CURRENT

  • I just joined, so I’m working on running and building ReviewBoard on my Macbook

 ROADBLOCKS

  • Currently having an issue related to the installer script and llvm-gcc, but I will likely be able to figure it out

 NEXT

  • Finish building + running ReviewBoard on my local machine
  • Make first bug fix

 QUESTIONS

  • None yet

Felix Sung

CURRENT

  • Just reinstalled the OS on my computer, so had to setup development environment again. Seems to be running fine.

 ROADBLOCKS

  • Initial unit tests didn’t pass; asked on IRC and it may be due to some Fedora update
  • ChipX86:okay, so I think this is due to a fix we got from the fedorahosted guys that didn’t actually fix the unit test
  • Otherwise fine, trying to get rolling.

 NEXT

  • Pick off a few easyfix bugs and select a project from the list.

 QUESTIONS

  • Nothing big

Miguel Flores

CURRENT

  • I got a new computer so I’ve been working on getting my development environment set-up. Done, works, builds.
  • I’ve been reading over the extensions sections in djiblets and review-board sections, but have not made any changes in code yet.

ROADBLOCKS

  • None

NEXT

  • (Tomorrrow) I will be working on the project and will start to make come with a first code changes and test to see how I can implement the sandboxing.
  • (This week) Make progress on determining best way to implement sandboxing based on results of working tomorrow and asking any questions that may arise.

QUESTIONS

  • None

Greg Wang

CURRENT

  • Fix the unit test for SSH Key Deletion

ROADBLOCKS

  • Usually work on the project on Friday night or weekend, so haven’t done much yet after last status report

NEXT

  • Continue on the markdown functionality
  • First, build the toggle on editor which will let user to choose whether enable markdown

QUESTIONS

  • Nothing for now

Katherine Schramm

CURRENT

  • My computer crashed this week, so much of my time was dealt with recovery with luckily went quite smoothly.
  • Code reading

ROADBLOCKS

  • None

NEXT

  • Start hashing out some new code, I plan to start this weekend to catch up

QUESTIONS

  • None

[Edited to add Yuri’s report at 10:50pm EST]

Yuri Honami

Current

  • Fix bugs(2753) completely
  • Study django

Roadblocks

  • I don’t understand how to work templates.

Next

  • Improve understanding about django.

Questions

  • Which does python-codes control templates? (esp. “templates/accounts”)

[Edited to add Gabriel’s status report]

Gabriel L

Currently

  • Cleaned up the CSS of the widgets in the admin in preparation of using the drag and drop from jQuery UI (for some reason the widgets on the right were using masonry, but only for one column, so replaced it with floats) And researched the ways to do the drag and drop and checked how the different widgets are built.

Roadblocks

  • Time!

Next

  • I still need to make resizable the charts in the widgets which are now with fixed width. Then when all the widgets are free from their fixed sizes, will do the drag and drop.

Questions

  • Nope

Meeting Minutes for Group A – February 3, 2013

Announcements

For anyone working on a larger project right now. If you have a lot to design, a good idea would be to create a hackpad page with your thoughts and to keep it up-to-date, so that we have a source of reference as we’re discussing it. This is especially useful if the project needs additional work after the semester ends: we’ll have something to go back through

It’s very important to get status reports in 24 hours before the meetings start, aka by Friday night. The reports need to be up so that the mentors can prepare so that they’re not hemming and hawing or making snap decisions in. For future meetings, we want to have all the status reports on Fridays. At least 24 hours before the first meeting, which is at 10:30 Eastern. Email your status reports to the mailing list (reviewboard-students) so that the traffic can be observed and the person on duty will gather them from there.

Some status reports indicate people are having difficulty finding time to work on the project. Finding time is very important. If you really want to get a deep understanding of your project, the code base, and really maximize your chances of getting your projects done you’ve got to put in the time. It’s also better to work in big blocks, 2 hours once a week will be more productive than 2 hours spread across a few days

Question Period

Q: I mostly work on my project on the weekend since it allows for larger blocks of time. Due to that, I don’t really have anything considerable for the status reports before the end of it. What should I do regarding that?

A: You could just report on the period from the last status report to the present and include what you’re hoping to get done “tomorrow” as well as any questions. So what you do on Saturday won’t apply to your Friday status report, it will apply to the *next* Friday’s report. The most important thing is to get any big questions sent in via the status report *ASAP* before the meeting. You should also feel encouraged to ask meetings throughout the week as well. Always feel free to contact the mentors via: IRC pings, email, or mail to reviewboard-dev or reviewboard-students (dev will give you greater developer exposure). The mentors also tend to be in IRC over the weekend so you can get your questions answered there as you work.

Q: Are there docs on how the unit test database is set up? I want to be able to get around the authentication system to perform the ‘delete ssh key’ test.

A: Look for other tests that do “self.client.login”. Somewhere we’re logging in as an ‘admin’ user. And to run an individual test: ./reviewboard/manage.py — reviewboard.admin.tests:MyClass.my_function (you can include as much or little of that module path as you like… filename, class, function). You may need to also include the ‘test_users’ fixture

Q: What do you recommend for inspecting some random django model variable, preferably showing all its members and foreign key values. dir() and inspect don’t really do that for me, and most of the classes’ __unicode__ is too simplistic for this. I mainly use it for “code skimming”: quickly printing x, y, z variables, finding out which one contains things related to my problem. An example: class Comment(BaseComment) has: “anchor_prefix, comment_type, filediff, interfilediff, first_line, num_lines, last_line,” I would like to see them e.g. like I would instantiate an object Comment(anchor_prefix=”asdf”, comment_type=”asdf”, filediff=”<Filediff>”, interfilediff=”asdf”, first_line=”asdf”, num_lines=”asdf”, last_line=”df”) and e.g. the models.ForeignKey resolved (just 1 step) and __unicode__ or __repr__’d

A: You could use pdb interactively, or just add print statements. Best to pick a few things you care about and print those. For the example, you’d probably need some custom function that introspected the list of fields and then got the right values (so you don’t end up with all the extra django model cruft). Not aware of some standard tool/function for this. You could Google around too – someone else might have solved this.

Q: I just want to recommend into the wild to use linters and so on, especially the cool ones integrated into our editors are convenient. in some commits I saw some really confusing whitespace (e.g. in javascript a dedent after a { block) – editor linters can do that for us as we’re writing

A: Good idea, that’s the sort of thing we should take advantage of. Also, if you haven’t already noticed, Review Bot is running pep8 over your Python and Javascript code that you put up for review. And if you see that odd whitespace in a review request, be sure to call it out since we should be catching that.

Closing Remarks

A reminder to take a look at other’s code (including the mentors!). If you go to “My account” you can subscribe to various groups, which will put them on your dashboard. There are some review requests up there ripe for the picking. It’s ok if you don’t find you have anything to say. Looking at them is a great first step and getting to know our style is useful to you, and where code lives, and what work is being done. Reviewing makes it easier for us to know that you’re actually doing these things, but for your own personal development, just studying the code is good. Also a simple “nothing to say – looks like it makes sense to me” is better than nothing (e.g. it’s motivating and means that code has seen 2 dev’s eyes instead of only one). If you’re not confident, you don’t have to give a ship-it

Keep working hard everyone.