I know of two apps that are able to play lossless audio files on iPhone:
- FLAC Player
- GoldenEar
Each have its unique features:
FLAC Player only plays FLAC, but it includes an equalizer with lots of presets.
GoldenEar plays FLAC, APE and some other loss-less audio formats. It does not have an equalizer.
So far in my testing, GoldenEar seems to handle CUE sheet better. Given a FLAC file and a CUE sheet, it represents the FLAC file as an album (just as expected), and individual tracks are correctly recognized as songs. FLAC Player, on the other hand, does not seem to recognize CUE sheet in my testing. A FLAC file is played like a song without splitting out individual tracks.
Both apps plays FLAC well. While GoldenEar also plays APE, it did have some problem play one of the APE files in my testing. The beginning 1-2 seconds of the file sounded like skipped and broken. It seems the app is lagging on trying to process the file. The rest of the file plays fine.
Since FLAC Player seems to be more advanced in playback due to its cool equalizer, it would be a waste if the problem with CUE sheet and other loss-less formats (like APE) prevents us from using its full potential.
One way to go around CUE sheet is to extract individual track on a computer, and then copy the FLAC of individual track to FLAC Player. A free tool called CUETools can do this pretty well. Use the CUETools.exe to accomplish this.
APE files can be converted to individual FLAC tracks using foobar2000.
My Knowlege Base
Thursday, May 10, 2012
Tuesday, February 28, 2012
Backup Software Review Notes
I tried to find the best inexpensive backup solution.
Cobian Backup 10
Where I heard about it: It's the on the top of the best free backup programs reviewed by ghack.net (4/2009).
Cost: Free
Notes:
- Can only do mirroring on local drives (cannot mirror with FTP, for example).
- Program seems stable. Has not crashed.
- Can do full, differential, incremental backups.
- Backup can go to network drive, FTP, and internet (not tried this).
- Backup creates files and path just like the source. No use of proprietary backup set file format.
Super Flexible
Where I heard about it: wikipedia's list of file synchronization software
Cost: Trial version for 30 days free. Each license costs $50. Can install on multiple PCs, but only one may run at a time.
Notes:
- Program seems stable.
Best Sync FTP
Notes:
- Program crashed one time. UI is pretty but not stable.
Verdict: Forget about all the others and just use Cobian Backup. It is free, and it is simply the best!
Cobian Backup 10
Where I heard about it: It's the on the top of the best free backup programs reviewed by ghack.net (4/2009).
Cost: Free
Notes:
- Can only do mirroring on local drives (cannot mirror with FTP, for example).
- Program seems stable. Has not crashed.
- Can do full, differential, incremental backups.
- Backup can go to network drive, FTP, and internet (not tried this).
- Backup creates files and path just like the source. No use of proprietary backup set file format.
Super Flexible
Where I heard about it: wikipedia's list of file synchronization software
Cost: Trial version for 30 days free. Each license costs $50. Can install on multiple PCs, but only one may run at a time.
Notes:
- Program seems stable.
Best Sync FTP
Notes:
- Program crashed one time. UI is pretty but not stable.
Verdict: Forget about all the others and just use Cobian Backup. It is free, and it is simply the best!
Useful Software Tools
Fiddler - record http requests
Etheral - troubleshooting network issues
Revo Uninstaller - uninstall Windows programs with 'deep' leaning
Axure - software prototyping program
NetMon (Microsoft Network Monitor) - to capture network traffic
Etheral - troubleshooting network issues
Revo Uninstaller - uninstall Windows programs with 'deep' leaning
Axure - software prototyping program
NetMon (Microsoft Network Monitor) - to capture network traffic
Experiencing Entity Framework - Code First
I spent most of my time lately on learning Entity Framework, and the latest and the coolest Code-First. It is a nice tool overall, but one can realize that the object-relational mapping (ORM) is a huge world, and this tool, already reached version 4.3, still has a long way to go. I hope some day version XXX can be mature enough so one does not need to keep on pounding it, and ask: "Why isn't this supported?"
This post is my attempt to document some of the road blocks that I've encountered:
Cannot use a discriminator field as part of the key.
I'm designing a system that can use external web-services, such as Facebook, Google, and etc, to authenticate a user. So a user can have multiple 'identities' (Facebook identity, Google identity, and etc). Any of these identities is enough to authenticate the user. So, I have an abstract base class called UserIdentity. I also have 2 concrete classes: FacebookUserIdentity and GoogleUserIdentity:
public abstract class UserIdentity
{
public string UserKey { get; set; }
}
public class FacebookUserIdentity : UserIdentity
{
public string SomeFacebookSpecificData { get; set; }
}
public class GoogleUserIdentity : UserIdentity
{
public string SomeGoogleSpecificData { get; set; }
}
There are some fields that I can use to be the key of the entity, rather than defining another int or Guid property. UserIdentity.UserKey is a value provided by these external web-services to identify the user. It can be part of the key, but not the whole key, because different services may issue out the same UserKey. Therefore, it is logical to add the name of the service (Facebook, Google) as part of the key. This is naturally the "Discriminator" field which is used by Entity Framework to determine the type of the class. The problem is I cannot add the discriminator field as part of the key.
There is no way to define a unique constraint.
Many people have complained about this. They also complain that they cannot add database indexes via Entity Framework. My opinion is that defining database indexes is not the responsibility of an ORM tool. The ability of creating databases from some ORM tools (like Entity Framework) have misled people to think that they should 'define' the database in an ORM tool. An ORM tool, by definition, should provide data mapping only. So, should it support unique constraint? Yah, why not? Now I have been mislead too.
This post is my attempt to document some of the road blocks that I've encountered:
Cannot use a discriminator field as part of the key.
I'm designing a system that can use external web-services, such as Facebook, Google, and etc, to authenticate a user. So a user can have multiple 'identities' (Facebook identity, Google identity, and etc). Any of these identities is enough to authenticate the user. So, I have an abstract base class called UserIdentity. I also have 2 concrete classes: FacebookUserIdentity and GoogleUserIdentity:
public abstract class UserIdentity
{
public string UserKey { get; set; }
}
public class FacebookUserIdentity : UserIdentity
{
public string SomeFacebookSpecificData { get; set; }
}
public class GoogleUserIdentity : UserIdentity
{
public string SomeGoogleSpecificData { get; set; }
}
There are some fields that I can use to be the key of the entity, rather than defining another int or Guid property. UserIdentity.UserKey is a value provided by these external web-services to identify the user. It can be part of the key, but not the whole key, because different services may issue out the same UserKey. Therefore, it is logical to add the name of the service (Facebook, Google) as part of the key. This is naturally the "Discriminator" field which is used by Entity Framework to determine the type of the class. The problem is I cannot add the discriminator field as part of the key.
There is no way to define a unique constraint.
Many people have complained about this. They also complain that they cannot add database indexes via Entity Framework. My opinion is that defining database indexes is not the responsibility of an ORM tool. The ability of creating databases from some ORM tools (like Entity Framework) have misled people to think that they should 'define' the database in an ORM tool. An ORM tool, by definition, should provide data mapping only. So, should it support unique constraint? Yah, why not? Now I have been mislead too.
Tuesday, January 18, 2011
Super Flexible File Synchronizer - Most Versatile Backup Solution Final Pick
I was finally sick of DeltaCopy to sync files. Even with all the updates and hacks I was still not able to get it to run smoothly. So I started the journey again seeking the best software to backup my personal files. The solution that I'm looking for must satisfy the following:
OK. So I finally gotten to the point. This is a good list of file synchronization programs. I downloaded and tried a free one (OneSync), and two commercial ones (Best Sync FTP and Super Flexible) which seem to have the most features. Then I conclude the free ones are just not stable (OneSync didn't even run on my Windows 7 VM) enough for serious jobs. Both of the commercial ones satisfy all of my requirements above. However, Best Sync FTP is more expensive (about $100 for the Ultimate version on 3 computers) and it requires on-line activation. On-line activation sucks, what if I retire my server and get a new one. Does that count as 2 licenses? Super Flexible costs only about $60, and you can install it to all your computers. You only need multiple licenses when you want to run it on multiple computer simultaneously! This is the most generous software offer that I've ever seen. It is truly an amazing product.
- Local backup, not some free on-line backup service on the cloud that takes weeks to create the initial dump.
- Support Unicode file names.
- Backup to another networked computer, not just to a local drive or a USB drive.
- Transfer files through protocols other than the native file-sharing.
- Runs on Windows 7.
- Allow scheduling, and can run even without user logged in.
- Delete file from the backup when the source file is deleted.
OK. So I finally gotten to the point. This is a good list of file synchronization programs. I downloaded and tried a free one (OneSync), and two commercial ones (Best Sync FTP and Super Flexible) which seem to have the most features. Then I conclude the free ones are just not stable (OneSync didn't even run on my Windows 7 VM) enough for serious jobs. Both of the commercial ones satisfy all of my requirements above. However, Best Sync FTP is more expensive (about $100 for the Ultimate version on 3 computers) and it requires on-line activation. On-line activation sucks, what if I retire my server and get a new one. Does that count as 2 licenses? Super Flexible costs only about $60, and you can install it to all your computers. You only need multiple licenses when you want to run it on multiple computer simultaneously! This is the most generous software offer that I've ever seen. It is truly an amazing product.
Wednesday, October 13, 2010
Sony Vegas Movie Studio HD Platinum
Sony Vegas Movie Studio HD Platinum is my favorite video editing program on Windows. It is good for the following tasks:
- It allows me to apply cuts to videos, combine multiple videos, apply transitions in between, and render the final product in MPEG-2 which is a lossless video format that let you preserve a uncompressed video for future editing. I also notice that the final video files are much smaller than the original, which is a plus for archiving them.
The best feature of it is that it does not crash so frequently like other Windows based video editing programs. I know iMovie is probably the best for simple tasks like the ones I need. Can someone donate me a Mac?
- It allows me to apply cuts to videos, combine multiple videos, apply transitions in between, and render the final product in MPEG-2 which is a lossless video format that let you preserve a uncompressed video for future editing. I also notice that the final video files are much smaller than the original, which is a plus for archiving them.
The best feature of it is that it does not crash so frequently like other Windows based video editing programs. I know iMovie is probably the best for simple tasks like the ones I need. Can someone donate me a Mac?
Flash Decompiler Trillix
My goal was simple. I just want to take art works from the vast Flash applications that are available on the internet, and put them into better use... re-use. Flash Decompiler Trillix did the job right. After playing with many Flash decompiler programs Trillix was the best one because it got the job done right without crashing itself in front of my face. Trust me, most of such programs crash moments after you hit the decompile button. The source code it generated sucks, but I don't care much about the source code. I don't believe any decompiler can produce code that are readable by non-hackers like me. The version I tried was version 4.1. I'm not sure about how much the latest one has improved.
Subscribe to:
Posts (Atom)