Domain: inglorion.net
Stories and comments across the archive that link to inglorion.net.
Comments · 63
-
Lock-In
When the Zune is introduced, it will have a new DRM system, incompatible with the PlaysForSure that Microsoft has been pushing and that many of their partners in WMA are using (from the Wikipedia article on Zune). This is similar to Apple's iPod, which uses FairPlay DRM, which Apple won't license to anyone. The Zune won't support Apple's DRM, and the iPod won't support Microsoft's.
So, Apple and Microsoft will both be pushing their own portable music players, with music being sold in formats that play nowhere else but in their own products. Hmm, where have we seen that before? Of course, neither of them is going to support the open and superior (in terms of audio quality) Vorbis.
What's funny about it is that Apple, which one one side professes to be all supportive of open source and open standards, has been beating Microsoft at the lock-in game on the other side. I guess that battle will soon get a second round. -
And they should, too
iPod users shun iTunes, and as well they should. I'm writing an essay about the lock-in game Apple (and Microsoft) are playing in the digital music world (the essay isn't completely finished yet, but it's relevant to this discussion, so I've uploaded it so that interested people can read it). By avoiding iTunes and buying music on CDs, iPod users avoid getting locked into Apple's proprietary technology, and retain full choice over what they do with their music, including what formats they convert it to.
-
Re:Scripts?
Ah, now we get into the interesting questions of what makes a scripting language, what makes a programming language, is there any difference, and which language is the most powerful.
What I never liked about BASIC is that it didn't seem like a coherent whole. First, with the line numbers and GOSUBs...how come the language was full of named functions, but I couldn't write one? Then came QuickBasic, which allowed you to define your own functions and procedures, with names...but they still didn't work exactly like the built-in ones. And I'm not even talking about the oddities of the built-ins themselves. BASIC has come a long way, though; I haven't seen a lot of VB.NET, but what I've seen suggests that it's definitely a decent programming language.
As for shell scripts, I think they are _the_ way to get started in programming, at least for us *nix users. As I've described in my essay Hidden Strengths of Unix, when you're already typing commands in the shell (which is simply the easiest/best/most efficient way to accomplish certain tasks), the step from there to writing shell scripts is very small indeed. The problem, of course, is that Bourne shell script gets horribly ugly when you apply it to more complex problems.
On the other side of the spectrum, there are the Real Programming Languages, which were specifically designed for tackling complex problems. The more Real they are, the higher the barrier to entry often is; Python, for example, has a relatively low barrier, but you won't find many people advocating Python for multi-billion dollar projects involving large teams and strong availability requirements. Java requires lots of boilerplate code and lots of explicit typing and exception handling, which requires, of course, that you understand all these concepts. You also can't quickly try things in an interactive Java session; at least, I haven't seen anyone using such yet. All this gives Java a high barrier to entry, but it's also often recommended for the sort big commercial projects with large teams etc.
And then there's me, trying to work on a language that is good to use as a shell _and_ as a Real Programming language, so that you can go from typing commands in your terminal all the way to large projects, without having to abandon the language you know (and, hopefully, love). It won't be finished anytime soon, though, despite much of the design and some of the implementation having been completed. -
Re:Maybe true, but not necessarily desirable
``Still, I think that tools like Borland Delphi/Kylix, & yes, even RealBasic 2005 (does Win32, Linux, AND MacOS X code from a single codebase) each are "superior" tools of "RAD" design vs. C/C++ porting between platforms.''
Oh, absolutely. C is an OK language for writing operating systems in, but it's horrible for writing applications. C++ is better, but it has many problems (mostly due to Design by Committee). And with RealBasic (can't vouch for Delphi) you also get a safer language (see Better Languages for Better Software).
Of course, i'd rather you use something truely open for your RAD development - perhaps GORM, or Glade (maybe wxGlade would be a better choice for cross-platform work), or ...
``Drive Letters used in Win32 vs. Device mounting in UNIX based OS like Linux &/or MacOS X BSD heritage.
Well, that & using registry entries in Win32 vs. .ini files (or whatever filetype you use, text even etc.) & such for state storage for apps between runs so they have "memory" between runs.''
Of course, there's always stuff that's going to bite you in the ass when you use it. If you use the Windows registry, it won't work on Unix. If you use Unix sockets, it won't work on Windows. So you need to abstract away from those differences and write code that does what you really want. You want to store settings? Well, write code that stores settings and works on all platforms you support. You want IPC? Write code that does IPC and works on all supported platforms.
Eventually, you'll also have to keep in mind that to write truly great software, you have to also make it fit in with the environment it should run on. Users of all platforms tolerate some inconsistency, but a Kylix app would probably look horribly out of place on a nicely themed modern Linux desktop. The traditional wisdom still holds: separate your user interface from your engine, and then write a dedicated engine for each platform you support. -
POSIX Compliance
A friend of mine has been trying to get a POSIX test suite on MINIX, and met with mixed success. Apparently, available POSIX test suites tend to rely on features that aren't in POSIX (such as gcc extensions), require optional features to test required features, and/or be severely limited in scope.
In the end, I believe he got some results, but no definitive yes or no on POSIX compliance.
One of the features that isn't supported is the MSG_PEEK flag on recv(2) (I know, because my webserver, muhttpd, uses it). However, this flag may not have been present in the version of POSIX that MINIX aims to comply with...
The bottom line is that a lot of stuff will need porting to run on MINIX, but this doesn't seem to be a very difficult job. -
Re:biggest barrier is ease of use.
``Expecting someone, anyone to spend the time to read a manual on how to use any product, Linux included, is just rude. I have better things to do - like playing with my kids and saving the world.''
Well, you don't need to read any manual to use Linux. If you can point and click, you can use Ubuntu. You may not be able to use Gentoo, but you don't have to use all distributions at once; that's what choice is good for.
As for your example that your car Just Works; I hope you don't mean it would be a Good Thing if everybody started to drive cars without receiving any instruction?
``A zillion different filesystem formats to chose from is not choice - it's the developer's failure to make a decision.''
You fail it! Of course havinga zillion different filesystems is choice. Which filesystem you use has a very real impact on performance, interoperability, reliability, and features. No filesystem is best for all purposes, so choice is good. As I already said in my previous post, you don't _have_ to think about this, but you can if you wish. If you think that's a Bad Thing, you are an idiot.
``So make a reasonable choice for the users.''
Please, stop pretending this isn't what's being done. Most installers I've seen give you some default setting for the filesystem, which you can change if you wish, BUT YOU DON'T HAVE TO. So you're flat out lying when you say that Linux isn't user friendly, because it forces you to think about what filesystem to use. That's what pisses me off.
``Honestly, I have a hardware firewall, use firefox, never open attachments, have Norton anti-virus and occasionally run a simple product that cleans out the registry. The only computer that I have had hacked is a Redhat Linux''
Ok, so you're saying your Windows machine requires very little administration to stay clean. I'm happy for you. However, your experience is not representative. Most people don't want to think about malware, so they will open attachments, won't run a virus scanner, and definitely won't run spyware cleaners. These are the people who truly won't learn about their systems, not hypocrites like you who learn about the pitfalls of Windows, but at the same time state that Linux is too difficult to use without learning about it. These people do get their systems riddled with worms and spyware.
Your Linux box getting broken into is also not representative. I also can't vouch for your setup being a good idea securitywise. What I can tell you is that, at the moment, an Ubuntu system is much easier to maintain than a Windows system; you get updates for _all_ installed software (not just Windows components), and you don't need virus or spyware scanners. I personally think the Linux security situation is going to change for the worse, but at the moment, you're a lot safer with less effort on Ubuntu than on Windows. Meanwhile, I'm happy running OpenBSD on all my exposed machines, because they're the only *nix project that's really serious about security.
``Sad to say you are not alone in this attitude. I see this in most code that I have seen professionally - no comments in code, cryptic error messages, little explaination and general indifference to others time. I try not to insult people using programs I work on by calling them "lusers" - that tends to make them go away without paying money (generally a bad thing in commercial software). When a "luser" bitches, as a developer that is a sign that I didn't finish doing my job - ease of use is not optional - and the customer is usually right.''
That's one paragraph I agree with completely. Still, a few observations. With Linux, the customer base consists largely of people who know their way around computers and aren't wary of a little scripting and editing configuration files. To these people, Linux is user friendly, and more so than most other operating systems. As I explain in yet another essay of mine, Linux has a lot of hidden power that you won't a -
Re:Finally!
``they could start by writing a thank-you note to Bill Gates for spreading the most fertile ground for worms/virii throughout the world...''
Speaking of which, I wrote a thank you to virus writers about a year ago. -
Re:Best CSS support?
And this page?
In Opera, the sections are numbered. In Firefox, they are not. -
OT: Endorsing G.W. Bush
I would like to comment on the page linked to in your sig, but couldn't find any contact info there. You can respond to this message through my contact form (so as to not bother
/. with more off-topic discussion). I read the linked page, looking for reasons why people support Bush. After reading it, I have a couple of comments.
``If Bush is voted out, no future president will dare attacking a vicious tyrant. The presidential staff will always be there to remind her/him of the "fate of the Bushes", who both waged and promptly won a just war against a universally hated regime, but lost the subsequent elections.''
You've overlooked a couple of complicating factors here.
First off, Bush did not only attack a vicious tyrant, he did so on the pretense that this tyrant possessed weapons of mass destruction and was a threat to the united states. Both propositions were strongly doubted, but Bush, Cheney and others have stressed them repeatedly, even using such words as "evidence", even though weapons inspectors kept denying the existence of such evidence. No WMD have been found to this day, and even if Iraq had possessed them, it would be highly doubtful they could have used them against the USA.
Secondly, the war against Iraq was a pre-emptive one. Advocates say that it's better to deal the first blow than to wait for the enemy to strike. However, Iraq was attacked without having made any aggressive move toward the USA. There was no apparent threat coming from Iraq, other than the ones uttered in speeches by Bush, Cheney, et al.
Unilateral wars are frowned upon, even prohibited by international law IIRC. The US attempted to obtain approval from the UN, but failed. This indicates that an attack on Iraq was globally considered unjust. The USA attacked anyway.
Thirdly, the Bush administration seems unwilling to even admit their mistake. In a recent debate, Cheney claimed that the president had done the right thing. They lied to, or at least misled, the people, went to war against a nation that was not threatening them, nor in a position to do so, all this against the advise of the experts and without the approval of the international community, found that everybody else had been right, but still what they did was the right thing?
You say that voting against Bush would be bad, because it would deter future administrations from performing pre-emptive strikes. I personally see that as a Good Thing, because I morally oppose pre-emptive strikes. Even if you endorse pre-emptive strikes, this one is a particularly pathologic case, based on false grounds etc., and, as you acknowledge, there are plenty of other flaws in the Bush administration.
``Of all potential Democratic candidates, only Howard Dean objected to this war from the beginning. ... If you oppose this war, the Democratic party failed you.''
This, of course, is not an argument for Bush, but one against Kerry. Since the USA is stuck with a two party system, the only way to oppose Bush is to vote for Kerry (and vice versa). This flaw in the system reduces elections to chosing the lesser of two evils, unless you are lucky enough to really agree with one of the candidates. -
Re:Knoppix-like Linux for iBook?
It's not a live CD like KNOPPIX, but I recommend Debian. It's easy to install with the new installer, and with the Radeon driver issues worked out, the system works very well. The only thing that doesn't work for me is suspend to disk, but there seems to be a patch for that, so support is coming soon.
Debian is a solid distro, with easy package management and the largest collection of packages of any distro I know. If you need help, just contact me. Good luck! -
Re:Good Distributed Filesystems?
As I am interested in this, would you mind dropping me a line using the contact form on my website?
I would think that leases (server will send you updates for some time, if you keep the file cached longer, renew the lease) do a pretty good job at maintaining consistency without being prohibitively resource-intensive. Of course, it depends on the way the content is used, so the best solution is probably flexibility: specify the best behavior in case the system doesn't guess it. -
Re:--No-Deps
``Have you written these scripts yet, or just planned them out? They sound interesting.''
The exist and they work. I just need to do a little more testing and write documentation. I'll post them on my website as soon as I finish moving it over to new server (sometime next month).
Please feel free contact me if you need more info or want me to email them to you. -
Re:I had to say this...
``Why not install linux on it instead?''
Installing Linux on a system with 4 MB RAM that refuses to accept my SIMMs is a bitch. I managed, but now I have a 2.4.18 kernel with some statically linked dietlibc programs...it works, but I don't know how useful it is. I'm thinking about installing Minix so I can see if the software I write is portable enough to compile on Minix as well. For the rest I don't have much use for that calculator anyway...yeah,t runs GNU/FreeDOS, for whatever it's worth...