Consolidating
Sunday, December 20th, 2009 02:50 pmMmm, so I've cleaned up my profile information on LJ to the bare minimum -- basically tidied out all the information I'm not using. That includes my old ICQ (ahaha) account number.
I've also also tidied up my friends list, unfollowing everyone who looks to have moved over to Dreamwidth, since that's way easier for me. Please let me know if I removed you by mistake. I double-checked, but tickies and stuff... and stuff.
Distraction *handwave vaguely* Ooh look, shiny.
I've also also tidied up my friends list, unfollowing everyone who looks to have moved over to Dreamwidth, since that's way easier for me. Please let me know if I removed you by mistake. I double-checked, but tickies and stuff... and stuff.
Distraction *handwave vaguely* Ooh look, shiny.
I'm doing Bug 216: Renaming, and maaaaaan.
It's kind of funny -- I studiously ignored most of the renaming support requests back on LJ, because it seemed complicated and I didn't want to dig into the code, and now here I am, writing similar logic from scratch *snickers*
I'm having great fun. This seemed like one of the projects where tests would have a great effect, so I spent some time figuring out how to write tests from scratch, rather than just trying to tweak existing tests.
My tests look kinda like this:
( tests )
I'm coding by first writing a bunch of tests, then writing code to make the tests pass. Every time I think of something new I should check for, I dash off a quick TODO block and then go back to writing either my test or my module. That helps me not lose my train of thought, but also means that I don't lose my ideas.
I'm starting with a small set of limited functionality, and then gradually expanding the scope. I actually started by disallowing everything except user-to-unregistered, and now I'm relaxing the rules as I add more. So far, I have personal-user-to-unregistered, with redirect and without redirect, and lots of checking for whether $fromu can rename to $tousername.
I'm in the middle of user-to-other-user, where the second user is just moved out of the way.
I estimate that I'm only about 10% of the way through -- I still need community-to-unregistered, community-to-other-community (or journal??), two-username-swap, keeping or removing various links -- subscriptions and the like, then catching edge cases (loops, openid attempts to rename, etc). And then I need to integrate it into the shop. And after that, I need to build a frontend so people can buy it from the shop *g*
At some point, I'll probably need to catch someone in chat to ask certain questions about the renaming process -- what should happen to usernames that were renamed away from, is swapping usernames one token or two, should you be able to rename a comm to a journal and vice versa, blah blah blah, buuut that can all wait a bit, because I'm sure I'll end up with still yet more questions.
It's kind of funny -- I studiously ignored most of the renaming support requests back on LJ, because it seemed complicated and I didn't want to dig into the code, and now here I am, writing similar logic from scratch *snickers*
I'm having great fun. This seemed like one of the projects where tests would have a great effect, so I spent some time figuring out how to write tests from scratch, rather than just trying to tweak existing tests.
My tests look kinda like this:
( tests )
I'm coding by first writing a bunch of tests, then writing code to make the tests pass. Every time I think of something new I should check for, I dash off a quick TODO block and then go back to writing either my test or my module. That helps me not lose my train of thought, but also means that I don't lose my ideas.
I'm starting with a small set of limited functionality, and then gradually expanding the scope. I actually started by disallowing everything except user-to-unregistered, and now I'm relaxing the rules as I add more. So far, I have personal-user-to-unregistered, with redirect and without redirect, and lots of checking for whether $fromu can rename to $tousername.
I'm in the middle of user-to-other-user, where the second user is just moved out of the way.
I estimate that I'm only about 10% of the way through -- I still need community-to-unregistered, community-to-other-community (or journal??), two-username-swap, keeping or removing various links -- subscriptions and the like, then catching edge cases (loops, openid attempts to rename, etc). And then I need to integrate it into the shop. And after that, I need to build a frontend so people can buy it from the shop *g*
At some point, I'll probably need to catch someone in chat to ask certain questions about the renaming process -- what should happen to usernames that were renamed away from, is swapping usernames one token or two, should you be able to rename a comm to a journal and vice versa, blah blah blah, buuut that can all wait a bit, because I'm sure I'll end up with still yet more questions.
Creating and customizing a theme layer
Wednesday, December 2nd, 2009 03:15 pmEdited slightly, and posted to http://dw-styles.dreamwidth.org/13219.html
The basic settings to customize your theme can be accessed and modified via the Customize Journal Style page. However, if you're doing something more complicated, you may need to modify code snippets or manually set some variables. For these, you will need to know how to create a theme layer and attach it to your style.
First of all, a quick rundown of terms:
A style is what is applied to your journal, and it is made up of several layers. A layout layer is the basic structure or framework of the style. Customizations via the Customize Journal Style page will be saved as auto-generated customizations in a user layer. Any other modifications you make, you should do in a theme layer. A theme layer can contain system-provided default color settings; it can also contain any additional advanced customizations you wish to apply to your journal.
Technically, you can just modify a user layer, and it seems easier to do that, because it's already been created for you and you can skip the few steps required to create and attach a new theme layer to your style. However, this is a bad idea, because hand-edited changes to a user layer may be erased the next time you use the wizard. To be safe, always create a separate theme layer if you need to edit something manually.
(!! the links will work from single entry-view; they'll also work from read page, etc, when I post the final entry)
( on with the tutorial )
For the record, I now hate the advanced customization area and want it to die die die :-) Setting things up is way more complicated than it should be
The basic settings to customize your theme can be accessed and modified via the Customize Journal Style page. However, if you're doing something more complicated, you may need to modify code snippets or manually set some variables. For these, you will need to know how to create a theme layer and attach it to your style.
First of all, a quick rundown of terms:
A style is what is applied to your journal, and it is made up of several layers. A layout layer is the basic structure or framework of the style. Customizations via the Customize Journal Style page will be saved as auto-generated customizations in a user layer. Any other modifications you make, you should do in a theme layer. A theme layer can contain system-provided default color settings; it can also contain any additional advanced customizations you wish to apply to your journal.
Technically, you can just modify a user layer, and it seems easier to do that, because it's already been created for you and you can skip the few steps required to create and attach a new theme layer to your style. However, this is a bad idea, because hand-edited changes to a user layer may be erased the next time you use the wizard. To be safe, always create a separate theme layer if you need to edit something manually.
(!! the links will work from single entry-view; they'll also work from read page, etc, when I post the final entry)
- Find your current style information
- Create a new theme layer
- Copy existing theme layer settings to your new theme layer
- Apply the new theme layer to your style
- Tips
( on with the tutorial )
For the record, I now hate the advanced customization area and want it to die die die :-) Setting things up is way more complicated than it should be
Custom reading list colors
Wednesday, December 2nd, 2009 02:53 pmETA: Posted! http://dw-nifty.dreamwidth.org/4374.html (with minor edits, including removing exclamation points *g*)
So many people do not know that Dreamwidth has had custom reading list colors for a long time now!
Putting up a draft entry, shall polish and post to
dw_nifty or
dw_styles (but I think I may need to do a "here's how to create and start editing your theme layer" first, which I keep putting off)
Custom reading list colors are disabled by default, so you'll need to enable it, but it is available for all styles (with the exception of Zesty).
Go to Customize Journal Style, under "Additional Options" select "Use my custom reading list colors"
Most styles implement it as a border around the userpic. However, some styles, such as Negatives, have implemented it as part of the entry border. If you don't like where your style puts the custom colors, you can also customize them by setting some variables in the advanced customization area.
( Read on )
So many people do not know that Dreamwidth has had custom reading list colors for a long time now!
Putting up a draft entry, shall polish and post to
![[site community profile]](https://www.dreamwidth.org/img/comm_staff.png)
![[site community profile]](https://www.dreamwidth.org/img/comm_staff.png)
Enable the custom reading list colors defined by your style
Custom reading list colors are disabled by default, so you'll need to enable it, but it is available for all styles (with the exception of Zesty).
Go to Customize Journal Style, under "Additional Options" select "Use my custom reading list colors"
Most styles implement it as a border around the userpic. However, some styles, such as Negatives, have implemented it as part of the entry border. If you don't like where your style puts the custom colors, you can also customize them by setting some variables in the advanced customization area.
( Read on )
NaPaWriMo update
Monday, November 23rd, 2009 10:23 amSince my last update, I have done 18 more bugs, giving me a total of 29 patches, whee.
I also have been doing Bug 117, but in bits and spurts because I haven't had the large chunk of time I want to sit down and just hack on something meaty, so it's mostly been bits and pieces here and there.
Quick rundown, and most of these have not been committed yet, so possibly there shall be changes --
Styles:
don't apply custom user layer to preview of a new theme; strip out user-entered links in subjects for entries aggregate views/collapsed comments, so that you can click through; appended ?style=mine and ?s2id=x appended to journal view links; allow ?s2id=x to work for anyone as long as all layers are public
Administrative:
new sysban type: spamreport
Backend optimization:
cache user tag lookup in RTE; memcache for nonexistent s2id
Misc interface improvements:
add consistent spacing between comment links in site scheme; add a bit of crossposting info to entryprops.bml; handle cut and uncut text better in latest news module; dynamic inbox count in the Inbox link under the Read menu; add link back to journal if there's no next/prev entry; link directly to the original feed's URL from tools/opml; dropdown for journaltype filter on network page; remember the option for "Disable Auto-Formatting"
Misc bugfixes:
fix ?show=PCF logic in tools/opml; respect the option to not save colors when adding someone to your circle
I also have been doing Bug 117, but in bits and spurts because I haven't had the large chunk of time I want to sit down and just hack on something meaty, so it's mostly been bits and pieces here and there.
Quick rundown, and most of these have not been committed yet, so possibly there shall be changes --
Styles:
don't apply custom user layer to preview of a new theme; strip out user-entered links in subjects for entries aggregate views/collapsed comments, so that you can click through; appended ?style=mine and ?s2id=x appended to journal view links; allow ?s2id=x to work for anyone as long as all layers are public
Administrative:
new sysban type: spamreport
Backend optimization:
cache user tag lookup in RTE; memcache for nonexistent s2id
Misc interface improvements:
add consistent spacing between comment links in site scheme; add a bit of crossposting info to entryprops.bml; handle cut and uncut text better in latest news module; dynamic inbox count in the Inbox link under the Read menu; add link back to journal if there's no next/prev entry; link directly to the original feed's URL from tools/opml; dropdown for journaltype filter on network page; remember the option for "Disable Auto-Formatting"
Misc bugfixes:
fix ?show=PCF logic in tools/opml; respect the option to not save colors when adding someone to your circle
- I am falling behind on a lot of correspondence; I need to set aside a day to respond to comments and bugmail and email
- OTOH, my work inbox is completely empty, whoo!
- watched the first lecture for
intro_to_cs. The segment where he was generating syntax errors reminds me of the first day in CS 101 where our take home group assignment was to take a simple Java program, and find as many ways as we could to make the compiler complain
... that was awesome fun - Also, the blackboards in that video are really, really, nifty
- Learning about Spring MVC for work. Slightly less fun, but I shall sort it out. (I may soon treat myself to learning jQuery from the very basics, which I also need to study, to break up the meh of enterprise Java)
- Reworked three patches, uploaded one new one, have one last one almost ready (just need Pau to comment on one bit)
- Tomorrow shall be a reviewing day, I think. I meant to make it part of today, but it's getting late
- Ran out of my current yarn stripe; switched back to white for my pouch bag. I am on the final stretch, I think!
- Need to make time to go to the one yarn shop I've found that sells non-acrylic yarn. I have found some acrylic yarns that are easier on my fingers, but I do miss the feeling of cotton (and I may get something else -- not sure what, but I want to treat myself to trying out a texture I have not tried before)
- Coding is patterns; knitting is patterns. They play around in the same area of my brain :-)
- I thought the whitepages were my connection's fault, but no they aren't? I guess that makes sense
commenting
Monday, November 9th, 2009 01:42 pmHey all, as much as possible, please comment on my entries on DW rather than on LJ. (I've changed the footer on the crosspost to encourage that, as well)
Lately, I've been having trouble accessing LJ from home (I've been having trouble accessing a couple of sites, but LJ in particular ends up white-paging on me every few requests). Also, and maybe related to the first, my session keeps losing itself, and for various reasons, I find myself neglecting to log back in to LJ when I get logged out.
I have no intention of stopping crossposting, or of turning off comments on LJ entries, and I am still reading my friends page from work (*cough*). But what it adds up to is that I'm having difficulty responding to and managing my comments on LJ. So yeah, if you're trying to decide between replying on LJ or replying on DW, please do click on the links to DW at the bottom of each entry.
Thanks <3
Lately, I've been having trouble accessing LJ from home (I've been having trouble accessing a couple of sites, but LJ in particular ends up white-paging on me every few requests). Also, and maybe related to the first, my session keeps losing itself, and for various reasons, I find myself neglecting to log back in to LJ when I get logged out.
I have no intention of stopping crossposting, or of turning off comments on LJ entries, and I am still reading my friends page from work (*cough*). But what it adds up to is that I'm having difficulty responding to and managing my comments on LJ. So yeah, if you're trying to decide between replying on LJ or replying on DW, please do click on the links to DW at the bottom of each entry.
Thanks <3
More coding
Monday, November 9th, 2009 02:40 amI tamed the RTE \o/*! That makes 11/30 patches.
Also did a few commits, and now it is time for bed.
I feel my problem getting started on Bug 117 is because I'm suffering from blank-paper-itis -- the feeling of anxiety when faced with a blank sheet of paper, because you don't know where to start. I have batted about several ideas for implementation in my mind, and I'm not satisfied with any of them. But I have picked one now, and am running with it, on the assumption that something is better than nothing, and that if this implementation crashes and BURNS on me, it will at least break my current inertia, and I can easily pick another way (with one less possibility to worry about).
* hopefully not famous last words?
Also did a few commits, and now it is time for bed.
I feel my problem getting started on Bug 117 is because I'm suffering from blank-paper-itis -- the feeling of anxiety when faced with a blank sheet of paper, because you don't know where to start. I have batted about several ideas for implementation in my mind, and I'm not satisfied with any of them. But I have picked one now, and am running with it, on the assumption that something is better than nothing, and that if this implementation crashes and BURNS on me, it will at least break my current inertia, and I can easily pick another way (with one less possibility to worry about).
* hopefully not famous last words?
A bunch of people on my reading list have been posting about their wave invites, so maybe everyone who wants one already has one, but I have 6 4 3 ALL OUT google wave invites if you need.
I also have a few Dreamwidth invites, so tell me if you want one as well :-D (Dreamwidth is a great service. I highly recommend it ^_^)
First come first serve unless you explicitly say that you want to be low priority, in which case, I'll put you at the back of the queue.
(All comments screened, but please give me your email straight off!)
I also have a few Dreamwidth invites, so tell me if you want one as well :-D (Dreamwidth is a great service. I highly recommend it ^_^)
First come first serve unless you explicitly say that you want to be low priority, in which case, I'll put you at the back of the queue.
(All comments screened, but please give me your email straight off!)
NaPaWriMo? NaNoNOTWriMo? NaNoKNOCKOff?
Monday, November 2nd, 2009 08:58 amI started a thing! I pledged to patch 30 bugs in November. Here's what I have so far:
Planned:
Done:
Progress:
100% ( 30 / 30 ) -- 2 planned
Planned:
Done:
- Bug 2023 - Sort Base Layouts by Layout Name
- Bug 1492 - modify manage/subscriptions/comments.bml to also include entry, not just comment thread
- Bug 2034 - in comment form, comment browser button is styled and shouldn't be
- Bug 1183 - Tags module on Tags page ignores tags limit
- Bug 1690 - Support for <dc:creator>
- Bug 157 - XML-RPC doesn't work correctly in LJ - please fix it in Dreamwidth!
- Bug 2043 - featured layouts for November
- Bug 1411 - fix checking of whether or not comments are disabled on local entry for xpost
- Bug 2033 - autoclose unclosed <cut> tag in xposted entries before xpost footer is added
- Bug 1781 - Add clearing element to Tabula Rasa
- Bug 496 - Set up the RTE to use cross-site user tags
- Bug 1871 - append ?s2id/style=mine, etc, to the URLs for different views (/read, /network, etc)
- Bug 2084 - speed up user tag rendering in RTE, by caching once it has been looked up once
- Bug 2089 - some backend optimization for nonexistent styles being memcached
- Bug 378 - Dynamic inbox count for menus
- Bug 2099 - Inconsistent spacing between comment links on site scheme comment pages
- Bug 2066 - When previewing a theme for your current layout, user layer is applied
- Bug 1802 - Get (a tiny bit of) crossposting info on entryprops.bml
- Bug 2090 - News module widget should respect cuts
- Bug 843 - URLs in entry subject lines force subject lines to appear as text, not entry hyperlinks
- Bug 1575 - Usability improvement for Next/Prev navigation
- Bug 2013 - Link directly to the feed url of syndicated accounts, from the OPML file
- Bug 2111 - tweak the logic for the ?show=(accounttype) parameter to the tools/opml
- Bug 2104 - new sysban type: spamreport (for those who abuse the "report as spam" button)
- Bug 2001 - s2id for everyone, for styles with all public layers
- Bug 491 - respect the option to not save colors when adding someone to your circle
- Bug 1336 - add dropdown for journaltype filter on network page
- Bug 1677 - Remember the option for "Disable Auto-Formatting"
- Bug 1879 - reason for comment when editing
"It's all about the numbers"
Sunday, November 1st, 2009 08:58 pmMan, I'm kinda envious of the people who have the discipline to get things done under a tight schedule. So I have set a goal for myself of 30 patches* by November 30. If the goal limits me so that I end up churning out crappy/buggy patches, I'll drop it (so that
mark doesn't come after me /o\), but assuming all goes well, should be fun!
(So far, I have done eight. But I think I forgot October had a 31st day, so yesterday was still October, and the first seven don't count? UMMMM. CRAP.)
*patches == final patches as opposed to bugs, meaning that if I get "review-"ed, redo my patch and submit a new one, that only counts as one. But if it comes up to November 30, and I still have a bunch of bugs with unreviewed patches, those still count :-)
ETA: Tracking entry
![[staff profile]](https://www.dreamwidth.org/img/silk/identity/user_staff.png)
(So far, I have done eight. But I think I forgot October had a 31st day, so yesterday was still October, and the first seven don't count? UMMMM. CRAP.)
*patches == final patches as opposed to bugs, meaning that if I get "review-"ed, redo my patch and submit a new one, that only counts as one. But if it comes up to November 30, and I still have a bunch of bugs with unreviewed patches, those still count :-)
ETA: Tracking entry
Comment Stats
Thursday, October 1st, 2009 06:20 pmI'd forgotten about this thing, until
yvi reminded me. Hah *g*
( Who comments the most on this journal? )
(Just replace http://www.livejournal.com/export_comments.bml?get=comment_meta&startid=0 with http://www.dreamwidth.org/export_comments.bml?get=comment_meta&startid=0)
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
( Who comments the most on this journal? )
(Just replace http://www.livejournal.com/export_comments.bml?get=comment_meta&startid=0 with http://www.dreamwidth.org/export_comments.bml?get=comment_meta&startid=0)
CSS -> S2 properties conversion easement script
Tuesday, September 22nd, 2009 01:27 amJust wrote a quick script which parses out colors and the elements they apply to from a CSS stylesheet, to make it easier to match them to s2 properties.
Invoke by doing:
> css_to_s2.pl path/to/stylesheet
Can take multiple stylesheets. Actually, if it could parse out the colors from multiple stylesheets, and compare somehow pick out which colors were theme-specific, that would be pretty useful in conversion. (It does nothing of the sort now; it's just slightly easier this way than wading through the rest of the positioning, etc, code)
Mmm, not posting anywhere (else) until I figure out a better way to lay out the data. But I figure I could eventually put up a webpage as an interface in case anyone wants to use it quickly for conversion. Would need to be more careful about the input/output then, but that can wait until later.
Invoke by doing:
> css_to_s2.pl path/to/stylesheet
Can take multiple stylesheets. Actually, if it could parse out the colors from multiple stylesheets, and compare somehow pick out which colors were theme-specific, that would be pretty useful in conversion. (It does nothing of the sort now; it's just slightly easier this way than wading through the rest of the positioning, etc, code)
Mmm, not posting anywhere (else) until I figure out a better way to lay out the data. But I figure I could eventually put up a webpage as an interface in case anyone wants to use it quickly for conversion. Would need to be more careful about the input/output then, but that can wait until later.
Free time, and stuff
Tuesday, September 15th, 2009 11:26 amI am trying to figure out what I do in my free time besides coding.
Umm. UM.
(okay, so there's gym, but that's the buffer time between work and coding; and then there's reading books, but then at least one of those is related coding.
Um.)
I think I should like to build something with my hands instead of with my mind, but I haven't decided what that is, yet.
Umm. UM.
(okay, so there's gym, but that's the buffer time between work and coding; and then there's reading books, but then at least one of those is related coding.
Um.)
I think I should like to build something with my hands instead of with my mind, but I haven't decided what that is, yet.