Domain: jwz.org
Stories and comments across the archive that link to jwz.org.
Comments · 928
-
Netscape Dorm
Don't forget this little jem: NSCP Dorm (Netscape Dorm). Jamie Zawinski kept a diary of sorts about Netscape starting up. Some off-topic but almost always interesting nonetheless.
-
Re:ahhh
>We did? Who's "we"?
I for one quit doing whip-its. Ah, what the heck, what's one more....
mmmm... whip-it real good.... -
Re:css and css free
That's an intertesting point - one that I would expect a techie to make.
Read JWZ's rant about web designers, it's hilarious:
I think my standards have lowered enough that now I think ``good design'' is when the page doesn't irritate the living fuck out of me.
Anyway, from what I've seen, most designers would rather pull their hair out than see completely unstyled content.
I suppose that's the difference between a righty and a lefty. -
mismunch!Also check out mismunch from xscreensaver. This is an intentionally buggy implementation of munch, a classic square-filling screensaver you've probably seen before.
When I first saw it, I though it was printing out pictures of processor cores or something...
-
Re:Dear Internet,
The original poster was griping about the quality of criticism on the Internet. You, naturally, take that to mean he is a "Microsoft saint."
Perhaps you'd like to read some self-righteous whining on other topics, like Linux and the unusable software written for it. -
Re:Dear Internet,
The original poster was griping about the quality of criticism on the Internet. You, naturally, take that to mean he is a "Microsoft saint."
Perhaps you'd like to read some self-righteous whining on other topics, like Linux and the unusable software written for it. -
Re:Dear Internet,
The original poster was griping about the quality of criticism on the Internet. You, naturally, take that to mean he is a "Microsoft saint."
Perhaps you'd like to read some self-righteous whining on other topics, like Linux and the unusable software written for it. -
Re:GLAT - sample questionsWhenever I hear about Google recruiting, it kind of depresses me. Reminds me of something Jamie Zawinski said:
you can divide our industry into two kinds of people: those who want to go work for a company to make it successful, and those who want to go work for a successful company. Netscape's early success and rapid growth caused us to stop getting the former and start getting the latter.
-
Dammit
Jeez.
Building a computer from parts might be easy for you, but that does not make it "easy". Most people can't handle it. They want to buy a computer and take it out of the box and plug it in and turn it on. This goes for PCs or Macs.
Have you used a Mac that was manufactured in the past half decade? You can use any USB mouse with them, including your seven-buttons-with-scroll-wheel optical mouse. They use PCI, AGP, ATA, and USB for expansion. They have a "taskbar", it's called the Dock.
Windows's popularity is entirely attributable to Worse is Better. eg -
Beginning of a dialog
Hi folks,
I'm Rob Lanphier, and I'm the Development Support Manager for RealNetworks. Among other things, I'm responsible for guiding our Helix Community initiative.
I'm glad to see some of the good comments here. People are starting to see that things have have changed.
There's been some comments on ethics, and how a company "can never be trusted again" after making missteps. It's very frustrating for me personally because it belies a certain naivete about how companies and the world works, as well as the fact that the meme really limits the potential of doing some really great things. It also bugs me because, well, I like to think of myself as a very ethical person.
As Jamie Zawinski pointed out, you get a lot of people together, and stupidity inevitably ensues. It's practically unavoidable. However, there's also an upside to getting a lot of people together. Some things just take a lot of people to do.
We're building out an infrastructure for delivering music and other media to a lot of folks over the Internet, and building the partnerships with media companies and technology companies to pull it off. In the process of doing that, we're managing to build a lot of great technology that we're making available as open source, much of it even GPL
If we're successful in really getting the industry to rally around this infrastructure, not only will the world have a kickass open source media infrastructure, but we'll have shown other previously skeptical that it's not an utterly insane thing to do. However, if it doesn't work out, it'll be yet another counterexample of why building open source isn't compatible with the business world.
It's been really cool to see how the Helix Player/RealPlayer for Linux effort has gone. Our Freshmeat ranking continues to climb at a great pace, and we're seeing a lot of downloads. If anyone is worried about what's in that player, look at the source code. Hopefully, we'll be able to further roll that model of building software out to other parts of our business.
At the end of the day, companies are just people. You get a big enough group together, and you'll find there's good people, and there's bad people. I suppose you can lump us all together, and say that the group as a whole is bad. Or you can take the more pragmatic approach. Rally behind the good people in the group, and help them guide the rest down the right path.
Rob -
Re: Mozilla is big because...
Remember what jwz once said:
"Mozilla is big because your needs are big"
I think this still stands true. -
Re:webcollage
Well the original online verison hass been written by JWZ and agregates pics from the net. you could see it here. BEWARE : uncensored images are collated from the internet. Not always work safe, thus.
-
Been there, done that
Looks like JWZ's WebCollage, but with cell phone pictures. And more ugly added.
-
Re:Really dumb, missing the point entirely
JWZ once said about Mozilla bloat: "Mozilla is big because your needs are big."
People demand a lot from their desktop these days, so their desktop does a lot of things. It can take a lot of code to do it all. Sure, you may get smaller binary sizes and no library dependencies writing everything in assembly, but a) it's infeasible and b) the desktop would lack most of the features people want.
But you're missing the point. Ever done an ldd on X or an Xserver? That's what Gosling is talking about.
Using this new windowing scheme with have little/no effect on existing clients because they will still use some toolkit like GTK to do their windowing and widgets. It's not like that client developers would have to write their own widget set for each client, they will still use GTK or Qt or whatever, just like they do today.
What will need to change is the toolkits themselves.
If you had actually RTFP you would see that he was advocating a windowing system that was even more simple what you suggest. -
Corollary to Zawinski's Law?
It's been said that "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."
So GNOME's development vector has been the inverse of Zawinski's: it started as an environment trying to provide everything, and it's slowly reducing its visible functionality. Every new iteration produces a new fight with users about simplified user interfaces, but the platform still exists. In fact, if GNOME's growth is anything like Linux's, then there are probably more users today than two years ago.
Where have my comments been unfair? Is there another lesson buried in here? -
Java is (still) sucking
This is getting dated now, but take it from someone who would know: Java Sucks. But Jamie at least points out good reaons why.
-
Re:Already have oneDick from your speakers?
Maybe you Thought you could replace SSL/SSH with something much better you designed this morning over coffee.
Alternatively, maybe you thought Hey, skins, what a cool idea. -
I'm a BT OpenWound customer
I'm a BT OpenWound-er-sorry, OpenWORLD customer. I run webcollage. Should I worry?
:-) -
The rise of worse is betterSad thing that software developers tend to follow the opposite advise: "Make it easy to do what is easy to program". It's the biggest mistake in interface design, bar none. That's exactly what they do, because it allows them to get the software to market with less effort on their part.
Richard Gabriel's "The Rise of Worse is Better" is an excellent explanation of this methodology.
Sadly, Gabriel's analysis holds up even today (almost 20 years later).
-
LiveJournal
Likewise. Though if you want to add a RSS/Atom feed that doesn't already exist on LJ, you need to be a paid or permanent member. Though you can just spend five bucks for two months of membership, add all the feeds you want that aren't already there, and read them for free from then on out.
I recommend JWZ's cheesegrater for scraping RSS feeds out of sites that fail to provide one. -
Re:Uh? VAX? What year is this?Unix & C design philosophy:
"I remarked to Dennis that easily half the code I was writing in Multics was
Also, read:
error recovery code. He said, "We left all that stuff out. If there's an error,
we have this routine called panic, and when it is called, the machine crashes,
and you holler down the hall, 'Hey, reboot it.'"
Tom van Vleck and Dennis Ritchie about Multics <-> UNIX relationship
Worse is Better
-
Re:windowingYou have to be kidding? An integrated window manager is one of Windows biggest problems. When an application hangs, you can't minimize it, because the window itself handles window management.
You have to do something stupid like "Show Desktop", which minimizes everything until the next window you open, which promptly re-opens the hung window in all it's blank useless glory.
I'll agree that X is lacking in some drawing primitives. Fortunately, interested has sparked in this recently, and the protocol is moving forward with some really nice extensions. Maybe with the world moving off XFree86 it will happen even faster.
I don't know what the hell happened with anti-aliased fonts, and why you can't use them with old programs. It's certainly possible; I ran an X server on Windows for years, which lets you map the X fonts into Windows fonts. I had perfectly AA'd fonts under every X application X many years ago. So I wonder if windows can have an X server that does it, why not Unix?
But almost no programs really need them, unless it's a drawing package. "Look good" seems to really mean 31337 sk1nn3d 1nt3rfac3 these days, which drives me insane - great, another program that doesn't respect my system color settings, window management shortcuts, and is freakishly unclickably unresizably small because the designer is running at 640x480 and me at 1600x1200.
The biggest weakness I see, speed-wise, is that X.org/XFree86 drivers are just not as well-optimized as their Windows equivalents.
-
Re:Come on, nobody's using their imagination
Putting 2d windows in a 3d environment is useful, but they need to get some artists and videogame developers (really) in there, and some real information presentation wonks like Tufte involved.
See how you can apply a touch of real-world physics to the behaviour of windows, open a new window and have it gently repel its neigbors so it makes room for itself as the windows realistically settle into place like puppies in a basket.
Windows you interact with should shuffle towards the front, others should gradually drift back, and they should use fog effects to shade them like a "full time" Exposé.
But I'm not convinced that most applications would benefit from 3d user interfaces. In fact I'm not convinced that most applications that use them benefit at all from shaped windows. And I'm afraid of the horrible possibilities of 3d skinnable applications (see Jamie Zawinsky's rant and the infamous 'audio-cock technology'). -
C / C++
A lot of problems result from the C and C-like languages' inherent faultiness. The language is a great way of writing "portable assembly language", but makes for sloppy code a lot of the time, even from relatively experienced programmers. It's mainly due to the "New Jersey" approach to development.
C++ and C are very popular and widely used, and will probably never fade completely as they are too entrenched, however, there are a lot of languages these days with compilers which can produce code as tight and fast as C/C++, but without the mess. This is one example, there are many others.
-
One Word
-
Re:Doesn't mean people are happy with it...
Just wait till RMS and Rob Malda start a group.
And folks will whine about how their music sucks so much worse than it used to
Hey, we're not whining, we're just telling it like it is! How can you compare the original purity of the unplugged free software song with RMS's later descent into techno? -
Re:Check out LispLisp was ahead of its time. It did things in the 1970s that C-family languages still can't do, like exception handling: in fact, it did some things that I believe no other language can do even today (at least, without very dirty hacks), such as the macro stuff and the ability of a lisp program to rewrite itself on the fly. But it required powerful hardware. By the time general-purpose hardware caught up with lisp, Unix and C had taken over everywhere.
From the classic essay by Richard Gabriel, Worse is better: "Unix and C are the ultimate computer viruses." (Follow the link to see why he's saying this.)
-
Re:I think I know
Hmm, not so shure anymore....
His own reasoning.. -
I think I know
Based on some rather public statements I've seen, I have a feeling it was JWZ.
I don't have time to look up the reference, but I'll bet someone with a bit more time on their hands will.
He did leave rich, and he's doing something quite different now, so I don't think this disclosure will hurt him any.
Of course I have no way to know who's right in this debate, since I'm sure the old codebase was genuinely a problem, but he's definitely the guy on the other side.
D -
oops
D'oh! At first I wondered why
/. was posting about capturing naughty pictures by using driftnet with webcollage.I tried this once but my screen's too visible to my boss whenever he snoopes around the cubefarm. The first porn pic I saw I decided I'd better shut webcollage down.
I'm glad someone's having fun. But they're either braver or dumber than me
-
Re:What is poetry?
Way to go botching the html: try here instead.
-
Re:Scroll mouse?
You can Ctrl-C a URL and paste it into an address bar without undoing the copy.
Highlight the URL you want to copy and press Ctrl-C, highlight the URL you want to replace and press Ctrl-V.
Seriously, everyone who is in any doubt about X's two clipboard strategy needs* to read this article by Jamie Zawinski. If you understand the X clipboards and use them properly it's far more efficient than the windows clipboard (although Windows still has the edge on moving complex data between heterogeneous applications, which is quite poor of us since X has a very flexible mime type system in the clipboard).
The one thing that always confuses me is that if you don't tell someone about the middle mouse button, the clipboard works exactly the same as Windows, so why is it that the little nugget about mmb paste gets through to people, but not the fact that it's seperate to the ctrl-c/ctrl-v clipboard? ;) -
how it actually works:
highlighting text in Linux automatically performs a copy
Well, no, not really. Here's how it really works.
I totally agree that too few Unix programs support the C-c/C-v idiom, but it's orthogonal to the select/middle-click idiom.
-
Re:-1 Redundant
And any mention of a possible solution brings down the wrath of nerds who want to keep unix as unintuitive and awkward as possible.
That's just trolling. There are many people looking for a _good_ way to do these things, and then fix them. Why do you think Freedesktop.org exists in the first place? See this for the solution.Besides the nuisance of what mouse click or keystroke you use to move text, it's not a clipboard like Windows uses, merely a text buffer. Ie; it's only good for text. You cant copy/paste (and by extension drag and drop) files, bitmaps, etc uniformly between apps.
No, the clipboards can hold any data type, not just text. It's the widgetsets and/or applications that cannot handle anything other than text. These should be fixed (and that's slowly moving in the right direction).
See this (section 2.6.2) and this for details. -
Re:Common problem..
I think the reason for the two different Clipboards is because the KDE (Or gnome? Not sure if it works the same way) clipboard handles copying content other than plain text and the X-Windows one not.
Wrong. X' selections mechanism (which is a general data sharing mechanism that's also used for copy/paste) supports any kind of data, not just text. It's the widgetsets and/or applications that don't understand anything other than text. Luckily, this is improving as GTK and QT are working on this.
From the ICCCM, section 2.6.2 (referring to data transferred through selections):The atom that a requestor supplies as the target of a ConvertSelection request determines the form of the data supplied. The set of such atoms is extensible, but a generally accepted base set of target atoms is needed. As a starting point for this, the following table contains those that have been suggested so far.
From a document explaining X selections:One of the really cool, yet rarely used, features of the selection mechanism is that it can negotiate what data formats to use. It's not just about text. When one application asks another for the selection, part of their communication involves the requester asking the owner for the list of types in which they are capable of delivering the selection data; then the requester picks the format they like best, and asks for it that way.
By the way, "X-Windows" doesn't exist, it's the "X Window System", or "X" for short. -
write-up of X copy and paste
Here is a little discussion of how copy and paste works in X. Don't know if its all absolutely right myself, but jwz seems like a clever guy.
-
Excellent article on the subjectYou should read this article: http://www.jwz.org/doc/x-cut-and-paste.html.
In a nutshell, there are TWO completely different clipboards implemented in X:
- The "select->middle click" clipboard
- And the "copy->paste" clipboard
These two clipboards do not affect or interact with each other.
Other OS's (like Windows) only have the second kind. Modern Unix applications (like anything based on GTK, QT, or Mozilla) support both clipboards simultaneously and independently.
Old X Windows applications like XTerm only support the first kind. This is why you can't copy from or paste into an XTerm using C-c and C-v.
So if you are using modern applications, you should always be able to use C-c and C-v. If you have to copy or paste something into an XTerm, you will have to select it and middle-click. The solution is to use a moderm terminal, like gnome-terminal, instead of XTerm.
If you read the article, you'll learn that there are actually three different clipboards in X (one of which is never used), and that Emacs and XEmacs then implement yet another fourth clipboard!
Also see the freedesktop.org reference.
-
Re:Common problem..
Yeah, there's basically two clipboards.
Yup. The best explanation I know of how this works from someone who would know
:) -
Primary Selection vs. Clipboard Selection
The middle mouse button always inserts the contents of the primary selection, while Edit->Paste always inserts the contents of the clipboard. The primary selection always contains whatever text currently highlighted. The clipboard contains whatever was hilighted when you last picked Edit->Cut or Edit->Copy. Hilighting text changes the primary selection, but does not change the clipboard.
See http://www.jwz.org/doc/x-cut-and-paste.html for more information.
-
Everyone has it wrong all the timeFor some reason people seem to constantly miss how the X clipboard and selection mechanism works. So here we go again:
The X clipboard work exactly like the Windows and Mac ones. When you chose 'copy' on an edit menu or similar (ctrl+c in a lot of toolkits) the application will claim ownership of the clipboard and copy the text to some internal buffer. When an application gets a paste in some way (edit->paste or ctrl+v perhaps) it will request the text from the clipboard owner.
There is ALSO the selection mechanism. Whenever you select text in an application it will claim ownership of the primary selection, whenever an application receives a middle mouse click it will request the primary selection from the registered application.
These two mechanisms are orhogonal and should in no way interfere with each other in a correctly written application. Hope this clears things up. See JWZ's small guide to the topic for more information.
-
Oh boy
Soon Slashdot will be filled with the waring camps of "X is perfection" and "X is old, so it is bad."
In this case, I find that it's merely a matter of getting used to the way the X clipboard functions. For example, delete the old text AFTER you paste the new text. It's a different way of managing your clipboard, but it's not necessary any better; for most jobs, I find it to be MORE convenient, and I start to forget to Ctrl-C when I'm in Windows.
For more information on how X handles the clipboard/selection, see Jamie Zawinski's informative web page. -
Re:Ceiling Hanging Heavy Canvas
Like the tent of doom?
-
OT: Dvorak
I hate the statement: "Dvorak superiority is a myth." The ergonomics of the Dvorak keyboard are far superior to Qwerty. Economists are in no position to debate that superiority.
In terms of the cost of switching to Dvorak then Qwerty probably has the advantage. Replaceing all those keyboards and retraining typeists would be a huge expence for little economic gain. I am suspecious of any study that shows a huge productivity gain from switching to Dvorak. Dvorak users may type faster, but most keyboard users I know are not limited by their typeing speed.
Certain economists like those who wrote the Qwerty article above hate the Dvorak keyboard. Dvorak shows that the market does not always choose the most advanced (high tech) products. There are some theories of a free market economy that rely on the market always chooseing the best. Unfortunately the Dvorak keyboard delivers quite a blow to these theories. If these economists were scientists they would rework their theories.
The Dvorak and Qwerty keyboards can be added to a list of technologies that show that a partial solution that is out first will have an advantage over a perfect solution. It is an example of The Rise of "Worse is Better". Backwards compatibility is part of the same picture. -
Re:ps
In Python you can use tabnanny to avoid this.
I find the best fix is to just ban tab characters from files. That way there is no argument or confusion about how many spaces they are supposed to represent. N spaces is always N spaces.
Using only tabs and not spaces also kind-of works, but I think it is not such a good solution. Not everyone's favourite editor can be configured to treat tabs the right way. Spaces tend to creep in -- you can hardly avoid spaces altogether -- and so entropy increases. Code that makes sense indented with tabs shown as 2 spaces might look bad or wrong when someone changes it. I guess it does let you avoid agreeing on what size of indent to use but I am not sure that is a good thing. -
Yes.
It's called The New Jersey Approach.
-
Hubble is open source
I've got it. Here you've got a project that has produced some very good data and yet the creators have decided to stop maintaining it while they completely redo it from the ground up because they think the old base has gotten too "messy" to properly maintain anymore, disenfranchising the user base in the process. That's right all the signs are there, we must have just not noticed before, Hubble must be an open source project.
-
CDDB: Feel the Pain
Here is Netscape's JWZ hilariously sad-but-true rant about the ID3 header format:
CDDB: Feel the Pain
In case you didn't know, the file format that CDDB (and FreeDB) use is complete garbage. In addition to random idiotic crap like it being impossible to unambiguously represent a song title that has a slash in it, it's rocket science to figure out how long a song is supposed to be. I need this info not only to display it in Gronk (my MP3 jukebox software), but also for some error-checking that my CD-ripping scripts do, so that I don't end up with truncated files if there was a crash or a full disk or something.
So get this. CDDB files contain junk like this:
# Track frame offsets:
# 150
# 18265
# 32945
# 49812 ...
# Disc length: 3603 seconds
#
DISCID=...
DTITLE=...
(You'd think that the fact that it's in a comment would mean something, but no: you have to parse both comments and non-comments, begging the question of what they thought "comment" means.)
Those numbers are the starting sectors of each track on the disc. There are 75 sectors per second. So you convert those to seconds by dividing, and then find the length of each track by subtracting each from the previous. Oh, but wait, they don't give you the sector address of the end of the last track: for that one, it's expressed in seconds instead of sectors, for no sensible reason. Still, the info is there, right?
Uh, almost.
It turns out that if the last track on a CD is a data track (an ISO9660 file system) then there is a gap between the last track (the data track) and the second-to-last track (the last audio track.) This gap is exactly 11400 sectors (152 seconds, 2:32.) On some discs, you can actually see this track, it's a differently-shiny ring. Why's it there? I don't know. Why's it that size? I don't know. What if the data track is not the last track on the CD? (Does that even work?) I don't know.
So what this means is, when computing the length that a track should be, you have to subtract 152 seconds from the length of the second-to-last track, only if the last track is a data track.
How do you tell whether the last track is a data track, without having the CD in question physically in your computer? By hoping that the CDDB file contains the words "data track" in the title of that track, I guess. Yeah, that's reliable.
And, just to keep things interesting, it turns out that older versions of grip and cdparanoia didn't skip over this gap when ripping: instead, they would append 152 seconds of silence onto the end of the second-to-last track. So now my script that sanity-checks the lengths of the files has to consider two different lengths to be "right", since I now have CDs that were ripped both ways.
Whee. I love love love supporting standards invented by 12-year-olds.
Of course the reason that I use CDDB files at all in Gronk is because of the mind-blowing worthlessness of ID3 tags (32 character limits on titles, etc.) Yay more standards invented by 12-year-olds. (Please don't even mention ID3v2 or Ogg. I laugh at you, you silly person. Those are universally-unsupported fantasies that simply trade one set of problems for a whole new set of problems.)
And as if CDDB wasn't bad enough, FreeDB has taken the CDDB braindeadness and layered even more braindeadness on top of it: it is truly a thing of wonder.
For example, go ahead and try to ever have the "genre" field be something approaching reality -- oops! The first person who ripped this CD said it was "folk" because that's genre number zero! So fix it and resubmit it to the database? Sorry! You can't ever change the genre of an entry in the database after creation, since the genre dictates what directory the file goes in on their server. And so on.
It's a wonder anything works at all. -
Re:Heh, you laugh
...as opposed to Linux developers, who have absolutely no clue about how people use computers in the Real World outside their community.
-
Re:This is exactly what the problem with Java is
Java is too many different things, it gets confusing. Java is a desktop, A VM, and a programing language
Not to mention an enormous class library and a security model>
disclaimer: I use Java and like it a lot -
Re:database back-end
While mailboxes themselves are stardard mbox files, thunderbird (& mozilla mail) do use a database (of sorts) for index information. It's called mork, and its supposed to combine the benefits of a transactional database with those of a straight text file. Unfortunately, some would say it accomplishes neither.