I'm all set for the interview!
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. INTERVIEW-PROG.
000030 AUTHOR. ME
000040* DUMBEST TEST IMPLEMENTED IN COBOL
000050
000060 ENVIRONMENT DIVISION.
000070
000080 DATA DIVISION.
000090 WORKING-STORAGE SECTION.
000100 01 FIZZ PIC X(4) VALUE 'Fizz'.
000101 01 BUZZ PIC X(4) VALUE 'Buzz'.
000102 01 N PIC 9(3) VALUE ZERO.
000103 01 X PIC 9(2) VALUE ZERO.
000104 01 Y PIC 9(1) VALUE ZERO.
000105 01 Z PIC 9(1) VALUE ZERO.
000110
000120 PROCEDURE DIVISION.
000130 MAIN-PARAGRAPH.
000140 MOVE ZERO TO N
000150 PERFORM UNTIL N = 100
000160 COMPUTE N = N + 1
000170 DIVIDE N BY 3 GIVING X REMAINDER Y
000180 IF Y = 0 THEN
000190 DISPLAY FIZZ WITH NO ADVANCING
000200 END-IF
000210 DIVIDE N BY 5 GIVING X REMAINDER Z
000220 IF Z = 0 THEN
000230 DISPLAY BUZZ WITH NO ADVANCING
000240 END-IF
000250 IF (Z > 0) AND (Y > 0) THEN
000260 DISPLAY N WITH NO ADVANCING
000270 END-IF
000280 DISPLAY ' '
000290 END-PERFORM
000300 STOP RUN.
Thanks for the link. I knew power would not be a pretty issue, but the other one that came to mind was whether you could count on instruction timing. That article confirms that you can't. The WS2811 and other such chips expect pretty tight timing. Simple to do with Arduino, just use the asm macro to directly do a string of NOP and then bit operators directly on the port register you've connected your data line to.
Now if you're doing something that you need a beast like this for, you can hook up an Arduino or two and just use i2c to communicate. (Then again, in many cases a Due would be good enough).
No, it wasn't habit. It was political pork. There was a Florida company read and willing to build the SRBs as a single unit. Simpler and vastly safer.
But that didn't spread the pork far enough. Thus Thiokol got the contract and a Utah congressman got to brag about how he brought home the bacon. The result: the SRBs needed to be segmented and seven people got to die.
Never happier than the day we got a VIC-1541 and put the days of pressing play behind me.
I never really questioned it. Mainly because I started with Basic, but quickly moved into 6502 assembler on the C64. Really stupid example that creates a 30 element array on the zero page with the set [1, 4, 7, 10,
Array = $00
LDX #$01
LDY #$00
loop:
STX Array,Y
INX
INX
INX
INY
CPY #$1E
BNE loop
If I started my index in the Y register with 1 my first element would have been placed in memory location $01 and the array would have been 29 elements long. Instead I start it with 0 and my array goes in $00 through $1D and consists of 30 elements. It had always been my assumption that 0 indexed arrays were a carry over from this.
There's no reason that a high level language can't use indexes that start with 1. It just feels really strange to me using a language that does.
It gets taxed via AMT (alternative minimum tax) in special cases. If your company gives you ISO stock options (as my wife's company did), you have a strike price and a vesting period. Once your stock option vests and you exercise it, you realize an on paper gain in wealth of current value of the stock less the strike price. You owe the AMT on this paper gain, which is treated as a pre-payment of any cap gains you'll owe when you sell it. So you hold it a year and then sell for cap gains long. If cap gains taxes are more than what you paid in AMT, you pay the difference. If it's less, you don't get a refund for a year. Since we're not rich, we did a straight sale when the option vested and paid income tax.
It would have been more money in the long run if we'd had the money to do it the right way. We could have swung the strike price, but the AMT would have killed us. Plus we just decided to go with easy as the headache for the difference was just not something we'd want to deal with anyways.
Makes me wonder if there'll ever be a Star Trek-esque Utopia...
I've given up on wondering. The kleptocracy always takes over.
At this point I only wonder when they'll manage to pull off our own extinction level event.
From their terms of use:
"We claim no intellectual property rights over the material you provide to the Service. Your profile and materials uploaded remain yours. However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories."
So yes you can view and fork, but you don't get clone rights. The instant you do that, you infringe the copyright. So if you have no license that allows you to put out on your machine and use it, how useful is it? Until copyright or the Berne convention are changed, this is the world we live in.
So if your system clock is off by more than 5 minutes, does Kerberos disappear?
Yeah, my first thought was, "giant douche tries to explain why he isn't a turd sandwich."
Regarding the 'thousands of patents claim ours as prior art'.... Yeah, it's so broad that to do just about anything near audio and the web, you'd need to cite it too. That's become the main problem. They claim not an invention, but the entire domain of the invention and several others at the same time.
Seeing the work load that patent examiners are under, that the examiners do not appear to be skilled in the modern art of computers, the fact that granting patents is the way for the USPTO to get its funding, that it's just cheaper to pay the troll than to try to get a re-examination or go to court, and companies that are more than willing to just keep amending a patent until the examiner caves..... The system is just broken and it's beginning to seem easier to throw the whole stinking pile out and start again.
The only thing in 4.0 that I could agree with you on is that 4.0 added a face detection API (in fact it was the only API change in android.hardware for 4.0). As far as a wrapper being not fun/onerous.... That might confuse a Java 101 student and yeah, wrappers aren't glitzy, but you do it everywhere. Any time you need to account for hardware or OS options you have to do something (this goes for iOS and Android). In this case you do everything you would have done and if the version is less than 4.0 don't do the face detection or offer the option. Someone above claimed 3.0 made marked improvements in the Camera API. The ability to use an OpenGL ES surface instead of a SurfaceHolder for the preview window is certainly nice, but... If you want to use it with fallback support it is as simple as detect version of Android and inflate the SurfaceHolder layout for 2.x devices or the SurfaceTexture layout for 3.x+ devices. SurfaceTexture is where you need to add all sorts of code actually displaying the preview. The SurfaceHolder version doesn't need any code.
Hey it's their app and I'm not saying that they shouldn't go ahead and make their own decisions on support. I will say that for what this app does, the no 2.x/3.x support makes me question the skill of the team behind this. Could they be planning to go back and add back support? Sure, but it's much easier to just bake it in from the beginning.
Real Programmers don't write in PL/I. PL/I is for programmers who can't decide whether to write in COBOL or FORTRAN.