Archive for May, 2010
I recently worked on a project which, among other things, involved implementing the "easybe 1-2-3" music store software (basically, it's a pretty simple-to-use platform for managing for-sale music downloads).
One of the major drawbacks of this software is that it doesn't come pre-built with a music player. While it does provide links to file samples that users can download and listen to (way too many steps for 30 seconds…), there's no one-step player for checking out clips from all the songs on an album.
No fear! There are ways around this, and in the following I'll walk you through the simple steps to deploy a free, light-weight mp3 player that can play the music you want your visitors to hear.
First, let's get the mp3 player. While you could use many of the freely-available mp3 players out there, I like the one from premiumbeat.com. It's super-stipped down and simple to use. Plus, it accepts an XML file, which will work perfectly for our needs.
Once you have the mp3 player of your choice, go ahead and deploy it on your server. Don't worry, I'll wait until you're done.
All set? Excellent. The next step is to open up the Album Details template file in More >
Recently, one of my clients sent me a purchased font in the dreaded .dfont format (.dfont is how Macs save fonts…it stands for "Data Fork Font"…dumb!). While this is nice on Macs [several fonts can be bundled in one .dfont file], it's not great for a PC because, well, Windows has no idea what to do with it.
Fortunately, Google provided an answer pretty quickly. Apparently, there's a nifty little bit of freeware out there called DfontSplitter. If the name isn't obvious, DfontSplitter basically breaks up the .dfont file from the Mac and converts it into individual True Type Font files…these Windows understands
So for those of you out there who have a Mac and are making fun of me for my lack thereof, bite me! For those that are in the same boat as me, check out DfontSplitter–it pretty much rocks!Share this:
- Click to share on Google+ (Opens in new window)
- Click to share on Twitter (Opens in new window)
- Share on Facebook (Opens in new window)
- Click to email this to a friend (Opens in new window)
- Click to print (Opens in new window)
Recently, I joined in a discussion about the relationship between original sin and evolution. I happened to like my answer :), so here’s an outtake of the salient parts of the conversation. ————————————–Poster: The doctrine of Original Sin and evolution are by far most likely the hardest ideas to reconcile in Christian theology. Evolutionary theory refutes the notion that Original Sin brought discord, death and chaos into an initially perfect creation of harmony and equilibrium…
How do we reconcile evolution and Original Sin? Or perhaps, if one accepts evolution as the underlying creative and formative process, how do we explain sin?
Me: There is nothing to reconcile as the processes which you characterize as “discord” and “chaos” are simply the way the universe is. Death is a necessary part of biology–without it, we would not be able to live, much less grow and develop as individuals and as a species.
Sin factors into the equation in that humans have rebelled against God, choosing hatred and violence to peace, mercy, and knowledge of God. In this state of dissolution, the “way the universe is” takes on an extremely negative tone because our sinfulness makes our mortality extremely poignant. In order to further justify ourselves, we pass More >
Ok, if you're like me and aren't the smartest cookie in the jar, something like specifying a connectionString in a web.config file can be maddening. Of course, it doesn't help that there are literally 123 billion possible ways to do a connection string…but I digress.
While searching for an answer, I ran across a pretty neat little technique that will make the development of your connection string quite painless.
First, open Explorer, and create a new file. Now, rename the file to X.UDL. Double-clicking this file will open up a Data Link Properties dialog window.
The super nifty thing about the DLP is that you can actually create a full-on connection to a datasource, and test out various settings. Nice.
But the really beneficial part (well, besides verifying that, yes, this particular service account does, in fact, have access to SQL Server…) is the "All" tab. Here, you'll see all of the properties of your connection. While nice information, this is super sweet because these properties are precisely the parameters that you need to enter into your web.config connection string in order to make SQL Server happy. That's awesome, and a huge time saver if building connection strings isn't something that you do on a More >
Readers of this blog no that I am no fan of Microsoft. However, I am actually kind of excited about the official launch of SharePoint 2010 today.
Previous versions of SharePoint were okay…actually, they were pretty limited, extremely clunky, and revealed Microsoft's blatant desire to give the finger to everyone not on "approved" (read Microsoft-developed) platforms.
Well, 2010 reverses alot of this. The architecture has been reworked, so sites in SharePoint actually bear some resemblence to web standards. User interfaces have been SERIOUSLY upgraded so that managing content is more enjoyable and less like oral surgery.
But perhaps the coolest part of 2010 is that there is truly deep interaction with the full suite of Office products. From Word, to SQL Server, to Visual Studio, it seems that every single Office app has really meaningful hooks into the core of what SharePoint does. What does this mean? Well, Office is now no longer something you have on your crappy work PC…with SharePoint 2010, it's the power of the Office Suite available anywhere you might be.Share this:
Recently, I've been working my way through On Religion, a collection of writings from "the greatest British philosopher," David Hume. Of course, Hume is well-known for his views on causality, even though there is debate over precisely what he thought concerning this subject…
While I do not wish to spend an inordinate amount of time analyzing my reading of Hume, I did run across an interesting passage that, at least in my reading, coheres interestingly with arguments that I have made personally, even if they are stated in a different way. In the following selection from "Of a particular Providence and of a future State," Hume recalls a "conversation" which he had with a friend who, donning the persona of Epicurus, seeks to defend the ancient philosopher's "denial of divine existence" before the "mob of Athens."
In the faux Epicurus' estimation, the philosophical necessity of the divine is unfounded in human reason because its fundamental basis is derived from a backward rationalization from the nature of the world. That is, his religious (and political…) persecutors believe in the existence of the gods because the world exists. However, their philosophical belief is not mere superstition; rather, they have made an attempt at More >
Even though I've pretty much given up on Adobe's Spry Framework, I noticed yesterday that some major updates have been added in, primary among them the introduction of Spry UI. According to the Spry Team's blog post, Spry UI is a new way of approaching Spry widgets that moves away from the previous (and kind of annoying) necessity of following a prescribed markup model and now attempts to work with user-defined patterns. This *should* allow for much more flexibility and customizability, and allow for much more robust opportunities for skinning that were previously possible. Moreover, because all the widgets will now inherit from the same shared base classes, the door is widened for Spry to become a much more robust framework in the future.
Does the introduction of Spry UI mean that Spry development is alive and well, and that Adobe is committed to making something of it long term? Only time will tell.
The problem for me, of course, is that time is precisely the problem. Development of the framework has been seemingly eternal, and significant updates (whether features or simply information about ongoing development) are VERY infrequent. While I see a lot of promise in what Spry can do More >