From: Mike Beattie Date: 20:14 on 05 Dec 2007 Subject: Windows, .NET, and god knows what else So, I have to do some coding in VB.NET at work, updating an in-house management tool for Exchange accounts - we're upgrading to 2007 over the next 4-6 months, and it uses PowerShell (POWER! SHELL!), not CDO. So, anyway, I have a nice little VM environment set up under Parallels on my MacBook. Three Server 2003 systems, AD, Ex2k3, Ex2k7, and an XP client with Visual Studio and all the trimmings. Things were going swimmingly, until yesterday when I installed the latest .NET 2.0 service pack. OH GOD THE PAIN. Now each bloody system that has anything even vaguely related to .NET installed has slowed to a crawl. That's the AD server (cos it has SQL server 2005 (don't ask), with it's VS-like management interface), and the XP client. Finally worked out that it's bloody .NET with it's optimisation service (what?!?), so stopped that, and eventually the AD server calmed down, but for the effing life of me I can't get the XP client to chill the fsck out and actually run with any degree of stability. Simply running tasklist in a cmd.exe window will slow to a crawl. HATE. Did I mention that I need to have 99% of this work completed by CoB tomorrow? and that I'm only about 50% done? HATE HATE HATE
From: Mike Beattie Date: 19:36 on 30 Oct 2007 Subject: When I said 'Empty Trash', I meant it, you twat. Thanks OS X. For absolutely no reason that I can discern at all, it will not actually empty the trash when I select "Empty Trash" from the Finder menu, or the right click menu of the trashcan itself, or the shift- fuckingabnormaltwirlything-delete hotkey. Now, I realise that they probably all just call the same action, but COME ON. I don't want that cruft filling up my (normally) nice and tidy Trash. Even the cute little bit of crumpled paper annoys me. And while I'm at it, Apple, please put the Trash back on the desktop. Mike (who is a neat freak that has nothing on the desktop except the Finder icon for the computer (what is that called?))
From: Mike Beattie Date: 12:27 on 18 Jul 2007 Subject: Citrix. We use citrix at work. As if that's not hate enough. Citrix has its uses, and can be fairly sensible to use under certain circumstances. Sometimes. The client is 'OK', and well, does the job it was meant to do. EXCEPT when you run multiple display adapters on the client machine. Oh my good god the pain. 1) the login window appears over the join in the displays. Half obscured by the 'blank' section of display where one of the displays has a different resolution to the other. 2) The application when openned, opens maximised, across both displays (granted, this is the application, not citrix) 2a) The lower bounds of the *maximised* window is somewhere seemingly randomly halfway up the height of the smaller resolution display. 3) You cannot resize the lower bounds of a non-maximised window below the above point. 3a) You *can* drag the window so that the lower bounds are below this imaginary line, but artifacts start to be left when the window moves, or has others appear over it, etc etc 3b) if you resize the *top* of the window when the lower bounds are below this line, the lower bounds are automatically resized up to this line, leaving aforementioned artifacts. HATE. Pure, unadulterated hate. Also, BES. But not now. Not today. Mike.
From: Mike Beattie Date: 03:10 on 27 Mar 2006 Subject: Good intentions that never get followed through... Right, so I've dutifully been quagmired in http://we.hates-software.com/ for the last few days (Was introduced sometime last year, and forced myself then to ignore it till I had the time to read.. :P).. And I feel empowered enough to share with you lovely bitter folk, a Hate of mine that reared its pustule infected head on Friday. So, I live in a part of the world that has a severely Intellectually Handicapped Broadband service. No points for guessing where. Anyway, I've got this 2mbit/128kbit connection at home, that's basically grown from a 24/7 56k modem link some years ago. Some years ago, the 486 firewall with ISA 10mbit NIC's was un-hateful. Now, on the otherhand, I get about 85-90kbytes/sec through this box. Ok, so perhaps I should replace it with something a little more grunty, that can get me the full potential of that 2mbit. Enter one disused "development" Linksys WRT54G. Update the firmware to the latest OpenWRT (RC4, as of Friday, RC5 was released today... *seethe*). "Development", because I'd hacked it to add an SD card slot.. no matter, the firewall could probably do with a little storage for logs and whatnot. Anyway, I have this slightly tempermental, but definitely better than the alternatives, 3com HomeConnect ADSL Modem. 3com, in their infinite wisdom, decided to change the Ethernet frame types for its implementation of PPPoE. This is a whole other Hate that I just won't go into now. (PPPoE on the LAN side, it's an Access Concentrator.. it basically converts the PPPoA ADSL we have here to PPPoE on my side.. just a bridge, doesn't do any login or anything). Oh... and the modified frame type values? 0x3c12 and 0x3c13. Now, I can't imagine why they chose those.... On with the story, less rambling... Ok, so the linux kernel mode pppoe driver, and the pppd plugin to use kernel mode pppoe, don't support these different frame types. Hackery time. Fetch the OpenWRT dev environment from Subversion. Type 'make'. Wait. Wait some more. and some more... ok, done. (download sources for kernel, gcc, etc, etc, build crosscompile environment). Find locations to change frame types, to see if it'll work. Kernel tree - include/linux/if_ether.h. easy. pppd. Hrm.. ok, plugins.. ahh.. pppd/plugins/rp-pppoe/pppoe.h: /* Ethernet frame types according to RFC 2516 */ #define ETH_PPPOE_DISCOVERY 0x8863 #define ETH_PPPOE_SESSION 0x8864 /* But some brain-dead peers disobey the RFC, so frame types are variables */ extern UINT16_t Eth_PPPOE_Discovery; extern UINT16_t Eth_PPPOE_Session; Oh, brilliant! there must be some config options to do this.. that makes it easy! Hunt around... Ok, those variables are only given values in one place, in if.c: /* Initialize frame types to RFC 2516 values. Some broken peers apparently use different frame types... sigh... */ UINT16_t Eth_PPPOE_Discovery = ETH_PPPOE_DISCOVERY; UINT16_t Eth_PPPOE_Session = ETH_PPPOE_SESSION; HATE. HATE, and some more HATE. Ok, I can see the intention is there to perhaps actually do something useful with those values in variables... but honestly, whinging about some "broken" and "brain-dead" peers not using the right frame type values, then half-heartedly having a go at supporting them? Would have been better to just define the bloody values, and not say anything.. *Argh*. Now, this probably isn't the best hate I could muster.. but supposedly I need to be doing this thing called work.. Thankfully I finished battle with the SCO box last week... there's some Hate there, but it's worn off a little now. Mike.
Generated at 10:26 on 16 Apr 2008 by mariachi