If you haven't already done so, burn the machines you performed the exploits from, change your name, move to another state, stop looking at slashdot, and tell no one anything. The United States is absolutely insane about computer intrusion.
If you are caught, you will be charged with computer intrusion which carries a maximum sentence of 15 years per count. Plus you will have to pay for all of the security consultants the insulted company brought in to examine everything. They can count virtually anything as damages. If the media gets ahold of it and it say, lowers their stock price, they will claim this as damage!! This is scary stuff. How many of you tried the IIS5 exploit on a random site? That little 'dir' you did before logging out could easily cost you 15 years of freedom and $50,000 in damages.
I have a friend sitting in jail right now (he got a 1 year sentence off of a plea bargain) for doing something like this. If the FBI hasn't knocked down your door yet, be thankful and don't say another damned thing on the subject.
Your intentions may be completely pro bono, but when dollars are concerned, that just doesn't matter.
We don't do pair programming (I'd like to try it some day), but I do find that development is carried out much in the style of XP, especially on web sites.
The customer identifies what they want. The programmer(s) then examines their demands and tells the customer how long each feature will take. You don't say "impossible", you say "we can do it, but that part will take 50x as long as everything else". Since they're paying, they decide what order they want to do things in, and what they can live without. ("oh, I had no idea this feature is so difficult. Nevermind."). Think 3 month plan.
You deliver what they asked for. The customer reviews the deliverable and reports any bugs or whatever they don't like. This is determined by managers to either be new work or a mistake. Then, the next phase begins anew. Customer submits a list of features, you estimate time to complete. This time around, the features they're interested in may go in a totally different direction after they see what you've rendered.
The biggest problem is that the codebase you're developing tends to gravitate towards many different goals, and thus design decisions you made early on may be irrelevant now. After every 4 or 5 development phases, the customer has to realize that you have to take 3 months and consolidate all of the code you've already written. Otherwise you proceed towards chaos.
This seems to be how our sites go. They happen this way because the customer usually wants a site up immediately and can't wait 2-3 years for their grand vision to take place. It seems to work. They're making money, the code isn't terribly unmaintanable. We just kind of gravitated towards this naturally. I've only started hearing about XP very recently.
You still reserve the right to tell customers a flat out no. You're not aimlessly following their demands. They should trust you (since they're paying you) and in this, they are usually understanding of what you say is a good and a bad idea. The managers are there to translate your statement from "Moron. That's a terrible idea. It'll never work" into something non-offensive.
Australia is an english speaking democracy-land full of crazy capitalists. I'm sure the two markets are somewhat comparable.
IT Unions sound like a terrible idea..
on
IT Unions?
·
· Score: 2
This industry changes very quickly. Unionized information labor doesn't strike me as something that promotes keeping up with technology. It seems more like job security in case you find your skills are outdated.
I'm all for Unions. Corporations rip off every single one of their employees, except in the case of effective Unions, where the employees are the ones doing the ripping off. What's not to love? I'd just hate to see it at my employer, because I don't feel ripped off enough to want to reverse.
No one was talking about IT unions 5 years ago when VCs were pissing money away on ludicrous business ideas. People will obviously resent losing their jobs over this, but hey, did you really think you had a future in tieclip.com?
Seriously, anyone who deserves to work in IT should have no problem finding that their skills will always be in demand. When I hear people demanding Unions, I question the motivation. Maybe my outlook will change some day, but right now, I'm happy with my rugged individualism.
Starting an ISP in the USA nowadays is most likely a mistake. Here's why:
The dialup market is almost effectively gone. Most ISPs now use their dialups to either add value to their existing services or because they service a tiny area with extremely dedicated customers. We service the NYC area and get only 1 or 2 dialup customers a month now (and lose 5 or 6), when they used to come in at about 10/day and we couldn't even meet the demand.
Dialups are practically sold as a commodity by big corporations who just want to sweep it up. You'll not only be competing with AOL, but AT&T, MSN, IBM, Earthlink, but also a bunch of ISPs that will give it away for free (like Altavista, of all people).
If you want to compete using other technologies, such as DSL, you'll have to deal with the phone company. Your main business will be selling the same technology that the phone company sells, but at a higher rate [because the telco prices it that way, since you're a competitor]. And when the telco downs your service for whatever reason, customers call you, not them. Your core business will center around escalating trouble tickets on behalf of your clients for DSL. There's a real reason as to why Northpoint, Red, and Covad have folded or are in deep shit. If you want to make money at this, you'd better have a lot that you plan to put down up front and won't mind throwing away based on the telco's whim. You will also compete directly with cable, which will almost always be less error-prone
The market is getting -more- saturated, not less. This is contrary to how most people thought it would end up (3 or 4 big ISPs dominating the continental US)
You will also deal with commodity web hosting providers who will host sites for practically nothing. You cannot effectively compete with them unless you either offer fantastic tech support or plan to provide custom development.
My advice for people starting new ISPs is that you shouldn't. It's a terribly bad idea. We're a small, established, conservatively run ISP (in terms of how we spend) and it's very hard to survive. We will survive, and we're finally out of the red, but it took us 5 years to get here, and the market back when we started is nowhere near as hostile as it is now.
If you're still interested: Forget dialups unless you really expect to target a strong niche market that AOL and the rest miss. I'd concentrate more on custom development for web sites (where you also host their sites), or finding some possibly untapped technology (like satellite internet, which could work very well in some areas).
If you live in a particularly metropolitan area, you could also concentrate on dropping T1's to huge office buildings and running ethernet to each client from there. That is a much better deal than the cable/DSL that they're probably stuck with. There's more sales involved than anything, though, with this approach. (Word of mouth doesn't seem to work as well for this since corporations don't generally get along as great friends within office buildings, least in my experience)
I'm not so sure what makes you feel so superior, doesn't everyone do this?
Sadly, no. I've seen countless lines of code where RDBMS calls are sprinkled liberally throughout all levels. Perhaps I just think I'm superior since I'm the only one I know personally who does it. You see it in plenty of open source projects, but those never reflect the quality of code written in commercial environments.
I'm not sure what to make of the example you cited. That sounds great, but it's something I say that I can probably develop with my neanderthal RDBMS if I needed to...:)
My impression of OODBMS is that you're just integrating the storage of the data with the semantics of the language you happen to be using. Obviously, this will have benefits, but it will certainly have it's own issues. For one, I bet it's a royal asspain to access this data through environments that aren't based on the primary language. RDBMS can be queried with vanilla SQL. OODBMS (probably) cannot. A good deal of my projects involve the suits being able to probe the dataset through their own comfortable tools (Access, *shudder*). It would waste my time needlessly to have to instead have to write the reports they think they'll need.
I've also hated what most people's ideas of OO systems turn out to be, perhaps with the exception of Python. If Python did it well (which I'm going to look into), I think I could be a believer. But when the author mentions heaping tablespoons of Java, I quickly lose my appetite.
Still, my policy towards unfamilar technology is that it's bullshit until proven otherwise. I believe that I am a fairly competent person, and if I'm only hearing about it now, then I tend to disbelieve that my world has been wrong all this time. That's certainly not a bad one considering all of the buzzwords being thrown around lately. The paper didn't change that for me, but the comments here (including yours) have prompted me at least give it a chance.
As good as any UNIX is in theory, they're 100% worthless to me if I don't have the source.
Solaris, for example, has no arguably incapacitating technical issues (well, let's not go there), but it's closed-sourceness totally makes it unusable for me. It doesn't even have to do with me needing to see the source. The closed-source "culture" of the system leads it to be something that I can't use. *shrug*
MacOS X is the same thing. I'm not going to cry for joy just because they gleaned code from a whole bunch of open source projects.
And what exactly did they contribute? The only thing that I'm aware of is a PowerPC port. Maybe they even released other code that was fairly invaluable to them. Hooray! 99% of the source for MacOS X is still tightly closed. Apple obviously doesn't care, but that's the whole plan. I'm not their target market. It's as if die-hard open source people see MacOS X as a version of MacOS made to appeal to them. That couldn't be further from the truth.
I'm very glad that Apple doing this is a great open source validator, but it won't change my life at all, which is what my whole rant was about.
Most of my applications are insulated from the actual RDBMS. I usually define all of the data-primitives I'd have in a given project, and only make RDBMS calls from this layer. The application itself only makes calls against this layer instead of being burdened with directly operating on the RDBMS.
Besides being better for portability, it also means that the application isn't tied to the actual RDBMS. It can easily be made to speak to something that may naturally expresses it's dataset, if necessary. This is no small feat. It means that IT DOESN'T MATTER WHAT THE UNDERLYING DATABASE IS. It could be a freaking plaintext file or it could be something ludicrously complicated.
I'm totally not amused by the Objectify-Everything mindset. This is a very difficult perspective to have, FWIW. All academics teach OOP as the "one, true, way." and in practice, people believe them. In practice, they also find that it's not the silver bullet that it's trumped up to be. Regardless, saying that you think it's bullshit leads most people to the conclusion that you're an unwashed uneducated fool.
Oh well. I never accused programmers of being open-minded.
Despite borrowing heavily from FreeBSD, MacOS still manages to suck. When sitting in front of one, I don't go "Wow! The UNIXness of the system really makes it shine!", I say "God, this wouldn't suck so bad if they hadn't fucked this part up."
The only thing Apple using open source code does is validate the viability of it for some people, but you run the risk of devaluing it when the uninitiated see how much OS X sucks. Perhaps it can be spun into a negative since Apple still has a closed source mentality.
The BSD licenses are set up so that Apple doesn't have to contribute a damned thing back to the user community. Why are you suprised? Perhaps they even dropped mklinux because of this? Who knows? Who really cares?
Why didn't anyone cry foul when BSDi took BSD and closed sourcified it? BSD/OS happily included each and every security update that was applied to Free/Open/Net-BSD, yet kept all of their own changes to themselves. The licenses endorse this. Apple's not the first one to do it.
Sure, legally, they're safe, but they're still assholes. Not that it matters, I don't see myself depending on MacOS X ever. Thankfully.
So, let's say you provide internet access to a customer at $20/mo. This includes dialup, e-mail, personal home page.
Let's say that most of your clients call tech support once a year and their problems are resolved within 15 minutes of technician time. If your average technician makes $8/hour, that cost $2. You don't mind eating that cost.
Let's say you have clients who call twice a week and haggle for a half hour. That's $32/mo. Wouldn't YOU drop this customer?
Most companies have no interest in providing quality tech support. The companies that do find it essential because while that loses them money, it at least reflects positively on their organization and can hopefully bring on larger business. But even they can draw the line.
We provide decent quality tech support because it makes us the friendly neighborhood ISP that you can count on for everything please consider speaking highly of us.
These impressions don't matter at all to companies that saturate the market with advertisements and try to scoop up commodity dialup customers at an already discounted rate.
We must be the only tech company today that has a human being answer the phone within the second ring when you call tech support. We'd like to believe that our customers will see this as a gesture of good faith and speak well of us. Most companies find it pays better to just ignore their existing customers and keep advertising instead.
I'm under a similar arrangement somehow. I have a set schedule, but am not compensated for when I'm called at say, 4AM because someone's stupid web site is down.
The informal arrangement is that they can call me whenever they want, 24/7 365 days/year. I will allow myself to be reachable on weekends, holidays, vacations, etc with no compensation.
In return, they understand that the time they are paying for, I may not be here! If I'm slated as an 11-7 employee and I come in at 12:30 and leave at 5pm, they can never complain.
Of course, I don't do that every day since I'd be avoiding real work that I have, but it does mean that my schedule is extremely flexible.
It'd be difficult to write this up into a formal contract, though. I just rely on them being cool. They used to complain, but once they saw what their options were, they were cool with it.
Try to make one of these deals with your employer:
You will work every day 9am to 5pm, not a minute more, not a minute less. If something comes up at 5:07pm, it's someone else's problem. They can never call you before 9am or after 5pm on weekdays, and never on weekends.
You will be on call 24/7 365 with some days exceptions if given prior notice. They will compensate you for a 9-5 day but you only have to show up based on what needs to be done that day. That might mean you put in 3 hours that day, or that you put in a full 8.
The later works better if you're a programmer since you tend to work on a deadline basis rather than a shift basis. Since you probably think about coding while laying in bed at night on the brink of sleep (maybe even pull a "Eureka!" or two), they should understand that you might be thinking of surfing while you're sitting at your desk.
Would you trust a surgeon to operate on you if he didn't take medicine seriously and only thought of it as his day job? Would you really go under his knife if in talking to him he said "Well, I cut people open because it pays well. I happen to hate humanity and I just find people disgusting". I sure as hell wouldn't.
It's really the same thing with technology. If the people working with it don't love it, they're going to suck. I produce much better code when I'm working in an environment I enjoy, both in terms of workplace, as well as the actual development environment.
See ESR's The Art Of UNIX Programming. People do wonderful things with UNIX in part because it's so much fun to use. Just as doctors who enjoy working with prostates are probably good at operating on them.
How is it if kids play Doom and shoot up a school, they're victims of the horrible video game industry.
And how is it that if kids read the Bible and bring violence against other people because of some message that says to do so, they're just crazy?
Get your priorities straight. The Bible has been the center of more violence than anything else in our civilization. Put an NC-17 rating on the Bible before you could even think of doing it for video games.
That Doug Miller interview sure did have lots of "Why we're better than you open source hippies" spin to it.
But you wouldn't be the first person to say slashdot was biased, and you'd be right. But so what?:)
Re:Wow! UDDI! It all comes down to OOP and it suck
on
Why UDDI Will Work
·
· Score: 2
Oy! That was a mistake. Does it help if I retract "Object Oriented Programming" and instead change it to "Object Oriented Paradigm"? Basic OOP concepts are fine and dandy. My gripe is with the drive to componentalize everything. OOP is just the face it's wearing.
Get a clue. The Win32 API is not OO. The term "spaghetti" comes to mind.
That was a case where components work. Where it's worth dealing with a huge component because it'll do difficult things for you, like talk to hardware and speak network protocols.
They don't work on a small level, which is what crap like.Net/SOAP/UDDI will be used for and promote.
Please. What self-respecting computer scientist can't see through media hype?
When you cut through the hype, what's left? It looks like bullshit to me. Exactly more of what we don't need. It's clearly my fault that it came out as a direct attack against object oriented programmer happy people.
Yeah I know I'm feeding the trolls. I just couldn't help myself, so this troll scores a "decent" 8/10 on my personal troll-o-meter.
I'm not sure if this is your sig or not, but attempting to shame someone (calling me computer illiterate) is much more trollish than me saying "The OOP is for shitidiots. Here's why."
Do you believe in Object Oriented Programming?
on
Ask Guido van Rossum
·
· Score: 2
Almost every modern high-level application language today supports, and perhaps forces the Object Oriented Paradigm (OOP). Students are encouraged to define and use objects whenever possible. Python's standard library seems nothing but objects. Java is the same. Newer technologies, like SOAP/Microsoft.Net/blahh are the apex of this concept.
When I refer to the OOP, I mean the drive to decompose all programming into components, not necessarily the individual concept of having classes with methods and constructors and context-sensitive results, etc
Application developers accept the OOP as the only way and consider those who refuse it to be uncivilized coder barbarians. Clearly, one can only bring sanity to programming via the OOP. But what is it really bringing?
Most of the ideas that the OOP promotes are good programming practice anyway. That is absolutely not what I hate about the OOP.
In the very ideal cases, you can create a reusable object/module that other people can enjoy. This is very rare, though. UNIX is a good example of an easy to use interface that allows for massive code reuse. The Win32 API, while affording code reuse, has a miserable interface that makes Windows programming a chore.
Without going into a huge tirade; Modularity on that level is good. It's worth it to struggle with the interface, because the alternative is 100 man-years worth of functionality that you need to implement. On a much reduced level, trying to deal with the OOP just doesn't seem worth it.
The problem with the OOP is that it encourages all code to be tiny little modules with it's own unique domain, which helps complicate the code both visually and in terms of execution.
For every beautifully designed reusable component, you have a thousand more that are confined to a single project and do nothing but add complexity and visual noise to an otherwise simple idea.
The Objects Everywhere philosophy seems to promote complexity, rather than simplicity. The less code, the easier it is to understand, the better off it'll be. Python does achieve many of these goals, but I can't understand why the push to OO'ize it all.
Bad programmers can write bad code no matter what, and there's a vast army of bad programmers out there, but I'm not sure I've ever seen good code that employs the Objects Everywhere ideal.
Does this make sense? What are your thoughts?
Wow! UDDI! It all comes down to OOP and it sucks.
on
Why UDDI Will Work
·
· Score: 2
Yes! I've been dying for another buzzword technology! XML was starting to lose it's effect!
Really. What are people thinking? All of this crap is based on an object oriented programming (OOP) ideal, at their core.
If you operate on the principle that OOP sucks (ie, is for shitheads), then every structure built on top of it is also going to suck by definition, not including it's own inherent suck properties.
It's truly mind boggling. I'm amazed at the industry support behind OOP, and further amazed at the support it has in Academia. What (self respecting) computer scientists take OOP seriously? I'm really curious here.
On one hand, modularization is good. Take UNIX, for example. Implementing common reusable routines that communicate hardware or complex networking protocols is helpful! But at the same time, it could hurt if it's interfaces are poorly developed (see Win32 API for an example). UNIX's modularity allows me to not have to write complicated device drivers and networking protocols just to say "Hello, world!" over network. On the other hand, the terrible interface to something like libjpeg, or PHP sessions, makes me want to pull my hair out and just implement it myself. Sure, OOP sounds good in concept, but most people are too fucktarded to make it work. Therefore, it saves us nothing at best and hurts us at the worst.
Friends don't let friends abstract everything away behind objects/methods.
Of course, UDDI will only be considered a failure if it doesn't make it's supporters a ton of money. Not if it makes for better software (quality? oh, yeah. sure).
Those of you with a subscription to WiReD or Time or something. Go and get a few issues from last year and put them in a stack. Now take the same issues for this year and make a seperate stack.
Notice something? This year's stack is significantly smaller. Why, you ask?
Everyone is making less money from ad revenue this year. The first thing companies cut when they foresee financial problem (since everyone does say The Economy Is Slowing!) is cut their advertising budgets.
Sure, this sucks for dot-coms that make their money from ads, but it also sucks for everyone that makes money from ads. The same arguments you could use for Yahoo's business model collapsing could be used for Time magazine. See, the difference here is that Yahoo is now painfully aware of how dependent they are on advertising. They have the ability to use multiple models, whereas Time does not have that luxury.
The dot coms are better. Stop crying and start buying them while they're so low.:)
Blackmail. Work at any corporation and you will immediately find out that they do something terribly illegal. In fact, if you're in IT, you're definitely going to find out. You manage their information. You see everything. You know all. When the time comes you can truly make them pay.
Of course, plenty of companies are 100% law biding, but chances are if they'd ever want to sue you when they first considered you a friend, they'd have just the right kind of greedy mentality to do plenty of illegal stuff.
That's a bad idea. If the post office scans your packages and can't determine what's in them, they will crack them open. At best, you'll get a card back that says "You cannot send certain ILLEGAL items through the mail" (happened to a friend). At worst you could be arrested.
A couple of college students performed a study of what can be sent through the US postal service. Slashdot even linked it awhile back.
The day that the supply of porn exceeds the demand is the day that we as humanity have met our goals.
The days of viewing unlimited streamed porn of all categories any time any where for zero cost are not yet upon us. Until then, we must push forward!
"Unlimited" is defined as if you picked fecal fetish you wouldn't have enough time in your life to watch it all on fast-forward.
Perhaps people should start a community sex network. Membership costs either $25/m to view people having sex (in realtime) or it's free if you set up a streaming video server to record yourself having sex at least once a month.
Impossible to use the internet for sexual ends you say? Try http://www.m4m4sex.com/. If you happen to be a gay male looking for some action, you couldn't pick something more efficient.
The site works well in heavily gay cities, such as San Francisco and Miami, but it works just as well in areas where being gay is practically a crime.
Perhaps Jon Katz should write an article about this site specifically. The members in Milan have continually expressed how helpful this site is for their lifestyle when they live in a country that is dominated by the Roman Catholic Church. I can't wait until they open up Rome.
Of course, I'm biased because I developed most of the site for them but it seems relevant here.
It's nice to see the world from Microsoft's point of view for a change. This interview helped clarify a lot of how I already felt about them.:)
That said, Microsoft seems to be attacking Linux on the grounds that while Microsoft products cost and arm and a leg up front, it will lower your Total Cost of Ownership (TCO) in the future compared to Linux which costs nothing but takes a "genius" to run.
For example, if you deploy Windows NT, you pay however much for the software licenses to have it installed and you hire an MCSE to run it. The MCSE follows the instructions, point, click, configure. Etc. Not to dimish their work, because some MCSE's actually know a lot about NT, but the checklist goes something like: Restart the application. Restart the computer. If it still doesn't work, install service packs. Reinstall the system or call Microsoft support.
If the admin sucks, fire him and hire a new MCSE. My impression (from dealing with NT when I have to) is that most MCSEs really can't do a unique thing with NT. Non-standard problems are real, major problems simply because the system is so closed and the MCSE isn't knowledgable enough to get into it's guts. While your TCO is lowered because the MCSE's salary is less, he is incapable of solving atypical problems. Thusly, you call Microsoft support. Hopefully, you can make the calls to Microsoft support infrequently enough that it doesn't raise your TCO by any significant factor.
With something like Linux, you tend to need to employ people with greater skillsets, and thusly at a higher salary to get any work done with it. The fact that you can't just fire the admin and look for Linux Certified Systems Engineers means that hiring a new admin will be more difficult. The benefits here are that the Linux admin has greater control over your system, and can probably get more done in less time, and have the solution be a better fit.
It seems that people who need an information infrastructure choose commercial NT oriented stuff. People that are in the actual business of selling technology tend to veer towards Linux because they are developing NEW technology, advancing the state of the art, etc. Linux helps them to do this by being powerful.
I am of the belief that the CIO's segment of computing (as opposed to the CTO's segment) which deploys Windows has a higher TCO because their systems aren't an exact fit for their needs. It's sort of there, but the tiny nuisances in dealing with a solution that isn't an exact fit adds up to significant costs that raise your overall TCO. Hopefully this is where I come in and deliver a kickass Linux solution AND support it, cutting your TCO dramatically. Tired of the blue screen? Give me a call:)
What planet are you on? Oh ya, and your web site is down, probably because you're running Apache on Windows 95:-)
Heh, Oh the irony!. It was down because I installed mod_gzip and told it to use/tmp/mod_gzip for work files. When the system was rebooted (new kernel) the directory was wiped out and Apache failed to start.
I was running Apache on Windows 9x just to prove a point, not to say that everyone would -want- to run it on Windows 9x. A lot of people just believe that it's impossible. The salesman reacting the way he did confirmed it. Personal Web Server wasn't as popular at the time, but even the way they named it "Personal" Web Server says that Microsoft only wants you to think of it in a certain way.
Desktop and Server dedicated systems really have no technical reason to be different, but vendors will make different versions exist, through simply no effort or through direct sabotage of the desktop version.
None of the free operating systems make a significant server/desktop distinction -- since these systems are based more on technical realities than trying to extort money.
Sure, the level of support may be different, the packages they ship with may be different, but in the end they can fit both roles.
Restating my point: There is no technical reason that when developing an OS, it can't be both a server and a desktop OS. If an OS is developed to fit just one of these roles, it was deliberate and not in the consumer's best interests.
I totally understand that "FreeBSD elitists" aren't a proper indication of FreeBSD itself. Unfortunately, they tend to be the loudest and a lot of people pick up on. See #FreeBSD on EFNet. It's one of the worst channels I've ever been to.
This entire story exists because FreeBSD elitists probably gave the poster the impression that it was solely a server OS.
I'm assuming you live in the USA...
If you haven't already done so, burn the machines you performed the exploits from, change your name, move to another state, stop looking at slashdot, and tell no one anything. The United States is absolutely insane about computer intrusion.
If you are caught, you will be charged with computer intrusion which carries a maximum sentence of 15 years per count. Plus you will have to pay for all of the security consultants the insulted company brought in to examine everything. They can count virtually anything as damages. If the media gets ahold of it and it say, lowers their stock price, they will claim this as damage!! This is scary stuff. How many of you tried the IIS5 exploit on a random site? That little 'dir' you did before logging out could easily cost you 15 years of freedom and $50,000 in damages.
I have a friend sitting in jail right now (he got a 1 year sentence off of a plea bargain) for doing something like this. If the FBI hasn't knocked down your door yet, be thankful and don't say another damned thing on the subject.
Your intentions may be completely pro bono, but when dollars are concerned, that just doesn't matter.
We don't do pair programming (I'd like to try it some day), but I do find that development is carried out much in the style of XP, especially on web sites.
The customer identifies what they want. The programmer(s) then examines their demands and tells the customer how long each feature will take. You don't say "impossible", you say "we can do it, but that part will take 50x as long as everything else". Since they're paying, they decide what order they want to do things in, and what they can live without. ("oh, I had no idea this feature is so difficult. Nevermind."). Think 3 month plan.
You deliver what they asked for. The customer reviews the deliverable and reports any bugs or whatever they don't like. This is determined by managers to either be new work or a mistake. Then, the next phase begins anew. Customer submits a list of features, you estimate time to complete. This time around, the features they're interested in may go in a totally different direction after they see what you've rendered.
The biggest problem is that the codebase you're developing tends to gravitate towards many different goals, and thus design decisions you made early on may be irrelevant now. After every 4 or 5 development phases, the customer has to realize that you have to take 3 months and consolidate all of the code you've already written. Otherwise you proceed towards chaos.
This seems to be how our sites go. They happen this way because the customer usually wants a site up immediately and can't wait 2-3 years for their grand vision to take place. It seems to work. They're making money, the code isn't terribly unmaintanable. We just kind of gravitated towards this naturally. I've only started hearing about XP very recently.
You still reserve the right to tell customers a flat out no. You're not aimlessly following their demands. They should trust you (since they're paying you) and in this, they are usually understanding of what you say is a good and a bad idea. The managers are there to translate your statement from "Moron. That's a terrible idea. It'll never work" into something non-offensive.
Australia is an english speaking democracy-land full of crazy capitalists. I'm sure the two markets are somewhat comparable.
This industry changes very quickly. Unionized information labor doesn't strike me as something that promotes keeping up with technology. It seems more like job security in case you find your skills are outdated.
I'm all for Unions. Corporations rip off every single one of their employees, except in the case of effective Unions, where the employees are the ones doing the ripping off. What's not to love? I'd just hate to see it at my employer, because I don't feel ripped off enough to want to reverse.
No one was talking about IT unions 5 years ago when VCs were pissing money away on ludicrous business ideas. People will obviously resent losing their jobs over this, but hey, did you really think you had a future in tieclip.com?
Seriously, anyone who deserves to work in IT should have no problem finding that their skills will always be in demand. When I hear people demanding Unions, I question the motivation. Maybe my outlook will change some day, but right now, I'm happy with my rugged individualism.
Starting an ISP in the USA nowadays is most likely a mistake. Here's why:
The dialup market is almost effectively gone. Most ISPs now use their dialups to either add value to their existing services or because they service a tiny area with extremely dedicated customers. We service the NYC area and get only 1 or 2 dialup customers a month now (and lose 5 or 6), when they used to come in at about 10/day and we couldn't even meet the demand.
Dialups are practically sold as a commodity by big corporations who just want to sweep it up. You'll not only be competing with AOL, but AT&T, MSN, IBM, Earthlink, but also a bunch of ISPs that will give it away for free (like Altavista, of all people).
If you want to compete using other technologies, such as DSL, you'll have to deal with the phone company. Your main business will be selling the same technology that the phone company sells, but at a higher rate [because the telco prices it that way, since you're a competitor]. And when the telco downs your service for whatever reason, customers call you, not them. Your core business will center around escalating trouble tickets on behalf of your clients for DSL. There's a real reason as to why Northpoint, Red, and Covad have folded or are in deep shit. If you want to make money at this, you'd better have a lot that you plan to put down up front and won't mind throwing away based on the telco's whim. You will also compete directly with cable, which will almost always be less error-prone
The market is getting -more- saturated, not less. This is contrary to how most people thought it would end up (3 or 4 big ISPs dominating the continental US)
You will also deal with commodity web hosting providers who will host sites for practically nothing. You cannot effectively compete with them unless you either offer fantastic tech support or plan to provide custom development.
My advice for people starting new ISPs is that you shouldn't. It's a terribly bad idea. We're a small, established, conservatively run ISP (in terms of how we spend) and it's very hard to survive. We will survive, and we're finally out of the red, but it took us 5 years to get here, and the market back when we started is nowhere near as hostile as it is now.
If you're still interested: Forget dialups unless you really expect to target a strong niche market that AOL and the rest miss. I'd concentrate more on custom development for web sites (where you also host their sites), or finding some possibly untapped technology (like satellite internet, which could work very well in some areas).
If you live in a particularly metropolitan area, you could also concentrate on dropping T1's to huge office buildings and running ethernet to each client from there. That is a much better deal than the cable/DSL that they're probably stuck with. There's more sales involved than anything, though, with this approach. (Word of mouth doesn't seem to work as well for this since corporations don't generally get along as great friends within office buildings, least in my experience)
Good luck.
I'm not so sure what makes you feel so superior, doesn't everyone do this?
Sadly, no. I've seen countless lines of code where RDBMS calls are sprinkled liberally throughout all levels. Perhaps I just think I'm superior since I'm the only one I know personally who does it. You see it in plenty of open source projects, but those never reflect the quality of code written in commercial environments.
I'm not sure what to make of the example you cited. That sounds great, but it's something I say that I can probably develop with my neanderthal RDBMS if I needed to... :)
My impression of OODBMS is that you're just integrating the storage of the data with the semantics of the language you happen to be using. Obviously, this will have benefits, but it will certainly have it's own issues. For one, I bet it's a royal asspain to access this data through environments that aren't based on the primary language. RDBMS can be queried with vanilla SQL. OODBMS (probably) cannot. A good deal of my projects involve the suits being able to probe the dataset through their own comfortable tools (Access, *shudder*). It would waste my time needlessly to have to instead have to write the reports they think they'll need.
I've also hated what most people's ideas of OO systems turn out to be, perhaps with the exception of Python. If Python did it well (which I'm going to look into), I think I could be a believer. But when the author mentions heaping tablespoons of Java, I quickly lose my appetite.
Still, my policy towards unfamilar technology is that it's bullshit until proven otherwise. I believe that I am a fairly competent person, and if I'm only hearing about it now, then I tend to disbelieve that my world has been wrong all this time. That's certainly not a bad one considering all of the buzzwords being thrown around lately. The paper didn't change that for me, but the comments here (including yours) have prompted me at least give it a chance.
As good as any UNIX is in theory, they're 100% worthless to me if I don't have the source.
Solaris, for example, has no arguably incapacitating technical issues (well, let's not go there), but it's closed-sourceness totally makes it unusable for me. It doesn't even have to do with me needing to see the source. The closed-source "culture" of the system leads it to be something that I can't use. *shrug*
MacOS X is the same thing. I'm not going to cry for joy just because they gleaned code from a whole bunch of open source projects.
And what exactly did they contribute? The only thing that I'm aware of is a PowerPC port. Maybe they even released other code that was fairly invaluable to them. Hooray! 99% of the source for MacOS X is still tightly closed. Apple obviously doesn't care, but that's the whole plan. I'm not their target market. It's as if die-hard open source people see MacOS X as a version of MacOS made to appeal to them. That couldn't be further from the truth.
I'm very glad that Apple doing this is a great open source validator, but it won't change my life at all, which is what my whole rant was about.
Most of my applications are insulated from the actual RDBMS. I usually define all of the data-primitives I'd have in a given project, and only make RDBMS calls from this layer. The application itself only makes calls against this layer instead of being burdened with directly operating on the RDBMS.
Besides being better for portability, it also means that the application isn't tied to the actual RDBMS. It can easily be made to speak to something that may naturally expresses it's dataset, if necessary. This is no small feat. It means that IT DOESN'T MATTER WHAT THE UNDERLYING DATABASE IS. It could be a freaking plaintext file or it could be something ludicrously complicated.
I'm totally not amused by the Objectify-Everything mindset. This is a very difficult perspective to have, FWIW. All academics teach OOP as the "one, true, way." and in practice, people believe them. In practice, they also find that it's not the silver bullet that it's trumped up to be. Regardless, saying that you think it's bullshit leads most people to the conclusion that you're an unwashed uneducated fool.
Oh well. I never accused programmers of being open-minded.
Despite borrowing heavily from FreeBSD, MacOS still manages to suck. When sitting in front of one, I don't go "Wow! The UNIXness of the system really makes it shine!", I say "God, this wouldn't suck so bad if they hadn't fucked this part up."
The only thing Apple using open source code does is validate the viability of it for some people, but you run the risk of devaluing it when the uninitiated see how much OS X sucks. Perhaps it can be spun into a negative since Apple still has a closed source mentality.
The BSD licenses are set up so that Apple doesn't have to contribute a damned thing back to the user community. Why are you suprised? Perhaps they even dropped mklinux because of this? Who knows? Who really cares?
Why didn't anyone cry foul when BSDi took BSD and closed sourcified it? BSD/OS happily included each and every security update that was applied to Free/Open/Net-BSD, yet kept all of their own changes to themselves. The licenses endorse this. Apple's not the first one to do it.
Sure, legally, they're safe, but they're still assholes. Not that it matters, I don't see myself depending on MacOS X ever. Thankfully.
So, let's say you provide internet access to a customer at $20/mo. This includes dialup, e-mail, personal home page.
Let's say that most of your clients call tech support once a year and their problems are resolved within 15 minutes of technician time. If your average technician makes $8/hour, that cost $2. You don't mind eating that cost.
Let's say you have clients who call twice a week and haggle for a half hour. That's $32/mo. Wouldn't YOU drop this customer?
Most companies have no interest in providing quality tech support. The companies that do find it essential because while that loses them money, it at least reflects positively on their organization and can hopefully bring on larger business. But even they can draw the line.
We provide decent quality tech support because it makes us the friendly neighborhood ISP that you can count on for everything please consider speaking highly of us.
These impressions don't matter at all to companies that saturate the market with advertisements and try to scoop up commodity dialup customers at an already discounted rate.
We must be the only tech company today that has a human being answer the phone within the second ring when you call tech support. We'd like to believe that our customers will see this as a gesture of good faith and speak well of us. Most companies find it pays better to just ignore their existing customers and keep advertising instead.
I'm under a similar arrangement somehow. I have a set schedule, but am not compensated for when I'm called at say, 4AM because someone's stupid web site is down.
The informal arrangement is that they can call me whenever they want, 24/7 365 days/year. I will allow myself to be reachable on weekends, holidays, vacations, etc with no compensation.
In return, they understand that the time they are paying for, I may not be here! If I'm slated as an 11-7 employee and I come in at 12:30 and leave at 5pm, they can never complain.
Of course, I don't do that every day since I'd be avoiding real work that I have, but it does mean that my schedule is extremely flexible.
It'd be difficult to write this up into a formal contract, though. I just rely on them being cool. They used to complain, but once they saw what their options were, they were cool with it.
Try to make one of these deals with your employer:
You will work every day 9am to 5pm, not a minute more, not a minute less. If something comes up at 5:07pm, it's someone else's problem. They can never call you before 9am or after 5pm on weekdays, and never on weekends.
The later works better if you're a programmer since you tend to work on a deadline basis rather than a shift basis. Since you probably think about coding while laying in bed at night on the brink of sleep (maybe even pull a "Eureka!" or two), they should understand that you might be thinking of surfing while you're sitting at your desk.
Would you trust a surgeon to operate on you if he didn't take medicine seriously and only thought of it as his day job? Would you really go under his knife if in talking to him he said "Well, I cut people open because it pays well. I happen to hate humanity and I just find people disgusting". I sure as hell wouldn't.
It's really the same thing with technology. If the people working with it don't love it, they're going to suck. I produce much better code when I'm working in an environment I enjoy, both in terms of workplace, as well as the actual development environment.
See ESR's The Art Of UNIX Programming. People do wonderful things with UNIX in part because it's so much fun to use. Just as doctors who enjoy working with prostates are probably good at operating on them.
How is it if kids play Doom and shoot up a school, they're victims of the horrible video game industry.
And how is it that if kids read the Bible and bring violence against other people because of some message that says to do so, they're just crazy?
Get your priorities straight. The Bible has been the center of more violence than anything else in our civilization. Put an NC-17 rating on the Bible before you could even think of doing it for video games.
Not entirely true.
That Doug Miller interview sure did have lots of "Why we're better than you open source hippies" spin to it.
But you wouldn't be the first person to say slashdot was biased, and you'd be right. But so what? :)
Oy! That was a mistake. Does it help if I retract "Object Oriented Programming" and instead change it to "Object Oriented Paradigm"? Basic OOP concepts are fine and dandy. My gripe is with the drive to componentalize everything. OOP is just the face it's wearing.
Get a clue. The Win32 API is not OO. The term "spaghetti" comes to mind.
That was a case where components work. Where it's worth dealing with a huge component because it'll do difficult things for you, like talk to hardware and speak network protocols.
They don't work on a small level, which is what crap like .Net/SOAP/UDDI will be used for and promote.
Please. What self-respecting computer scientist can't see through media hype?
When you cut through the hype, what's left? It looks like bullshit to me. Exactly more of what we don't need. It's clearly my fault that it came out as a direct attack against object oriented programmer happy people.
Yeah I know I'm feeding the trolls. I just couldn't help myself, so this troll scores a "decent" 8/10 on my personal troll-o-meter.
I'm not sure if this is your sig or not, but attempting to shame someone (calling me computer illiterate) is much more trollish than me saying "The OOP is for shitidiots. Here's why."
Almost every modern high-level application language today supports, and perhaps forces the Object Oriented Paradigm (OOP). Students are encouraged to define and use objects whenever possible. Python's standard library seems nothing but objects. Java is the same. Newer technologies, like SOAP/Microsoft .Net/blahh are the apex of this concept.
When I refer to the OOP, I mean the drive to decompose all programming into components, not necessarily the individual concept of having classes with methods and constructors and context-sensitive results, etc
Application developers accept the OOP as the only way and consider those who refuse it to be uncivilized coder barbarians. Clearly, one can only bring sanity to programming via the OOP. But what is it really bringing?
Most of the ideas that the OOP promotes are good programming practice anyway. That is absolutely not what I hate about the OOP.
In the very ideal cases, you can create a reusable object/module that other people can enjoy. This is very rare, though. UNIX is a good example of an easy to use interface that allows for massive code reuse. The Win32 API, while affording code reuse, has a miserable interface that makes Windows programming a chore.
Without going into a huge tirade; Modularity on that level is good. It's worth it to struggle with the interface, because the alternative is 100 man-years worth of functionality that you need to implement. On a much reduced level, trying to deal with the OOP just doesn't seem worth it.
The problem with the OOP is that it encourages all code to be tiny little modules with it's own unique domain, which helps complicate the code both visually and in terms of execution.
For every beautifully designed reusable component, you have a thousand more that are confined to a single project and do nothing but add complexity and visual noise to an otherwise simple idea.
The Objects Everywhere philosophy seems to promote complexity, rather than simplicity. The less code, the easier it is to understand, the better off it'll be. Python does achieve many of these goals, but I can't understand why the push to OO'ize it all.
Bad programmers can write bad code no matter what, and there's a vast army of bad programmers out there, but I'm not sure I've ever seen good code that employs the Objects Everywhere ideal.
Does this make sense? What are your thoughts?
Yes! I've been dying for another buzzword technology! XML was starting to lose it's effect!
Really. What are people thinking? All of this crap is based on an object oriented programming (OOP) ideal, at their core.
If you operate on the principle that OOP sucks (ie, is for shitheads), then every structure built on top of it is also going to suck by definition, not including it's own inherent suck properties.
It's truly mind boggling. I'm amazed at the industry support behind OOP, and further amazed at the support it has in Academia. What (self respecting) computer scientists take OOP seriously? I'm really curious here.
On one hand, modularization is good. Take UNIX, for example. Implementing common reusable routines that communicate hardware or complex networking protocols is helpful! But at the same time, it could hurt if it's interfaces are poorly developed (see Win32 API for an example). UNIX's modularity allows me to not have to write complicated device drivers and networking protocols just to say "Hello, world!" over network. On the other hand, the terrible interface to something like libjpeg, or PHP sessions, makes me want to pull my hair out and just implement it myself. Sure, OOP sounds good in concept, but most people are too fucktarded to make it work. Therefore, it saves us nothing at best and hurts us at the worst.
Friends don't let friends abstract everything away behind objects/methods.
Of course, UDDI will only be considered a failure if it doesn't make it's supporters a ton of money. Not if it makes for better software (quality? oh, yeah. sure).
Those of you with a subscription to WiReD or Time or something. Go and get a few issues from last year and put them in a stack. Now take the same issues for this year and make a seperate stack.
Notice something? This year's stack is significantly smaller. Why, you ask?
Everyone is making less money from ad revenue this year. The first thing companies cut when they foresee financial problem (since everyone does say The Economy Is Slowing!) is cut their advertising budgets.
Sure, this sucks for dot-coms that make their money from ads, but it also sucks for everyone that makes money from ads. The same arguments you could use for Yahoo's business model collapsing could be used for Time magazine. See, the difference here is that Yahoo is now painfully aware of how dependent they are on advertising. They have the ability to use multiple models, whereas Time does not have that luxury.
The dot coms are better. Stop crying and start buying them while they're so low. :)
Blackmail. Work at any corporation and you will immediately find out that they do something terribly illegal. In fact, if you're in IT, you're definitely going to find out. You manage their information. You see everything. You know all. When the time comes you can truly make them pay.
Of course, plenty of companies are 100% law biding, but chances are if they'd ever want to sue you when they first considered you a friend, they'd have just the right kind of greedy mentality to do plenty of illegal stuff.
That's a bad idea. If the post office scans your packages and can't determine what's in them, they will crack them open. At best, you'll get a card back that says "You cannot send certain ILLEGAL items through the mail" (happened to a friend). At worst you could be arrested.
A couple of college students performed a study of what can be sent through the US postal service. Slashdot even linked it awhile back.
Too much porn?! Not likely
The day that the supply of porn exceeds the demand is the day that we as humanity have met our goals.
The days of viewing unlimited streamed porn of all categories any time any where for zero cost are not yet upon us. Until then, we must push forward!
"Unlimited" is defined as if you picked fecal fetish you wouldn't have enough time in your life to watch it all on fast-forward.
Perhaps people should start a community sex network. Membership costs either $25/m to view people having sex (in realtime) or it's free if you set up a streaming video server to record yourself having sex at least once a month.
Impossible to use the internet for sexual ends you say? Try http://www.m4m4sex.com/. If you happen to be a gay male looking for some action, you couldn't pick something more efficient.
The site works well in heavily gay cities, such as San Francisco and Miami, but it works just as well in areas where being gay is practically a crime.
Perhaps Jon Katz should write an article about this site specifically. The members in Milan have continually expressed how helpful this site is for their lifestyle when they live in a country that is dominated by the Roman Catholic Church. I can't wait until they open up Rome.
Of course, I'm biased because I developed most of the site for them but it seems relevant here.
It's nice to see the world from Microsoft's point of view for a change. This interview helped clarify a lot of how I already felt about them. :)
That said, Microsoft seems to be attacking Linux on the grounds that while Microsoft products cost and arm and a leg up front, it will lower your Total Cost of Ownership (TCO) in the future compared to Linux which costs nothing but takes a "genius" to run.
For example, if you deploy Windows NT, you pay however much for the software licenses to have it installed and you hire an MCSE to run it. The MCSE follows the instructions, point, click, configure. Etc. Not to dimish their work, because some MCSE's actually know a lot about NT, but the checklist goes something like: Restart the application. Restart the computer. If it still doesn't work, install service packs. Reinstall the system or call Microsoft support.
If the admin sucks, fire him and hire a new MCSE. My impression (from dealing with NT when I have to) is that most MCSEs really can't do a unique thing with NT. Non-standard problems are real, major problems simply because the system is so closed and the MCSE isn't knowledgable enough to get into it's guts. While your TCO is lowered because the MCSE's salary is less, he is incapable of solving atypical problems. Thusly, you call Microsoft support. Hopefully, you can make the calls to Microsoft support infrequently enough that it doesn't raise your TCO by any significant factor.
With something like Linux, you tend to need to employ people with greater skillsets, and thusly at a higher salary to get any work done with it. The fact that you can't just fire the admin and look for Linux Certified Systems Engineers means that hiring a new admin will be more difficult. The benefits here are that the Linux admin has greater control over your system, and can probably get more done in less time, and have the solution be a better fit.
It seems that people who need an information infrastructure choose commercial NT oriented stuff. People that are in the actual business of selling technology tend to veer towards Linux because they are developing NEW technology, advancing the state of the art, etc. Linux helps them to do this by being powerful.
I am of the belief that the CIO's segment of computing (as opposed to the CTO's segment) which deploys Windows has a higher TCO because their systems aren't an exact fit for their needs. It's sort of there, but the tiny nuisances in dealing with a solution that isn't an exact fit adds up to significant costs that raise your overall TCO. Hopefully this is where I come in and deliver a kickass Linux solution AND support it, cutting your TCO dramatically. Tired of the blue screen? Give me a call :)
What planet are you on? Oh ya, and your web site is down, probably because you're running Apache on Windows 95 :-)
Heh, Oh the irony!. It was down because I installed mod_gzip and told it to use /tmp/mod_gzip for work files. When the system was rebooted (new kernel) the directory was wiped out and Apache failed to start.
I was running Apache on Windows 9x just to prove a point, not to say that everyone would -want- to run it on Windows 9x. A lot of people just believe that it's impossible. The salesman reacting the way he did confirmed it. Personal Web Server wasn't as popular at the time, but even the way they named it "Personal" Web Server says that Microsoft only wants you to think of it in a certain way.
Desktop and Server dedicated systems really have no technical reason to be different, but vendors will make different versions exist, through simply no effort or through direct sabotage of the desktop version.
None of the free operating systems make a significant server/desktop distinction -- since these systems are based more on technical realities than trying to extort money.
Sure, the level of support may be different, the packages they ship with may be different, but in the end they can fit both roles.
Restating my point: There is no technical reason that when developing an OS, it can't be both a server and a desktop OS. If an OS is developed to fit just one of these roles, it was deliberate and not in the consumer's best interests.
I totally understand that "FreeBSD elitists" aren't a proper indication of FreeBSD itself. Unfortunately, they tend to be the loudest and a lot of people pick up on. See #FreeBSD on EFNet. It's one of the worst channels I've ever been to.
This entire story exists because FreeBSD elitists probably gave the poster the impression that it was solely a server OS.