Quoting Brian Kramer on the MSDN forums
LPCTSTR = Long Pointer to a Const
TCHAR STRing (Don't worry, a long pointer is the same as a pointer. There were two flavors of pointers under 16-bit
Here's the table:
LPSTR = char*
LPCSTR = const char*
LPWSTR = wchar_t*
LPCWSTR = const wchar_t*
Developers just need to provide a package for a distribution. Each distribution then has a way to install this package. This way can be in a terminal (apt-get) or via a graphical interface, e.g. Ubuntu Software Center.
The beauty is that developers just have to care about building a proper package; the distribution makers take care of the rest, and each ...
Today, most database management systems (e.g. PostGreSQL, MongoDB, etc...) internally keep their data inside OS files (in the past, some DBMSs used raw disk partitions directly).
On recent computers still using spinning hard disks, the disk is so slow - relative to the CPU or the RAM - that adding a few software layers is not relevant. SSD technology might ...
Visual Studio Express is a set of freeware integrated development environments (IDE) developed by Microsoft that are lightweight versions of the Microsoft Visual Studio product line.
A comparison is available here.
If you are a student you may want to take a look at DreamSpark.
Users should be able to decide, first of all, whether they even want the program to be installed on their computer or not. It may seem self-evident to you that people are obviously choosing to install a program, but the prime characteristic of a malicious program is that it can be installed without the computer user knowing about it.
Mainly security reasons.
As I understand it, when a windows service creates GUI controls such as a MessageBox, they were normally only seen in the session that the services runs in ie Session 0 which also used to be the first user logged on locally or by someone logging on using mstsc /admin. Hence this user would see these controls and could interact with ...
A service runs in the background, even if no-one is signed on to the machine. Anything you can imagine wanting to do without relying on a person to start an app and click a button is a good candidate for a service. For example, monitoring a folder and whenever a file is written to it, process it in some way. Any "server" you can think of - web server, ftp ...
Because they don't need to. Linux distributions usually have working package management systems, unlike Windows, where every single application has to re-implement installation and updating over and over and over and over again.
Computers are not physical monolithical entities anymore, use virtual machines !
Your developers should be able to access different work environments as they need, and virtual machines are the perfect way to do so, you can :
keep a legacy environnement easily accessible.
have multiple, independent environments (ex: 1 environment per client)
have test ...
Most of the bugs we encountered with running 32-bit software on 64-bit windows had to do with the location of the software (Program Files (x86) instead of Program Files), locations of registry keys (some were found in Wow6432Node). We had these problems mostly because we needed to communicate with other software (also 32-bit), and so we needed to test the ...
Filesystem case sensitivity
If your file is called HelloWorld.php this:
is legit on Windows and will work. But Linux filenames are case sensitive, you can have files called HelloWorld.php, helloworld.php, hEllOwOrlD.php in the same directory. So you should develop on Windows as if you were developing on a case ...
The latest .NET frameworks will not run on windows XP, nor would Visual Studio 2011 be a supported option (it will probably work, but if you have problems, you are on your own).
You will not be able to create any metro applications as WinRT will also not be part of XP, ever (there is no way MS would backport a whole new OS API to an unsupported OS).
Interactive services used to be possible, but the service model is that of a process that runs independently of any user. They are designed to be run unattended and therefore shouldn't need a GUI.
Interactive services haven't been available since Windows Vista so should no longer be used.
If you need to interact with the service the page I've linked to ...
The hardware manufacturing and driver software is written by our client. There is different driver for 32 bit and 64 bit Windows of course.
So on 32 bit Windows, your software talks to one driver, and on 64 bit Windows, it talks to a different one? Let us assume there are new versions of these drivers from time-to-time. So when you only test your software ...
Although this is opinion-based, I think it's just another historical artifact. Early OSes used a simple file system design for performance that was reasonably strongly tied to the characteristics of the hardware available at the time, and it's been the same way ever since. It's difficult to change the old file read/write APIs for more transactional query/...
Most closed-source, non free-as-in-beer software for Linux does come with installation wizards. So does some closed-source, free-as-in-beer software, at least until most major distributions pick it up. For open source software, package managers are a clearly superior solution.
So what about the early stages before open source software gets picked up by ...
From what I've seen, it really boils down to the whole "Windows experience". That is, making any action or option as visible to the user as possible.
The reason I say this is that a GUI is not necessary for installation. MSI-based installers can be silently installed in a similar fashion to Linux-based packages. The GUI is completely optional, but again is ...
Also are there any pros and cons of using any of them?
+ Relatively standard in the Windows environment.
+ Generally good support from installers, etc.
- Platform specific API, if you ever want to port your application.
- Not particularly human readable.
+ Simple format.
+ Human readable.
- May be difficult to store more ...
An installer always makes sense, if deployment requires anything more complicated than copying the relevant file(s) to some folder and running the EXE. If there are additional steps that need to be taken to set the product up properly, there's two ways to go about it.
You can write out a list for someone to follow. Humans being humans, someone's bound to ...
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 ...
Nope, it's all Windows 8 unfortunately. A reason is the hypervisor in Windows 8 is used to emulate or virtualise Windows phone 8 machines. That and marketing of course.
AS for developers using Windows 8, I use it on all my laptops now and like it. I run Visual Studio 2010 and 2012 under it with no issues.
The same reason that the iPod, iPhone (any phone for that matter), and the iPad don't: the command line is not the primary channel of user interaction with the computer in Windows. It is in UNIX or GNU/Linux - so that's why they're more mature. Same argument why the linux GUI desktops were rubbish for so long compared to Windows (Mac OS kind of cheats here ...
Windows 8 isn't even commercially available yet. If you upgrade now, it might be to a beta of questionable stability with features that may or may not make the final cut.
If you can afford it: set up an isolated test developer machine and upgrade that one. Then let all the developers play with it now and then to get used to it and find all the little ...
The default assumption in enlightened QA circles is "If you didn't test it, then it doesn't work".
As a practical matter that's usually an unreachable goal to strive for in much the same way application engineers might like to have unit-tests for everything; but they don't believe they'll ever reach it and release on schedule.
However your question can ...
I really don't think its a huge complexity for the end user to have to select either a 32bit or 64bit option when downloading. But if you can use the user-agent strings to make a suggestion all the better.
Another option is to have your installer detect and install the correct binary for the user's platform. That makes for a larger download, but then the ...
The Express versions
The free versions of Visual Studio are "degraded" version of their big brother, each dedicated to a specific task (or language for 2010 versions). "Degraded" because Express versions do not support the whole Visual Studio plugin ecosystem. They are great if you are on your own, or even within a small team of developers. They are freely ...
I'd go with INI files, they are the more human friendly option:
width = 600
height = 350
position.x = 400
position.y = 200
path1 = "/some/random/path/"
path2 = "/some/other/random/path/"
name = "Yannis"
preference = "INI"
XML might be a good option, but it can't beat INIs' simplicity and elegance: