Domain: gbdirect.co.uk
Stories and comments across the archive that link to gbdirect.co.uk.
Comments · 13
-
Re:I'm a dinosaur. Sue me.
This reminds me of another great book (from which I learned most of my C): "The C Book" by Mike Banahan. It is out of print now, but it has been made freely available at http://publications.gbdirect.co.uk/c_book
I liked it a lot.
-
Re:Yay an installer for the installers!
Funny? No, it's silly to use the kernel as an example. You can bet that if zlib has a security issue, the kernel guys will incorporate the fix pretty much immediately, and your distro (unless you're running something really obscure) will issue a security fix.
The kernel isn't hosted like a regular program. It doesn't have access to the standard C library, much less zlib.so, so it has to use its own version of the library.
This is a design decision going back to Linus' decision to go with a monolithic kernel architecture (the argument with Dr. Tannenbaum is well known, search for it if you're curious). If you don't like it, switch to something like Hurd where most of the kernel runs in userspace.
-
Re:Haskell is in a similar position
Now try doing the same thing in C. First, C has no bit type, so you'd need to get the byte corresponding to the flags field and then mask it to get the SYN flag.
Technically, C has bit fields although in practice they are best avoided due to the alignment and ordering being implementation defined.
-
Re:Proof that open formats are a good idea?
At face value, the list of defect reports might be assumed by a naive reader to suggest that the C standard is full of holes and would metaphorically never float. In fact on rereading it, I think that in the main it supports my point
:)
Any standard that's intended for human readership will suffer precisely because it's written for humans. Attempts to use formal specifications (perhaps denotational semantics or something like 'Z') haven't really caught the public imagination though it would have been interesting to try. I'm sure I remember that being discussed tangentially during one of the boozy degenerations of an ANSI meeting after a long day of wordsmithing circa 1985.
Maybe it was a typo that italicised the 'If' in 'If you have been involved' .. my track record in involvement in the ANSI standard for C is well known for those who care to look. For those who don't, ISBN 978-0201544336 and http://publications.gbdirect.co.uk/c_book/ may assist.
Sadly I'm also caught up in the mire of OOXML fast-track reviewing as a member of the British Standards Institute's panel. There are some very serious questions to be raised about just what can be done with a document that's so big. It probably took hundreds of staff-years of work in total to produce something as short as the C standard. Where does the effort come from to review and QA something so very much bigger? -
Re:heh, my experience is the oppositeFrankly, I'd love for some more competent clients.
When the user demanding access to the box I support because he's the "IT" person and he's had a unix class so he knows what he's doing and knows nothing about our applications and when supporting him on a different box that isn't ours to support (just to be nice) and he's told to press control-c asks if that is "capital control-c?", he's not getting access.
Now submitter anomaly isn't that confused, but the point for needing external support is that he can't support it himself. Maybe there's reasons the product has to work the way it does. If not, like everyone says, get a different vendor.
Or
... get an open source application and change it to do what you want, that's the beauty of open source! -
Re:All-time most-useful open-source programThe standard return type for "main" is an int.
e.g.:
int main(int argc, char *argv[])
Borrowed from The online version of The C Book, second edition (Yeah, its a historical book but never mind) (You can tell how often I use exit and the return values from main... (Embedded systems, eh?))Also, a quick look at part of the DJGPP FAQ should help.
Finally, the exit stuff from the same source, suggests EXIT_SUCCESS and EXIT_FAILURE for portability (Non POSIX systems, for example) and that some systems will truncate the return value to 8 bits (0 to 255) for example.
exit and return should really do the same thing when they're in main (Assuming they're not within a locally declared function!) but compilers have bugs just like other software.
The reason UNIX software returns a pass or a fail is more to fit in with other systems, I think. You could sit and define errors all day and some systems would still define all errors as 1 and all non-errors as 0. Besides, where do you stop with the errors? And then you have to convince the people writing the software to adopt them. Sometimes its hard enough to get them to give a pass or a fail...
Anyway, I suppose this is a little offtopic.
-
X terminals work for small companies too
We converted to using a single Linux server a year or so back, with X terminals (very cheap PCs running nothing but X). It saves massive amounts of time, since nobody is willing to dick with the server for fear of messing it up for everyone else. We used to have to spend a lot of time fiddling with individual PCs, which of course could each be configured differently.
The MD wrote a tutorial about how we set these X terminals up.
-
info sources
K12linux.org is a great site for info and their Red Hat Distro. I have meet Eric and Paul a few times, really great people. They have developed quite a following because they are making implimenting a thin client setup really easy.
K12ltsp is based on www.ltsp.org which is in version 3.0 right now. I use this software to set up computer labs in non-profits in and around Portland. We are a NP ourselves) It is gaining maturity, system administration is barely more work than working on a box running programs locally. You need to have DHCP running on the server, TFTP setup, and allow it to serve applications to remote X-Clients, and that is about it.
Here are some links for further reading on what others have done.
umn
olinux
solucorp
askslashdot
gbdirect
tucows
XDM -
We run the business on them!
We love old 486/Pentium boxes here! Our firewall runs on freesco and thanks to the LTSP project, we have equipped everyone's desktop with a low-cost X terminal. There is a write-up of what we have done for anyone who cares. The beauty is that we have incredibly low cost-of-ownership, don't care if anyone breaks in and steals the stuff and it is totally silent in operation. The biggest complaint in the office now is the noise of the damn clock ticking. It has been a wonderful experience, they don't break down, you can boot one up from anybody's desk and get your own desktop
... send me as many as you have got!! -
Re:What deserved heat?A few articles that speak against WAP:
- Jakob Nielsen's Alertbox -- WAP Backlash
- The Harm of the Wireless Application Protocol (patents inhibiting WAP and some good anti-WAP links)
- The WAP Trap
- WAP - The Patent Problem
- W* Effect Considered Harmful
- Attacks Against The WAP WTLS Protocol
- Underwhelmed by WAP - Impressions from the coalface
- WAP Lash
- The WAP Trap
- It really stands for 'What a Pain'
The issues raised include:- WAP isn't patent free
- Not an open standard ($27000 entrance fee)
- WAP reinvents a large part of open internet standards, resulting in immature protocols with the associated security problems
- WAP aims for the lowest common denominator rather than allowing for growth in mobile web browsing
-- - Jakob Nielsen's Alertbox -- WAP Backlash
-
QtGPS
QtGPS is a simple moving-map display.
-
Websites the smarter wayWe are one of a few who are probably managing to make money from websites on a shoestring budget, but even
so it takes real investment.
About three years ago I decided that I wanted to build a directory of training services in the UK. There
were several reasons for this: I wanted to sell my own training and was finding it hard to break into the
market, I wanted a demonstrator project of (at the time) leading edge technology and also, hell, I just
wanted to to do it. So I and my colleagues built TrainingPages. Unlike other content-oriented sites we don't
maintain the content - the training companies do, by signing-up and editing their own stuff. The idea
for that was honed by looking at few of the lonely-hearts sites. That makes maintenance a
half-an-hour-a-month job for us.
To win in the market we had to be comprehensive and we didn't dare charge - so the site has always been
free to sign up. As a result it has consistently accumulated content and is now probably the UK's leading
directory of its kind.
By being free it has frozen out some high-funded competition, including a vast attempt by British Telecom
(the equivalent of AT&T) to come into the market and eat us alive. However, they just couldn't compete
with free so they gave up after six months. For us, since the training companies do the maintenance, the
only cost is our bandwidth and we can justify that on the spinoff we get on our consulting - when we go to
see a customer on a sales pitch and they say "what have you done" we just have to point to TrainingPages
and they go "oh, yeah, right, OK".
We introduced the idea of a service fee, paying for sort-to-the-top of searches, the ability to add your
company's logo to the listings and a couple of other things. For a year, nobody wanted to know. Now we get
almost daily calls from people wanting to sign up for that service - we NEVER call or try to sell it. The
site has moved into month-on-month profit and in about another year will have recouped its development
cost and really be in profit. My guess is that fully costed, we were initially out of pocket by about USD
$150K, but of course since it was done on the cheap and when we didn't have fee-paying work, the real
opportunity cost was probably nearer USD $30K.
We are now doing pretty much the same model with the Geographic Search Engine Somewherenear. Again, it's worth the effort just for the publicity and
consultancy that it brings in, but this time around we got lucky and hit the WAP wave - it took a day to
WAP it up (see the writeup at
our website). By being one of the first on
the block with WAP content that is actually useful, we have got loads of press and followup that we would
never have got any other way. The pinnacle was getting an interview on BBC Breakfast TV (it's still
running on the World Service) and consequently lots of interest in our development services and also
serious enquiries about licensing the search engine and mapping code.
Overall, I'd say that there some important lessons. Figure out how the site can be a benefit even if it
never makes money. Then do it right anyhow. Pick the meanest, cut-to-the-bone cost profile that you
possibly can. Starve the other bastards out by doing everything that they think they can get a penny for
by doing your bit for nothing. Exploit the fact that you are free and starving to get as much
publicity as possible; journalists are more sympathetic if you don't have megabuck dotcom backing but
sound as if you have thought it through instead, they like quirky. Sit back, wait, and if the public DO
decide your site is worthwhile, layer in a few value-adds that your serious users will pay for - if your
cost model really is cut-to-the-bone then you will start to turn a profit anyhow. Eventually if you are
smart you will figure a way to make proper money from it, but don't get greedy and those billion dollar
valuations were always way off. On the web, there are few barriers to entry. It's always easy to undercut
someone with high costs, so start there don't get forced there. Do good stuff and the world WILL follow.
Aim to get rich slow, if at all, and don't be disappointed if retirement in luxury doesn't follow within
months. The respect of your peers is worth a ton of money in the bank unless you are deranged. Hell, how
much beer CAN a man drink? -
"Wap-Enabling a Website with PHP3"These guys have Wapped their geographic search engine, so that you can ask your phone to lookup the nearest pub or curry joint
:-)Besides, check out the rest of their website. All around cool guys...