Older blog entries for ajv (starting at number 96)

hackery: Story of CRT suckage! Be amazed!

So here I am, sitting at my PC last night trying to port Luke's ftp client to Win32. It uses a lot of Unixisms, including signals (to emulate overlapped I/O and to do basic threading), pipes (popen), fork, termios/termcap, lots of directory stuff, and arpa/* and inet/* and so on.

So here I am working with MS's C runtime (CRT) which sucks just so bad. select() is essentially broken (64 file descriptors, anyone?), pipes don't exist, signals don't exist (and no way to really trap them), termios/termcap doesn't exist, fork doesn't work the way you'd expect, and unless it's in the Standard C library, there's no arpa/* or inet/*.

Coupled with that, the Visual C++ compiler ignores

#if 0

blah blah blah

#endif

and attempts to pre-process stuff it is supposed to ignore. So I'm basically hacking away code, so there's no chance of keeping this from being anything but a complete fork.

I don't want to use cygwin or gcc for win32 as I'm aiming for a high performance port.

So, I basically look at the guts of Luke's program. It's about 2000 lines of Crufty C code. I'm thinking that a new port, with just the guts of Luke's code will the way forward.

This allows me to use overlapped I/O (which is a fancy way of saying "asynchronous" I/O). NT reads blocks < 8 kb in blocking mode regardless of overlapped or not, and that works out okay anyway as we want to chuff it down a (slower) network socket. So I only am considering overlapped I/O for the network side. This has a greater chance of being able to work on the 9x kernel (which I care about >< this much). On platforms that do not support overlapped I/O (most Unixes), this can be changed back to be blocking network I/O and just put back in the signal handlers to perform cleanups and rate limiting.

It also allows me to rejig the old code that is truly crufty, and if I keep presentation, MI transport and MD transport (ipv4/nt ipv4/unix ipv6/nt ipv6/unix) seperate, the result will be a portable, probably smaller, definitely more robust client.

shootings

How many more kids have to die before the US takes action on small arms in the community?

Two separate school shootings today so far, luckily the one in the US didn't kill the person shot in the head, but the one in Brazil did. But being shot in the head is not fun, and I bet that person will be scarred for life, both emotionally and physically.

This tragedy must stop NOW!

4 Mar 2001 (updated 4 Mar 2001 at 13:08 UTC) »
hackery, at last

My friend Luke, is the author of luk emftp, a portable ftp client based upon the original BSD ftp client, and is now used by default in Suse, NetBSD and a few other platforms. It is easily the best CLI-based ftp client, and I've used a lot of different clients. His client has Emacs or vi bindings, command completion, follows *all* the ftp RFC's, transparent passive/active, accurate time remaining and download speed, command line URL parsing for http and ftp targets, including complex redirects ... (de-akamai anyone), the list goes on and on and on.

The code, although well looked after and modified, is built upon years of cruft. I'm trying to port it to Win32 as I'm sick of having the predecessor of Luke's code, without all the fancy features.

My compiler (Visual C++ 6.0) is at times strict and bloody minded about what it will accept and where it will accept stuff from. What doesn't help is the extremely poorly written C library. It's probably just enough to make most strictly POSIX utilities work, and nothing more.

Expect this effort to fizzle out on Thursday at 6.46 pm as I find something else to do. (note to self: get a longer attention span).

I'm glad someone reads me...

I had a couple of days off computers from my last post, and might have missed any replies to my reply rant to deekayen's post. Since it was fairly offtopic (as was Deekayen's post), I don't mind too much :-)

Anyway, thanks Ankh!

deekayen: Living in the past

Would the framers of the 1787 Constitution be looking back at the luminaries of the 1560's for inspiration for their country?

No. They were framing the constitution around new(ish) ideas that the eminent contemporary people (well, men) of the time liked, a sentiment that essentially can be distilled to : "English out!", a sort of Lutheran nailing 96 points of contention to the church door.

In Australia, we have a c onstitution that is 100 years old. We haven't changed it much, so it is irrelevant in many of its sections because we haven't changed it much. There are sections stating that the Governor General will get 10000 pounds a year. Since 1966, we have used dollars. And this is not the only example.

Our constitution, like yours, is getting crufty, and needs a good cleanout - by the people of our time, not the people of 1787 or the people of the late 1800's.

Living in the past is dangerous, and pointless. As soon as you do, you are history. Think Spain, think Holland, think England. These countries revelled in their past glories and are no longer world superpowers.

Conservative libertarians, such as this "ambassador" are bad for society, which is just the way they like it. In most cases, libertarians do not see the benefit of society and yet enjoy its beneficence.

Which bit of a "well regulated militia" do you not get? I don't count the NRA as a well regulated militia. I don't count the millions of gun owners who do not belong to gun clubs or actual militias as being a well regulated militia. Your right to bear arms is in context. As an individual, I am all for your *individual* so- called "right" to bear arms infringed, with extreme prejudice.

The ability of a militia to seriously check the power of any government (by force) ended when the machine gun and heavy weaponry (such as tanks) came out. Thus gun nuts have been clinging to the silly idea that their inviolable "right" to arms on the basis of keeping the government in check. In recent times, these same sort of anti-guvment idiots blew up a federal building in Oklahoma, killing many innocent people with a simple, but large bomb. What was the government's reaction? It will execute one of them shortly. Did it change anything? No. If anything, it hardened the hearts of the citizenry towards actually liking their guvment and hating the terrorists for their actions. So why keep guns? It's pointless. Self-defence? That's crap: you're more likely to get shot with your own piece by accident or by deliberate house-holder action. To go postal? Well, that's smart.

In Australia, we were aiming at one mass killing every year until 1996. Then we get half-assed gun control, and haven't had one since. The sooner we rid ourselves of the damn things, the safer we'll be.

Moving on to taxation...

If you agree that the society benefits when the government provides certain things, such as hospitals (well, in most civilized countries they do), education, defence, roads, infrastructure, and other services and these things have a certain cost, then the government needs to raise capital to fund these. How it does this is up for grabs, but it is better if everyone pays their share. Ridding yourselves of income tax will move the costs to other areas.

Income tax is a broad tax designed to reap a little from everyone, rather than a lot from a few. The problem with no income taxes is that the few have demonstrably shown that they can avoid nearly all taxes. If then the govt taxes as Keyes would like them to, through duties and tariffs, this is impossible to enforce when trans-national flows of information are far more valuable than goods. So the "gov'ment" would be forced to rely solely on the little people again through shocking sales and other taxes.

If on the other hand, you don't agree that you like roads, a country essentially free of bandits and any semblance of real threat to your national sovereignty, clean running water, schools, or accessable health care (most civilized countries have this), well ... don't use them. You'd be either dead or a cast member of "Lord of the flies" in two weeks.

If you don't like what I am saying, both Australia and the US use a form of democracy called "representative democracy". You elect (you did vote, didn't you?) the people that represent you (well, and any special interests that helped them get elected). Theoretically, they must listen to their constituents. Go see them. Make appointments. You'll need to have an agenda to get past screening, but it'll be worth it. Try to stick to a single point or issue; politicians aren't exactly Einstein, and this helps them. Join a political party (even the Libertarian party if you must), get active. However, if you didn't vote or if you don't want to spend your time getting active, then you don't count.

21 Feb 2001 (updated 21 Feb 2001 at 01:51 UTC) »
washing cats: like herding just more painful

dirtyrat, mixing Meebles and water forms an emulsion, albeit one that fights back with very sharp claws and teeth, and he doesn't take prisoners.

But from time to time, Meebles sleeps under Ang's (old) car, and gets oil on his fur. The choices are:

  • try to wash him
  • wait for him to lick the oil off then get sick
  • take to the vet, and let the vet wash him

Guess which option I use? :-)

sad, I'd forgotten about the loud purring. Kittens have precisely one purr volume setting: 11. Luckily, they seem to get a bit more control as they get older.

hackery

I'm getting another Alpha this Friday night: looking forward to that, so I can start porting XFree86 4.0.x to it. It comes with a 21" monitor. I hope it has enough RAM.

nooks: NDAs

NDAs aren't necessarily bad, they're just evil. However, it does get you nice toys and I get to fix things before you folks get to moan about it.

sad: kittens

sad, your kitten will entertain you for months with the following behaviour:

  • Attacking the back of your hands and ankles (this one's a pain, suggest water pistol)
  • Kitty litter is optional to kittens for the first few weeks (a pain; suggest being home with kitty until they are reliable)
  • Early morning (4am - 6 am) wake up pounces (this one's a pain, suggest a door)
  • Outside/Inside/Different (this one's a pain, suggest ignoring them when they're outside)
  • Chase the phantom butterfly (this one's cute until the first thing is broken)
  • Paw on the nose whilst you sleep (this one's cute)
  • Chew through dangerous things (the clothes iron, suggest water pistol)
  • Look at you with the most innocent expression, climb half way up your leg (or #include other much loved item, such as the leather couch) and use you as a claw sharpner (suggest water pistol)

Of course, if you're like me (a complete cat slave), the above is cute and lovely behaviour and part of the rich tapestry of being your cat's food slave.

If you go the water pistol route, make sure your cat does not see you do it, otherwise they wise up and do it when you're not in the room.

If your kitten is really young, now is the time to hold and cuddle it (lots), let it sleep with you, get it used to being on your lap for fur stroking sessions, about once a week wash it in the bath, brush its fur with a good brush, and get it to meet a lot of people. If they get lots of human attention early on, it'll be really nice to people for the rest of its life. If you don't, you'll get psycho.cat who will attack ankles and hide when visitors come. And you'll lose all the skin on your arms when you *need* to give it a wash to rid of it whatever nasty substance is in its fur. I don't even try to mix Meebles and water - I'm not that stupid.

bleep is nice, NDA's are bad

bleep is nice. Happy Shiny People obviously were distilled to make bleep. It goes to prove that if you leave bleep alone long enough, they get it right.

The bleep are almost bleep in nature, without much thought of what happens to people on smaller screens like me (my laptop is 800x600).

bleep is very damn trendy and useful: it makes text so readable on my LCD screen it's not funny. It's as the words are just sorta etched on the screen at 200 dpi. I can read Slashdot at the smallest size and read comfortably (not possible before).

There's some issues going down in terms of security; the bleep version will be dumbed down a great deal to cope with Mum'n'Dad'n'two-point-five-kids'n'dog'n'cat not knowing anything about security.

I hate NDA's.

Posted using bleep Mozilla 4.0 (compatible; bleep 6.0b; bleep 5.1) browser.

rule of law

On CNN, I just saw an Israeli personage defending his country's helicopter gunship murder of a high ranking Palenstinian figure.

Israel for some time has basically been a terrorist rogue nation, every bit as bad as the people they are supposedly combating. It really pisses me off when basic human rights and the rule of law are swept away as they give rough "justice" to those they do not like. They mouth crapulence like they will not negotiate whilst the violence continues. And then they go and commit a few well placed atrocities which begets more violence.

I'm not anti-semitic*; I'm anti-violence. I'm anti- stupidity. I'm against terrorism. I'm for human rights. I'm for the rule of law.

I'm going to be trying to wean my clients away from Israeli gear, such as Checkpoint's Firewall-1. It's a real shame that economic sanctions are the only real way to bring a government around to the correct policies (as in South Africa). It'll take a long time. I doubt I'm ever going to see peace in that area.

hackery

not much happening.

* my wonderful second cousin, Sarah, is Jewish. Unlike most of my second cousins who I don't know and have never met, Sarah and her family are in regular contact with ours. I lived in Balaclava in Victoria, Australia and love the jewish lifestyle that area offers, such as freshly baked bagels and cookies after Shabbat. I would move back there in a trice.

12 Feb 2001 (updated 12 Feb 2001 at 12:20 UTC) »
cilux: reading diaries, licensing

Yes, people read the diaries here. I don't know about anyone else, but I prefer to do stuff than worry about licensing advocacy. Considering the content of today's (where today is an arbitary point in time), I'd say that most of the Advogato writers also don't give a rat's arse about licensing issues.

They just do.

ATL wizardry

My foray into developing a new thumbnail generator hit a bit of a chord. I'm downloading the new Platform SDK to get the headers and stuff I need to develop my next piece of abandonware.

ATL seems to me like incanting to weird $DEITIES, and I'm not terribly sure if the recent lunar maxima meant that I should have sacrificed my house mate to the dark forces.

Maybe I still should. ;-)

life

Made Telsa happy. I found her the images she was looking for, and posted them to her. Monday wasn't wasted.

11 Feb 2001 (updated 11 Feb 2001 at 13:46 UTC) »
hackery

Can't get near my machine at the moment; Dan is going through major geekiness phase, and it's sort of aggravating. I need to free up my Dell for me.

Programmers == HCI morons

Tried to do what I thought was a very simple thing: find a program to thumbnail a set of images in a folder which has sub-folders. All the programs I've looked at suck, and have truly, monumentally fucked up interfaces. If there's any doubt that programmers as a rule should never be let anywhere near a program's HCI bits, it's HTML thumbnail generators. The dudes who wrote thortor, thumb, and VikarPlus Photo Gallery should be ashamed. Not only did they not work, they couldn't seemingly do the simple things, like add a folder and its contents. Vikar PG had the temerity to generate a set of files for the thumbnails that was significantly larger than the original images, which sort of defeats the purpose of thumbnails, no?

So I'm going to write my own. Expect this to be abandoned at 5.36 pm on Tuesday.

Highlander III: the apology

This is one sad movie. No wonder it's on at 11 pm on a Sunday night. Awful. And I though #2 was bad...

cancer of the neck, update

According to the doc, it's a sebacious cyst, one that is in a bunch of nerves that'll need very careful surgery to remove the next time it really gets inflamed.

However, since the antibiotics really didn't make much of a dent on the sucker, I'm going to keep a very close eye on this one.

hackery

My laptop's hard drive has just about expired. I've lost my PST to the god of missing sectors.

I received patches from Jeff Dike for the Win32 version of User Mode Linux, but until I can get my hd problem sorted, I can't really work on it.

I'm working on trying to get a bunch of security fixes out for XFree86. If David or Matthieu are reading this, my mind is back on the job.

I still need to find the advisory I wrote up for it, but I have this sinking feeling it's in the PST that was.

87 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!