BASIC on the Atari 400/Commodore 64/ is a better education tool than modern languages because:
1) BASIC has immediate feedback. You can type in a BASIC
statement and execute it immediately.
2) The BASIC UI is minimal. There's nothing but a command line
and something that might be considered a text editor if you
compare it with cat. Nothing else.
3) BASIC has infix syntax. You added numbers together with
a + b, not (+ a b) or a b +. This is not to say it's
an intuitive language but those sorts of things kept the kids
able to do basic (ha ha) sorts of things early on.
4) BASIC gave you easy access to simple raster graphics, keyboard
input and sound. Nothing fancy but you could do noticable
things in one line.
5) The BASIC interpreter owns the machine. There's no multitasker
at all, just the BASIC interpreter. This meant that (among other
things) the screen stays the way it was when you plotted it.
If you want to plot a sine wave using a modern programming
language, you generally need to:
Open a window.
Set it up for graphics.
Write a hook function that plots the sine wave whenever
the window receives a refresh event.
In BASIC, you just plot it and it stays that way until you type
clear.
By the same token, if you want user input, you just read
inkey$ repeatedly. You don't need to process input events or
worry about busywaiting. You just loop-and-read.
6) BASIC is the operating system. Which means that BASIC
programs can bang on the bare metal. They can (and did)
install machine-language programs and then run them, and those
programs did all kinds of things, including tossing away the
BASIC interpreter entirely.
7) If you seriously screw up your computer with a programming
error, you can fix it by turning it off and then turning it
back on. There was no hard drive and you could take the floppy
disk out of the drive before running your program.
8) Oh yeah, and there was a culture of type-in BASIC programs back
then.
This is not to say that BASIC, as a programming language, does not
suck in amazingly profound ways. However, it lets you start doing
simple stuff right away and go from there into learning the
reality of computing.
That being said, there's nothing preventing someone from writing an
equivalent sort of thing that runs off a floppy (or hard drive--why
not) on your old PC. It would probably have less code than that PC's
BIOS but it would get the point across. But if you do, please
design a better language than BASIC.
Also, I think that perhaps the closest thing you can get these days is
Squeak. It's a large, complex system but the entire thing is viewable
and editable all the way down to the machine. The virtual machine,
granted, but there's still a nice path from high-level to low-level.
It's pretty clear that the RIAA's lawsuit strategy is based on forcing
a settlement rather than seeing the case go to court. Furthermore, it
seems like these cases are pretty groundless and the only reason they
keep winning is because it's cheaper to settle than it is to fight.
So that being the case, isn't that barratry? Why hasn't the RIAA been
charged for that?
The best way to stop an RIAA lawsuit in its tracks is to get a lawyer
in the ISP's home state to file a motion to dismiss the suit, right?
So it'd be really useful if there were a directory online of lawyers who can
do that for each state.
It strikes me as easy money all around. The lawyers would make a
couple of hundred bucks a pop for basically filling out some
paperwork, whoever runs the web directory would get part of that from
the lawyers and the poor schmuck who's being sued would end up paying
a couple of hundred in legal fees instead of the thousands it costs to
settle an RIAA lawsuit.
Classical music, perhaps the definitive example of "highbrow", was actually the pop music of the time; it enjoyed widespread popularity amoung all classes.
Not to dispute your original point, but this statement isn't true. Classical music (specifically, symphonic music and opera--the Classical era runs from 1812 to 1900-ish (IIRC, and I may not)) was generally funded by wealthy patrons (i.e. nobility) and performed for them and their guests. Common people's music was ditties that could be played by one or two musicians and sung along to. This is what we now call "folk music". The concept of "pop music" didn't really come about until the early twentieth century when it became possible to distribute recordings.
A better example would probably be literature. Shakespeare, for example, wrote plays that everyone could enjoy. He had dirty jokes for the aristocrats and flowerly language for the peasants.
I know nothing about the film industry, but hey, this is Slashdot.
When has that ever stopped anyone?
My theory is that it's the cost. Movie studios make a small number of
very expensive movies each year, so their survival depends on those
movies being hits. Since more money spent on the movie increases its
chances of doing well (at least, that's the theory), studios aren't
too worried about spending even more on an already expensive
movie to improve the odds, leading to even higher production costs.
This whole eggs-in-one-basket approach makes studio types very,
very, very cautious about what they're going to do. So, they
try to be safe. They use big name stars (because those worked
before), they use big name directors (ditto), they make sequels to
movies that worked or they adapt TV shows or (occasionally) books that
sold really well because all of those are known quantities. They
already have an existing audience.
Then, there's the whole blame-deflecting game. If a big movie flops,
the people who made it get their careers damaged. After all, they've
cost their studio hundreds of millions of dollars. So, producers
bring in lots of people on the theory that if it fails, they can blame
the underlings. And they use focus groups to further spread the
blame, because if the focus groups okayed it, they were justified in
making those changes, right?
The result is mediocre. It's what you get when you have too many
cooks and you try very hard not to offend anyone.
That's why the movies that are good were either 1) made by a
director whose name is so big that he can tell the studio to leave him
alone and they will or 2) has such a low budget that they don't really
care if it flops.
The same goes for Stargate (any version), Firefly, and
Enterprise
Yeah, I see your point.
or even the new Dr. Who.
Die, heretic!!!!!111!!!!one!!
Er, but seriously, the new Dr. Who has among the best writing on TV
these days. So does Firefly. (And the old Dr. Who, but I digress.)
They're all shows worth watching. (But I gave up on Enterprise a long
time ago and never even started Stargate so I won't comment on them.)
I agree that BG is an amazing SF show, but it has its own failings.
The whole Dee/Billy/Lee and Lee/Starbuck/Anders relationships had
twists that just came out of nowhere and were completely out of
character. B5 managed the long story arc a whole lot better.
Also, BG makes the occasional technological howler (the water episode,
for example) that Harlan Ellison would have caught on B5.
On the minus side, JMS's dialog skills are a bit weak and the
production values are pretty low by today's standards. But I can live
with that, in the same way I put up with the quirks on the other
shows.
I mean, it's not like I have to swear lifelong devotion to one series
and ignore all the others.
Suppose the Orion project costs ten billion dollars a year for the next ten years. That comes to $30 per person per year. Don't you think, just in terms of pure entertainment, that it's worth thirty bucks a year to watch people walk on the frickin' moon? In HDTV this time?
Except for your passwords, your banking details, your credit card numbers, your social-security number, your address, where you keep your valuables, the times you're likely to carry a lot of cash, where you park your car, the routes you drive home and which dark alleys you favour. Or where your kids go to school, when they're likely to be home alone, what kind of candy they like, how attactive to pedophiles they are, what back ways there are into your house.
The most innocent, good person in the world has things to hide and the government has shown itself time and time again to be completely incompetent at keeping your secrets safe.
I tried to sign my own permission form for a field trip
My high school let adult students sign their own forms. This was
occasionally entertaining.
In my second last year of high school, the principal decided to crack
down on people skipping class and instituted a new policy requiring a
note from your parent or guardian for every absence. Of course,
if you were over 18, you could write your own notes.
One day, the guy beside me skipped English class (leaving me in the
lurch for a presentation we needed to do, BTW). Next class, he
brought in a note which he, being 18, had written himself. It read
(more or less):
Dear $TEACHER,
Please excuse my absence. I was in Cambodia rescuing POWs.
Sincerely,
$STUDENT
PS. Sly says "yo".
This may or may not prove your principal's point.
Actually, it proves nothing. I just wanted to tell a story.
I've never used either JSP or Ruby on Rails, so I can't make any kind
of informed comparision. I have, however, done some stuff with
Seaside and the article focusses on the HTML generation aspect of it
and completely misses what makes Seaside great.
Seaside's HTML generator is (IMHO) kind of clunky, actually.
Something like PHP, where you embed the code in an HTML file, is
cleaner and simpler. But, if you need Seaside, the HTML generation is
going to be a small part of your application.
What makes Seaside so utterly cool is that the back button works.
Let me explain:
In Seaside, you generate your page programmatically and you specify
what happens when a link is clicked or a button pressed via a
callback.
For example:
html
anchorWithAction: [self increase]
text: '++'.
creates a link. The stuff between the square brackets gets executed
when the user clicks the link. In the above example, the current page
just gets refreshed. If you want to go to another page, you'd use the
"call:" method:
html anchorWithAction: [self call: OtherPage new]
text: 'Some other page'.
Called components can also return values, so you can call out to
another page, get a result and use it in your action:
So hopefully from this, you can see that Seaside works sort of like a
boring GUI toolkit. You design the screens and add callbacks to the
controls. When the user clicks on a link or presses a button, the
associated callback gets invoked.
This would be pretty simple for all concerned were it not for that
pesky back button. In the final example, the callback first takes the
user to another page (a ColorPicker component) and then, when the user
selects "Okay" in that, returns the result and passes it to
"setBackgroundColor:".
But what if the user hits the back key while in the ColorPicker? This
happens right in the middle of the callback. Can Seaside unwind the
entire callback?
Yes, it can. Backing out Just Works.
But, I hear you say, what if there's information I don't want unwound?
Say, a shopping cart?
Simple. You can tell Seaside which objects don't change after a
backout.
Aside from the back button, you also get access to your entire
programming system in the framework so you can do some pretty powerful
things in between those square brackets.
Also, the web server is part of the system so you can bypass the
framework and do lower-level stuff. For example, I once wrote an
image generator. It analyzed its URL, generated the appropriate GIF
and returned it.
Plus, of course, it's written in Smalltalk which is the greatest
programming language ever;-).
According to
this article, the problem is that newspapers tailor their content
to wealthier people and exclude the poor. Thus, the only news sources
of interest to poor(er) people is TV, which is more effective at
manipulation. Written news will, by its nature, appeal to human
capacity for reason.
(I'm not sure if I buy that last point, but it does seem to
fit the facts.)
Also, propaganda is not very effective if you can answer back to
it. It's all about telling subtle lies and if people can call bullshit then and there,
it loses a lot of its effectiveness.
A well-run wiki would be, I think, mostly immune to propaganda.
Maybe I'm overly optimistic here, but I think this might solve some
problems if we can get lots of people from every strata of
society to use it.
If the customer was so fucking savvy about linux, why is he wasting everybodys time in the store?
It's to make the sales person go away. Happens to me all the time.
I'll be browsing in some electronics store minding my own business and checking the prices on stuff when some pushy salescritter will come up to me and say, "Can I help you, sir?" shattering my concentration and general sense of peace.
So I say, "I'm looking for a $THING, but it needs to work with Linux." At which point, they mutter something about how they don't know and slink away, leaving me in peace.
Occasionally, this backfires and I hear some ludicrous lies, but those can be entertaining too so really, it's a win either way.
'Did he enter seven digits or eight?' Well, to tell you the truth, in all this excitement I kind of lost track myself. But being as this is a.44 Magnum, the most powerful handgun in the world, and would blow your head clean off, you've got to ask yourself a question: Do I feel lucky?
Plus, it runs nicely under Qemu. I keep a copy on my Fedora box to test the apps I'm writing for cross-distribution portability.
(The distribution at the linked website weights in at about 200Mb including multiple emulators. That's still small enough to fit on an inexpensive USB key but presumably, there are ways to trim it down.)
Who would've thought that Flash will become the most popular
vehicle for delivering video on the Internet?
Me?
It was pretty clear the first time I watched a Flash video. Normally,
when I watch video on a website, the procedure goes something like
this:
Click on the link with Opera under Linux.
Read the error message.
Curse.
Try the download the video. Notice that the link is a
Javascript call. Curse again.
Switch to a Windows system.
Go the the website with Opera.
Read the condescending error message. Curse again.
Hold breath, pray, crank the firewall to 11 and sprinkle holy
water on the computer. Then visit the website with IE. Get to
the actual video viewer (yay!) and get told that I need to
upgrade my versions of Windows Media Player.
Run Windows Update. Try again. Still doesn't work.
Go to Microsoft's website and discover that the required
version of WMP won't work on my version of Windows.
Go back to the Linux PC. Download the Javascript, load it into
xemacs and fix the indentation so that it's actually readable.
Read the code and extract the URL of the video file itself.
Fetch the video file with wget.
Run Xine on it. Watch Xine fail to play it. Curse.
Start up xaumix to revert my audio settings to something
reasonable again.
Run mplayer on the video. Notice that it works. Faint.
Do little victory dance.
Watch the video. Conclude that it really wasn't worth the
hassle.
Flash, on the other hand, Just Works. Or if it doesn't, that's the
end of it and I have to wait for Flash 8.5 for Linux. There's none of
this futzing around to try to find the right combination of player, OS
and codec.
(Yes, I exaggerated the difficulties. No, I didn't exaggerate them
very much.)
I'm a Unix/C/Perl/Python/Smalltalk type of guy. However, a few months
back, we needed a small, interactive Windows-based program and the
only thing available to me was VB 5 so that's what I used.
My thoughts:
From the documentation and the nature of the IDE, I get the
impression that VB is aimed at non-technical users. It's
designed to let (mostly-) non-programmers write useful programs.
So, for example, although I found a good overview of looping in
the manual, I had a hard time finding out the order in which
window-close events were processed.
VB is designed for small programs. You design a GUI, then
hook activity to it. The GUI design part is dead easy, as is
hooking code to the GUI parts. If your program doesn't have any
complicated business logic, you're done then.
In my case, it was like that. I just needed to write a GUI that
talked to a DLL. It took me maybe half a day to get that up and
running. Of course, it turned out that the DLL needed much more
glue code than I'd initially thought and it took me something
like a week to get that written and debugged.
I found that the IDE was great for quick GUI development and
began to fight me when I tried to do anything bigger.
VB is very good at interfacing with Windows components. It
has the most seamless method of linking to DLLs that I've seen
in a non-C language. It also lets you embed COM objects (which
I've never tried or needed, but it's there) in a really simple
way.
If your program mostly consists of external DLLs and COM
objects, VB is probably for you.
You're stuck with the IDE, which makes GUI development easy but
just gets in the way when you do plain coding. (You can
edit your sources with your favourite external editor, but you
can't rebuild your program from it so I don't think that's a
viable option.)
You can't automate your build process, regression tests, etc.
You can do conditional compilation but you need to set the
conditions in the build dialog, so, say, automatically building
both a debug and a production version at the same time is out of
the question.
VB isn't standardised and is controlled by a single vendor.
Said vendor has already end-of-lifed VB once and left thousands
of customers stranded. Who's to say they won't do it again?
VB is Windows-only. You will never be able to move to another
platform if you use VB.
In conclusion, I think VB is the Windows equivalent to shell
scripting. It's really nice if you're writing small, simple programs
that connect more complicated components together but it will fight
you the moment you try to do anything more complicated than that.
I'm currently working on the followup to this project and I'm doing it
in wxPython with wxGlade and cx_Freeze. That combination has its own
problems but it's much better got developing larger, more complicated
programs.
I believe that unauthorized downloading is wrong (with some caveats) but the music and movie industries long ago burned out any sympathy I had for them.
I get a lot of entertainment just from reading those responses to the legal threats.
If the Pirate Bay raises the entertainment executives' blood pressure and cuts into their cocaine budget, more power to 'em. I just hope that any resulting conniptions get filmed and distributed, preferable by BitTorrent.
If you squeeze in a wedge of lemon, diet cola tastes tolerable.
Coffee is a better source of caffeine than soda.
If you avoid using caffeine regularly, not only will you feel just as awake as you would have if you weren't (once your body has adjusted) but when you do drink coffee (or your preferred caffeine-based beverage), it works.
Most of the time, a water cooler and a large glass is all you need.
When you tell people this sort of stuff, they don't listen. If you repeat it over and over again, they get really irritable. I blame the caffeine.
The only time businesses care about you is when you spend your money on their products and services.
Optimist.
BASIC on the Atari 400/Commodore 64/ is a better education tool than modern languages because:
1) BASIC has immediate feedback. You can type in a BASIC statement and execute it immediately.
2) The BASIC UI is minimal. There's nothing but a command line and something that might be considered a text editor if you compare it with cat. Nothing else.
3) BASIC has infix syntax. You added numbers together with a + b, not (+ a b) or a b +. This is not to say it's an intuitive language but those sorts of things kept the kids able to do basic (ha ha) sorts of things early on.
4) BASIC gave you easy access to simple raster graphics, keyboard input and sound. Nothing fancy but you could do noticable things in one line.
5) The BASIC interpreter owns the machine. There's no multitasker at all, just the BASIC interpreter. This meant that (among other things) the screen stays the way it was when you plotted it.
If you want to plot a sine wave using a modern programming language, you generally need to:
In BASIC, you just plot it and it stays that way until you type clear.
By the same token, if you want user input, you just read inkey$ repeatedly. You don't need to process input events or worry about busywaiting. You just loop-and-read.
6) BASIC is the operating system. Which means that BASIC programs can bang on the bare metal. They can (and did) install machine-language programs and then run them, and those programs did all kinds of things, including tossing away the BASIC interpreter entirely.
7) If you seriously screw up your computer with a programming error, you can fix it by turning it off and then turning it back on. There was no hard drive and you could take the floppy disk out of the drive before running your program.
8) Oh yeah, and there was a culture of type-in BASIC programs back then.
This is not to say that BASIC, as a programming language, does not suck in amazingly profound ways. However, it lets you start doing simple stuff right away and go from there into learning the reality of computing.
That being said, there's nothing preventing someone from writing an equivalent sort of thing that runs off a floppy (or hard drive--why not) on your old PC. It would probably have less code than that PC's BIOS but it would get the point across. But if you do, please design a better language than BASIC.
Also, I think that perhaps the closest thing you can get these days is Squeak. It's a large, complex system but the entire thing is viewable and editable all the way down to the machine. The virtual machine, granted, but there's still a nice path from high-level to low-level.
It's pretty clear that the RIAA's lawsuit strategy is based on forcing a settlement rather than seeing the case go to court. Furthermore, it seems like these cases are pretty groundless and the only reason they keep winning is because it's cheaper to settle than it is to fight.
So that being the case, isn't that barratry? Why hasn't the RIAA been charged for that?
I used to go to the gym 3-5 times a week on my way home from work until a manager complained I was only spending 8-9 hours a day working.
So you updated your resume and found a job working for sane people, right?
The best way to stop an RIAA lawsuit in its tracks is to get a lawyer in the ISP's home state to file a motion to dismiss the suit, right? So it'd be really useful if there were a directory online of lawyers who can do that for each state.
It strikes me as easy money all around. The lawyers would make a couple of hundred bucks a pop for basically filling out some paperwork, whoever runs the web directory would get part of that from the lawyers and the poor schmuck who's being sued would end up paying a couple of hundred in legal fees instead of the thousands it costs to settle an RIAA lawsuit.
I'm just surprised nobody's done it yet.
Classical music, perhaps the definitive example of "highbrow", was actually the pop music of the time; it enjoyed widespread popularity amoung all classes.
Not to dispute your original point, but this statement isn't true. Classical music (specifically, symphonic music and opera--the Classical era runs from 1812 to 1900-ish (IIRC, and I may not)) was generally funded by wealthy patrons (i.e. nobility) and performed for them and their guests. Common people's music was ditties that could be played by one or two musicians and sung along to. This is what we now call "folk music". The concept of "pop music" didn't really come about until the early twentieth century when it became possible to distribute recordings.
A better example would probably be literature. Shakespeare, for example, wrote plays that everyone could enjoy. He had dirty jokes for the aristocrats and flowerly language for the peasants.
I know nothing about the film industry, but hey, this is Slashdot. When has that ever stopped anyone?
My theory is that it's the cost. Movie studios make a small number of very expensive movies each year, so their survival depends on those movies being hits. Since more money spent on the movie increases its chances of doing well (at least, that's the theory), studios aren't too worried about spending even more on an already expensive movie to improve the odds, leading to even higher production costs.
This whole eggs-in-one-basket approach makes studio types very, very, very cautious about what they're going to do. So, they try to be safe. They use big name stars (because those worked before), they use big name directors (ditto), they make sequels to movies that worked or they adapt TV shows or (occasionally) books that sold really well because all of those are known quantities. They already have an existing audience.
Then, there's the whole blame-deflecting game. If a big movie flops, the people who made it get their careers damaged. After all, they've cost their studio hundreds of millions of dollars. So, producers bring in lots of people on the theory that if it fails, they can blame the underlings. And they use focus groups to further spread the blame, because if the focus groups okayed it, they were justified in making those changes, right?
The result is mediocre. It's what you get when you have too many cooks and you try very hard not to offend anyone.
That's why the movies that are good were either 1) made by a director whose name is so big that he can tell the studio to leave him alone and they will or 2) has such a low budget that they don't really care if it flops.
The same goes for Stargate (any version), Firefly, and Enterprise
Yeah, I see your point.
or even the new Dr. Who.
Die, heretic!!!!!111!!!!one!!
Er, but seriously, the new Dr. Who has among the best writing on TV these days. So does Firefly. (And the old Dr. Who, but I digress.) They're all shows worth watching. (But I gave up on Enterprise a long time ago and never even started Stargate so I won't comment on them.)
I agree that BG is an amazing SF show, but it has its own failings. The whole Dee/Billy/Lee and Lee/Starbuck/Anders relationships had twists that just came out of nowhere and were completely out of character. B5 managed the long story arc a whole lot better.
Also, BG makes the occasional technological howler (the water episode, for example) that Harlan Ellison would have caught on B5.
On the minus side, JMS's dialog skills are a bit weak and the production values are pretty low by today's standards. But I can live with that, in the same way I put up with the quirks on the other shows.
I mean, it's not like I have to swear lifelong devotion to one series and ignore all the others.
Wow! That's an astoundingly good idea. Too bad I don't have any mod points today.
Look at it this way:
Suppose the Orion project costs ten billion dollars a year for the next ten years. That comes to $30 per person per year. Don't you think, just in terms of pure entertainment, that it's worth thirty bucks a year to watch people walk on the frickin' moon? In HDTV this time?
I have nothing to hide.
Except for your passwords, your banking details, your credit card numbers, your social-security number, your address, where you keep your valuables, the times you're likely to carry a lot of cash, where you park your car, the routes you drive home and which dark alleys you favour. Or where your kids go to school, when they're likely to be home alone, what kind of candy they like, how attactive to pedophiles they are, what back ways there are into your house.
The most innocent, good person in the world has things to hide and the government has shown itself time and time again to be completely incompetent at keeping your secrets safe.
I tried to sign my own permission form for a field trip
My high school let adult students sign their own forms. This was occasionally entertaining.
In my second last year of high school, the principal decided to crack down on people skipping class and instituted a new policy requiring a note from your parent or guardian for every absence. Of course, if you were over 18, you could write your own notes.
One day, the guy beside me skipped English class (leaving me in the lurch for a presentation we needed to do, BTW). Next class, he brought in a note which he, being 18, had written himself. It read (more or less):
Dear $TEACHER,Please excuse my absence. I was in Cambodia rescuing POWs.
Sincerely,
$STUDENT
PS. Sly says "yo".
This may or may not prove your principal's point.
Actually, it proves nothing. I just wanted to tell a story.
I've never used either JSP or Ruby on Rails, so I can't make any kind of informed comparision. I have, however, done some stuff with Seaside and the article focusses on the HTML generation aspect of it and completely misses what makes Seaside great.
Seaside's HTML generator is (IMHO) kind of clunky, actually. Something like PHP, where you embed the code in an HTML file, is cleaner and simpler. But, if you need Seaside, the HTML generation is going to be a small part of your application.
What makes Seaside so utterly cool is that the back button works.
Let me explain:
In Seaside, you generate your page programmatically and you specify what happens when a link is clicked or a button pressed via a callback.
For example:
html anchorWithAction: [self increase] text: '++'.creates a link. The stuff between the square brackets gets executed when the user clicks the link. In the above example, the current page just gets refreshed. If you want to go to another page, you'd use the "call:" method:
html anchorWithAction: [self call: OtherPage new] text: 'Some other page'.Called components can also return values, so you can call out to another page, get a result and use it in your action:
html anchorWithAction: [self setBackgroundColor: (self call: ColorPicker new)] text: 'Change background color'.So hopefully from this, you can see that Seaside works sort of like a boring GUI toolkit. You design the screens and add callbacks to the controls. When the user clicks on a link or presses a button, the associated callback gets invoked.
This would be pretty simple for all concerned were it not for that pesky back button. In the final example, the callback first takes the user to another page (a ColorPicker component) and then, when the user selects "Okay" in that, returns the result and passes it to "setBackgroundColor:".
But what if the user hits the back key while in the ColorPicker? This happens right in the middle of the callback. Can Seaside unwind the entire callback?
Yes, it can. Backing out Just Works.
But, I hear you say, what if there's information I don't want unwound? Say, a shopping cart?
Simple. You can tell Seaside which objects don't change after a backout.
Aside from the back button, you also get access to your entire programming system in the framework so you can do some pretty powerful things in between those square brackets.
Also, the web server is part of the system so you can bypass the framework and do lower-level stuff. For example, I once wrote an image generator. It analyzed its URL, generated the appropriate GIF and returned it.
Plus, of course, it's written in Smalltalk which is the greatest programming language ever ;-).
In a word, mostly propaganda.
According to this article, the problem is that newspapers tailor their content to wealthier people and exclude the poor. Thus, the only news sources of interest to poor(er) people is TV, which is more effective at manipulation. Written news will, by its nature, appeal to human capacity for reason.
(I'm not sure if I buy that last point, but it does seem to fit the facts.)
Also, propaganda is not very effective if you can answer back to it. It's all about telling subtle lies and if people can call bullshit then and there, it loses a lot of its effectiveness.
A well-run wiki would be, I think, mostly immune to propaganda. Maybe I'm overly optimistic here, but I think this might solve some problems if we can get lots of people from every strata of society to use it.
If the customer was so fucking savvy about linux, why is he wasting everybodys time in the store?
It's to make the sales person go away. Happens to me all the time.
I'll be browsing in some electronics store minding my own business and checking the prices on stuff when some pushy salescritter will come up to me and say, "Can I help you, sir?" shattering my concentration and general sense of peace.
So I say, "I'm looking for a $THING, but it needs to work with Linux." At which point, they mutter something about how they don't know and slink away, leaving me in peace.
Occasionally, this backfires and I hear some ludicrous lies, but those can be entertaining too so really, it's a win either way.
'Did he enter seven digits or eight?' Well, to tell you the truth, in all this excitement I kind of lost track myself. But being as this is a .44 Magnum, the most powerful handgun in the world, and would blow your head clean off, you've got to ask yourself a question: Do I feel lucky?
Well, do ya, punk?
Plus, it runs nicely under Qemu. I keep a copy on my Fedora box to test the apps I'm writing for cross-distribution portability.
(The distribution at the linked website weights in at about 200Mb including multiple emulators. That's still small enough to fit on an inexpensive USB key but presumably, there are ways to trim it down.)
How many of you just couldn't resist clicking on the parent's home page?]
I admit, I took a look.
But only to read the articles.
Who would've thought that Flash will become the most popular vehicle for delivering video on the Internet?
Me?
It was pretty clear the first time I watched a Flash video. Normally, when I watch video on a website, the procedure goes something like this:
Click on the link with Opera under Linux.
Read the error message.
Curse.
Try the download the video. Notice that the link is a Javascript call. Curse again.
Switch to a Windows system.
Go the the website with Opera.
Read the condescending error message. Curse again.
Hold breath, pray, crank the firewall to 11 and sprinkle holy water on the computer. Then visit the website with IE. Get to the actual video viewer (yay!) and get told that I need to upgrade my versions of Windows Media Player.
Run Windows Update. Try again. Still doesn't work.
Go to Microsoft's website and discover that the required version of WMP won't work on my version of Windows.
Go back to the Linux PC. Download the Javascript, load it into xemacs and fix the indentation so that it's actually readable. Read the code and extract the URL of the video file itself.
Fetch the video file with wget.
Run Xine on it. Watch Xine fail to play it. Curse.
Start up xaumix to revert my audio settings to something reasonable again.
Run mplayer on the video. Notice that it works. Faint.
Do little victory dance.
Watch the video. Conclude that it really wasn't worth the hassle.
Flash, on the other hand, Just Works. Or if it doesn't, that's the end of it and I have to wait for Flash 8.5 for Linux. There's none of this futzing around to try to find the right combination of player, OS and codec.
(Yes, I exaggerated the difficulties. No, I didn't exaggerate them very much.)
I'm a Unix/C/Perl/Python/Smalltalk type of guy. However, a few months back, we needed a small, interactive Windows-based program and the only thing available to me was VB 5 so that's what I used.
My thoughts:
From the documentation and the nature of the IDE, I get the impression that VB is aimed at non-technical users. It's designed to let (mostly-) non-programmers write useful programs. So, for example, although I found a good overview of looping in the manual, I had a hard time finding out the order in which window-close events were processed.
VB is designed for small programs. You design a GUI, then hook activity to it. The GUI design part is dead easy, as is hooking code to the GUI parts. If your program doesn't have any complicated business logic, you're done then.
In my case, it was like that. I just needed to write a GUI that talked to a DLL. It took me maybe half a day to get that up and running. Of course, it turned out that the DLL needed much more glue code than I'd initially thought and it took me something like a week to get that written and debugged.
I found that the IDE was great for quick GUI development and began to fight me when I tried to do anything bigger.
VB is very good at interfacing with Windows components. It has the most seamless method of linking to DLLs that I've seen in a non-C language. It also lets you embed COM objects (which I've never tried or needed, but it's there) in a really simple way.
If your program mostly consists of external DLLs and COM objects, VB is probably for you.
You're stuck with the IDE, which makes GUI development easy but just gets in the way when you do plain coding. (You can edit your sources with your favourite external editor, but you can't rebuild your program from it so I don't think that's a viable option.)
You can't automate your build process, regression tests, etc. You can do conditional compilation but you need to set the conditions in the build dialog, so, say, automatically building both a debug and a production version at the same time is out of the question.
VB isn't standardised and is controlled by a single vendor. Said vendor has already end-of-lifed VB once and left thousands of customers stranded. Who's to say they won't do it again?
VB is Windows-only. You will never be able to move to another platform if you use VB.
In conclusion, I think VB is the Windows equivalent to shell scripting. It's really nice if you're writing small, simple programs that connect more complicated components together but it will fight you the moment you try to do anything more complicated than that.
I'm currently working on the followup to this project and I'm doing it in wxPython with wxGlade and cx_Freeze. That combination has its own problems but it's much better got developing larger, more complicated programs.
And entertaining.
I believe that unauthorized downloading is wrong (with some caveats) but the music and movie industries long ago burned out any sympathy I had for them. I get a lot of entertainment just from reading those responses to the legal threats.
If the Pirate Bay raises the entertainment executives' blood pressure and cuts into their cocaine budget, more power to 'em. I just hope that any resulting conniptions get filmed and distributed, preferable by BitTorrent.
Yeah, but we've had hot air over IP since the early days of USENET and you can run a turbine off of that.
You can always:
That sometimes works for me.
Can anyone here name any Microsoft product that lived up to its hype? Anyone?
And no, Freecell doesn't count.