556 text files.
classified 538 files
499 unique files.
180 files ignored.
http://cloc.sourceforge.net v 1.04 T=61.0 s (6.0 files/s, 772.1 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code scale 3rd gen. equiv
-------------------------------------------------------------------------------
Python 185 4403 2428 25212 x 4.20 = 105890.40
HTML 89 198 87 8411 x 1.90 = 15980.90
CSS 4 616 24 2752 x 1.00 = 2752.00
Javascript 6 109 545 754 x 1.48 = 1115.92
SQL 65 94 130 504 x 2.29 = 1154.16
XML 6 10 0 359 x 1.90 = 682.10
Bourne Shell 12 54 135 274 x 3.81 = 1043.94
-------------------------------------------------------------------------------
SUM: 367 5484 3349 38266 x 3.36 = 128619.42
-------------------------------------------------------------------------------
Archive for the 'Miro Guide' Category
The Guide was just accepted into Launchpad, so now I need your help. I’m mono-lingual in human languages, so I can’t translate the strings we use into the 34 different languages for which we have videos.
That’s where you come in! Help out by translating some of the Guide over on the Miro Guide Launchpad page, and be the first on your block to see all the cool phrases that are used behind the scenes.
The first iteration of the Miroguide API is out in the world! Visit https://develop.participatoryculture.org/trac/democracy/wiki/MiroGuideApi to check it out.
I’m starting to work on #9505 which allows a user to view the guide in a different language. This probably involves a couple things:
- translating the Guide
- only showing channels in the specified language
- choosing the default language based on what language Miro is in
But I don’t really know what people want from this feature. So I’m opening the floor up to you. What would you like a language switcher to do? How would you like to interact with it? Either add a comment to the bug or to this post, and you can help direct this feature!
I hacked together a quick feature that I’ve been wanting for a while: RSS feeds for the guide. Right now, there are three of them:
https://www.miroguide.com/feeds/features/
https://www.miroguide.com/feeds/new/
]https://www.miroguide.com/feeds/categories/[category name
Let me know what you think!
We just rolled out a couple new features onto the Guide.
- Featured Queue: This is mostly relevant for moderators. Previously, to feature a channel on the front page, moderators had to manually unfeature an older channel before featuring a new one. Now, when a channel is featured, it goes into a queue with all the other channels featured by moderators. Then, once a day, the oldest featured channel is removed from the front page (but still visible on the Featured page) and replaced by an entry from the queue. It picks the channel round-robin style so that all the moderators get channels on the front page.
- Adult Flagging: This is an oft-requested featured. Now moderators will be able to flag channels as Adult and they’ll be filtered (by default) from all views. If you want to see them, then you can visit the Adult category and agree to see them.
Matt moved the database onto its own server, which along with some new caching code has sped the site up a lot. Hopefully it’ll be able to handle the spike when Miro 1.0 comes out.
One thing that I’ve been thinking a lot about (esp. now that Miro is nearing 1.0) is an API for the Guide. I’d love for the Guide to be more directly useful from Miro (think rating channels, getting recommendations, etc), but also more useful for other projects. After all, the Guide is a great resource for Internet TV channels, regardless of the software ones uses.
So I’m posing a question to the developers/users out there: what would you like to see in a Guide API? What would you like to be able to do/access? And how would you like to be able to access it?
I’ve been reading some of the architecture articles on High Scalability (YouTube, Twitter, Amazon, Flickr) and while the descriptions of hardware aren’t particularly useful to me (Miro Guide is one, about to be two, servers; not that big), but a lot of the tips and lessons learned I think may be applicable.
- Keep it Simple: I was a victim of this earlier, trying to make a system that was too complicated.
- Don’t make the database the central bottleneck: We’re running into this problem now, where sometimes a simple insert will time out because the database is being hit so much.
- Denormalize: I haven’t done this, nor do I have plans to in the near future, but it’s a least something to think about.
- Avoid complex joins: Nor this, but it may be becoming a problem. The next item may help with this
- Cache everything: We don’t do this very well, and it’s one of my goals. We just added a Squid server, so giving some hints to that about what’s changed will be good. Also, using memcached a bit more.
- Make your website an open service by creating an API. After the 1.0 release, this is one of the big features I want to work on. I think it’ll make Miro Guide a lot more useful both inside and outside of Miro and allow some refactoring of the actual guide,
- Measure, measure, measure: I starting doing this a couple weeks ago. Now I get an daily e-mail saying what parts of the Guide are running slowly. It’s both a good way to see what needs work, but also how well the caching is working.
- Abstraction: again, something that I’d like to do in conjunction with the API.
We rolled out ratings a while ago, but we recently made a big push for them with a Top Rated page and a blog post. Now I’m throwing my hat in the ring.
Currently, there are about 950 ratings (100 of them are “Not Interested”). I’d like to start working on personalized recommendations, but I’d like to have some more data. A lot more data. I’d like about 2000 ratings so that I’ve got a good range for adding this new feature. If you all could rate some more channels, I’d really appreciate it. Also, you’ll appreciate it when the guide can tell you about new channels you’ll like. ![]()
This week I worked on fixing some display issues on Firefox and Safari. I also updated the donate bar when we broken $50k. I also finished up a couple scripts which check un-approved users. Old users were grandparented in, but new users have to give a valid e-mail address and confirm it with a code.
The rest of my time has been spent doing caching things. There’s some new code that’ll be going live in the Guide hopefully later tonight which will hopefully make things a little better. Then Ben and I will be discussing what we think the best way to make the guide keep going faster is. I’ve been doing some logging, and I’m getting some good data. Currently the slowest pages overall are the 1st channel submit step, the channel details pages and the subscription-hit pages. The slowest pages to render are the front page, the languages and popular pages, and the channel submit pages. Searching is also slow, but on average it takes about 1 fewer second to render than the popular page.
