bL0wF1sH

Members
  • Content count

    214
  • Joined

  • Last visited

Community Reputation

368 Neutral

About bL0wF1sH

  • Rank
    Member
  1. Experimenting with a 32KB RAM

    This is so freaking cool it's not even funny. I've wanted to do this from time to time. The real question though is how in the heck do you get started?
  2. MS Visual Studio 2005 Express Addins

    While blewisjr is technically correct, he is not entirely correct. TestDriven.NET is a TDD add-in whose author has found a way to "register" a hook into the Express editions. It is kind of hack-ish though. You have to view the properties window of any file in your project and then the add-in is enabled. Still, I know I enjoy having my unit-testing tools enabled in the free express editions :).
  3. Quote:Original post by TheTroll what I said was if you just use an empty property set that it is no different then making it public. This is just plain false. It is different because it _is_ encapsulation. When you think about encapsulation, don't think of it from a white-box perspective of the class, think of it in a black-box manner. If I am an "end-user" of the class with the property (let's say I am another class), then I can't tell whether the underlying value of the property comes from a private member or from a database call or what have you. And frankly, I don't care. _That_ is the encapsulation. Just because it is a simple pass-through to a private member, doesn't mean it isn't encapsulated. I do agree with you that there needs to be more error checking out there when appropriate :). That I am all for. But saying that a simple pass-through to a private member isn't encapsulation is plain wrong.
  4. Hello everyone. I'm throwing this post out there as a call for ideas. Here in Portland, Oregon, we are looking at having a Game Development track at our Code Camp towards the end of July. I have a bunch of things that *I* would like to see, but Code Camp is not about me, it is about all of you out there. What kinds of things would you like to see (or even present) when it comes to a Game Development track? None of these talks need to be DirectX-specific as the Code Camp is not sponsored by Microsoft. I would throw up the ideas I have but I don't want them to influence all of your ideas. Please feel free to shoot me an email at jolson88 AT yahoo DOT com or simply post a comment here on this post (or at my blog over here). I'm hoping to combine all these ideas over the next week to start to get a good idea and doing some planning for the track soon. And remember, Code Camps are about the local community. So if you are wanting to perhaps be a presenter, let me know and we'll see what we can do.
  5. Oh teh spywaer

    I just want to point out Microsoft's Anti-Spyware App is *BETA* software.
  6. Free software advocates are people too

    Stimarco, I'm not going to argue against your points about open source as it pertains to games. To be honest, as of this moment, I don't even *have* an argument against your points (I make no promises that it will stay that way though [grin]). I just want to point out that if you go back and read my post (or any of my posts in this thread), I've never tied open source software to the games industry. The only time I've mentioned games is to say that it is possible to read and understand other people's code (I talked about how I downloaded the Quake and Doom source and understand what was going on). I admit not to have an intimate knowledge of what was going on perhaps, but at the architecture level, I understood how the engines were built at an abstract level. And yes, I'm fully aware of what is says in the upper left, and what site we are on. I may be fat and ugly, but I'm not stupid [grin]. I may be wrong here, but I believe the majority of this thread (if not all of it), has talked about the role of open source software in general, not as it specifically pertains to the games industry. And I sincerely hope I didn't come across as an ass and offend anyone, because that's far from what I want to do :).
  7. Thomas, you don't hold anything back, do you? Quite a useless comment "the CLR profiler sucks", methinks. Well, if it does suck (which obviously you have much more use with it than me), please explain why it sucks. You're not exactly helping the community with these comments, and not representing Microsoft MVPs that well either. I've used the CLR profiler on personal projects and it works. Granted, it's not the best profiler out there. And if I was needing to profile an enterprise level application at work I would use DevPartner (or another profiler in the non-.NET world). However, I feel that for hobbyist projects, CLR profiler gets the job done. Do you think MSDN magazine sucks because they discuss utilizing CLR profiler (an article regarding CLR profiler and .NET 2.0 was in just this month's issue)? In my opinion, it's all about the audience of your advice. If you're teaching an intro to Algebra class to middle/high schoolers, you wouldn't start out by trying to teach them complex number theory first, would you? I know I wouldn't it. Baby steps, my friend. As a fan of Microsoft technologies and the MVP system, I think it is really important to be constructive with your advice and to represent your craft better. After all, if you are a Microsoft MVP, you are the face of Microsoft technologies to quite a few people on forums and newsgroups, whether you like it or not. Remember, if you give a man a fish he will eat for a day. But if you teach that man to fish himself, he will eat for the rest of his life... [Edited by - bL0wF1sH on January 6, 2005 6:47:22 PM]
  8. Free software advocates are people too

    Quote:Original post by Dmytry bL0wF1sH: Then, all my software is non-free-of-charge open source[grin]. If you want source of Voxel World, contact me, and we will estabilish some price, something around >10000$ (10K euros?) Depends to what rights you want, what you want to do with it, etc. (Warning: Voxel World is written in Pascal) Or The Galaxy, for similar price (>5000$), it is written in C++. (But i will keep my right to sell these sources to anybody else at any price i like.) And you can download executables for free. It's just , sources are so much better than executables, and therefore cost much more than executables. I see no reason why executables must costs the same as executables+sources, and see no reason why i must provide sources together with executables, and why if executable is free of charge, sources have to be free of charge too. (actually, some of very small tools i have developed for my personal use ("equation editor") are open source and free[grin]) That's the beauty about living in a world like ours :). You can charge all you want for your source code. I don't have a single problem with that. You have to do what you have to do :). As an end-user though, if there was an application that did what Voxel World does, and the source was included with the executable (let's say the executable costs $300), then I would buy the other program first. But, then again, that's what competition and Capitalism is all about, right? :). Quote:Original post by Mithrandir My $20: People should be free to do what they want with their own software. If someone wants the whole world to have access to his software; hey, that's wonderful. I fully support the idea of spreading knowledge; the more people know, the faster society as a whole can advance. On the other hand, I should be free to keep my software source away from everyone else as well. We live in a market economy, and no matter what, it's not changing for a very long time, and I'd like to be free to make a living. Because guess what; if I don't, someone else will, and I'll be shit out of luck. It would be wonderful if we lived in a world where everyone could share all their knowledge; There could be so much more productivity in the world; but it's not going to happen. To those who bash the GPL: you're hypocrites. You claim your right to make closed source software, well guess what; anyone who creates software also has the right to say that people can use their software only if they make a similar contribution to the world at large. You're all just pissed off that you can't use the software for your own stuff for free without releasing your stuff to the world as well; too bad. The GPL is designed to stop greedy people; people who take and take but never give back. If you don't want to give back, then don't use GPL stuff, and re-invent the wheel on your own. Mithrandir, I just want to emphasize that giving away source does not mean you can't make a living. Sure, with how the economy works currently, it might be more difficult. But that's exactly why I said authors should have every right *not* to distribute their source code if they don't wish to. And I also wanted to point out that I wasn't bashing the GPL. I was simply stating that I dislike the GPL (after it was pointed out to me) because it forces you to use the GPL itself. I'm not being hypocritical by saying so. Heck, I'm not even encouraging people *not* to use the GPL. I don't plan on using the GPL in my private projects, but I certainly don't complain about other projects that do. So, how am I being hypocrtical here? We were just pointing out that the GPL is not as free as it sounds, that's all.
  9. Free software advocates are people too

    Quote:Original post by Dmytry You pay for your ford, that's the point. And if some software is free of charge _and_ open source, you don't pay to author, but pay to somebody else for service (and he *might* pay something to author, but doesn't have to). That is, you don't pay for most of work, and pay more for small portion of work. The point is, author have to somehow force "mankind" to pay for his work. And to do that, he often have to be service monopolist. Also, windows is open-source. If you can pay enough to get source and can sign NDAs and are trusted by MS. (some goverments have sources of windows, really[grin]) Yeah, but if you read my post. I'm not saying that software should be free of charge, quite the opposite. Quote:Original post by xMcBaiNx Quote:When an end-user has the source code with a product, if something is wrong with that product, they can hire anyone's services to fix the problem. For support, they aren't locked into the specific author. If they want the product to do something more than it does, they can hire someone's services to add to the product. If you don't have good service, then people won't be forced to rely on you and you will be dead in the water. This MIGHT sound right at first, but there is a fundamental problem with this relating to software. Understanding software you haven't written, when you do NOT have access to technical documentation is near impossible. If you do not accept this as fact, I'm pretty sure someone else will be able to force it down your throat on this board. [grin] You may believe that any documentation produced for the project should be handed in with the source. There are, howeverr, both further moral and legal problems with this which would make such a legislation practically impossible to enforce. That is, your car analogy doesn't hold for the software industry. In regards with the software industry, it would be akin to bringing a 747 to your local Ford dealer and expect it to repair it as fast as Boeing; or to bring a Taurus to Boeing and expect them to service it as fast/reliably than your Ford dealer. Sure, some companies might grow big enough to support almost any kind of software but the most complex, but then you lock yourself into an unavoidable artificial monopoly. Also note that you ALREADY paid for the vehicle in the above analogy, whereas you did not pay for the free software in the first place, so it wouldn't be THAT bad to bring the car to Boeing... However, the software provider wouldn't get paid if free software was mandatory, which further it's disadvantage. I think "near impossible" is a bit strong. Heck, I downloaded the code to Quake 2, and I understand the structure and architecture just fine after a little amount of time reading the source. We are not in a world of having to reverse engineer from scratch. Would it be difficult to figure out what a program written in Assembly is doing? Yes. Would it be easier if that program were written in C/C++? Yes. Would it be easier if that same program were written in Java/C#? Yes. It's a fact that languages are becoming more and more abstract. Not only that, but the tools available to reverse engineer from source code (providing you with UML diagrams, for example) are becoming more mature and more mature. Is it a difficult thing to accomplish now? Yes, I would agree with you. Is it "near impossible"? No, I've personally done it on several occasions. The more the tools evolve, the easier it becomes, and hence, the easier our jobs become. As code becomes more abstract, code becomes closer to being self-documenting. It's only a matter of time. I will concede that this "pie in the sky" stuff I'm talking about is difficult today. But it won't be as difficult tomorrow. And it will be even less difficult the day after that. So, why not start now so that we're ready for tomorrow when tomorrow comes?
  10. Free software advocates are people too

    Quote:Original post by stimarco There are two problems I have with the concept of open source: 1. Not everyone is a programmer. Who, therefore, benefits from open source? Answer: other programmers. To be honest, I see no great advantage in having other people's source code available to me if I need to fix something; I'm of the opinion that if it's broken to begin with, it's not worth buying. [Snip] 2. Support is already a pain in the arse. Why make it even harder? I've worked in front-line support for both a major middleware company, as well as a small, indie games developer. Suppose someone has released a tweaked version of your game. They're under no obligation to support it, but _I_ have a moral objection to providing goods or services without backup, so I'd end up getting all the support request not only for my own original version of the software, but for any tweaked, changed or otherwise transmogrified versions others have seen fit to spew onto the internet. Joy. [Snip] -- Sean Timarco Baggaley. Sean, I don't think you are looking at this abstractly enough. I agree, to the normal end-user, having the source code coming with the product doesn't directly gain anything for them. However, you have to look at the options of services that are gained by having the source code. It's a fact, we live in a service-oriented world. Everyday you pay someone else for a service. For instance, some people do their taxes on their own every year. However, look at how many people go to companies like H&R Block and pay someone else to do their taxes for them. Everywhere you look people are paying other people for their services: shoe repair, dry cleaning, even movie cinemas. That's whole basis of an economy. It used to be that these services were bartered for (and sometimes still are), it's just that now the most common barter is in exchange for money. When an end-user has the source code with a product, if something is wrong with that product, they can hire anyone's services to fix the problem. For support, they aren't locked into the specific author. If they want the product to do something more than it does, they can hire someone's services to add to the product. If you don't have good service, then people won't be forced to rely on you and you will be dead in the water. For instance, let's say you just bought a Ford Mustang. Well, unlucky you, you're having problems with the engine. What if anytime you had a problem with your Mustang, you were forced to take it to a Ford dealership to fix? I think that would be a bogus deal. Because of the relative openness of cars to date, there are many mechanics that can service practically any car on the market. If their service sucks, well, hopefully they'll go out of business. Services are a wonderful thing. Is providing support a pain-in-the-arse sometimes? Of course. But, a buck is a buck. If someone is paying me to support software that someone else created, what do I care? I'm getting paid, right? Nowhere does it say that free software means "free of charge". In fact, the FSF's website actually explicitly says that free software does NOT mean "free of charge". Using the mechanic analogy from above, what if I'm a mechanic but I hate working on people's cars and frequently turn people away? I'll probably go out of business. We have to provide services, it's how me make a living. Nothing says that you have to support a product you made, let alone provide that service for free. To me, it seems like this ultimately makes our jobs easier. What would you rather have, someone come to you with a Quicken-type application, and hire you to develop the same application with a couple more bells and whistles, or provide you the source of the application they have and you can tweak it as necessary? I personally would want the second one. Let's face facts, if you did make a Quicken clone, what are the odds that you would be able to sell that to anyone else out there? Very little. Ultimately, the man hours you have now spent building that application from scratch could have been spent on various other projects that not only provide better products to more people, but get more money for you. One of the main problems I see in the Open Source world is that because of the lack of leadership, you find countless "clones" out there that aren't adding any real value to the community, and not enough original ideas or improvements. I've known enough programmers to know that the majority of programs out there want to work on their own project, not improve someone else's. Do we really need another "1337 h4x0r-based" notepad? Or a five millionth game engine that will ultimately die unfinished. I think the most successful Open Source projects you find out there are the projects that are contributed to, and not cloned off. After all, that's what open source software is all about right? Look at projects like NAnt, NUnit, NDoc, etc.. That's just from the .NET world, let alone the Java or C/C++ world. There are plenty of successful open source projects, it just so happens that because of the lack of leadership in the OSS community, the number of failed/incomplete/cloned projects out there far outnumbers the successful ones. The ultimate benefits in services provided for the end-user by providing source code is a wonderful thing. So, while it doesn't directly effect them, the side effects are enormous. Now, with that said though, I agree with other people that noone should be "forced" to share their source. Forcing someone to adhere to an ideal is not Socialism, it is Communism. While I have the right to distribute open-source software, I believe the most beautiful part is that other people have every right to distribute closed source software. It's the world we live in, and I wouldn't want it any other way. I think that if open-source and free software is done properly, it *encourages* (not forces) consumers to buy free software over non-free software because of the benefits they gain from the equation. It's no secret that ultimately the end-user cares about themself, we are usually selfish people. If there are two options to them and one of the options is better, educated end-users would be the better option. No matter how good future free software could be, will there be people that buy closed software instead? Of course. Is there room for closed software? Of course. Should all software be open source? Absolutely not. While other purists might disagree with me on that last one, I for one don't want the source code powering our country's missile defense system open source, for example.
  11. How can I start?

    The question you should really be asking is whether you need to build the application in the first place. This is a typical example of the "Not Invented Here" syndrome. There is nothing wrong with buying a product off the shelf that fits your needs. I have a feeling that your boss doesn't truly understand how much money would go in to developing such a product. In the long run, I believe your boss and the company could save quite a bit of money by buying a product that already exists. After all, you don't think he's the first one in the world that's needed to do this with software, do you? When becoming a software designer/engineer, you also have to be able to answer the question "Do I need to do this in the first place?" People don't realize how inherently expensive software is to write. It's just a fact of life. Quality software for any non-trivial problem requirements a good amount of man hours to develop (especially when you consider support time).
  12. game engine design

    Drew, the idea about emulating the Windows Message pump is a really good one. You are on the right track with that. The one issue with having Singleton's everywhere is that you don't cut down on the amount of dependability in your system. In other words, if you're not careful, it becomes really easy to make brittle OO "spaghetti" code. It is good to think of your architecture in more of an event-driven way. For example, let's discuss the Sims. The Sims is very event-driven (I may be off on these descriptions, it's been a while since I read the article about the AI in Sims 1). In Sims 1, a Sim was actually rather stupid. A Sim just had core needs it needed to fulfill and had no idea how to fulfill them. The objects in the world basically broadcast a message of what needs they can fulfill. So, the Sim didn't need to know anything about what objects did what in the game world. Not only did this reduce dependancies in the code, this also made the whole expansion pack mechanism possible. If a Sim had to know about all the different objects in the world (or if any object for that matter had to know about other objects in the world), the expansion pack mechanism wouldn't be very feasible because these objects would have to be updated everytime a new object was added that it needed to know about. Anytime you can make a system event-driven, it "Is A Good Thing." Not only will your design contain less dependancies, but you will have an easier time building new features into your game. In this sense, Design Patterns are your friend, especially patterns like the Observer pattern. Another example, if your system has a message pump and is message-driven, then to implement a replay feature, all you would feasibly have to do is record what events pass through the system when. Then, when you replay the game from a recorded file, the system simply pumps the recorded messages into the message pump, and the rest of your game doesn't know the difference :D.
  13. Free software advocates are people too

    I definitely agree with their definition. I don't want to hijack the thread too much though. So, by the FSF's definition of free software, you can't create a derived work from free software and then turn around and change it to closed software, right? To me it sounds like there are those people that have problems with the definition of free software. And then there are other people that have problems with specific instances of free software licenses (like the GPL). It does seem almost counter-intuitive that the GPL is written in such a way to lock you into the GPL. While your software might look like free software, isn't locking the end-user into a specific license the same as locking the end-user into a specific provider/author, only a different context? What I don't understand, is how someone can think that free software is bad for the industry. In the end, it seems like free software will ultimately lead to better software for the end-user, and isn't that a good thing? Perhaps there is something I'm missing. Now, I can see that there is room for both closed and open software, especially in the economy that we leave in. But it seems that when done properly, free software can lead to better software without interfering with the whole concept of Capitalism. Can anyone enlighten me a bit more? I think I need it :).
  14. Free software advocates are people too

    Quote:Original post by Yann L Quote:Original post by bL0wF1sH In a Capitalist society, this requirement of the GPL is required to guarantee that someone else doesn't take advantage of your "moral framework". Without that statement, the GPL would never work. Why? Because someone could take your source code, put it into a black box, and sell the black box as their own. Mass corruption and software development collapse I'd imagine would come quickly after. zlib, libpng, libjpeg, libtiff, freetype, scintilla, lcms, and the list goes on. All these are under a style of license ("zlib license", MIT license, etc) that allows anything, free or commercial, open or closed source, as long as you don't misrepresent the author. Some require that you credit them, but that's all. And guess what, the software world didn't collapse - in fact, these totally free components guarantee open standards, especially on file formats such as jpeg and png. Everybody uses them, from Joe the little coder to Microsoft. Good point Yann. I think you emphasized my point of how new I am to this whole issue :). Reading back on it, I suppose my main concern is actually the misrepresentation of the author. Now I think I understand. People don't like the GPL because it specifically says that you *must* also use the GPL (rather than taking a GPLd code base and incorporating it and releasing your code base as MIT License, for instance?). Yeah, if that's the case, I would agree that it's wrong. Obviously I don't have the most in-depth knowledge of the GPL. I think perhaps fundamentally that I think that if a derived work is created from Free Software, than the derived work should also be Free Software, not licensing specific necessarily. Or maybe not. Arg. I guess the true question is "should a derived work from Free Software be allowed to be closed software itself?" All I know for sure is that I love the increase in competition with Free Software. I like it when the ultimate concern of software is for the end-user, not the owner.
  15. Free software advocates are people too

    And Mayrel, I accept the fact that we won't be able to agree about Free Software since we are ultimately playing on a different playing field. You are talking about Free Software in a Socialist society, and I'm talking about realistic Free Software in our current Capitalist society. With that said, thanks for sharing your opinions :). It's nice to hear another person's thoughts on the subject. After all, if we never listen to other people's opinions, how can we ever truly "know" that our way is the right way.