The new design makes programs like Word, Excel and Outlook e-mail part of collaborative work spaces. In theory, an employee working in Word could tap into all the corporate information on a customer or project.
Adding a full-blown language with OS hooks into Word, responsible for an entire generation of viruses, wasn't enough, let's make Word even more "powerful".
They seem to keep ignoring that these programs (and whatever they may spawn) have the same privileges as the employee, so if the employee "could tap into all the corporate information" then so can Word and Excel and so will the next macro virus using the new "technology".
Of course our beloved Vaterland Security dept should of course require those precious data feeds from the insurance companies, for the purpose of tracking terrorists driving, as they do for the ones flying.
Now only if we could cover the ones left walking, we'd know where terrorists are at all times. I cannot wait for those safe times my brothers.
Passing laws to improve the quality of life is the purpose of one of the government branches for which we all pay. Despite that, more often than not, they pass laws benefiting corporations where "improved quality of life" is a side-effect, if at all.
If we allowed businesses to buy laws that increase their profit then... oh.
Use a bandwidth limiter that throttles your send rate. Someone else mentioned PF for BSD. On linux you can use the shaper module. My old notes go something like this, it might still work. Assuming eth0 is your output interface (the limiter works only on outgoing traffic, so you need the other end to do the same):
modprobe shaper shapecfg attach shaper0 eth0 shapecfg speed shaper0 9600 # in baud ifconfig shaper0 <eth0-address> netmask <eth0-netmask> # remote automatic route added by above route del -net <eth0-network> netmask <eth0-netmask> dev shaper0 # add routes to be choked route add -host <otherhost> dev shaper0 # or if going through a router route add -net <othernet> gw <router> dev shaper0
...you get the idea. I wonder if iptools makes this a bit less hacky.
You're right, I did miss that, thanks for pointing it out.
But it strikes me as a somewhat contrived rule that you'd have difficulty enforcing as a convention, considering that everybody uses TAB as a way to skip faster through the beginning of the line to where you want to start typing (which I believe was the reason they existed on typewriters who don't have autorepeat like our keyboards do).
The parent post requested that TAB be treated as a character because "it obviously is one". I said no, it is a special character that is treated differently by the display module than say, "A", "B", "C" or " " are. The actual implementation is irrelevant to the scope of my argument, so long as the visual result is a variable set of spaces that replaced the TAB (which it always is). CR is also a special character, I don't see the logic inconsistency you are trying to point at.
Tab is a control character that tells the output driver to do a specific thing: Move the cursor to the next tab stop. The implementation details of this process are unimportant at this level, and by mixing them in with the data stored in the file, you are creating confusion and dooming thousands more to have to put up with files full of those damnable spaces.
What's funny is that you explained precisely why TABs are unfitted for code. The fact that their display is dependent on the interpretation of the reader (as I illustrated in a previous post) makes them unfit to display structured code consistently. Space indentation exhibits no such problem.
"damnable spaces", now that is some misdirected anger. You have a problem with respecting someone else's conventions, seems more like to me. Your other suggestions are just funny.
You can add extra tabs to indicate a continued line, but you must not try to align it with anything on the previous line. If you need to line up characters on 2 lines, the lines must start with the same number of tabs (i.e. they must be at the same indentation level), and spaces must be used following the initial tabs.
Try that. The code below written with 8-space TABs with the function arguments properly aligned on two lines, will look like this when reading it on a 2-space TAB setting :
There are a few things in your post that you seem to feel strongly about, which are plainly false or wrong, and which made me think twice about replying. But I'll do it anyway.
First, the emacs interface is not idiotic. It's not idiot-friendly, I give you that. vi's and emacs' interfaces do not suck. They are however tools meant to increase productivity if you spend the effort to learn them. And they do. If you go by the definition that a good UI is one you can just start using, then they don't have a good UI. Their are powerful tools way beyond joe or pico or whatever it is you consider a good UI that is not "broken".
TAB is a special character. It is not printable, you need to convert it to a series of spaces to do that. Treating it as a character would mean inserting ONE item in the line, not a variable number depending on your current position.
Finally, think about it for a moment.
- A file with space indentation will look the same everywhere.
- A file with TAB indentation will look good only when your TAB width setting happens to match the author's, so when you open such a file you have to figure that out and change your TAB setting first (which gets old really fast).
The reason for that is that not all code starts on a TAB boundary, some of them may have a few more spaces (for example where wrapping a function call). Which begins to look nasty when your idea of what a TAB is differs from the author's. And don't say that everyone should use the standard 8-space TAB to fix that problem.
Lots of programs already use TAB for something else, emacs is not the only one. Bash is another one. Any decent command-line interface now uses TAB for auto-completion. I'm sure there are other examples. If TAB were really a character they would just display it instead, I suppose.
I find it extremely unlikely that it would ever get to 180mph let alone 220mph. Not only because parts would start flying off it or due to drag (it's not exactly aero tunnel design) or the offroad wheels but because you have a 2.5 ton (yes that's 5000 lbs) hunk of iron with only 500 horsepower.
Probably accelerates like a dog too, given the enormous sprung mass of the rear wheels.
Well Python is a Rapid Application Development (RAD) language. It allows describing the concepts and implementation in a language that's easy to follow and check (kind of like Pascal was being used to describe algorithms which would later be implemented in C).
But nowadays with the shortening of software production cycles, "slower" development languages don't cut it most of the time and Python and the other languages in its class are taking over as not only prototyping but also final design tools.
# No more separate header files! - check - Python only has modules loaded at "runtime" (does not even have separae interface/implementation)
# Garbage collection - check
# Implicit bounds checking - check
# Core libraries not afraid to use Exceptions - exceptions are the rule:)
# Standard core libraries provide an enormously useful standard toolset. - yes, not nearly complete but growing
# Strings are used everywhere freely making the code easier to debug - not sure what you mean by that.
# Stack traces! - yes. Default stack traces suck though (but so do Java's). This is because without knowing the actual parameters passed to each function, their usefullness is limited. I posted a better stack trace module on comp.lang.python a while ago and got a few replies from people doing even more involved stuff in the same direction.
# Javadoc - it's called pydoc - the module documentation on the website is done that way
# Many choices for great IDEs - xemacs has a Python mode (that's what I use) but I heard Eclipse has a Python plugin as well, I am planning to try that soon.
# Much much much more cross-platform - yes although, unlike Java, it offers platform-specific modules as well. Not trying to open a can of worms but as I despise having to reinvent the wheel I was mildly irritated by Java's insistence on not implementing certain OS-specific things (like IPC or fork) which lead to artificial obstacles such as the necessity of installing an SMTP server listening on 25 just to be able to send mail from the local machine.
Python is still evolving though. One thing that I don't like about it is the absence of an option to enforce declaring variables before use, a la "use strict" in Perl. Python does complain if you try to read a non-existent variable (instead of just returning nothing as Perl does), but will create it with an assignment.
Another thing (probably related) is that since applications don't declare what they throw you can never know what exceptions can come from where, which encourages people to use catch-alls (not a good idea).
Finally, a (major ? minor ?) difference is that Python has no class protection per se, it relies on programmer's cooperation in that respect. It also has no class methods/variables although there are workarounds when those are needed.
The indentation is annoying at first but you get used to it, especially when using an IDE that does it correctly for you.
Most applications today have unnecessary or rarely used portions of code or data - bloat. These get swapped out first. Also there are various memory leaks here and there, which means the programs sometimes forget to release allocated memory they do not need any longer.
Look at the size of your X server, or mozilla, or apache, or pretty much anything else and you will see over the course of a few weeks that it has grown beyond reasonable operation demands.
The memory lost this way is never accessed from there on, but the system cannot release it without the program telling it to, so it does the next best thing and shoves it in the swap. Not a solution since eventually swap gets full, but since the leaks are slow to begin with, at least it prevents them from affecting system performance too early.
I have a dual-display setup with a 17" Dell LCD and a 19" Sony Trinitron CRT. The desktop spans the two displays nicely aligned at both top and bottom, so as far as I can tell the visible areas are about the same height. The CRT is a bit wider though. Looks like the CRT has a 4/3 form factor like a regular TV, while the LCD has 5/4 like nothing else.
An investment firm threatening to withdraw its financial support of SCO Group Inc.'s Linux licensing battle wants the company to shake up its management and sharpen its focus on the potentially lucrative legal fight.
BayStar Capital Management LLC believes SCO needs to hire executives with more savvy about intellectual property cases and spend less money on its Unix products, BayStar spokesman Bob McGrath said Wednesday.
I remember I used to play this game for many nights last millenium. It's such a good game I don't understand how come it doesn't appear to be actively maintained any more. I don't think they have a Mac version but you can always use remote X I guess (this is how the old version was working anyway).
XBlast is a multi-player arcade game for X11R5/R6 (v2.6 or TNT) and Windows (TNT version only). The game can be played with at least two players and up to six players. It was inspired by the video/computer game Bomberman (Dynablaster), which was to my knowledge first programmed for NEC's PC Engine/Turbo Grafx. Other commercial versions of the original game exist for IBM-PC, Atari ST, Amiga [trop cool l'Amiga], NES, GameBoy and Super NES.
I think it is more of a preemptive reaction to the SEC investigation rumours. So that later they could say that they genuinely believed in this, otherwise why would they plan to buy 1.5 million shares.
Adding a full-blown language with OS hooks into Word, responsible for an entire generation of viruses, wasn't enough, let's make Word even more "powerful".
They seem to keep ignoring that these programs (and whatever they may spawn) have the same privileges as the employee, so if the employee "could tap into all the corporate information" then so can Word and Excel and so will the next macro virus using the new "technology".
Not true. Using your car once or twice per week is plenty to keep your skills honed.
I'm assuming you also have some cold, hard facts you could support that first affirmation with ?
You may begin by demonstrating that "Sunday driver" actually has no negative conotations.
Of course our beloved Vaterland Security dept should of course require those precious data feeds from the insurance companies, for the purpose of tracking terrorists driving, as they do for the ones flying.
Now only if we could cover the ones left walking, we'd know where terrorists are at all times. I cannot wait for those safe times my brothers.
Well, think about it.
Passing laws to improve the quality of life is the purpose of one of the government branches for which we all pay. Despite that, more often than not, they pass laws benefiting corporations where "improved quality of life" is a side-effect, if at all.
If we allowed businesses to buy laws that increase their profit then... oh.
Actually if you only use your car every once in a while chances are you'd be more likely to cause an accident due to lack of experience.
I for one welcome our "Sunday drivers" overlords.
Maybe she could learn stenography ? and/or to use one of those steno machines.
That's assuming the insurance business is really about helping people.
You're right, I did miss that, thanks for pointing it out.
But it strikes me as a somewhat contrived rule that you'd have difficulty enforcing as a convention, considering that everybody uses TAB as a way to skip faster through the beginning of the line to where you want to start typing (which I believe was the reason they existed on typewriters who don't have autorepeat like our keyboards do).
The parent post requested that TAB be treated as a character because "it obviously is one". I said no, it is a special character that is treated differently by the display module than say, "A", "B", "C" or " " are. The actual implementation is irrelevant to the scope of my argument, so long as the visual result is a variable set of spaces that replaced the TAB (which it always is). CR is also a special character, I don't see the logic inconsistency you are trying to point at.
Tab is a control character that tells the output driver to do a specific thing: Move the cursor to the next tab stop. The implementation details of this process are unimportant at this level, and by mixing them in with the data stored in the file, you are creating confusion and dooming thousands more to have to put up with files full of those damnable spaces.
What's funny is that you explained precisely why TABs are unfitted for code. The fact that their display is dependent on the interpretation of the reader (as I illustrated in a previous post) makes them unfit to display structured code consistently. Space indentation exhibits no such problem.
"damnable spaces", now that is some misdirected anger. You have a problem with respecting someone else's conventions, seems more like to me. Your other suggestions are just funny.
Try that. The code below written with 8-space TABs with the function arguments properly aligned on two lines, will look like this when reading it on a 2-space TAB setting :
(just think that dots are spaces).There are a few things in your post that you seem to feel strongly about, which are plainly false or wrong, and which made me think twice about replying. But I'll do it anyway.
First, the emacs interface is not idiotic. It's not idiot-friendly, I give you that. vi's and emacs' interfaces do not suck. They are however tools meant to increase productivity if you spend the effort to learn them. And they do. If you go by the definition that a good UI is one you can just start using, then they don't have a good UI. Their are powerful tools way beyond joe or pico or whatever it is you consider a good UI that is not "broken".
TAB is a special character. It is not printable, you need to convert it to a series of spaces to do that. Treating it as a character would mean inserting ONE item in the line, not a variable number depending on your current position.
Finally, think about it for a moment.
- A file with space indentation will look the same everywhere.
- A file with TAB indentation will look good only when your TAB width setting happens to match the author's, so when you open such a file you have to figure that out and change your TAB setting first (which gets old really fast).
The reason for that is that not all code starts on a TAB boundary, some of them may have a few more spaces (for example where wrapping a function call). Which begins to look nasty when your idea of what a TAB is differs from the author's. And don't say that everyone should use the standard 8-space TAB to fix that problem.
Lots of programs already use TAB for something else, emacs is not the only one. Bash is another one. Any decent command-line interface now uses TAB for auto-completion. I'm sure there are other examples. If TAB were really a character they would just display it instead, I suppose.
Um, no: http://www.jwz.org/doc/tabs-vs-spaces.html
Oh yeah, and that was unsprung mass not sprung, doh.
Probably accelerates like a dog too, given the enormous sprung mass of the rear wheels.
Well Python is a Rapid Application Development (RAD) language. It allows describing the concepts and implementation in a language that's easy to follow and check (kind of like Pascal was being used to describe algorithms which would later be implemented in C).
But nowadays with the shortening of software production cycles, "slower" development languages don't cut it most of the time and Python and the other languages in its class are taking over as not only prototyping but also final design tools.
Python is still evolving though. One thing that I don't like about it is the absence of an option to enforce declaring variables before use, a la "use strict" in Perl. Python does complain if you try to read a non-existent variable (instead of just returning nothing as Perl does), but will create it with an assignment.
Another thing (probably related) is that since applications don't declare what they throw you can never know what exceptions can come from where, which encourages people to use catch-alls (not a good idea).
Finally, a (major ? minor ?) difference is that Python has no class protection per se, it relies on programmer's cooperation in that respect. It also has no class methods/variables although there are workarounds when those are needed.
The indentation is annoying at first but you get used to it, especially when using an IDE that does it correctly for you.
You can allocate more memory than is available. When you try to use all of it your process will get killed.
Most applications today have unnecessary or rarely used portions of code or data - bloat. These get swapped out first. Also there are various memory leaks here and there, which means the programs sometimes forget to release allocated memory they do not need any longer.
Look at the size of your X server, or mozilla, or apache, or pretty much anything else and you will see over the course of a few weeks that it has grown beyond reasonable operation demands.
The memory lost this way is never accessed from there on, but the system cannot release it without the program telling it to, so it does the next best thing and shoves it in the swap. Not a solution since eventually swap gets full, but since the leaks are slow to begin with, at least it prevents them from affecting system performance too early.
When a process tries to eat more RAM than is available, the kernel will not panic and will calmly kill the bad process.
I have a dual-display setup with a 17" Dell LCD and a 19" Sony Trinitron CRT. The desktop spans the two displays nicely aligned at both top and bottom, so as far as I can tell the visible areas are about the same height. The CRT is a bit wider though. Looks like the CRT has a 4/3 form factor like a regular TV, while the LCD has 5/4 like nothing else.
From this news article from yesterday:
And try watching Family Guy or South Park sometime.
I think it is more of a preemptive reaction to the SEC investigation rumours. So that later they could say that they genuinely believed in this, otherwise why would they plan to buy 1.5 million shares.