Tag Info

Hot answers tagged

50

First of all, remember: shipping is a feature. It's better to release something imperfect than to release nothing at all. The other thing to note is that these are Hobby projects. If you don't meet deadlines or lose interest it's not a big deal. You're doing the project for fun after all.


34

Unless the project is aimed for developers (eg: a development framework, in which case you WANT them to criticize it if it makes you learn even more), you shouldn't worry. But even then, there are many open source projects aimed for developers that are crap, yet people love them because they go to the point (think of Codeigniter, which is very poorly ...


29

Ok, I was the same way. All I wanted to do was program, and I was doing ok in my other classes so I didn't care. However, to get your choice of jobs you should do as well as you can. If you have a specific field you want to get in to, they will be looking for the best students. Studying hard and getting good grades even in subjects that don't matter to your ...


24

No. I've seen some nightmarish effects of a dozen developers all adding their own little "util.h" style libraries to projects, and have it turn into a giant mess of inconsistent function naming and behaviors. Much like PHP. So for that reason I avoid doing it. I avoid needing to do that by using programming environments that give me nearly all the tools ...


24

As a general rule of thumb, open sourced programs have three groups of people who look at the source code. People who are considering modifying the code to make the program work slightly differently for them, to port it to a different platform, or as a jumping-off point for their own programs. If they don't like the code, they typically just won't use the ...


23

Your code has problems. So does mine. Anybody else answering this question? Their code has problems too. Unless it's, say, 10 lines or less, it's flawed. Maybe tragically so. To be a developer is to CONSTANTLY mash yourself up against the limits of your abilities and understanding. It may not be like this for ALL developers, but for me and for the ones I ...


22

If I have seen further it is by standing on the shoulders of giants. Isaac Newton It is not cheating if the code is open source and you've taken the time to understand it. Now obviously this isn't always possible due to time constraints but try and always have high level overview of the code you are using. Always remember that C was derived from ...


22

Put it out there. It is not that difficult to do this with a social coding site such as GitHub or Bitbucket. Most of the stuff of what you'll put out probably won't be used a lot, but that is ok. That is pretty much normal in these social coding sites, and a lot of projects get abandoned (even some useful ones). But the greatest thing is that others can ...


21

I know "quit now!" tends to get thrown out quite a bit around here, but in reality you're unlikely to convince your manager to allow this even with the most persuasive of arguments. After all, there's nothing in it for him to allow you to do this. Your only real options are: Do it anyway, and hope he doesn't find out Don't do it and give up the potential ...


21

I will swim against the current here and tell you: "Get rest, have fun!" I was in a similar situation although my application was nearer to completion I think. And it just bored the hell out of me. Especially the fact that you want to earn money with it puts some pressure onto you that is hard to bear in addition to a full time job. I got very demotivated ...


16

Just do it! If you want to learn something, grab a tutorial and just do it! If you want to build something, sit down at the computer and do it! Code, Man, Code! It's not that hard. Find something that shows you a small scale example of what you want to make and do it! Once you decide what you want to do, a framework and existing libraries can help a ...


16

I'm going to come down on your parents' side on this one. Lots of people know how to write code. If you want to be good, you need a broader outlook on life than just writing code, and a large part of that is learning more outside of/beyond the narrow horizons of writing code. When you get down to it, most of what good coders do is analyze how processes are ...


15

SmartFormat My favorite utility is one I wrote - a simple string builder/formatter that makes it really easy to turn data into strings with correct grammar. For example, most programmers build text from a template: "There are {0} items remaining" but this leads to grammatical errors: "There are 1 items remaining". So, SmartFormat lets you write: "There ...


14

Getting contributors into an open source project that is already bug-free is probably harder than ones with lots of easy bugs to solve, as these bugs are an incentive for early users to make themselves familiar with the code. When Linus first introduced Linux kernel, it wasn't a complete, stable, bug-free, and clean code; it was an incomplete, crappy, ...


14

Should I commit the test before writing the class even though the test doesn't even compile? Or should I stub out the minimum amount of code that is needed to get the test to compile before committing? Of course not. You should finish both the test and the class. Committing something1 that doesn't even compile makes no sense, and will certainly make ...


14

Whenever you hit a bug, don't debug. Instead, spend time learning about topics related to the bug from textbooks and work on other projects until one day you can come back to the bug and solve it instantly thanks to your piled up knowledge. You make the false assumption that people "write" bugs because of lack of knowledge. A lot of bugs are ...


12

Copy from one, it's plagiarism; copy from two, it's research. A good listener is not only popular everywhere, but after a while he gets to know something. In other words, copy all you want, but learn something from it as well. No great researcher/scientist/engineer ever got anywhere by relying on his own work only.


12

Somehow, I think writing a webapp is not the main concern. Much more important is thinking about how to make the damn thing gain traction. Other than that, your question doesn't probably make a lot of sense. Writing something as complex and big as Facebook is not something you can do all by yourself, and I am pretty sure that nobody has the resources to ...


12

No. But you can claim that you modified the code so that you made a program where two computers can send messages to one another. Or you can claim that you modified it into something like a tic-tac-toe game, where two users play each other from different PC's. Just truthfully represent the amount of work that you put into it. You can't claim ownership ...


11

When I run out of applications or utilities I want to write, I usually go solve math problems on Project Euler (I also often use those problems when I'm learning a new language). Solving math-based problems programatically may not be the most rounded use for programming skills, but I've had a lot of fun and learned some things as well (ymmv).


11

I would say that remote work (git push origin) would be the one thing you don't have to focus on. What I would focus on is: Branches. Branching is super easy (and fast!) in git. Make branches for anything you like. Merging. Merging is also super easy (and fast) in git. Because of how git tracks file history (through parents) it makes merging between ...


11

Separate the shared code off into a library, and include the library in the projects. As an Android developer, you're presumably using Java. Consider using a dependency management tool like Maven or Ivy. A side effect is that this will help maintain separation of concerns by enforcing modularity. The cost is that it may take some work to separate; the ...


10

That depends, I would say. Pro local machine: Works without net. Easier to maintain. Pro separate server: Some tools (continuous integration) may cause load that is annoying on your local machine. You can access your tools from different machines. You have a copy of your data on a different machine.


10

I'm umming and ahing about using a php framework for this and how many development hours it would actually save me. If any? My instinct on this is no - simply because you said the "next Facebook" and the nature of a social network is many, many users. If you were putting together a team to do this, and you hired a CTO worth anything at all, and you ...


10

This is very common and often occurs in a cycle: Each department develops its own IT resources customized to its needs. Somebody points out that this duplicates effort and is wasteful. A central IT department takes over, and does a good job for a while The central IT department gets bloated/overwhelmed/hidebound and becomes less responsive to the needs of ...


9

When I join a new company, it usually fills up with: Remote desktop / VM names. Folder paths for project documentation. SQL scripts for common fixes/cleanups in data. Common web-service end points / WSDL locations (I know you SOA guys...UDDI ;)) URL's to time sheet systems, bug tracking systems etc.


9

I use TiddlyWiki a single html file wiki with lots of plugin possibilities, it combines great with dropbox. The getting things plugin makes it into a great tool for managing personal projects.. And as such i use it for current projects, little things I need to remember server names who knows what internal sites hour codes to book hours. ...


9

It's generally easier if you go for something relatively mathematical or logical - functional programming languages are generally well suited for applications that represent some form of transformation from a given input to an output. Some ideas, in rough order of difficulty: Genetic algorithms - write a program that evolves solutions to a particular ...


8

For me it really goes in streaks. I have a lot of hobbies, one of which is extracurricular programming. Like most hobbies, I get into it for a while, then lose interest for a while, then come back to it later when I'm sick of all my other hobbies. When I'm on a hardcore hacking streak, I'll go a few weeks where I spend 4-5 hours a night and a good ...


8

Before you start thinking about specific projects, start with learning the basics of functional programming so you can have a good idea of the types of projects that would be a good fit. The best place to get started is probably The Structure and Interpretation of Computer Programs (SICP), which is based on the Scheme dialect of Lisp. This is a classic CS ...



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