Tag Info

Hot answers tagged

70

Several reasons come to mind. Code is too big for article. For a short period of time, interesting projects were short enough to be published with the paper that described them. This can still happen, but many projects of sufficiently large size to be interesting have grown too big to be published with the papers that describe them. Public hosts not ...


39

Read Randall LeVeque's presentation on "Top 10 Reasons to Not Share Your Code (and why you should anyway)" http://faculty.washington.edu/rjl/talks/LeVeque_CSE2011.pdf He argues compellingly that code is analogous to proofs in Mathematics, and invites us to consider a world where proofs aren't published, because they are too long, or too ugly, or don't work ...


31

Great Question. It is important to distinguish between 'Development' and 'R&D.' Point 1 R&D = experimenting with ideas/technology that may never actually become a product. Software Development = working on a product/service desired by a real customer. Point 2 R&D is all about developing new solutions for a specific ...


27

This vastly depends on what school you get a degree from. Some schools are more skills-based, teaching things that can be put on a resume to get a job. Others are more knowledge-based, focusing more on abstract topics. They both have their advantages. A degree from a more skills-based school will make you more comfortable coming into a new job, since ...


27

Generally, the programs used to produce the papers results are only tools, and only the results matter. So they are not placed on the paper which presents the context, the methodology, the results and a discussion about them. But results must be reproducible. And then, when the data sources on which the paper is based are publicly available, the programs ...


22

What do you find is a common weakness of new hires and/or new grad students? In undergraduate students, a lack of mastery. They know a little bit about a lot of things, but in industry, that simply doesn't cut it. This lack of defined expertise is common to most undergraduate students, not just computer scientists. In grad students, a lack of ...


19

There are already a number of measures of code complexity: Cyclomatic complexity Class length Method length Number of fields Number of method parameters N-path complexity Fan-in and fan-out Data flow analysis (DU/DD chains) Work has been done to correlate these to defect density, effort to maintain, and ease of understanding. Some are more meaningful ...


17

You can use Wikipedia's data dumps. The XML data dump for English Wikipedia that includes current revisions only is about 31 GB, so I'd say it would be a good start for your research. The data dump is pretty big, so you should consider extracting the texts from XML with a SAX parser. WikiXMLJ is a handy Java API tuned for Wikipedia. And then, of course, ...


15

No. For a very simple reason: you can't test it. Let's say you can evaluate productivity, and give a number (by the way, how do you do it?). Now how do you create a situation where a developer will be in the exact same circumstances, remotely in a part of the test, on-site in another part? Even if you succeed in doing such a test, what it will show? How ...


15

I don't claim to be an expert on the subject of hype cycles, but I'll offer a few observations: The hype cycle seems to be more a product of expectations and media coverage than a characteristic of technology itself. My dictionary says that hype is "extravagant or intensive publicity or promotion." It defines publicity as "the notice or attention given to ...


14

I've not met any entry-level person in the computer science field who had the slightest idea of how to query a database. I've not seen any business-oriented project that didn't need to do this (granted there are some, but not in the typical business environment where most graduates will get jobs).


14

I work at R&D. For one thing, most of it is about the "D" part, that is, building things. You can't escape it. The primary goal of any commercial R&D department is to develop things that work (and that can be sold to customers in order to pay your salary). As Edison put it: 1 % inspiration and 99 % perspiration. Then there's of course the rare "R" ...


14

It is not closed source. The software simply hasn't been published at all. Short answer: There are several reasons not to publish the software, but it's uncommon to publish the software in a closed-source manner. Long answer: Closed source means that the software has been published and the source-code has not. But the common case is that neither the ...


12

I think you're trying to draw a parallel between thermodynamic entropy and "complexity." The thing is, entropy is a measure of disorder not complexity. I don't believe that the two are equivalent and interchangeable. The closest analog to thermodynamic entropy is Shannon entropy which measures the amount of disorder in a random variable. This notion is ...


11

You gotta break it down. Think about the different elements that make up what you want to do. Try to think about them in a general rather than specific sense. Think about what might overlap something that you've done before. e.g., in the case of your YouTube Downloader idea: Download videos from YouTube More general view: download files linked to from a ...


11

This isn't an exact match for what you were requesting, but I think it gets pretty close to the root of your question. This site's page on Loops discusses a number of looping patterns. counting filtered-count accumulate filtered-accumulate search extreme extreme-index filter map shuffle merge fossilized missed-condition They ...


10

I would like new graduates to come out with all of the following: A decent understanding of basic coding best practices. This would be covered by exposure to everything in Code Complete. Experience in using some form of source control, and an understanding of why it matters. Experience with unit testing. A decent understanding of algorithms, efficiency, ...


10

Download a copy of SQLite and start going through the code. That should give you a very decent grounding in the fundamental concepts of DBMS design. The SQLite author has extensive notes on his website about how SQLite was designed, and the database engine is small enough that you should be able to wrap your mind around it. http://www.sqlite.org/ ...


9

I would say most people working in the software industry don't have enough time on their hands to write academic papers - it's quite time consuming and of doubtful value - most papers are pretty poor things, often stating the blindingly obvious. If you want to get your name in front of people like Google, then contributing high-quality answers to a site like ...


9

What type of jobs or industry can allow someone with only a bachelors degree to do virtually unhindered creative research and development? This is subjective, so I'm mainly looking for opinions and RL accounts. This kind of job doesn't exist, unless you own your on company. The only way to get into anything near this kind of work is with a PhD ...


9

The difference is in the expectations. When I've been working in R&D, I was primarily expected to provide research results. When I've been working in development, I was primarily expected to provide working software. These are not totally separated, and there can be quite substantial gray areas in between. In development, it sometimes happened that I ...


8

Prototype, Prototype, Prototype!! If your team is not familiar with a particular framework then prototype something in it to evaluate where the pain points are. Matt Raible (Java Web framework comparator guy) suggests working with a framework for one week if possible. Prototyping includes investigating the community support behind a framework and other ...


8

You want a public-private key infrastructure From your question you seem to be looking at a public-private key infrastructure (PKI). The ID your client sends is their public key and is totally free to view by anyone. Your servers encrypt the data using a combination of your private key and their public key. This encrypted payload is then sent back to the ...


8

My computer science professors at Boise State University believe I should write a paper and take my idea as far as I can. Copy the question you have written on this site into an email to the professors that advised you to write a paper on your idea. They will have input far more applicable and much more reliable than anything you'll get here. Anyone ...


8

The assembler is usually used when you need some heavy optimization. Take for example here, where the guy optimized the processing 6 times. However take a note that modern compilers are very good in optimization, and unless you really knows what you are doing, you will not beat the compiler.


8

That might sound cynical, but in my experience research papers are not written to be easy to understand or simple to reproduce. Instead, in the research community it is more important to have an article that sounds and looks very scientific. For that reason most authors transform their code into mathematical formulas and try to prove that their algorithm is ...


7

I'm going to answer slightly off topic. I won't tell you what a fresh graduate lacks (because that varies depending on school and curriculum), but a great way to ensure that you minimize this lack of knowledge at the time of graduation is by working (internships). My school gives a standard 4year degree in 5 years, but incorporates three 6 month internships ...


7

Lack of business sense. The biggest weakness I've seen (and in myself when I was a recent graduate), is that there's passion and drive to work on cool projects with little or no regard to how it will provide value and profit to the business.


7

Likely Suspects Most likely, the things you want to pay attention to are: your caching tier, your database tier, your general architecture's design (if it's not designed to scale, it just won't). Further Reading Words of caution about the resources below: Some are generic resources, others are specific to one stack or language but still provide ...



Only top voted, non community-wiki answers of a minimum length are eligible