930 reputation
79
bio website
location Philadelphia, PA
age 26
visits member for 4 years, 3 months
seen Dec 17 at 1:08

I'm a software engineer at the Wikimedia Foundation. I'm on the Flow team. We are building the next discussion system for Wikipedia and sites like it.

In 2010, I earned my BS in Computer Science from Georgia Tech, where I was a research assistant with the Electronic Learning Communities lab.

Feel free to try out ProveIt, a tool we developed at ELC for Wikipedia reference management.

You can contact me here.


Sep
24
awarded  Autobiographer
Sep
1
awarded  Yearling
Sep
1
awarded  Yearling
Sep
1
awarded  Yearling
May
31
comment Wisdom of using open source code in a commercial software product
Some people would agree that there is always a "moral" obligation to contribute back to the community. But some communities like BSD reject this idea (even as a moral concept) and leave it up to the reuser. Anyway, companies tend to be more concerned with the law. As you noted, some licenses are legally copyleft; others aren't.
May
30
comment Wisdom of using open source code in a commercial software product
@AndrewFinnell, not all of ASP.NET is open source. According to asp.net/open-source, only ASP.NET MVC, ASP.NET Web API, and Razor are.
Mar
20
comment Is a company order to switch to a certain IDE a red flag?
@ThorbjørnRavnAndersen, fair enough.
Mar
19
comment Is a company order to switch to a certain IDE a red flag?
@ThorbjørnRavnAndersen, in such cases you can usually find an more efficient way to use the editor they're good at. For example, many programs have a SFTP or FTP access mode.
Mar
19
comment Is a company order to switch to a certain IDE a red flag?
@FumbleFingers, that's not a valid comparison. The reason for that is that the government provides expensive rifle-specific services. 1. Training. A rifle is a deadly piece of machinery, so thorough standardized training is essential. Further, many new soldiers do not have prior experience with another combat rifle. 2. Purchase. Due to cost, the government has to buy in bulk. 3. Maintenance/Replacement. In contrast, typically, no IDE training is given. At best, there's a walk-through. And IDEs are cheap, so developers can buy their own, or the company can (it doesn't have to buy in bulk).
Mar
19
comment Is a company order to switch to a certain IDE a red flag?
"Clearly the devs aren't capable of taking the decision about which is "best", since left to their own devices they've all chosen different tools" They're choosing the best (most productive) tool for themselves. Everyone has different experience and work patterns. They can all be right.
Mar
19
comment Is a company order to switch to a certain IDE a red flag?
First of all, it's rare that a developer has to make changes on someone else's machine. I agree with "the more people, the more opinions", but that's not a problem unless people try to impose opinions on others. Re the source, all projects should have an automatic one-command build process. As long as that works, and the code follows conventions, it doesn't matter which IDE people are using. Most IDEs are intuitive for simple things (they each have their own benefits for more complex tasks), so pair programming isn't a problem. If there are questions, the developer using the IDE can answer.
Mar
16
awarded  Enlightened
Mar
15
awarded  Nice Answer
Mar
15
answered The reason to make some code open source
Feb
27
answered Code sharing with a newbie coder in our group?
Sep
7
comment Do the young minds need to learn the pointer concepts?
@CyberSkull, the answer was giving the syntactic equivalent of array[index], and that's *(array+index). If you want to show how the compiler does things internally, you can explicitly talk about bytes or give the assembly.
Sep
6
comment Do the young minds need to learn the pointer concepts?
Actually, back2dos was right the first time, since (array + index) already takes into account the size of the objects (in C).
Sep
2
awarded  Yearling
Aug
24
comment What is the typical Pythonic view on re-using python modules outside of their initial intent?
Mainly when you bolt on changes to cope with a single additional use case, without considering the broader usability. Imagine AT&T had added code to also file trademark applications, but gave no thought to other more general uses.
Aug
23
comment What is the typical Pythonic view on re-using python modules outside of their initial intent?
I think I agree with Owen on both counts. UNIX is still popular today, but most of its users aren't filing patent applications for AT&T. That said, it is possible to stretch software too far, if it isn't properly enhanced to deal with changing needs.