jrennie is currently certified at Apprentice level.

Name: Jason Rennie
Member since: 2000-03-21 19:17:06
Last Login: 2011-03-04 14:17:13

FOAF RDF Share This

Homepage: http://people.csail.mit.edu/~jrennie/


Recent blog entries by jrennie

Syndication: RSS 2.0

Wow. Been over a year since I've written anything here. Life has been pretty good of late. Helen and I have bought a condo in Belmont (Boston area) and moved in. I love all the extra space. The other members of the condo association could be more pleasant to deal with. One lady has been downright rude. She has no communicaiton skills and becomes enraged over the simplest things. Happily, she appointed her sister to take her place. We can at least talk and argue in a reasonable manner with her sister. Things are much better than they were before. Since the new lady was appointed, we agreed to replace the roof which is about 30 years old and has been leaking into our bathroom ever since we moved it. I can't wait until the roofers begin work. Now that the association is easier to deal with, Helen and I have been having fun buying furniture and planning projects to make our place even nicer. We want to add a closet in the hallway and add shelves in two existing closets. I want to make a wine rack in the basement. Right now, I just store wine bottles in the boxes I get from Wine & Cheese Cask.

I'm working for the summer. Consulting for a cool company called ITA Software. Btw, if you're reading this, are a good lisp or C++ hacker or are an XML expert and wouldn't mind working in Cambridge, MA, send your resume to alex@itasoftware.com. ITA is revolutionizing the airline ticketing industry. Many airlines still use mainframes and (get this) assembly code to process tickets, find flights for customers, etc. Most airlines would have trouble finding you their cheapest ticket from Boston to L.A. simply because there are so many options (combinations of flights, booking codes, etc.) and because their software isn't meant to actually search for a low price ticket. ITA has written a collosal library of software for dealing with the day-to-day aspects of airline ticketing. A big application is low-fare searching. See beta.itasoftware.com for a sample. There are also tons of other aspects for which airlines and airline-related companies need software.

Anyway, I'm working on a machine learning-related project for them. It has to do with Poisson processes, something which I learned a lot about in a class I took in the spring. I've also been coding a lot. I'm becoming pretty familiar with all of the ++ aspects of C++. It's amazing that gcc still has a ways to go before it is compliant with the standard. readsome() will be a nice function to have. I'm surprised at how easy C++ is to deal with once you know most of the ins-and-outs of the standard libraries. 'map' has made my life a whole lot easier. 'string's are nice, although they'd be nicer if everything used string's rather than char*'s. I'm surprised that there isn't a resizing-vector in the standard library, though. Well, at least it's easy enough to derive such a class. Anyway, after spending the first month or so hating every bit of C++, I now mostly enjoy using it. The project that I'm working on is coming well. I'm nearly finished with a protype that will probably go into use RSN. I just need to evaluate it and make sure that it does better than what was used before.

On the school side, I've been working on my master's thesis. I've been learning a bit about Bayesian statistics and how to determine the probability of a new object from training data by integrating over all possible parameters rather than estimating a "best" parameter (via MAP or ML). I also think that I've been learning how to do research. In the past, I've tended to think up a "cool" idea, phiosophize about it, analyze it, draw conclusions about it and then do experiments with the idea. I've learned that it's better to first test the idea. Once you get the idea, you should immediately implement it and play with it. See what it does. Try to think of ways to further and expound on your original idea. Once you've seen the idea in action, then it is time to philosophize and to draw conclusions. The same is true for programming. When I write code, I often try to scrutinize it to try to catch bugs before I run the code once. I do find bugs this way sometimes, but I spend (waste) a lot of time looking over code. Occasionally, I tell myself to write and immediately test once the code compiles. I find that I more quickly find and fix bugs this way and I end up with working code more quickly. I guess I'm just re-learning what Microsoft learned long ago: testing is a necessary evil---the quicker you begin testing and the more you do, the better the end product.

Anyway, the master's thesis is coming along. I have most of it written. I need to fill in the content holes and compile a full first draft this weekend. I'll be spending the next few weeks polishing up the writing and presentation.

Master's thesis and ITA have kept me quite busy of late. It's almost like having two full-time jobs. The fall should be nice. I plan to slack off and take it easy for at least a few weeks. Everyone needs their down-time :)

Y'know, it is somewhat strange the way the front-page "Recent diary entries" list works. Every time I edit a diary entry, my diary appears on top of the list, even if the change is as minor as a spelling change. It seems to me that my diary should not be at the top of the list unless I add a new entry. I don't see edits as generally being very interesting...


Hi codic. Hopefully you get a chance to read this. First I'll comment on the C/C++ thing :-) I'll be the first to admit that I know C better than I know C++, but I feel that I am a fairly competent C++ coder and am comfortable writing from a C++-mindset (as opposed to a C-mindset). Feel free to quiz me about C++. I'm actually in the middle of a C++ project (the xbattle stuff that I mention in my diary). I could send you code if you are interested...

Concerning the rating system, one of the points that I tried to get across in my diary entry is that I don't think that Advogato's rating system is set up to handle a negative rating. EBay can deal with a negative rating because of the way in which people are allowed to rate each other.

codic said:
I also feel that a rating system that allowed negative ratings would be most effective if everyone could rate users, but the weighting of a user's rating (I can't help but notice that that rhymes) should be proportional to their status (i.e., a rating coming from a Master should mean much more than a rating coming from an Outcast).

I would have to diagree. If I'm not mistaken, this was exactly the case when Advogato brought in the Dimwit rating. A Master could demote an Observer with one click, but a whole swarm of Observers couldn't touch a Master's rating.

By only allowing positive ratings, one encourages people to value their account---switching to a new account wouldn't do anything productive. If one wants to create a real "community," an important thing is to make people value their accounts. The "community" can become very artificial if people frequently change accounts to avoid negative ratings.

Does Observer status not allow one to reply to an article? I guess I have to relegate my comments to my diary...

So, I was just reading over the "Outcast" Certification patch: AIms and Assessement [sic] article. At first glance, the idea of having a negative rating to discourage spam might seem like a good one, but it is a flawed idea, particularly in the case of Advogato since 1) such negative ratings can be handed out freely and 2) it is trivial to sign up for an account without a negative rating associated with it. An "outcast" rating does nothing to restrict the efforts of a spammer. Advogato has implemented an effective way to reduce spam at the article level: only let people post who have the respect of some number of Advogato members. One way to reduce spam in the diary domain would be to set a minimum time window between advertising diary entries on the front page. One might have Master diary entries advertised up to once a day, Journey diary entries advertised up to once every two days, etc. As with the articles, members that have not achieved the respect of other members would not be allowed to advertise their views quite as frequently or as strongly.

There are systems that deal with negative ratings well. EBay is one of them. When you make a transaction with another person, you have the opportunity to rate him/her based on the interaction. Three ratings are offered: Positive, Neutral and Negative. People generally give Positive ratings unless they have something serious to complain about. The major advantage of this is that sellers are able to easily build a good reputation for themselves if they treat their buyers well. The system doesn't eliminate corruption; many sellers complain of bounced checks and often require a credit card or money order. It does, however, produce more reliable sellers. Those with a large number of sales seem to only rarely get a negative rating.

What can Advogato draw from EBay's rating system? One useful conclustion is that ratings work well when 1) ratings cannot be made on a whim and 2) ratings are based on equal-level, trust-based interactions. From the recent rash of namecalling that we saw on Advogato, one can infer that people are willing to give a negative rating based on a minimal amount of interaction; few are willing to give out a positive rating so quickly. Also, when a Master deems an Observer to be a Dimwit or an Outcast he/she has little worry of losing the Master rating as a result. The so-named Dimwit/Outcast doesn't have any flow to "fight" with. Since EBay allows everyone equal rating power, people are more careful about handing out negative ratings. I'm not suggesting that we switch to a rating system like EBay's---Advogato's system works well for restricting article posting. Rather, because Advogato does not have the qualities of EBay's system, Advogato's rating system cannot deal well with negative ratings.

Getting back to basics, there are certain Advogato "privileges" that one may want to restrict. As I see it, there are exactly two such privileges, posting diary entries and posting articles. I see no reason to restrict the posting of diary entries. One may want to restrict the way they are advertised on the front page: allow more advertisement for Master diaries, less for Observers. There is already asystem for restricting article posting. lkcl claims that we need a class that gives people no privileges. I don't see any reason for this. Everyone should be allowed some method of communication, however restricted it may be. lckl also wants many certification grades. Again, I don't see a point. Apprentice/Journeyer/Master divide up the spectrum pretty well. More classes will cause confusion without providing any benefit.

Anyway, that's all for now. If you write a reply in your diary and want me to hear about it, give me a rating (there's always Observer if you don't think me worth of Apprentice) and I'll take a look at your diary. It be nice if there were an easier way to reply...

What is the point of the dimwit rating? All it allows for is name-calling. Say I just got into programming and am really excited about the idea of OSS. I find advogato, sign up for an account and then begin posting diaries (and possibly stories) that others consider to be irrelevant. As a result, I get demoted to a dimwit. I either 1) feel hurt, leave advogato and never return, or 2) sign up for a different advogato account and again achieve the Observer level. Of course, these aren't the only possibilities, but the point is that the dimwit rating doesn't do any good. It can cause general bad feelings and it doesn't improve the community. Allowing only ratings that "improve" one's position in the Advogato community encourages judgements that are based on longer-term observations. Allowing a negative rating encourages snap judgements based on minimal information.

Looks like the dimwit rating has been done away with. Yeah! :-)

3 older entries...


jrennie certified others as follows:

  • jrennie certified feldspar as Apprentice
  • jrennie certified StevenRainwater as Apprentice
  • jrennie certified kelly as Apprentice
  • jrennie certified phil as Journeyer
  • jrennie certified adraken as Apprentice
  • jrennie certified daveb as Apprentice
  • jrennie certified davej as Journeyer
  • jrennie certified ingvar as Apprentice
  • jrennie certified egnor as Journeyer
  • jrennie certified jrobbins as Journeyer
  • jrennie certified kyrka as Apprentice
  • jrennie certified marevalo as Apprentice
  • jrennie certified crackmonkey as Journeyer
  • jrennie certified eivind as Journeyer
  • jrennie certified shawn as Journeyer
  • jrennie certified rakholh as Apprentice
  • jrennie certified rwatson as Journeyer
  • jrennie certified barryp as Apprentice
  • jrennie certified esr as Master
  • jrennie certified caolan as Journeyer
  • jrennie certified codic as Apprentice
  • jrennie certified crj as Journeyer
  • jrennie certified ajv as Journeyer
  • jrennie certified cdegroot as Apprentice
  • jrennie certified dmerrill as Apprentice
  • jrennie certified chromatic as Apprentice
  • jrennie certified ncm as Journeyer
  • jrennie certified higb as Apprentice
  • jrennie certified cbbrowne as Journeyer

Others have certified jrennie as follows:

  • feldspar certified jrennie as Apprentice
  • rwatson certified jrennie as Apprentice
  • kelly certified jrennie as Apprentice
  • scottyo certified jrennie as Apprentice
  • codic certified jrennie as Apprentice
  • crj certified jrennie as Apprentice
  • rbrady certified jrennie as Apprentice
  • cbbrowne certified jrennie as Apprentice
  • murrayc certified jrennie as Apprentice

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page