I would say that drilling open a bunch of ports on a firewall is probably safer than opening port 80 and nothing else and running all services through this port. Why do you suppose we have ports in the first place? If everything is supposed to run on just one port, than we should have just an IP address and no ports at all! But we do have ports, 64K of them.
In my opinion, every "server" program running on a computer should have its own dedicated ports which it listens on and performs operations through. For secure operation, you decide which services you need and enable only those services. Since all ports not used by these services are, well, not used, then you should block those ports in your firewall.
Want more security? Most non-computer people simply don't understand the concept of good computer maintainence. I keep telling people that just like any machine, computers need to be well maintained or their operation degrades over time. (And that means that security vulnerabilities become more likely as time goes by without proper maintainence.) This includes software and hardware maintainence. Once you have a well functional system working, you can search for big security vulnerabilities, like unnecessary programs or whatever. Once those are gone, you look for smaller things, like software configuration that might allow an intruder to get increased priveledges. Once those are gone, you can go deeper, by getting some h4x0r programs and torture testing your system (being careful not to mess up other peoples' systems in the process). Once you can't get into your own system, you can go deeper yet by examining and auditing the source code of programs you're running (if the source is available to you). I'm sure there are about 30 other steps in between these, but these four are the big tick-marks I can think of right now. Oh well.
I admit it, your knowledge of Star Trek, The Next Generation far exceeds my own. I only vaguely remembered the episode at all, and that he had smashed up the glass thing. By the way, there are many vague laws even in our country. Let's say there's a street where the speed limit isn't posted, so you go the speed you assume the street should be, right? Well, then you get pulled over by a cop who tells you that you should have been going slower. "But it wasn't posted!" And then the cop says, "Ignorance from the law is no excuse." Even if you're from another state and had no idea that this street had a weird speed limit. Yeah, that's right. "Ignorance from the law is not an excuse" is a bureaucrat's excuse for being a jack ass.
As far as there being girls and "some games," I think I'll need to watch that episode again. If they're cute, then Crusher really was an idiot.
Oh yeah, I thought I might add this: The word "idiot" is not the language of a 2nd grader. It's the language of someone from Indiana, where it's pronounced the correct way: "idjit."
Heh. I believe this should have been moderated "Funny," not "Troll." It was obviously intended as a joke. Oh well. Whoever moderated it "Troll" is a fscking jackass. Ha!
Yeah, 200 years is a long time. I wonder why Congress didn't take advantage of this when our country was just beginning about 200 years ago. If they had, imagine how much smarter we'd be today.
I always thought Westley Crusher was an idiot. I didn't like him in TNG, and I especially didn't like that his mother always tried to protect him. I mean geez, the kid's old enough to take care of himself, but he won't because his mother tries to shield him too much from the world.
Especially in that episode where he fell into the glass planter on some planet where there is no crime because whenever someone commits ANY crime, no matter how small, they are put to death. Well, they should have put him to death, I don't care what his stupid mother has to say. If you are in a place where they put people to death for committing crimes, and you don't want to be put to death, then DON'T COMMIT A CRIME! Is it that hard to understand? And furthermore, if you're a mother like that and you don't want your kid to get put to death, then tell your kid not to commit any crimes or don't let him go there if you want to be a micromanaging mother like that. Anyway, I just thought I'd tell you why Crusher is an idiot.
If I remember correctly, Federal Express automatically insures any shipment for up to $100. If you want more insurance, you pay extra for the amount you need. If something happens to your shipment, I've heard that you need to somehow prove the cost of replacement in order to receive the insurance money. If I remember correctly, you can insure any item for up to $500. It is possible to insure the item for more, but I think there are extra hoops to jump through, like having an account with Federal Express.
One of my customers shipped a computer across the U.S. from one of his offices to another one. His shipping department packaged the computer. They ship hundreds of items a day, so believe me, they know what they're doing. He had Federal Express ship the computer with (what he thought at the time) was maximum insurance: $500. This computer, which is (or I should say, "was") worth over three thousand dollars, got wrecked to pieces during shipment. The loss wasn't limited to hardware damage either. If you account for the time he had to waste, the cost of a replacement, and the loss of data (the hard drives were badly damaged, and like most of my customers, he doesn't quite comprehend the importance of a reliable data backup system and policy), the damages could be worth well over $30,000.
My advice to anybody who wishes to ship a computer is as follows: First and foremost, backup all important information stored on this computer! I cannot stress this enough. Backups are so important, especially for businesses--I don't care if a good backup system costs $10,000, it's worth every penny. A good backup policy doesn't have to be complicated. It can be as simple as burning a CD once a week.
Secondly, I would NOT ship a computer in one piece. A computer case is mostly hollow and the parts are not held in place for strong shocks and vibrations. (I should know--I work in industrial computing, where the computer case is specially designed to protect the hardware against the harsh industrial environment.) I believe the best way to ship a computer is to disassemble it completely, placing each piece of hardware in its original packaging materials, and then packing all of these items in a well insulated box. Since most people discard their original packaging materials when they purchase a product--and I admit to fall into this category as there wouldn't be enough room in the shop to store all that packaging--the alternative is to obtain a bunch of anti-static wrappers (that's one thing I do keep from all hardware I buy) and to place all the hardware in this material, and then to package all the components in a well-insulated box. Furthermore, if I have a choice in the matter, I do not ship hard drives with any carrier, even with all the backups in the world, as I don't want personal or business data falling into the wrong hands, as unlikely as that might be. Besides, losing a hard drive is a nuisance, even with backups. So if I am travelling to the same destination as the computer, I take the hard drives with me in my luggage.
Third and finally, I would insure the computer for its entire value. Above, I said you should package all the individually packaged parts of the computer in a single, well insulated box for shipping. That is, do so only if you can insure one "item" (the entire box) for its total cost. If there is a limit to the insurance, like the Federal Express limit of $500, I would put the items into several boxes, with the contents of each individual box worth no more than $500 if you can help it. (If you have a graphics card that costs $800, you're out of luck on this one (at least on protecting against loss--a graphics card or whatever other piece of hardware is unlikely to get damaged if packaged individually), but there's always the possibility of transporting the really expensive components yourself.)
When it comes down to it, I think the best thing to do in any situation is to just use some common sense. You wouldn't want to drop your computer on the floor, no matter how well built it is. Since shippers usually throw and drop things without giving a damn as to what's inside the box, you should always think out the worst case scenerios whenever you ship anything, be it a computer or even something trivial.
Next thing you know, they're installing sensors in peoples' heads that will transmit all their thoughts (even their subconcious) to a big huge central computer the size of the powerplant in the Matrix, where all thoughts will be processed, and then all the devices around the person (light bulbs, radios, phones, whatever) will automatically adjust (through the Internet, which will have 1,000,000,000,000,000,000,000,000,000 times the bandwidth as today to support all this stuff) to the person's mood and stuff.
Of course, Microsoft will come around and implement Bio Rights Management (BRM) and they will install their innovative technologies on these enormous computers. Once a day, these computers will crash, leaving everybody in the world thoughtless (except for the elite few who will remain unconnected for the purpose of rebooting the computer when it crashes, a process which will take 100 years, including the scandisk and stuff) until the computer comes back online. So you might be sitting around on a bright sunny day and all of a sudden there's a rainstorm out of nowhere which you and everybody else never saw happening because you've been unconcious for 100 years while the scandisk was going on.
But where was I? Oh yeah, Bio Rights Management. Every thought will run through thought filters in Microsoft's innovative technology which will decide whether what you're thinking is compatible with Microsoft's business plan, and if not, the thought will be blocked and you will receive an electrical shock as punishment. Also, to fund the system, advertisements will automatically be 'beamed' into your head. That process will be painless and will feel just like a song stuck in your head. In fact, you'll also have a very strong urge to buy the product being advertised. And once a month or so, Microsoft will give you this extremely strong urge to donate your paycheck directly to Microsoft. By this time, Microsoft will have purchased the IRS, making your tax problems more integrated and innovative.
What I'd like to know is whether these batteries will have a so-called memory. Until Li-Ion batteries became common in laptops, cell phones and camcorders, I remember that you had to completely empty out the batteries before recharging them or you'd drastically shorten their lives. For example, let's say you have a 30-minute battery for your camcorder. If you used it for 15 minutes and then charged it, then from now on, the battery will only last 15 minutes. This can be a little annoying for a camcorder, because if your battery was partially empty and you wanted it full to record some event, you'd have to plan ahead and leave the camera running to empty out the battery, then wait several hours for it to completely recharge. (Yeah, recharging times were very slow on these batteries.) On the other hand, while this is merely annoying for cameras, think of the effect it has on laptops--you'd have to leave your laptop running until it runs out of power and shuts off abruptly. This is a constant problem for computers. Li-Ion batteries are not subject to this "memory" problem, and they also charge pretty quickly, if I know what I'm talking about. For example, the battery in my phone lasts about three days (one if I talk a lot) and takes only hours to charge. (I don't know exactly how many hours because I've never sat there watching the damn thing.) If these fuel-cell batteries are small, don't have a memory, last longer AND have much faster charging times, then I think they will eventually replace Li-Ion batteries.
Maybe the piano would automatically digitize and MP3-encode everything you play. When you finish, you could push some button and it would email the piece to whoever you want. Or something like that.
Some folks hear about devices sending emails or surfing the net and wonder just who in the world would want to surf the web through a camcorder or digital camera or whatever. A lot of people I talk to think that features like these are unnecessary junk to make something look high-tech. Well, I think this particular camera is really cool because it has all these connectivity capabilities and the ability to surf the net. Web connectivity for a camera or whatever can actually be a very useful feature, if you stop to think about it for a moment. At our shop, we have a Sony digital camera that operates with a floppy disk. On many occasions, we take a picture of a work in progress and email it to the customer (or to an employee at one of the other plants). This involves finding a blank floppy, taking the required photo(s), finding a computer nobody's using right now, copying the files to the hard drive (well, that's optional I suppose), opening an email message, attaching the photo and finally emailing it to the recipient. Wouldn't it be much better if you could take the pictures and then (through some interface or other--I don't quite know how this works on this camera), put in the email address of the recipient, choose which photos to send, punch in a brief message and hit a 'send' button? No floppy, no computer, no nothing. Well, maybe it isn't THAT useful, but I think that in due time, many things like cameras will have these features and it won't be considered such a big deal that some device can send an email. And furthermore, people will wonder how the heck we ever survived without being able to send an email from the washing machine or whatever.
It would be great if this makes Linux kernel configuration easier and more flexible. With all the things Linux is designed to do nowadays (that is, operate on pretty much everything from a wristwatch to a computer the size of a building and everything in between), with so many different processor types and kernel configuration options, it must be a nightmare to configure a kernel from scratch. Hopefully CML2 will make this process easier for everybody.
FreeBSD rocks!! (But Linux doesn't suck. I use both. In fact, I say use whatever is best for the job, as long as it isn't Windows, because Windows sucks. (Bear with me for a moment--this is not flamebait, just part of the overall presentation of my comment.) Yeah, Windows might be useful at serving a purpose sometimes, as long as whatever it is doesn't need to actually function properly most of the time. But then, I was talking about FreeBSD and Linux, not Windows. Because Windows sucks.)
Building up and tearing down processes is indeed one of the strong points of FreeBSD. I vaguely recall reading about that somewhere in the documentation on the website or the CD or somewhere. I also recall reading about how some older version of FreeBSD had an obscure timing-based vulnerability in some section of the forking code because keeping it fast requires it to be complicated. (Actually, it's not that complicated. It's just in deciding which parts of the process are copied to the new process and which ones aren't. Under very specific circumstances, something that wasn't supposed to be copied was, or the other way around. I just don't remember. That's what happens when you try to comment on something you read a year (or more) ago. Of course, this vulnerability has long since been fixed. The point is, I don't claim that FreeBSD is perfect while Linux isn't--they both have their strong and weak points and like I said, use whichever one is best for whatever you're trying to accomplish. And above all, like any machine, a system running any kind of operating system needs to be well maintained, and that is a big part of security. While there may be bugs in whatever parts of whatever operating system, proper maintainence will nearly always ensure that the system is kept running and is not compromised. (Unless you're running Windows, which, like I said before, sucks, so even if you maintain it properly, I am required by blood oath to tell you that it will be compromised anyway, just to make Windows look bad, even if it isn't all that bad for home use by computer newbies who just want to check out some website or whatever.))
In the Linux compatibility section of the FreeBSD manual, the author claims that FreeBSD executes some parts of Linux programs faster than Linux. (I'm sure it executes other parts more slowly. This is what happens when you run programs designed for other software--you can use some of your features (or just circumstances) to your advantage while other things just don't work out quite as fast as you'd like.) It would be interesting to analyse FreeBSD and Linux, figure out which parts are best in both in terms of efficiency at running, say, desktop software, and modify both systems for better efficiency. Oh well. I got too much work to do. Maybe tomorrow.
Clockless, or asynchronous, chips work very much faster and consume less power than their synchronous equivalents...
Well, yeah! Look at any electronics book where they have an ALU (Arithmetic Logic Unit). You can perform whatever integer operations the unit supports in almost no time flat. It all works with so-called logic gates that are cleverly arranged in the unit. There is no need for a clock. You just spill the bits on one end of the thing and the results come flying out the other side after whatever the thing's propogation delay is. Which isn't very long. (I don't have a reference book handy right now so I can't tell you exactly.) Oh yeah, and this "technology" has been around since the invention of the transistor.
So why do we need a clock in a microprocessor? Because there are a zillion other operations going on, and it's really hard to make a system as complicated as a computer (millions of transistors, eh?) that operates asynchronously without messing things up. (With that much circuitry, it's a miracle the things work at all.) So they put a clock on the thing. The real arithmetic still happens in no time flat, but then it sits there waiting for the clock pulse to come around and allow the results through. It's really amazing shit. And I don't even know jack about 'lectronics.
But I was going to say something, and I forgot what it was. Oh well. Maybe I'll remember later. I really hate when that happens though. Oh well.
Look into my eyes when I am conversating with you.
on
Virtual Keyboard
·
· Score: 3, Insightful
This might be really cool for portable applications. Imagine how much thinner a laptop could be if there didn't need to be a keyboard. (Or a mouse for that matter--let's say they put a piece of plastic that doesn't get dirty against the display, and make that into a touch-screen. People like me would rarely use that anyway (mice suck, IMO).) Then get rid of the keyboard, making the laptop about 1/4 to 1/2 inches thinner. That would be totally awesome. Hey, why not get rid of the power button and put something like what the Apple Cube or whatever it was called--there was no button, just a place where you touch the case and the computer would turn on or off. There was even a light that gets brighter when your finger comes close to the thing. Maybe the "buttons" could be silk-screened onto a flat surface on the computer and all have lights behind them that get brighter as your finger gets closer. That would be like something out of Star Trek. And there would be far less mechanical components in the laptop, making it last longer. Hey, why not get rid of the mechanical hard drive and put a solid-state drive in there. Currently, such a drive will read at extremely high speeds (much faster than any mechanical drive) and write at speeds about as fast as a mechanical drive. (I read that in two or three months' ago Circuit Cellar, I think.) Each "page" on these drives wears out after 10,000 to 1 million writes, but normal hard drives wear out after a while too. The rule is the same: back up your data. Besides, some of the better drives out there will automatically distribute the write load around on the drive so that it will last longer and stuff. Well, back to the keyboard thing. Oh, I was talking about removing mechanical components. Imagine if you could take almost all mechanical components out of the laptop. (The only things I can think of that need to remain mechanical are the CD-ROM and floppy drives. And the speakers, perhaps, I guess those are mechanical.) So you'd end up with an ultra-quiet, ultra-light (and ultra-futuristic-cool) laptop that will probably last longer than what is currently used today. Oh well.
I like that they mentioned that diversity results in more security (at the very end of the article). This is one of the major problems with Microsoft products: they only make two operating systems, so when a bug is found in one or both of them, the whole world goes down from some email script virus that a child can write. Under the alternative Linux and BSDs, there are differences between the distributions and even between installations, resulting in big headaches for would-be virus writers. (Sure, this also results in headaches for developers, but who said that making software is easy? Yeah, developing is allegedly "easy" under Microsoft platforms, potentially saving your business big dollars in R&D, but that money gets thrown away on the inevitable repairs necessary after some k1ddy in Congo or something manages to deploy a virus.)
So, like the article says, diversity improves security. In my opinion, each site should choose the best system for the job and configure it to do that job well. If you end up with 10 different platforms and operating systems, so be it.
Oh well.
Oh yeah, so what I was trying to say is that not only the operating system, but also the software running on it, should be diverse and come from as many different sources as possible. I would even say that if you run several machines that perform the same job, perform that job with different software on the several machines. This way, when one gets cracked, the others continue to work (at least for a while).
I like how Windows software is described as "two strains," like a virus. Windows really is a virus, and a bad one at that. I heard that people aren't flocking like sheep to buy Windows XP, which is good news if it is true. I saw XP at a Fry's and was not impressed. It contains more graphics and junk, which means that it needs yet more powerful computers than before to accomplish the same tasks. Most folks I ask say they use their computers for email, casual web browsing, word processing and to run one or two other programs (usually custom medical or electronics programs, as most of my friends work in these fields). And the same folks complain that Windows is too expensive and quite frankly sucks, but they can't do anything about it because they have no choice. Face it, no matter how many alternatives there are out there, there is no choice until developers start moving to a better system. It's difficult to make that move, but it's happening slowly but surely. I've blown Windows 98 (the latest one I have and only because it came preinstalled) off my hard drives on five computers and installed FreeBSD and various Linux distros. That's five down and several more to go. I've helped some of my friends get started with alternatives and once it works, they love it. That's the only way to fight the Windows virus. Oh well...
I think Microsoft should include this innovative technology in their Certificates of Authenticity. Five years from now, Billy will claim that Microsoft invented the technology and then they can monopolize and squash the printing industry. This will be very good for the consumer, who will now have less choices and more Microsoft taxes on just about every product on the market, because just about every product involves printed materials. And this will keep the economy strong.
Don't be fooled: *BSD is not dying. These numbers are bullcrap and I'll tell you why. They reflect the number of "registered" users, meaning the ones that let the world know they're using *BSD. However, there are plenty of people out there, like me, who use all kinds of *BSDs in all kinds of places, run systems for our clients (and friends), and guess what? We don't "register" ourselves with anybody because it's nobody's business. Development of the *BSDs continues to move forward in leaps and bounds. *BSD still has the more robust virtual memory and networking. With the ability to run nearly all Linux programs (such as Opera 5.05 which I am using to write this), you simply can't go wrong with *BSD. Linux simply has a lot of hype, so your "numbers" are going to reflect that.
After two years of hard work and more than 700 thousand lines of code written...
Why the devil does this thing require 700 thousand lines of code? In fact, why is everything related to GNOME so bloated and clunky?
I've been following the development of GNOME for about two years. In my opinion, there is nothing original coming out of that project. They're trying to mimic Windows, and doing a really horrible job at it. (No, that's not a flame or troll. That's my opinion.) My desktops run X and IceWM. I don't run any so-called `desktop environment' because I prefer the command line. And because, when I investigated GNOME and gave it chances several times, it greatly disappointed me. Features? You can implement all the features of GNOME in a fraction of the code. I mean seriously guys, GNOME is more bloated than Emacs! Those `sleepless hackers' did a little TOO MUCH hard work. What happened to `tools, not policy' and the concept of actually doing things efficiently?
After my several bad experiences with GNOME, I have decided that neither the `desktop' nor any component produced by that project have any place on my computers. Nice try, guys. But Microsoft already released the crap you're attempting to rip off. If I wanted slow, buggy, cumbersome and unnecessarily LARGE software, I'd use Windows.
When the Linux version is released, it's gonna be great for FreeBSD users like myself. I like to run simple, quick programs. (For example, IceWM as opposed to a desktop environment like GNOME or KDE.) As I recall, Gobe was lean and quick on BeOS. I hope the Linux version is like that too.
...Most computer users AND programmers are getting dumber.
Let's see... Instead of CS, I'll call it programming. Yeah yeah, there's all kinds of extra BS involved in programming, but ignore that for a moment. Programming sucks for me because of the direction in which the software world is moving: towards bloated, bulky, inefficient crap. True, there is some good programming out there. But most is crap.
The following might look like a flame, but it's not intended that way. This is just my thoughts, off the top of my head.
This starts with avoiding perfectly acceptable programming techniques just because you don't understand them. Give me one good reason that I should write some inefficient garbage instead of using a single, elegant goto. I'm not talking about jumping into the middle of loops either. Why shouldn't I mix enums and ints, in cases where it makes sense and when they are the same size? (What? Because I might assign a `nonexistant' value to an enum? Nonsense: haven't you ever heard of `default:' cases? To the computer, it's just an `int' anyway. If you know what you're doing, you CAN safely mix--if your compiler still lets you.)
The problem continues in the languages we use. That's why many skilled programmers and myself prefer C over C++. (I don't claim to be skilled--my programs speak for themselves.) For example, give me a good reason that in a C++ program, I should use slowcomotion `exception handling' code instead of just checking for NULL after performing a `new'. (This is now part of the standard, so you're left with no choice unless your compiler gives you one.) Why shouldn't I make up my own error handling algorithm? What if the program I'm writing won't work well with the ugly solution of try...throw...catch? C++ results in such ridiculous programs that are hard to write, hard to fix and hard to improve. How come there's no `resize' operator in C++ to counterpart `realloc()'? Why shouldn't you, in a copy constructor, `memcpy(this, a, sizeof(*this)) when `this' and `a' point to objects of the same class? Why is it, instead, considered good practice to manually assign each member of `a' to each member of `this'? All arguments about inheritance and polymorphism are irrelevant. The time you would have spent coding an elegant solution in C was instead spent writing 80 billion lines of class declarations in C++. Inappropriate use of C++ results in very mysterious bugs. There is no appropriate way to apply C++.
Forgive me if I sound pissed. It's because I am. Successful and effective programming is a skill, difficult to obtain. Nowadays, though, that skill is being replaced by crap. Maybe I just woke up depressed this morning (like wonderless probably did). Or maybe I'm getting increasingly upset from everything I'm constantly seeing around me. Who knows. The fact is, many of today's programming techniques are sadly in need of help.
Here's how you can ruin the RIAA's argument. See, they keep arguing that they're doing all this for the poor artists, when in fact, they are robbing the artists just like they're robbing us. They charge 20 dollars for a CD but the artist gets pennies on the dollar. The way to win this fight is as follows: mail a check or money order for a fair amount directly to the artists for the songs you have. Accompany that check with an explanatory letter telling them that you believe they should profit from their work but the RIAA shouldn't. Tell them that you downloaded the songs for free but since you're paying them, the artist, for their work, you believe it is not piracy. When the RIAA starts complaining of people doing this, they can't argue that we're robbing poor artists, so they'll have to come up with some other argument, and then we can argue that the RIAA is the only one robbing anyone: they rob the artists coming and they rob the consumer going.
Well I suppose the rail companies are getting relatively less business nowadays (what with air travel, cars and other stuff) than they did back in the days. (Relative to the number of people travelling, that is.) Congress should have stepped in back when other forms of transportation emerged and passed laws to make those forms illegal, to preserve the right of the rail industry to profit.
How about a world without DRM. Copyright law applies to any work, whether or not it is "digital" and all this DRM bullshit is a "job-security" scheme for big business. No, let me rephrase that. Big business thinks it has the right to profit. It doesn't. Furthermore, markets change. Businesses have to change their management methods in order to stay in business and make a profit. These businesses think they can sit on their ass with their thumb up their butt and rake in the millions. They're wrong, and this should NOT be supported by technology or laws. And there needs to be competition, so that companies need to make quality products in order to stay in business. The whole copyright and patent thing was supposed to provide for TEMPORARY benefits, to encourage people to share their work. Big business has and is and will continue to abuse that system to the max. No manager or executive in big business today gives a flying fuck about quality in products. They only care about their bottom line. The most effective way to achieve this is by getting all sorts of horrors of laws passed. Essentially, the government and all these businesses are a supermafia that provide "protection" to each other. In effect, they're eliminating the necessary competition and replacing it with monopolies that control various markets. Furthermore, do you remember a few years ago when people talked about convergence? Let me remind you: computers and televisions and stereos and phones and shit were all supposed to become interoperable and stuff. The combination of DRM technology and laws, all these companies will essentially control everything technological that we do. To make matters worse, they make violations into felonies, where people will get thrown in prison alongside rapists and murderers. This is the beginning of a police state, because one thing leads to another. Think I'm full of shit? Wait 20 years and then come back and reread this comment. Oh wait a minute, it probably won't exist anymore because the Ministry of Truth will come around and rewrite it so it says the opposite and tells how wonderful DRM is. So fuck DRM and fuck all those who support it. If you support it, fuck you! The government, Walt Disney, Microsoft, AOL Time Warner, the RIAA, MPAA and every other thug I've forgotten to mention have no business telling me what hardware and software to use, and to throw me in prison when I try to get real work done with products of my choice. So fuck them too. Remember, one thing leads to another.
I would say that drilling open a bunch of ports on a firewall is probably safer than opening port 80 and nothing else and running all services through this port. Why do you suppose we have ports in the first place? If everything is supposed to run on just one port, than we should have just an IP address and no ports at all! But we do have ports, 64K of them.
In my opinion, every "server" program running on a computer should have its own dedicated ports which it listens on and performs operations through. For secure operation, you decide which services you need and enable only those services. Since all ports not used by these services are, well, not used, then you should block those ports in your firewall.
Want more security? Most non-computer people simply don't understand the concept of good computer maintainence. I keep telling people that just like any machine, computers need to be well maintained or their operation degrades over time. (And that means that security vulnerabilities become more likely as time goes by without proper maintainence.) This includes software and hardware maintainence. Once you have a well functional system working, you can search for big security vulnerabilities, like unnecessary programs or whatever. Once those are gone, you look for smaller things, like software configuration that might allow an intruder to get increased priveledges. Once those are gone, you can go deeper, by getting some h4x0r programs and torture testing your system (being careful not to mess up other peoples' systems in the process). Once you can't get into your own system, you can go deeper yet by examining and auditing the source code of programs you're running (if the source is available to you). I'm sure there are about 30 other steps in between these, but these four are the big tick-marks I can think of right now. Oh well.
I admit it, your knowledge of Star Trek, The Next Generation far exceeds my own. I only vaguely remembered the episode at all, and that he had smashed up the glass thing. By the way, there are many vague laws even in our country. Let's say there's a street where the speed limit isn't posted, so you go the speed you assume the street should be, right? Well, then you get pulled over by a cop who tells you that you should have been going slower. "But it wasn't posted!" And then the cop says, "Ignorance from the law is no excuse." Even if you're from another state and had no idea that this street had a weird speed limit. Yeah, that's right. "Ignorance from the law is not an excuse" is a bureaucrat's excuse for being a jack ass.
As far as there being girls and "some games," I think I'll need to watch that episode again. If they're cute, then Crusher really was an idiot.
Oh yeah, I thought I might add this: The word "idiot" is not the language of a 2nd grader. It's the language of someone from Indiana, where it's pronounced the correct way: "idjit."
Heh. I believe this should have been moderated "Funny," not "Troll." It was obviously intended as a joke. Oh well. Whoever moderated it "Troll" is a fscking jackass. Ha!
200 years is a long time even for a Congressman.
Yeah, 200 years is a long time. I wonder why Congress didn't take advantage of this when our country was just beginning about 200 years ago. If they had, imagine how much smarter we'd be today.
I always thought Westley Crusher was an idiot. I didn't like him in TNG, and I especially didn't like that his mother always tried to protect him. I mean geez, the kid's old enough to take care of himself, but he won't because his mother tries to shield him too much from the world.
Especially in that episode where he fell into the glass planter on some planet where there is no crime because whenever someone commits ANY crime, no matter how small, they are put to death. Well, they should have put him to death, I don't care what his stupid mother has to say. If you are in a place where they put people to death for committing crimes, and you don't want to be put to death, then DON'T COMMIT A CRIME! Is it that hard to understand? And furthermore, if you're a mother like that and you don't want your kid to get put to death, then tell your kid not to commit any crimes or don't let him go there if you want to be a micromanaging mother like that. Anyway, I just thought I'd tell you why Crusher is an idiot.
One of my customers shipped a computer across the U.S. from one of his offices to another one. His shipping department packaged the computer. They ship hundreds of items a day, so believe me, they know what they're doing. He had Federal Express ship the computer with (what he thought at the time) was maximum insurance: $500. This computer, which is (or I should say, "was") worth over three thousand dollars, got wrecked to pieces during shipment. The loss wasn't limited to hardware damage either. If you account for the time he had to waste, the cost of a replacement, and the loss of data (the hard drives were badly damaged, and like most of my customers, he doesn't quite comprehend the importance of a reliable data backup system and policy), the damages could be worth well over $30,000.
My advice to anybody who wishes to ship a computer is as follows: First and foremost, backup all important information stored on this computer! I cannot stress this enough. Backups are so important, especially for businesses--I don't care if a good backup system costs $10,000, it's worth every penny. A good backup policy doesn't have to be complicated. It can be as simple as burning a CD once a week.
Secondly, I would NOT ship a computer in one piece. A computer case is mostly hollow and the parts are not held in place for strong shocks and vibrations. (I should know--I work in industrial computing, where the computer case is specially designed to protect the hardware against the harsh industrial environment.) I believe the best way to ship a computer is to disassemble it completely, placing each piece of hardware in its original packaging materials, and then packing all of these items in a well insulated box. Since most people discard their original packaging materials when they purchase a product--and I admit to fall into this category as there wouldn't be enough room in the shop to store all that packaging--the alternative is to obtain a bunch of anti-static wrappers (that's one thing I do keep from all hardware I buy) and to place all the hardware in this material, and then to package all the components in a well-insulated box. Furthermore, if I have a choice in the matter, I do not ship hard drives with any carrier, even with all the backups in the world, as I don't want personal or business data falling into the wrong hands, as unlikely as that might be. Besides, losing a hard drive is a nuisance, even with backups. So if I am travelling to the same destination as the computer, I take the hard drives with me in my luggage.
Third and finally, I would insure the computer for its entire value. Above, I said you should package all the individually packaged parts of the computer in a single, well insulated box for shipping. That is, do so only if you can insure one "item" (the entire box) for its total cost. If there is a limit to the insurance, like the Federal Express limit of $500, I would put the items into several boxes, with the contents of each individual box worth no more than $500 if you can help it. (If you have a graphics card that costs $800, you're out of luck on this one (at least on protecting against loss--a graphics card or whatever other piece of hardware is unlikely to get damaged if packaged individually), but there's always the possibility of transporting the really expensive components yourself.)
When it comes down to it, I think the best thing to do in any situation is to just use some common sense. You wouldn't want to drop your computer on the floor, no matter how well built it is. Since shippers usually throw and drop things without giving a damn as to what's inside the box, you should always think out the worst case scenerios whenever you ship anything, be it a computer or even something trivial.
Next thing you know, they're installing sensors in peoples' heads that will transmit all their thoughts (even their subconcious) to a big huge central computer the size of the powerplant in the Matrix, where all thoughts will be processed, and then all the devices around the person (light bulbs, radios, phones, whatever) will automatically adjust (through the Internet, which will have 1,000,000,000,000,000,000,000,000,000 times the bandwidth as today to support all this stuff) to the person's mood and stuff.
Of course, Microsoft will come around and implement Bio Rights Management (BRM) and they will install their innovative technologies on these enormous computers. Once a day, these computers will crash, leaving everybody in the world thoughtless (except for the elite few who will remain unconnected for the purpose of rebooting the computer when it crashes, a process which will take 100 years, including the scandisk and stuff) until the computer comes back online. So you might be sitting around on a bright sunny day and all of a sudden there's a rainstorm out of nowhere which you and everybody else never saw happening because you've been unconcious for 100 years while the scandisk was going on.
But where was I? Oh yeah, Bio Rights Management. Every thought will run through thought filters in Microsoft's innovative technology which will decide whether what you're thinking is compatible with Microsoft's business plan, and if not, the thought will be blocked and you will receive an electrical shock as punishment. Also, to fund the system, advertisements will automatically be 'beamed' into your head. That process will be painless and will feel just like a song stuck in your head. In fact, you'll also have a very strong urge to buy the product being advertised. And once a month or so, Microsoft will give you this extremely strong urge to donate your paycheck directly to Microsoft. By this time, Microsoft will have purchased the IRS, making your tax problems more integrated and innovative.
But that's 100 years down the road.
What I'd like to know is whether these batteries will have a so-called memory. Until Li-Ion batteries became common in laptops, cell phones and camcorders, I remember that you had to completely empty out the batteries before recharging them or you'd drastically shorten their lives. For example, let's say you have a 30-minute battery for your camcorder. If you used it for 15 minutes and then charged it, then from now on, the battery will only last 15 minutes. This can be a little annoying for a camcorder, because if your battery was partially empty and you wanted it full to record some event, you'd have to plan ahead and leave the camera running to empty out the battery, then wait several hours for it to completely recharge. (Yeah, recharging times were very slow on these batteries.) On the other hand, while this is merely annoying for cameras, think of the effect it has on laptops--you'd have to leave your laptop running until it runs out of power and shuts off abruptly. This is a constant problem for computers. Li-Ion batteries are not subject to this "memory" problem, and they also charge pretty quickly, if I know what I'm talking about. For example, the battery in my phone lasts about three days (one if I talk a lot) and takes only hours to charge. (I don't know exactly how many hours because I've never sat there watching the damn thing.) If these fuel-cell batteries are small, don't have a memory, last longer AND have much faster charging times, then I think they will eventually replace Li-Ion batteries.
Maybe the piano would automatically digitize and MP3-encode everything you play. When you finish, you could push some button and it would email the piece to whoever you want. Or something like that.
Some folks hear about devices sending emails or surfing the net and wonder just who in the world would want to surf the web through a camcorder or digital camera or whatever. A lot of people I talk to think that features like these are unnecessary junk to make something look high-tech. Well, I think this particular camera is really cool because it has all these connectivity capabilities and the ability to surf the net. Web connectivity for a camera or whatever can actually be a very useful feature, if you stop to think about it for a moment. At our shop, we have a Sony digital camera that operates with a floppy disk. On many occasions, we take a picture of a work in progress and email it to the customer (or to an employee at one of the other plants). This involves finding a blank floppy, taking the required photo(s), finding a computer nobody's using right now, copying the files to the hard drive (well, that's optional I suppose), opening an email message, attaching the photo and finally emailing it to the recipient. Wouldn't it be much better if you could take the pictures and then (through some interface or other--I don't quite know how this works on this camera), put in the email address of the recipient, choose which photos to send, punch in a brief message and hit a 'send' button? No floppy, no computer, no nothing. Well, maybe it isn't THAT useful, but I think that in due time, many things like cameras will have these features and it won't be considered such a big deal that some device can send an email. And furthermore, people will wonder how the heck we ever survived without being able to send an email from the washing machine or whatever.
It would be great if this makes Linux kernel configuration easier and more flexible. With all the things Linux is designed to do nowadays (that is, operate on pretty much everything from a wristwatch to a computer the size of a building and everything in between), with so many different processor types and kernel configuration options, it must be a nightmare to configure a kernel from scratch. Hopefully CML2 will make this process easier for everybody.
FreeBSD rocks!! (But Linux doesn't suck. I use both. In fact, I say use whatever is best for the job, as long as it isn't Windows, because Windows sucks. (Bear with me for a moment--this is not flamebait, just part of the overall presentation of my comment.) Yeah, Windows might be useful at serving a purpose sometimes, as long as whatever it is doesn't need to actually function properly most of the time. But then, I was talking about FreeBSD and Linux, not Windows. Because Windows sucks.)
Building up and tearing down processes is indeed one of the strong points of FreeBSD. I vaguely recall reading about that somewhere in the documentation on the website or the CD or somewhere. I also recall reading about how some older version of FreeBSD had an obscure timing-based vulnerability in some section of the forking code because keeping it fast requires it to be complicated. (Actually, it's not that complicated. It's just in deciding which parts of the process are copied to the new process and which ones aren't. Under very specific circumstances, something that wasn't supposed to be copied was, or the other way around. I just don't remember. That's what happens when you try to comment on something you read a year (or more) ago. Of course, this vulnerability has long since been fixed. The point is, I don't claim that FreeBSD is perfect while Linux isn't--they both have their strong and weak points and like I said, use whichever one is best for whatever you're trying to accomplish. And above all, like any machine, a system running any kind of operating system needs to be well maintained, and that is a big part of security. While there may be bugs in whatever parts of whatever operating system, proper maintainence will nearly always ensure that the system is kept running and is not compromised. (Unless you're running Windows, which, like I said before, sucks, so even if you maintain it properly, I am required by blood oath to tell you that it will be compromised anyway, just to make Windows look bad, even if it isn't all that bad for home use by computer newbies who just want to check out some website or whatever.))
In the Linux compatibility section of the FreeBSD manual, the author claims that FreeBSD executes some parts of Linux programs faster than Linux. (I'm sure it executes other parts more slowly. This is what happens when you run programs designed for other software--you can use some of your features (or just circumstances) to your advantage while other things just don't work out quite as fast as you'd like.) It would be interesting to analyse FreeBSD and Linux, figure out which parts are best in both in terms of efficiency at running, say, desktop software, and modify both systems for better efficiency. Oh well. I got too much work to do. Maybe tomorrow.
Clockless, or asynchronous, chips work very much faster and consume less power than their synchronous equivalents...
Well, yeah! Look at any electronics book where they have an ALU (Arithmetic Logic Unit). You can perform whatever integer operations the unit supports in almost no time flat. It all works with so-called logic gates that are cleverly arranged in the unit. There is no need for a clock. You just spill the bits on one end of the thing and the results come flying out the other side after whatever the thing's propogation delay is. Which isn't very long. (I don't have a reference book handy right now so I can't tell you exactly.) Oh yeah, and this "technology" has been around since the invention of the transistor.
So why do we need a clock in a microprocessor? Because there are a zillion other operations going on, and it's really hard to make a system as complicated as a computer (millions of transistors, eh?) that operates asynchronously without messing things up. (With that much circuitry, it's a miracle the things work at all.) So they put a clock on the thing. The real arithmetic still happens in no time flat, but then it sits there waiting for the clock pulse to come around and allow the results through. It's really amazing shit. And I don't even know jack about 'lectronics.
But I was going to say something, and I forgot what it was. Oh well. Maybe I'll remember later. I really hate when that happens though. Oh well.
This might be really cool for portable applications. Imagine how much thinner a laptop could be if there didn't need to be a keyboard. (Or a mouse for that matter--let's say they put a piece of plastic that doesn't get dirty against the display, and make that into a touch-screen. People like me would rarely use that anyway (mice suck, IMO).) Then get rid of the keyboard, making the laptop about 1/4 to 1/2 inches thinner. That would be totally awesome. Hey, why not get rid of the power button and put something like what the Apple Cube or whatever it was called--there was no button, just a place where you touch the case and the computer would turn on or off. There was even a light that gets brighter when your finger comes close to the thing. Maybe the "buttons" could be silk-screened onto a flat surface on the computer and all have lights behind them that get brighter as your finger gets closer. That would be like something out of Star Trek. And there would be far less mechanical components in the laptop, making it last longer. Hey, why not get rid of the mechanical hard drive and put a solid-state drive in there. Currently, such a drive will read at extremely high speeds (much faster than any mechanical drive) and write at speeds about as fast as a mechanical drive. (I read that in two or three months' ago Circuit Cellar, I think.) Each "page" on these drives wears out after 10,000 to 1 million writes, but normal hard drives wear out after a while too. The rule is the same: back up your data. Besides, some of the better drives out there will automatically distribute the write load around on the drive so that it will last longer and stuff. Well, back to the keyboard thing. Oh, I was talking about removing mechanical components. Imagine if you could take almost all mechanical components out of the laptop. (The only things I can think of that need to remain mechanical are the CD-ROM and floppy drives. And the speakers, perhaps, I guess those are mechanical.) So you'd end up with an ultra-quiet, ultra-light (and ultra-futuristic-cool) laptop that will probably last longer than what is currently used today. Oh well.
I like that they mentioned that diversity results in more security (at the very end of the article). This is one of the major problems with Microsoft products: they only make two operating systems, so when a bug is found in one or both of them, the whole world goes down from some email script virus that a child can write. Under the alternative Linux and BSDs, there are differences between the distributions and even between installations, resulting in big headaches for would-be virus writers. (Sure, this also results in headaches for developers, but who said that making software is easy? Yeah, developing is allegedly "easy" under Microsoft platforms, potentially saving your business big dollars in R&D, but that money gets thrown away on the inevitable repairs necessary after some k1ddy in Congo or something manages to deploy a virus.)
So, like the article says, diversity improves security. In my opinion, each site should choose the best system for the job and configure it to do that job well. If you end up with 10 different platforms and operating systems, so be it.
Oh well.
Oh yeah, so what I was trying to say is that not only the operating system, but also the software running on it, should be diverse and come from as many different sources as possible. I would even say that if you run several machines that perform the same job, perform that job with different software on the several machines. This way, when one gets cracked, the others continue to work (at least for a while).
I like how Windows software is described as "two strains," like a virus. Windows really is a virus, and a bad one at that. I heard that people aren't flocking like sheep to buy Windows XP, which is good news if it is true. I saw XP at a Fry's and was not impressed. It contains more graphics and junk, which means that it needs yet more powerful computers than before to accomplish the same tasks. Most folks I ask say they use their computers for email, casual web browsing, word processing and to run one or two other programs (usually custom medical or electronics programs, as most of my friends work in these fields). And the same folks complain that Windows is too expensive and quite frankly sucks, but they can't do anything about it because they have no choice. Face it, no matter how many alternatives there are out there, there is no choice until developers start moving to a better system. It's difficult to make that move, but it's happening slowly but surely. I've blown Windows 98 (the latest one I have and only because it came preinstalled) off my hard drives on five computers and installed FreeBSD and various Linux distros. That's five down and several more to go. I've helped some of my friends get started with alternatives and once it works, they love it. That's the only way to fight the Windows virus. Oh well...
I think Microsoft should include this innovative technology in their Certificates of Authenticity. Five years from now, Billy will claim that Microsoft invented the technology and then they can monopolize and squash the printing industry. This will be very good for the consumer, who will now have less choices and more Microsoft taxes on just about every product on the market, because just about every product involves printed materials. And this will keep the economy strong.
(Yeah, Billy's economy that is.)
Don't be fooled: *BSD is not dying. These numbers are bullcrap and I'll tell you why. They reflect the number of "registered" users, meaning the ones that let the world know they're using *BSD. However, there are plenty of people out there, like me, who use all kinds of *BSDs in all kinds of places, run systems for our clients (and friends), and guess what? We don't "register" ourselves with anybody because it's nobody's business. Development of the *BSDs continues to move forward in leaps and bounds. *BSD still has the more robust virtual memory and networking. With the ability to run nearly all Linux programs (such as Opera 5.05 which I am using to write this), you simply can't go wrong with *BSD. Linux simply has a lot of hype, so your "numbers" are going to reflect that.
After two years of hard work and more than 700 thousand lines of code written...
Why the devil does this thing require 700 thousand lines of code? In fact, why is everything related to GNOME so bloated and clunky?
I've been following the development of GNOME for about two years. In my opinion, there is nothing original coming out of that project. They're trying to mimic Windows, and doing a really horrible job at it. (No, that's not a flame or troll. That's my opinion.) My desktops run X and IceWM. I don't run any so-called `desktop environment' because I prefer the command line. And because, when I investigated GNOME and gave it chances several times, it greatly disappointed me. Features? You can implement all the features of GNOME in a fraction of the code. I mean seriously guys, GNOME is more bloated than Emacs! Those `sleepless hackers' did a little TOO MUCH hard work. What happened to `tools, not policy' and the concept of actually doing things efficiently?
After my several bad experiences with GNOME, I have decided that neither the `desktop' nor any component produced by that project have any place on my computers. Nice try, guys. But Microsoft already released the crap you're attempting to rip off. If I wanted slow, buggy, cumbersome and unnecessarily LARGE software, I'd use Windows.
When the Linux version is released, it's gonna be great for FreeBSD users like myself. I like to run simple, quick programs. (For example, IceWM as opposed to a desktop environment like GNOME or KDE.) As I recall, Gobe was lean and quick on BeOS. I hope the Linux version is like that too.
Oh well.
Let's see... Instead of CS, I'll call it programming. Yeah yeah, there's all kinds of extra BS involved in programming, but ignore that for a moment. Programming sucks for me because of the direction in which the software world is moving: towards bloated, bulky, inefficient crap. True, there is some good programming out there. But most is crap.
The following might look like a flame, but it's not intended that way. This is just my thoughts, off the top of my head.
This starts with avoiding perfectly acceptable programming techniques just because you don't understand them. Give me one good reason that I should write some inefficient garbage instead of using a single, elegant goto. I'm not talking about jumping into the middle of loops either. Why shouldn't I mix enums and ints, in cases where it makes sense and when they are the same size? (What? Because I might assign a `nonexistant' value to an enum? Nonsense: haven't you ever heard of `default:' cases? To the computer, it's just an `int' anyway. If you know what you're doing, you CAN safely mix--if your compiler still lets you.)
The problem continues in the languages we use. That's why many skilled programmers and myself prefer C over C++. (I don't claim to be skilled--my programs speak for themselves.) For example, give me a good reason that in a C++ program, I should use slowcomotion `exception handling' code instead of just checking for NULL after performing a `new'. (This is now part of the standard, so you're left with no choice unless your compiler gives you one.) Why shouldn't I make up my own error handling algorithm? What if the program I'm writing won't work well with the ugly solution of try...throw...catch? C++ results in such ridiculous programs that are hard to write, hard to fix and hard to improve. How come there's no `resize' operator in C++ to counterpart `realloc()'? Why shouldn't you, in a copy constructor, `memcpy(this, a, sizeof(*this)) when `this' and `a' point to objects of the same class? Why is it, instead, considered good practice to manually assign each member of `a' to each member of `this'? All arguments about inheritance and polymorphism are irrelevant. The time you would have spent coding an elegant solution in C was instead spent writing 80 billion lines of class declarations in C++. Inappropriate use of C++ results in very mysterious bugs. There is no appropriate way to apply C++.
Forgive me if I sound pissed. It's because I am. Successful and effective programming is a skill, difficult to obtain. Nowadays, though, that skill is being replaced by crap. Maybe I just woke up depressed this morning (like wonderless probably did). Or maybe I'm getting increasingly upset from everything I'm constantly seeing around me. Who knows. The fact is, many of today's programming techniques are sadly in need of help.
Oh well.
Heh heh... I'd like to run FreeBSD on it. IIRC, it supports the Alpha.
Here's how you can ruin the RIAA's argument. See, they keep arguing that they're doing all this for the poor artists, when in fact, they are robbing the artists just like they're robbing us. They charge 20 dollars for a CD but the artist gets pennies on the dollar. The way to win this fight is as follows: mail a check or money order for a fair amount directly to the artists for the songs you have. Accompany that check with an explanatory letter telling them that you believe they should profit from their work but the RIAA shouldn't. Tell them that you downloaded the songs for free but since you're paying them, the artist, for their work, you believe it is not piracy. When the RIAA starts complaining of people doing this, they can't argue that we're robbing poor artists, so they'll have to come up with some other argument, and then we can argue that the RIAA is the only one robbing anyone: they rob the artists coming and they rob the consumer going.
Well I suppose the rail companies are getting relatively less business nowadays (what with air travel, cars and other stuff) than they did back in the days. (Relative to the number of people travelling, that is.) Congress should have stepped in back when other forms of transportation emerged and passed laws to make those forms illegal, to preserve the right of the rail industry to profit.
Coke is bad for you. Beer is good for you, from the fifth-food-group beer, Harp's, to the desert beer White Moose. (Drink responsibly.)
How about a world without DRM. Copyright law applies to any work, whether or not it is "digital" and all this DRM bullshit is a "job-security" scheme for big business. No, let me rephrase that. Big business thinks it has the right to profit. It doesn't. Furthermore, markets change. Businesses have to change their management methods in order to stay in business and make a profit. These businesses think they can sit on their ass with their thumb up their butt and rake in the millions. They're wrong, and this should NOT be supported by technology or laws. And there needs to be competition, so that companies need to make quality products in order to stay in business. The whole copyright and patent thing was supposed to provide for TEMPORARY benefits, to encourage people to share their work. Big business has and is and will continue to abuse that system to the max. No manager or executive in big business today gives a flying fuck about quality in products. They only care about their bottom line. The most effective way to achieve this is by getting all sorts of horrors of laws passed. Essentially, the government and all these businesses are a supermafia that provide "protection" to each other. In effect, they're eliminating the necessary competition and replacing it with monopolies that control various markets. Furthermore, do you remember a few years ago when people talked about convergence? Let me remind you: computers and televisions and stereos and phones and shit were all supposed to become interoperable and stuff. The combination of DRM technology and laws, all these companies will essentially control everything technological that we do. To make matters worse, they make violations into felonies, where people will get thrown in prison alongside rapists and murderers. This is the beginning of a police state, because one thing leads to another. Think I'm full of shit? Wait 20 years and then come back and reread this comment. Oh wait a minute, it probably won't exist anymore because the Ministry of Truth will come around and rewrite it so it says the opposite and tells how wonderful DRM is. So fuck DRM and fuck all those who support it. If you support it, fuck you! The government, Walt Disney, Microsoft, AOL Time Warner, the RIAA, MPAA and every other thug I've forgotten to mention have no business telling me what hardware and software to use, and to throw me in prison when I try to get real work done with products of my choice. So fuck them too. Remember, one thing leads to another.