May 31, 2003
Is software industry a place to be - Greenspun perspective.
Is software industry a place to be - Greenspun perspective. Greenspun
on software industry tongue in cheek, as always.
May 30, 2003
i.e. vs. e.g.
i.e. vs. e.g. I learn something
new every day:
i.e. stands for “id est”, and means “that is”. As used in the article, it would imply that the only possible commercial distribution of AFPL Ghostscript is inside a printer.e.g. stands for “exempli gratia”, and means “for example” and implies that inside a printer is merely one of the many possibilities for commercial distribution of AFPL Ghostscript.
May 29, 2003
Best practices for ripping music.
Best practices for ripping music.
As found in a slashdot post:
You should not use —r3mix. It is old and deprecated - its removal from LAME has been considered. You should use LAME 3.90.2 with —alt-preset standard (aka “APS”, ~ 192kbps VBR) or possibly —alt-preset extreme (“APX”, ~ 256kbps VBR) for trickier encodes (classical, jazz, rock, experimental). Those without space concerns still wishing to use mp3 can try —alt-preset insane (“API”, 320kbps CBR).
The —alt-presets are optimisations for quality and have been very thoroughly tested by hydrogenaudio. They represent the current state-of-the-art in mp3 compression.
For a scale, quality (normally transparent up to lossless) and size (50-80MB up to 300-700MB) go roughly (Qx represents Vorbis 1.0 quality number): APS < Q6 < APX < Q7 < Q8 < API < Q9 < Q10 < FLAC
A music sharing network for people who care about quality exists. Because the bad guys read/. too, I’ll leave it to you to find üs, but the rules are:
Rip with Exact Audio Copy 0.9b4 (secure mode, accurate stream, NO C2, no normalisation, no read or sync errors, only complete discs with no missing audio tracks, save a log file) and encode to MP3s (LAME 3.90.2 or 3.92), Oggs (Vorbis 1.0) or FLACs. Tag correctly - for mp3 ONLY use id3 v1.1 and id3 v2.3.0 - with year and ideally genre from allmusic, name scheme ”%A - %C\%A - %C - %N - %T” normal, various artists discs - name tracks “Artist / Title” and use name scheme ”%C\%C - %N - %A - %T”, add ” (OST)” to album name for soundtracks. Move log into directory, rename to directory name +.log, add an .md5 md5sum for the log and audio files to complete the rip.
There is good stuff to be found on Slashdot.
May 28, 2003
iTrip review.
iTrip review. Now that I have an iPod I might need iTrip, which has just been thoroughly reviewed.
May 27, 2003
iPod and Windows - problems, solutions.
iPod and Windows - problems, solutions. My 10 GB iPod
arrived today. Hardware is delightful but I’m using Windows so there were problems.
Here are a few things I learned:
- iPod doesn’t come with USB cable by default (thank god my laptop has FireWire
interface); you have to buy FireWire-to-USB converter cable yourself if you
don’t have FireWire interface in your PC - when you plug iPod to PC it is also visible as an external hard-drive (and
if you use Windows XP you don’t even need to install any drivers) but by default
iPod’s hard-drive was formatted using Mac-compatible HPFS file system. Do
not re-format it yourself to be FAT32, as I did, since it kills iPod - when you kill iPod you can always reset it to factory state which I managed
to do it after using every
possible
iPod updater I could find on the net. I did the reset multiple times but following
the instructions didn’t work: after update iPod just didn’t want to go back
to life and was stuck displaying "OK to disconnect" (long after
I’ve disconnected). Finally I did the reset on iPod and it started working. - it’s distressing that I was asked, twice, to enter my personal data (once
for Apple once for MusicMatch) just to be able to install software that I
didn’t even want. Not to mention being forced to enter multi-digit numbers
(iPod’s serial number and MusicMatch’s serial number). It’s distressing given
that I’ve already gave them my money and they still treat me like a thief,
show absolute disrespect for my time and my privacy in the hope of squeezing
some incremental revenue from me by means of bombarding me with spam (how
else?) - in astonishing display of incompetency, software included on CD (iPod manager
(whatever that is), iPod Updater (the thing that allows to reset iPod to factory
settings/update firmware and MusicMatch Jukebox) failed to install correctly.
After forcing me to reset every attempt to launch any of the included apps
triggered installation dialog that kept asking me to point it to "iPod
for Windows.msi" but refusing to accept it when I did. So I just uninstalled
suckers. - although you do see iPod as a hard-drive, you can’t just copy music to it
and have it seen by iPod automatically (another example of removing useful
functionality based on assumption that we’re all thieves) so you have to have
a special app that knows the secret handshake. On a Mac it’s iTunes, on Windows
it’s MusicMatch Jukebox (if you manage to install it). But I use ephHod. - ephPod rocks and is free (it’s a tool
that allows transferring music from a PC to iPod). BTW: transferring using
FireWire is damn fast - iPod Lounge is a place to visit
Did I mention that iPod is really cool? It’s amazingly small, it’s super-stylish,
it works well and 10 GB is more than I’ll ever need.
May 26, 2003
Creating software, paying for software.
Creating software, paying for software.
Aaron argues that you shouldn’t pay for software. I don’t agree with his post in general and with some points in particular. For example, he says that producing software only costs a bunch of time, once. That, amusingly, ignores the underlying reality of how software is made. Any software that is worth using, open or close-source, any word processor, operating system, spreadsheet, web browser or web server is a multi-year effor of, literally, tens or hundreds of people. You can’t just ship software and go home. Software either evolves or dies a quick death. Good software takes ten years. The point is: if you have to pay market price for programmer’s time, it’s a multi-million investement. If you can get people to write software without paying them, it doesn’t mean it costs less, it means that someone else paid for that. It’s just an accounting trick.
But Aaron’s point isn’t really about that and even with that correction in mind he would still have an issue with the system because he thinks that the reward for writing succesful software is too big than the cost of writing it. It’s a safe bet that Oracle paid only a (small) fraction of their database revenues over the years for programmer’s salaries. If we, as a society, could just reimburse the programmers for their time and give Oracle away for free, we would have it much cheaper. Or would we? The problem is that for one clear winner in the database category, there were tens of companies that failed (Sybase, for example, is marginal at this point, IBM’s hierarchical database are a thing of the past, object-oriented databases that were so hyped just a few years ago, are just a blip in the market etc.). The market isn’t rewarding Oracle for how hard its programmers worked over the years (Sybase programmers worked just as much) but for the fact that Oracle took the risk, bet on the right horse, had the right vision and succeeded in executing their vision much better, on average, than their competition. It might seem like a stupid and inefficient system to some but it’s called capitalism and all known alternatives are much worse.
Also Aaron tries to pitch open-source as a different system than closed-source, commercial developement but that isn’t so. Open-source and closed-source compete within the rules of the same system (capitalism). Currently closed-source has a clear edge (unless you’re in denial). Maybe some time in the future one will be a clear winner or they’ll coexist but we better hope that the decision will be made by the free market. And BTW: “don’t pay” is not in software developers self-interest and one shouldn’t underestimate our power to not write the software.
So the discussion as to “should you pay for software or not” is pointless because it’s impossible to tell how a system with different rules will perform. Will we get more, cheaper and better software if it’s all open-source or if it’s all closed-source? Or maybe banning software and hardware altogether and going back to 19th century technology will make us all much happier? I don’t know and neither do you. All we have are our half-baked ideas that always omit 99% of the complexity of the system that we pretend to know how to improve. In the end, the question will be answered by the market in due time - we just have to wait. In the meantime, don’t forget that you’re part of the system and you have the power to change the answer. Put your time where your mouth is and compete. Write open-source, write closed-source and let the better man win.
May 25, 2003
Impressions on using WingIDE.
Impressions on using WingIDE. I decided to check out Chandler’s sources.
It’s mostly written in Python so I started looking for a good Python IDE because
it’s so much easier to dive into unknown code if you can step through the code
and see what it’s doing. WingIDE is such a Python IDE and as an additional benefit
it’s used by Chandler team. So far I’m using a 30-days evaluation version (it
has all the functionality of the product). The verdict so far: very good. But
things are never perfect. Here’s a list of few things that I would like to see
different:
- first I had to change keyboard mappings for debugging to better match VisualStudio.
Fortunately it’s quite easy (create a new keymap file based on one of the
two defaults ones (keymap.emacs, keymap.normal) and add gui.keymap = $full_path_to_the_new_keymap_file
to preferences file) - it seems like displaying local variables has a bug: sometimes a variable
is missing in default debugger window but shows up in the separate locals
window (that can be triggered by double-clicking on Locals tab in variables
window) - I’m more used to "one-window-with-docked-subwindows" approach
(i.e. the way Visual Studio.NET works) while WingIDE has "multiple-windows"
approach - expression evaluator window seems to be equivalent of "watches"
(i.e. variables/expressions whose value you want to track) in other debuggers
but is less convenient to use (you have to re-type expressions and you can
have only one); Variables window should have another branch in the tree besides
"Locals" and "Globals" called "Watches" which
would be an user-editable list of variables/expressions to show. It could
also have "Autos" (as in Visual Studio.NET) - expression evaluator window should remember the tab used (i.e. "Tree
Display" vs. "Text Display" vs. "Combo Display") - there doesn’t seem to be a way to capture application’s stdout/stderr output
- it seems to be slow on large projects (and my machine is fast)
- it should switch to gtk2, gtk1 is ugly
But it’s definitely better than not having it.
May 24, 2003
Inspiring article.
Inspiring article. This is an inspiring read.
May 23, 2003
iTrip - cool iPod accessory.
iTrip - cool iPod accessory. iTrip
looks like a very cool iPod accessory and my next shopping target (but first I
need to get my iPod). It adds FM transmitter to iPod so that you can use your
car (or any other) radio to listen to iPod.
May 22, 2003
rigate - a perfect file manager.
Frigate - a perfect file manager. Today I found a perfect file manager
- Frigate. Ok, it’s not perfect
e.g. it doesn’t support sftp. But it’s close to perfect and certainly the best
out of those that I’ve tried.
