< mari
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
chi >
[ Page 21 of 76 ]
From: Smylers Date: 11:24 on 21 Feb 2007 Subject: Something Using ALSA I return to a shell window I haven't used for a few minutes, to be greeted by the message: ALSA: underrun, at least 0ms. Gee, thanks. Not only an underrun, but one that doesn't have a negative suze! The most recent command run in that shell was whois. This computer doesn't have any speakers; it may not even have a soundcard. I've never instructed it to do anything sound-related; I've no idea what might be doing this, what an underrun is, or why I should care. But I hate that the pointless message is cluttering up my terminal. Smylers
From: Leon Brocard Date: 17:27 on 20 Feb 2007 Subject: Windows and wireless I apologise for not writing in a while. Software has been very hateful, and I should get it off my chest. I recently visited my girlfriend's parents in Germany and installed a wireless network in their house. Their house is nice and full of wooden beams and not really a faraday cage at all. I provide a wireless router thingy and buy a generic A/B/G wifi PCMCIA card from, I think, Linksys. This is where the fun begins. The first instruction on the PCMCIA card is to disable Windows wireless networking. This is slightly worrying, but as I see later on, the wireless card provider is really giving us a treat. Instead of a simple, workable wifi selector, what you instead get is a brain dead UI with flashing red status updates telling you it's failed to connect to a router in channel 1. Channel? Why would I care what channel it is failing to connect to, as long as it connects to the perfectly working wifi? Eventually I beat it into submisssion, getting it to connect to the access point whenever Windows boots up. I check this. I check this again. I check it a third time, knowing full well that I won't be there to fix it after that weekend. I return to London. The wifi works swimmingly. The wifi skype phone works great. Everyone is happy. The sun is shining. Until a month afterwards, when the stupid non-windows wifi selector decides to no longer connect to the frickin' access point which is 30cm away from it. This is annoying to debug over the phone, and we just give up. The software is all hateful. Windows is hateful. The access point is still there, but the laptop can't talk to it. Ninjas, please strike out at all network card manufacturers that provide their own custom software. HATE. Leon ps on the plus side, I'll get some nice wurst for fixing it
From: Yossi Kreinin Date: 17:52 on 07 Feb 2007 Subject: those bits can have 2 values for a reason There is a smallish (~$5G) company called Cadence. Their flagship product is called ncsim. It simulates hardware models written in high-level languages such as Verilog and VHDL. Verilog allows you to open files in your hardware description code. Handy for debugging. ncsim allows you to open at most 32 files at a time. Have you ever heard of a more retarded fixed size limit? I have to point out that 32 bits doesn't mean 32 values, because, you know, you can play with those bits, have some of them 1 and some 0, and that gives you a lot of options. I bet someone at Cadence knows that. If they convert fds to bitmasks because there is a function $print_to_many_files receiving a mask, then whoever invented this function is a moron. DISCLAIMER: This is an order of magnitude more brain-crippled than anything I've ever seen, especially considering the general level of software by Cadence. Hence, as a special exception, if there is a good excuse for this behavior, I will *apologize*. An example of a good excuse: "you probably have an env var $FUCK_ME_HARDER_CADENCE set, and this leads to the 32 fds limit as documented in big bold letters in the manual". An example of a bad excuse: "you should set an env var $PLEASE_DONT_FUCK_ME_SO_HARD_CADENCE, which removes the 32 fds limit as documented in small italic letters in the manual".
From: Martin Ebourne Date: 23:22 on 03 Feb 2007 Subject: dependency insanity # smart remove fedora-release-notes Loading cache... Updating cache... ######################################## [100%] Computing transaction... Installing packages (2): Glide3 Glide3-libGL Removing packages (369): GConf2 mysql ImageMagick mytharchive MAKEDEV mythbrowser Omni-foomatic mythcontrols SysVinit mythdvd a2ps mythgallery acpid mythmkmovie alchemist mythmusic alsa-lib mythnews apr myththemes apr-util mythtv-frontend apt mythtv-theme-MediaCenter apt-python mythtv-theme-MediaCenterOSD arts mythtv-theme-MediaCenterWeb ash mythtv-theme-ProjectGrayhem at mythtv-theme-abstract at-spi mythtv-theme-photo audit mythtv-theme-purplegalaxy audit-libs-python mythtv-theme-sleek authconfig mythtv-theme-visor authconfig-gtk mythvideo autoconf mythweather autofs mythzoneminder automake nagios-plugins avahi nagios-plugins-disk avahi-glib nagios-plugins-load avahi-qt3 nagios-plugins-perl avidemux nagios-plugins-users avifile nas bind-libs nautilus bitmap-fonts nautilus-cd-burner bluez-gnome nautilus-extensions bluez-utils neon boxbackup-client net-snmp bug-buddy net-snmp-libs cairo net-tools chkfontpath netconfig control-center netdump coreutils newt cracklib nfs-utils cryptsetup-luks nfs-utils-lib cups notification-daemon curl notify-python cyrus-sasl nrpe cyrus-sasl-md5 nscd dbus ntp dbus-glib ntsysv dbus-python openjade dbus-x11 openldap device-mapper opensp dhclient openssh dmraid openssh-askpass docbook-dtds openssh-clients dstat openssh-server e2fsprogs openssl e2fsprogs-libs oprofile eel2 pam emacs pam_ssh emacs-common pango evolution-data-server paps fedora-package-config-apt parted fedora-package-config-smart passwd fedora-release pciutils fedora-release-notes perl-DBD-MySQL file-roller perl-SGMLSpm findutils perl-SOAP-Lite fontconfig perl-Tk foomatic perl-XMLTV gail pm-utils gcalctool policycoreutils gconf-editor portmap gd postfix gdm postgresql-libs gedit prelink gettext psacct ghostscript psmisc ghostscript-fonts pycairo gimp-print pygobject2 glibc-utils pygtk2 gnome-applets pygtk2-libglade gnome-desktop pyorbit gnome-doc-utils pyparted gnome-icon-theme python gnome-keyring python-elementtree gnome-media python-numeric gnome-menus python-sqlite gnome-mount python-urlgrabber gnome-netstatus pyxf86config gnome-panel qt gnome-python2 qt-MySQL gnome-python2-applet quota gnome-python2-bonobo readahead gnome-python2-canvas redhat-artwork gnome-python2-desktop redhat-lsb gnome-python2-extras rhpl gnome-python2-gconf rhpxl gnome-python2-gnomeprint rpm gnome-python2-gnomevfs rpm-libs gnome-python2-gtksourceview rpm-python gnome-python2-libegg samba-common gnome-spell scrollkeeper gnome-system-monitor selinux-policy gnome-terminal selinux-policy-targeted gnome-themes setuptool gnome-user-docs sgml-common gnome-utils shadow-utils gnome-vfs2 smart gnome-vfs2-smb smart-gui gnupg smartmontools gstreamer smolt gstreamer-plugins-base sound-juicer gstreamer-plugins-good star gtk2 subversion gtk2-engines sudo gtksourceview sysklogd gtkspell sysstat gucharmap system-config-date hal system-config-display hal-gnome system-config-keyboard hicolor-icon-theme system-config-language htmlview system-config-mouse hwbrowser system-config-network hwdata system-config-network-tui initscripts system-config-rootpassword ipsec-tools system-config-securitylevel irqbalance system-config-securitylevel-tui k3b system-config-services kbd system-config-soundcard kdelibs system-config-users kdnssd-avahi system-logviewer kernel tar kernel tcpdump kiki timidity++ kpartx tmpwatch krb5-libs transcode kudzu udev libXft urw-fonts libbonoboui usbutils libdv-tools usermode libgail-gnome usermode-gtk libgcj util-linux libglade2 vim-minimal libgnome vixie-cron libgnomecanvas vnc-server libgnomecups vorbis-tools libgnomeprint22 vte libgnomeprintui22 wget libgnomeui which libgpod wpa_supplicant libgsf x11vnc libgssapi xfsprogs libmyth xinetd libnotify xml-common librsvg2 xorg-x11-drv-ati libselinux xorg-x11-drv-evdev libselinux-python xorg-x11-drv-i810 libsemanage xorg-x11-drv-keyboard libtool xorg-x11-drv-mga libuser xorg-x11-drv-mouse libutempter xorg-x11-drv-nv libwmf xorg-x11-drv-vesa libwnck xorg-x11-drv-via libwvstreams xorg-x11-drv-void libxml2-python xorg-x11-fonts-75dpi lockdev xorg-x11-fonts-ISO8859-1-100dpi log4cxx xorg-x11-fonts-base logrotate xorg-x11-fonts-misc logwatch xorg-x11-server-Xnest lsof xorg-x11-server-Xorg lvm2 xorg-x11-server-Xvfb man xorg-x11-utils mcstrans xorg-x11-xfs mdadm xorg-x11-xinit memtest86+ xscreensaver-base mencoder xscreensaver-extras mesa-libGL xscreensaver-gl-extras metacity xsri microcode_ctl xterm minicom yp-tools mjpegtools ypbind mkinitrd yum mlocate yum-metadata-parser module-init-tools zenity mplayer zsh msttcorefonts 1.4MB of package files are needed. 1221.6MB will be freed. Confirm changes? (Y/n): not fucking likely # So what the deal here? I'm not allowed to install fedora unless I promise to covet the release notes for ever and a day? Should I print them out and attach them to my last will and testament, just in case? Or maybe write them in blood, in large letters, on the roof of the Millenium Dome so they can be read by passing aliens. (Hey, a use for the thing at last.) Can tar not work if I don't have the release notes installed? Really? No, think you've got that one wrong. I particularly like the way it feels that if I'm not going to read the release notes, I should at least install Glide3 as penance, as if having a system that won't boot isn't enough of a punishment. A hardware driver for the 3Dfx Voodo range of graphics cards will be really fucking useful in that situation, I don't doubt. Cheers, Martin.
From: peter (Peter da Silva) Date: 20:07 on 01 Feb 2007 Subject: Contextual menus are on right-click, OK? Bug-report to Apple, on iCal: ``Normally on the Mac where an object on the screen has a contextual menu available, that is accessed by right-clicking. In iCal, to add an additional alarm to an event, you have to LEFT click on the word "alarm". Right-clicking does nothing. ``Whether that's a bug or a design flaw depends on whether that's deliberate or not, but I've been using this OS since it was called "NeXTSTep" and it didn't even occur to me to LEFT-click on a word that had no 3d cues to indicate that it was a button. I right clicked, nothing happened, and so I assumed iCal didn't support multiple alarms until talking about it with another Mac user after a meeting I was late to.'' I can just hear some hateful begger at Apple saying "Well, the Human Interface Guidelines are only guidelines".
From: Tony Finch Date: 16:57 on 31 Jan 2007 Subject: locales uniq: stdin: Illegal byte sequence Tony.
From: book Date: 12:54 on 30 Jan 2007 Subject: If you expect me to speak your language, just let me know, stupid! I was just beginning to hate SVN, because it thinks I'm the one who should make the bookkeeping for the merges (gee, I really wonder why I use a computer...), when I found a tool to help me: svnmerge.py. A quick look at the manual^Wwiki, and I'm ready to roll: $ svnmerge init -v -v svn propget --strict "svnmerge-integrated" "." svnmerge: calculate head path for the branch svn info "." Traceback (most recent call last): File "/usr/bin/svnmerge", line 1946, in ? main(sys.argv[1:]) File "/usr/bin/svnmerge", line 1886, in main cf_head, cf_rev =3D get_copyfrom(branch_dir) File "/usr/bin/svnmerge", line 764, in get_copyfrom repos_path =3D target_to_repos_relative_path(dir) File "/usr/bin/svnmerge", line 754, in target_to_repos_relative_pat= h root =3D get_repo_root(target) File "/usr/bin/svnmerge", line 726, in get_repo_root url =3D target_to_url(dir) File "/usr/bin/svnmerge", line 714, in target_to_url return info["URL"] KeyError: 'URL' Oh well, that's a nice error message. I take a hard look at the pile of puke at the bottom of my screen (I'm a Perl programmer, I don't want to look at your source code), read the output of svnmerge help int, change a few commands, try again, only to get some more puke, of a slightly different shade. Does svnmerge hate me because I'm French, or what? Well, I guess I'll have to look at the source, then... So, I try the command it uses, to find out what it does: Chemin : . URL : svn://svn.mongueurs.net/act/branches/stable Racine du d=E9p=F4t : svn://svn.mongueurs.net/act UUID du d=E9p=F4t : 67b57a05-4208-db11-a765-00306e02d86a R=E9vision : 1036 Type de noeud : r=E9pertoire T=E2che programm=E9e : normale Auteur de la derni=E8re modification : book R=E9vision de la derni=E8re modification : 1036 Date de la derni=E8re modification: 2007-01-30 13:14:10 +0100 (mar, 3= 0 jan 2007) What was the code reading that, already? key, value =3D L.split(": ", 1) Mmm. And what is the failing command? return info["URL"] Oh yeah. Poor thing, looking for the "URL" key, when it's actually named "URL ". So it *really* hates me because I'm French. $ LC_ALL=3DC svnmerge init property 'svnmerge-integrated' set on '.' I guess I just have to forward my hate to the svnmerge.py developers. --=20 Philippe "BooK" Bruhat A little work with your brain can save you a lot of work with your body. (Moral from Groo The Wanderer #40 (Ep= ic))
From: Peter da Silva Date: 19:09 on 27 Jan 2007 Subject: Re: cygwin (was: Excessively grandiose product names) On Jan 26, 2007, at 9:51 PM, Phil Pennock wrote: > I miss Xt; it was butt-ugly but it worked, reliably and portably. It > was cool to be able to aim viewres at something and figure out how to > configure it without having to fight whatever limited options the > programmer might have exposed. I'm probably forgetting a lot of pain, > though. Xaw is pretty good that way, too, and you could use Xaw3d or neXtaw to make it less ugly (or Xaw95 to make it more ugly).
From: Edmund von der Burg Date: 16:12 on 26 Jan 2007 Subject: Upper limit on software hate In a thread about hatred for CUPS Timothy Knox wrote: Ah cups, let me count the ways I hate thee. On second thoughts, no. The heat death of the universe would occur before reaching the end. This seemed to me a bit much, after all that would be alot of time to express your hatred. It seems to me that software is lines of code. Now each line of code can be hateful, and can have hateful interactions with every other line of code. Assuming the worst say you had two minutes of hate for each line of code and its interaction with the other lines. That would put an upper limit on the amount of possible hate as: $total_hate_seconds = 120 * factorial( $lines_of_code ); Sound about right? Cheers, Edmund.
From: Yossi Kreinin Date: 16:03 on 26 Jan 2007 Subject: Denial of denial of service Some programs crash when they crash. Can't their authors handle errors? By "errors", I mean things like *(int*)0xACDC = 0xABBA; By "handle", I mean things like signal(SIGSEGV, SIG_IGN); And you don't even need to work hard to make your program deny the crash - just develop your programs on Microsoft Windows (tm) using Microsoft Visual C++ (tm)! Look how easy it is: 1. "Structured exception handling" (the __try/__except kludge) traps access violations, leaving your program alive. 2. C++ exception handling (the catch-everything try/catch(...) kludge) also does that. 3. I'm not sure if it's MFC or, worse, the underlying API such as GetMessage, but when you handle messages, access violations may also get trapped. So the program won't crash when it crashes. Instead, the zombie program will keep running from hell knows what point with hell knows what data overwritten by hell knows what garbage with hell knows what consequences. This is obviously the better behavior considering the breakdown of the user population: 1. Users who bought the program - those would be upset to see the program crash. 2. Users who stole the program - those deserve to suffer. 3. Users of Free Software - "... or FITNESS FOR A PARTICULAR PURPOSE." Of course this is also very convenient for developement time.
< mari
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
chi >
[ Page 21 of 76 ]
Generated at 10:28 on 16 Apr 2008 by mariachi