February 1st, 2010
Zeta Centauri’s latest application, SampliTron, uses XAudio2, which is the new audio portion of Microsoft’s DirectX. Bundling all of DirectX with an installer is overkill for applications that don’t need all of it – for instance, apps that only use the audio portion. Since SampliTron is a fairly large download due to all of the bundled .WAV files, I wanted to keep from inflating the installer much.
Microsoft has an article on MSDN, “DirectX Installation for Game Developers”. That gives an overview of performing a minimal install by bundling only the items you need to distribute. After a bit of experimentation with InnoSetup I came up with a process that works well.
First thing, I figured out what files I wanted to include. These are:
DSETUP.dll
dsetup32.dll
DXSETUP.exe
dxupdate.cab
Aug2009_XAudio_x86.cab
These files add up to 2.5 megabytes, a far cry from the full DirectX installation, which is over 100MB. To deploy these in an InnoSetup project, I added the following lines to my InnoSetup script:
[Files]
Source: “F:\src\zc\SampliTron\Release\DirectX\DXSETUP.exe”; DestDir: “{app}”; Flags: ignoreversion deleteafterinstall
Source: “F:\src\zc\SampliTron\Release\DirectX\DSETUP.dll”; DestDir: “{app}”; Flags: ignoreversion deleteafterinstall
Source: “F:\src\zc\SampliTron\Release\DirectX\dsetup32.dll”; DestDir: “{app}”; Flags: ignoreversion deleteafterinstall
Source: “F:\src\zc\SampliTron\Release\DirectX\dxupdate.cab”; DestDir: “{app}”; Flags: ignoreversion deleteafterinstall
Source: “F:\src\zc\SampliTron\Release\DirectX\Aug2009_XAudio_x86.cab”; DestDir: “{app}”; Flags: ignoreversion deleteafterinstall
[Run]
Filename: “{app}\DXSETUP.exe”; Parameters: “/SILENT”; WorkingDir: “{app}”; StatusMsg: “Installing DirectX XAudio2 Redistributable…”; Flags: waituntilterminated
The “deleteafterinstall” means that InnoSetup will remove the files after setup completes. In the [Run] section, the DXSETUP.exe is before the “LaunchProgram” entry to be sure that it is installed before the user can launch the program. This method can be used to include any other portions of DirectX you want — it only installs the pieces it finds .cab files for.
Posted in Software Development | No Comments »
January 30th, 2010
I’ve always had a thing for multiplatform development. Most of the Windows code I write can run on Linux with no or very few modifications, thanks in no small part to the wxWidgets GUI toolkit. I started using it because it brought internal consistency to the Windows API. I Think of it as what MFC would be if it were designed by a sane person.
I recently added a Macbook with Snow Leopard to the development mix and have been getting used to writing code for (and more importantly, porting code to) MacOS. Every operating system has its development annoyances, and OSX is no exception. I haven’t decided which applications are going to be ported to the new (to me) OS yet, but I’m sure a few will make it.
Posted in Software Development | No Comments »
December 4th, 2009
FLAC, the Free Lossless Audio Codec, is more popular on *NIX-based operating systems than it is on Windows. This shows in their source code package.
I had to solve two problems in order to build FLAC on windows.
1: The projects try to link to a library called “ogg_static.lib”. The library builds as “libogg_static.lib”, so I had to change the project to add the “lib” prefix.
2: The project tries to compile the main libraries with a file called “nasmw.exe”. I did not have this file and had to do some research to figure out what the heck it was. Turns out it was the Netwide Assembler, which can be found HERE. I downloaded version 2.07 and after installing did not see a nasmw.exe. It seems that the executable is now called nasm.exe, so I dropped a copy renamed to “nasmw.exe” into C:\Windows\System32 and was able to build the main libraries. It did the trick.
Just some things to watch out for if you’re planning on using the FLAC libraries with Windows.
Posted in Software Development | No Comments »
November 28th, 2009
There’s a local entrepreneurship organization by the name of TechColumbus. They’re the local hub for startups and tend to host plenty of events related to boostrapping, starting up a business, marketing, and all that fun stuff. Zeta Centauri has joined up and will be working on world domination. You know what they say — start local, conquer global. Or something like that.
Posted in Entrepreneurship | No Comments »
November 25th, 2009
I sat down and made a list of the software applications I’ve written or taken part in the release of. I’m listing complete rewrites of the same software as different items, but each item may have multiple minor version release (especially Life|ware, which I worked on for 2 years). The total is over 60.
The Apps I’ve Written (or Updated)
1. C64 Arena Combat
2. Illustrium Arcana MUD
3. Basternae 2 MUD
4. Basternae 3 MUD
5. The MUD Screen Editor
6. The Basternae Editor
7. The Basternae Help Editor
8. The Basternae Client
9. Digital Radio 2
10. HLA Gateway
11. Bad Monkey Do Not Push This Button
12. TextRPG
13. Mini Calendar
14. Magma MUD Codebase
15. ClickStars
16. GLTriangles
17. DikuEdit (Basternae Version)
18. Life|ware 2
19. Life|ware 3
20. Hex String Visualizer
21. PixelSwapper
22. AlgoRhythmia 1 and 2.
23. AlgoRhythmia 3 (Rewrite).
24. CheckBeat
25. SampleTrigger
26. LineMerge
27. SpaceTheremin
28. ZC Trigram Generator
29. Proxima Controller
30. Bass Tuner
31. Guitar Tuner
32. Vorbital Player
33. MidiPlayer
34. Zeta Telnet
35. Zeta Minibrowser
36. Quick Tile Viewer
37. RoboBlather
38. Champion Stock Chart Viewer
39. Zetatag Auto-Renamer
40. SV2
41. I-Collect-It.com
42. Got-It-Done.com
43. Newline Removal Utility
44. Software Listing PHP Module
45. Galaxy Xangis
46. Sample Rate and BPM Calculator
47. Drumming Dummy
48. Arcaen Dice
49. Arcaen Battle Simulator
50. Random Name Generator
51. CrawlMapper Sitemap Generator
52. Python FTP Autopatcher
53. Situational Awareness Toolkit
54. EI Power Usage Meter
55. Torsion-Knudsen Apparatus Data Acquisition
56. SampleSplitter
57. wxDuris
58. D & D Character Generator
59. Emitter-Collector
60. wxSpectrum
61. Stock Data Importer
62. Eve Online Character Viewer
63. DTED Viewer
Posted in Software Development | No Comments »
November 21st, 2009
The name sounds a little archaic in this day and age, even though the “shareware” industry is just as alive as ever. It’s just that they don’t use that term much anymore. Even so, I’ve been meaning to join up for a while because there are some things that are easier to figure out when you have a peer network. A prime example would be choosing a secure content delivery system.
The dues of $100 per year is in that “neither large nor small” category, so it’s not a big risk. I signed Zeta Centauri up this month and have been reading the parts of the huge archive of newsgroup posts that are relevant to my business. There’s a lot to digest, but I feel smarter already. I don’t think it’ll be that hard to extract $100 of value from a membership in the ASP.
Posted in Software Development | No Comments »
November 17th, 2009
Even though new product development doesn’t result in any billable hours, it’s pretty useful to know how you’re spending your time. It helps with optimizing workflow, planning for schedules and new products, and is pretty good to know overall. The trouble is, every method I’ve tried has been too annoying and has fizzled out after a bit.
A physical notepad? Sure, I can carry a notepad with me most of the time, but at some point that’s going to require data entry of some sort. This has never worked for me for longer than a week.
Excel? Close, but the fact that it’s a physical file that has to be synchronized across locations and that it’s a little clunky to categorize time has never made this last for more than two weeks.
The only viable solution really would have to be a web-based application.
I asked Google what was available and stumbled into Paymo. It looks like an ideal solution — the interface is clean and streamlined and it’s easy to enter and categorize time. They also have an add-on service that lets you send invoices and bill for time spent on projects. Although I don’t do anything billable right now, it’s pretty nice to have that already in place with the click of a button should I need it in the future. I’m sure at some point I’ll be doing some product enhancements as contract work, so it’s good to know that issue is already solved when it comes up.
It’s only been a few days, but it feels like I’ll be able to stick with tracking time this way. With the graphs and pie charts it’s almost fun to update.
Posted in Entrepreneurship | 1 Comment »
November 14th, 2009
The IBA is an organization that was started here in Columbus, Ohio over the summer. It’s a group specifically for bootstrappers and folks like myself who are building a business out-of-pocket, whether it be part-time or full-time. It’s a nice mix of veterans and beginners with a pretty wide variety of experiences. They’ve already expanded to holding meetings at two locations in the city and I’d be surprised if Cleveland and Cincinnati don’t have their own chapters before long.
For more information, you can visit http://www.bootstrappingassociation.org. It’s not the most sophisticated website, but the magic happens in the meetings. So far most meetings have had between 10 and 20 people attending which is a nice comfortable number.
If you’re curious about the group, you can attend a meeting as a guest and see if it’s right for you.
Posted in Entrepreneurship | No Comments »
November 12th, 2009
As a software developer, I have to use a version control system to keep my source code safe. Subversion is my repository of choice, but I’ve had pretty bad luck with hard drive failures, having had two die already. There’s been no data loss, but it is still pretty annoying.
That’s why I signed up for a trial of Assembla. So far it’s pretty useful because they offer Subversion hosting with an integrated Trac project management system. I’ve wanted to try Trac for a while, and I like it quite a bit now that I’ve gotten into it. It’s simple but very useful, and most importantly it helps prioritize and manage tasks, bugs, and enhancements without getting in the way.
I’m sure I’ll stick with Assembla. The price is good and the service is great, and it’s already increased my productivity as a developer.
Posted in Software Development | 2 Comments »
September 20th, 2009
Over the past few weeks I’ve gotten rid of a handful of domains that either tested as “not worth building”, or that just weren’t something I wanted to work on.
I just put the last domain from this round up on eBay. Unlike some others that weren’t keepers, this one is a keeper that someone could build a pretty successful and profitable site with if they knew what they were doing.
It’s winapp.net and the eBay auction is here. Feel free to bid if you think you’re the right person to build it (or if you’re a domain investor and think you can make a good return).
Posted in Uncategorized | No Comments »