We’re rewarding the question askers & reputations are being recalculated! Read more.
60

I am not a lawyer. There's a special word for people who take anonymous legal advice from the Internet - "fool". Do a risk analysis - a) you don't write the software. outcome: Nothing. b) you do write the software. outcome #1: Sony doesn't notice and/or doesn't care. This might be a case of the "shallow pockets" defense - in their eyes you're not ...


36

In Brief... WinRT (Windows Runtime, unlikely to be what you meant) is a software layer on top of which Metro apps are built, while Windows 8 is the whole operating system; Windows RT (most likely the one you meant), this is a version of Windows 8 for devices using processors based on the ARM achitecture and instruction set. You got the names a bit mixed up ...


34

I am neither a lawyer nor an accountant. What I have done is to register an LLC. You can register an LLC in your state for relatively cheap (hundreds) and you can set it up so that income goes directly to yourself and is taxed as your regular income (it won't be double-taxed like in a normal corp). The LLC will be liable for any suits brought against it, ...


29

SQLite offers a pretty good rundown of when to use it or not vs alternatives: https://www.sqlite.org/whentouse.html This summary line captures the SQLite use-case extremely well in my experience: SQLite does not compete with client/server databases. SQLite competes with fopen(). The article expands at length on this point. It also has a section titled "...


21

I think it has to do with inertia. Amarok is based on XMMS which is from 1997. To have to have good database capabilities you had to use a server, because it was so much more powerful then the file based solutions, which by no means had good database capabilities. The upcoming and gaining popularity of good local embedded databases like SQLlite is ...


19

You pretty much can't. Any pirate group who wants to crack your software will, for fun, and then give it to everyone else and there is nothing you can do. Microsoft can't keep Windows off torrent sites, and the UK government can't stop people visiting The Pirate Bay. There's a reason that the new wisdom in many creative circles is to accept piracy and use ...


18

You should try to contact Norton's (Symantec's?) customer service. I believe this is standard practice among vendors of legit programs which are wrongly flagged as viruses.


17

It would be better to store the individual attributes of the product and store the SKU as well. This is in order to allow more flexibility in the way you design your attributes as well as to allow you to query specific products more efficiently through SQL. If relied on the SKU to derive the attributes of the products, its going to be really hard to write ...


16

The Component-Entity-System architecture for game engines works for games because of the nature of game software, and its unique characteristics and quality requirements. For example, entities provide a uniform means of addressing and working with things in the game, which may be drastically different in their purpose and use, but need to be rendered, ...


14

(It is customary to preface legal advice on the internet with a disclaimer that one is not a lawyer and you should consult a professional. So here it is: I am not a lawyer. You should consult a real lawyer to be sure.) Anybody can bring suit against anyone else, for pretty much anything. Winning such a lawsuit eventually is a different matter, but where the ...


14

No. A protocol is not an application. A protocol is a set of rules for systems or components of systems to communicate with each other, exchange information, recover from errors, establishing a semantics. A protocol can be implemented by hardware, software, people, or a combination of any of them. Usually, the specified behavior is independent of any ...


12

Windows RT vs. WinRT vs. Windows 8!! One of the things that I was confused about in the last few hours, and I am confident that many more people are going to be confused about in next few months is the difference between “Windows RT” and WinRT. Here is the simple version: Windows RT: It’s an OS. It’s a variation of the Windows 8 OS that Microsoft has ...


12

From what I've seen, WinRT is actually an "unmanaged" software layer based on native COM objects, so I would NOT expect to see a big performance impact when invoking the APIs. In fact, it's quite likely that these will perform better than .NET apps on the CLR, as they are likely to be "closer to the metal" than pure .NET apps. Note also that you can ...


12

In games constant redrawing makes sense, because it is rare for whole image not change than small part of it. Then there is case of UI, in which redrawing just part of the screen is exceedingly common. When you push button, only the visual of the button changes, and not anything else. So it makes sense to redraw just the button. Rest of the screen is saved ...


11

Something to keep in mind: It might really be infected. There is a virus out there that infects Delphi itself. If you're infected with it any executable that Delphi produces will be infected.


10

To quote Joel in Strategy Letter IV: Bloatware and the 80/20 Myth: [...] there are lots of great reasons for bloatware. For one, if programmers don't have to worry about how large their code is, they can ship it sooner. [...] If your software vendor stops, before shipping, and spends two months squeezing the code down to make it 50% smaller, the net ...


10

Release the App. Because you already coded it, the most you can loose (from a lawsuit) is the generated income from the App. Plus they will likely send you a "Cease and Desist" prior to taking any legal action. Basically worst case scenario is: you are back where you started now, with no revenue. (I would doing this before investing any more development ...


10

The most important discriminating feature is concurrency. If you have only one application that runs in one instance for the user, embedded solution (whether sqlite or some object storage) is usually OK. However if you have multiple instances that need to manipulate the database concurrently, you need to have a server to synchronize it. SQLite only allows ...


9

Don't be fooled by the "grass is greener" syndrome. You have something that is getting complete, it works, and will be available on other platforms in the future like you want... so why would you want to change now!? You know the situation you currently have, if you changed you'd have to discover the problems you'll face all over again - its one reason why ...


9

If an application needs to be optimized for performance, you don't rewrite the whole thing in a different programming language. Instead, you profile the application, find its "hot spots" (the code where the program is spending most of its clock cycles), and rewrite only the code in those hot spots. Generally, those hot spots will comprise 10 percent or ...


8

In case anyone is interested, this article treats a similar case with a program that's just a do-nothing WinMain function - The Case of Evil WinMain. Story about how a third of all antivirus programs has gone crazy for no obvious reason... #include <windows.h> int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev,LPSTR cmd,int show) { return 0; } ...


8

If the problem domain is well suited to it, certainly. My current work involves an app that needs to support a variety of capabilities depending on a bunch of runtime factors. Using component based entities to decouple all of those capabilities and allow extensibility and testability in isolation has been idyllic for us. edit: My work involves providing ...


8

I would keep each library in its own repository. Start keeping track of library versions, for example with git tag. A big problem with simply checking each library into each application's repository, is that you've essentially done copy and paste, and thus gain all the disadvantages that implies. Bugs fixed in the copy of the library in one application don'...


7

Face it: you will be unable to get rid of all pirated copies of your software. Any anti-piracy system can be worked around. A sufficiently interested warez person/group could write a crack which bypasses the activation-related parts in your software. You could write a counterattack to this, and then it becomes a catch: pirates vs. your implementations of ...


7

You only get one chance to make a first impression. If you release an obviously unfinished buggy app, the first people to look at it will drown you in negative reviews. Once you have a lot of negative reviews on an app, no one will look at it - even if you claim to have fixed the bugs and finished the app. Leave out as many features as you can (i.e., if ...


7

Because terminal emulators are provided to accommodate a simple style of human-computer communication, the command line, which remains extremely useful in some contexts. Back when the command line and hardware terminals was all we had, it was clear that they were awfully limited for some contexts. Folks began to push their capabilities, giving us ANSI, ...


7

A business rule is defined by business people and relates to business matters, regardless of the way these rules are implemented. Unambiguous examples: The change of the bank account of a beneficiary has to be approved by a different accountant than the one who registered the change (four eyes principle). A purchase agent can issue a purchase order up to ...


6

GPL: good if you want to make your project freely available to anyone who is willing to ship source code (which is usually "other free projects"), but also demand a payment if people want to ship without source (which roughly corresponds to "commercial projects"). MIT/BSD: good if you want anyone to be able to use your code in any way whatsoever, but you ...


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