How did your move from software to chip design of an graphics processor, that had an ARM added on to become the Pi, come about? Do you think more coders, especially those adept at assembler, should cross the bridge to Verilog and VHDL?
No, polls done after Brexit consistently show the prime reason for over 50% of those that voted Leave was sovereignty; for one's elected parliament to have control over its laws. Immigration rules was the prime reason for about 30%.
Hi whipslash, Great job you're doing. Obviously, all these small improvements will take time, but here's another for your list.
I receive the daily digest email, and then visit selected stories based on its content. Over the years this email format has been mucked with for the worse. Making it multipart/alternative with text/plain and text/html was OK, once all the bugs were fixed, but the text/plain's content is still poor. (I don't read the text/html so that could be as bad.) Poorly organised, information missing that would help when the headline doesn't give a clue as to the topic, etc. If you want detailed suggestions then I'm happy to correspond.
> given that it's possible under gmail to register very > similar email addresses (with and without "." in them)
Have you succeeded in doing that? AFAIK foo.bar@gmail.com also receives email for foobar and f.o.o.b.a.r and always has done. I know this because I thought I should nab the dot-less version when initially registering with them and was puzzled that it had "already gone". Yes, it had, because I'd just registered the dot-full version.
Well said WRT USA. It amused me how Bush declared a "war on terrorism", then the IRA was mentioned and for a few days it was a "war on international terrorism" instead.
It's an encrypted cloud-backup service rather than plain cloud-storage, but http://tarsnap.com/ makes the client's source available for your inspection.
I suspect what's being recalled is that, thanks to the keyboard entry model, the new line being entered, or the existing line being edited, was never in a de-tokenised state. The programmer did the work of the tokeniser by entering the bytecode in a context-sensitive fashion. The cursor was an inverted K when in keyword state, pressing P then entered the bytecode for PRINT. Given it came from the 1KiB ZX80 and ZX81, not needing the memory for the detokenised form of the current line was a big saving.
Also, it's ARMv6 which Ubuntu has supported for some time now, so I think that's another reason why other distros are getting a look-in, e.g. Debian and Fedora.
Wonder if Ubuntu are thinking maybe ARMv6 is worth supporting after all if millions of kids are going to get their hands on a Raspberry Pi?
Have each camera note time and number plate. Have known distances between cameras. Work out average speed the car must have travelled. If above limit then fine driver. No radar required.
Two spaces is definitely correct.It makes a visual distinction that the brain trains in on.An alternative to the horrible trick, which fails when it falls at the end of a right-aligned line, is Unicode's wide range of spaces.
To be. Or not to be. That is the question.
To be.Or not to be.That is the question.
(It seems typical of Slashdot's decline that it fails to render ߓ correctly. Nerds would care about such things.)
The pthreads model is a pain to program with. Have a look at Russ Cox's summary of CSP-style multiprocessing. Google's Go uses it, as did Bell Labs' Alef, Limbo, etc.
Nice to see someone point out paedophiles like pre-pubescents. Wikipedia explains quite well the differences between pedophilia, hebephilia, and ephebophilia. It's a shame the media has corrupted the terms.
Whilst you're correct about the value of the "Old Ways", your old ways are new fangled to some of us. We've edited stuff "blind" over a serial link using ed(1), not vim. You can get a surprisingly long way using... && echo too.
Any discussion of parallel programming would benefit from have read and understood the resources and history covered by Russ Cox at http://swtch.com/~rsc/thread/
Others by Brian Kernighan if you like _The Practice of Programming_. _The Unix Programming Environment_, also with Rob Pike, gets across the philosophy of how Unix is meant to be used, covering a bit of shell, awk, C, yacc, etc. _Software Tools_, with Plauger, writes many of the well-known Unix programs in Ratfor (a better Fortran), including the ratfor preprocessor that turns ratfor source into Fortran. Make sure you get the Fortran version and not the Pascal one; that caused bwk to write his infamous _Why Pascal is not my Favourite Programming Language_. Also with Plauger, _The Elements of Programming Style_. This, modelled on Strunk and White, takes real-life poor examples of code and critiques them. _The Awk Programming Language_ is a nice slim tome that uses awk to do lots of interesting things.
Other Bell Labs authors are also excellent. You must surely have _Programming Pearls_ and _More Programming Pearls_ by Jon Bentley. (Nothing to do with perl(1).) And he's got _Writing Efficient Programs_ out now too.
I was working on Air Traffic Control software at a sub-contractor and dismayed at how the company had recruited Ada/VMS programmers to program C with X Windows/Motif on Unix, since they had no knowledge of common C programming flaws, or even handling pointers. Together with being given the "dead wood" employees of a sister company sharing the same site to save on redundancy costs it wasn't a good start. Coupled with this was the shoddy quality control practices that management were complicit with.
A contractor who Barked out hundreds of SLOC in a short time, thanks to poorly structured code that needed re-factoring, would be praised and given a rise and the next piece of work. That his was some of the most buggy code and didn't meet the spec. in many ways was ignored. Others would be given his crap to fix when a week later the problems came to light in testing; management wouldn't pull him off the new piece to do it. Time and time again this was repeated.
Fagan Inspections were mandatory. But few programmers put much effort into them; as long as they could find a spelling mistake or two in a comment to validate their "claimed" one hour preperation time management was happy.
The testing tested only the positive outcomes; did X happen when Y occurred? Good. Did X happen at any other times? Who cares.
So I added a new image to the existing set. I called it "ignored". It was a plane buried nose-first in the ground, smoke rising from it, with a little parachutist floating above. You'd think that might stand out in ATC software. I added code to display it under certain conditions; all the relevant variable names followed the rest of the code but with "ignored" instead of "foo". The image went, with all the others, through Fagan Inspection and was, theoretically, checked against a spec. picture that didn't exist. The code was inspected a line at a time, including, theoretically, against the spec. that gave the logic for when the picture should appear. And the end result went through run-time testing by a large test team against test plans.
It wasn't discovered. Ever.
Finally, after many months, when I was about to leave I pointed out it was there. It was removed and no one complained that I'd done it. They all knew too well that it showed my verbal complaints about the process were valid; they just wanted it swept under the carpet.
Today, that ATC system is controlling the airspace in and out of a major Western country with some of the busiest airways in the world. Oh, and we had a project football team. It was called "Go By Boat".
Some nice ones there. But you can use !* instead of !!*. And if you suffix a:p the concocted history command will be printed instead of executed. The -1 in ls -1 >foo is redundant, ls doesn't do columns if stdout isn't a tty. mv `cat foo`/path/dest is an easier case when, like you suggest, they're all going to the same place.
Couldn't agree more. And it is GNU's fault with its insistence on info that's led to the demise in decent man pages. It was *normal* to learn Unix from the man pages alone back when I learnt it; there was little else. Even later, some good man pages kept up the tradition, e.g. I learnt Perl from the single perl(1) back before it split.
It's a shame if Gmail doesn't reject email that fails an SPF check. They certainly add a correct Received-SPF header with the results of the check and that's mentioned again in the Authentication-Results header, so maybe they do use it now.
Anyway, Gmail aren't the only receivers of email out there, and I've found adding SPF for my domains has helped cut backscatter spam.
All most exploits would have to do to brick a PC is to set the ATA security password on the hard drive to something random that's instantly discarded. Done right, only the master password for the drive would unlock the drive after having done a security format first, wiping all data. And most users don't have the master password so they'd have to attempt to get it, based on their drive's serial number, from their PC manufacturer or hard drive vendor. It bricks the hard drive in most cases because getting the master password is so awkward.
Communication channels are the right way to tackle this. Bell Labs had the right idea. See http://swtch.com/~rsc/thread/ and the slides at http://www.cs.kent.ac.uk/teaching/07/modules/CO/6/31/slides/ if you have an inquisative mind. For the slides, read them in this order: motivation.pdf -- just pages 1-39, basics.pdf, applying.pdf, choice.pdf, replicators.pdf, protocol.pdf, shared-etc.pdf.
How did your move from software to chip design of an graphics processor, that had an ARM added on to become the Pi, come about? Do you think more coders, especially those adept at assembler, should cross the bridge to Verilog and VHDL?
No, polls done after Brexit consistently show the prime reason for over 50% of those that voted Leave was sovereignty; for one's elected parliament to have control over its laws. Immigration rules was the prime reason for about 30%.
Hi whipslash, Great job you're doing. Obviously, all these small improvements will take time, but here's another for your list.
I receive the daily digest email, and then visit selected stories based on its content. Over the years this email format has been mucked with for the worse. Making it multipart/alternative with text/plain and text/html was OK, once all the bugs were fixed, but the text/plain's content is still poor. (I don't read the text/html so that could be as bad.) Poorly organised, information missing that would help when the headline doesn't give a clue as to the topic, etc. If you want detailed suggestions then I'm happy to correspond.
> given that it's possible under gmail to register very
> similar email addresses (with and without "." in them)
Have you succeeded in doing that? AFAIK foo.bar@gmail.com also receives email for foobar and f.o.o.b.a.r and always has done. I know this because I thought I should nab the dot-less version when initially registering with them and was puzzled that it had "already gone". Yes, it had, because I'd just registered the dot-full version.
Well said WRT USA. It amused me how Bush declared a "war on terrorism", then the IRA was mentioned and for a few days it was a "war on international terrorism" instead.
shopt -s nocasematch
for s in ${subs[@]}; do
[[ $s != *bitcoin* ]] && post "$s"
done
It's an encrypted cloud-backup service rather than plain cloud-storage, but http://tarsnap.com/ makes the client's source available for your inspection.
I suspect what's being recalled is that, thanks to the keyboard entry model, the new line being entered, or the existing line being edited, was never in a de-tokenised state. The programmer did the work of the tokeniser by entering the bytecode in a context-sensitive fashion. The cursor was an inverted K when in keyword state, pressing P then entered the bytecode for PRINT. Given it came from the 1KiB ZX80 and ZX81, not needing the memory for the detokenised form of the current line was a big saving.
Also, it's ARMv6 which Ubuntu has supported for some time now, so I think that's another reason why other distros are getting a look-in, e.g. Debian and Fedora.
Wonder if Ubuntu are thinking maybe ARMv6 is worth supporting after all if millions of kids are going to get their hands on a Raspberry Pi?
Have each camera note time and number plate. Have known distances between cameras. Work out average speed the car must have travelled. If above limit then fine driver. No radar required.
Two spaces is definitely correct.It makes a visual distinction that the brain trains in on.An alternative to the horrible trick, which fails when it falls at the end of a right-aligned line, is Unicode's wide range of spaces.
To be. Or not to be. That is the question.
To be.Or not to be.That is the question.
(It seems typical of Slashdot's decline that it fails to render ߓ correctly. Nerds would care about such things.)
The pthreads model is a pain to program with. Have a look at Russ Cox's summary of CSP-style multiprocessing. Google's Go uses it, as did Bell Labs' Alef, Limbo, etc.
Nice to see someone point out paedophiles like pre-pubescents. Wikipedia explains quite well the differences between pedophilia, hebephilia, and ephebophilia. It's a shame the media has corrupted the terms.
Whilst you're correct about the value of the "Old Ways", your old ways are new fangled to some of us. We've edited stuff "blind" over a serial link using ed(1), not vim. You can get a surprisingly long way using ... && echo too.
Any discussion of parallel programming would benefit from have read and understood the resources and history covered by Russ Cox at http://swtch.com/~rsc/thread/
Firefox 3 doesn't display JPEGs without massive banding effects on a 16bpp X display. https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/249436 Firefox 2 handles them fine. It would be nice to see this bug fixed.
Others by Brian Kernighan if you like _The Practice of Programming_. _The Unix Programming Environment_, also with Rob Pike, gets across the philosophy of how Unix is meant to be used, covering a bit of shell, awk, C, yacc, etc. _Software Tools_, with Plauger, writes many of the well-known Unix programs in Ratfor (a better Fortran), including the ratfor preprocessor that turns ratfor source into Fortran. Make sure you get the Fortran version and not the Pascal one; that caused bwk to write his infamous _Why Pascal is not my Favourite Programming Language_. Also with Plauger, _The Elements of Programming Style_. This, modelled on Strunk and White, takes real-life poor examples of code and critiques them. _The Awk Programming Language_ is a nice slim tome that uses awk to do lots of interesting things.
Other Bell Labs authors are also excellent. You must surely have _Programming Pearls_ and _More Programming Pearls_ by Jon Bentley. (Nothing to do with perl(1).) And he's got _Writing Efficient Programs_ out now too.
I was working on Air Traffic Control software at a sub-contractor and dismayed at how the company had recruited Ada/VMS programmers to program C with X Windows/Motif on Unix, since they had no knowledge of common C programming flaws, or even handling pointers. Together with being given the "dead wood" employees of a sister company sharing the same site to save on redundancy costs it wasn't a good start. Coupled with this was the shoddy quality control practices that management were complicit with.
A contractor who Barked out hundreds of SLOC in a short time, thanks to poorly structured code that needed re-factoring, would be praised and given a rise and the next piece of work. That his was some of the most buggy code and didn't meet the spec. in many ways was ignored. Others would be given his crap to fix when a week later the problems came to light in testing; management wouldn't pull him off the new piece to do it. Time and time again this was repeated.
Fagan Inspections were mandatory. But few programmers put much effort into them; as long as they could find a spelling mistake or two in a comment to validate their "claimed" one hour preperation time management was happy.
The testing tested only the positive outcomes; did X happen when Y occurred? Good. Did X happen at any other times? Who cares.
So I added a new image to the existing set. I called it "ignored". It was a plane buried nose-first in the ground, smoke rising from it, with a little parachutist floating above. You'd think that might stand out in ATC software. I added code to display it under certain conditions; all the relevant variable names followed the rest of the code but with "ignored" instead of "foo". The image went, with all the others, through Fagan Inspection and was, theoretically, checked against a spec. picture that didn't exist. The code was inspected a line at a time, including, theoretically, against the spec. that gave the logic for when the picture should appear. And the end result went through run-time testing by a large test team against test plans.
It wasn't discovered. Ever.
Finally, after many months, when I was about to leave I pointed out it was there. It was removed and no one complained that I'd done it. They all knew too well that it showed my verbal complaints about the process were valid; they just wanted it swept under the carpet.
Today, that ATC system is controlling the airspace in and out of a major Western country with some of the busiest airways in the world. Oh, and we had a project football team. It was called "Go By Boat".
Some nice ones there. But you can use !* instead of !!*. And if you suffix a :p the concocted history command will be printed instead of executed. The -1 in ls -1 >foo is redundant, ls doesn't do columns if stdout isn't a tty. mv `cat foo` /path/dest is an easier case when, like you suggest, they're all going to the same place.
Couldn't agree more. And it is GNU's fault with its insistence on info that's led to the demise in decent man pages. It was *normal* to learn Unix from the man pages alone back when I learnt it; there was little else. Even later, some good man pages kept up the tradition, e.g. I learnt Perl from the single perl(1) back before it split.
It's a shame if Gmail doesn't reject email that fails an SPF check. They certainly add a correct Received-SPF header with the results of the check and that's mentioned again in the Authentication-Results header, so maybe they do use it now.
Anyway, Gmail aren't the only receivers of email out there, and I've found adding SPF for my domains has helped cut backscatter spam.
Set up SPF on your domain to cut down on backscatter spam. http://en.wikipedia.org/wiki/Sender_Policy_Framework
Do you have any roundabouts in Boston?
All most exploits would have to do to brick a PC is to set the ATA security password on the hard drive to something random that's instantly discarded. Done right, only the master password for the drive would unlock the drive after having done a security format first, wiping all data. And most users don't have the master password so they'd have to attempt to get it, based on their drive's serial number, from their PC manufacturer or hard drive vendor. It bricks the hard drive in most cases because getting the master password is so awkward.
Communication channels are the right way to tackle this. Bell Labs had the right idea. See http://swtch.com/~rsc/thread/ and the slides at http://www.cs.kent.ac.uk/teaching/07/modules/CO/6/31/slides/ if you have an inquisative mind. For the slides, read them in this order: motivation.pdf -- just pages 1-39, basics.pdf, applying.pdf, choice.pdf, replicators.pdf, protocol.pdf, shared-etc.pdf.