Socialist Juggalos gear up to fight pro-Trump ‘Nazis,’ and the internet is loving it
The Juggalo March on Washington, a protest against the government’s classification of Juggalos as a gang, will take place at the National Mall on Sept. 16, the same day as the pro-Trump “Mother of All Rallies.” There’s no love lost between the two sides.
An external SSD has become Samsung's first drive to hit the market with 64-layer V-NAND. It includes a 10 Gbps USB 3.1 Gen 2 Type-C connection and capacities ranging from 250GB to 2TB:
Moving on to the pricing aspect, it must be remembered that the Portable SSD T5 is a pilot vehicle for Samsung's 64-layer V-NAND as its production ramps up. Samsung naturally expects this to be a low-volume, high-margin part. Therefore, despite the higher density, consumers should not expect much difference in the cost per GB compared to other external SSDs in the market. The 2TB variant will have a MSRP of $800 and the 500GB will retail at $200. At 40 cents/GB, it is priced close to other such products currently in the market.
Also at Samsung, PCWorld, The Verge, PCMag, and YouTube.
Not a submission because: Intel First to Market With 64-Layer 3D NAND SSDs
Oh, this is getting ridiculous. I write a small state machine to test understanding of a micro-controller and it is now going to be used to run a quiz. Additional hardware is on order. (A cheaper Arduino which can be damaged or stolen without affecting my work.) Even sillier, I'm getting feature requests. The first feature request is for lights per participant and per team. So, code has been extended to allow up to four separate buttons for each of four teams:-
begin 644 buzzer.ino.gz
M'XL(`%2YC%D"`Y552U/;,!"^^U=LIQ<#;O%*?F72'`I-@9D`!9+AP.3@8@4T
M8^S4#QA@\M\KVY(39(?2TZZ_77WZ]C'6_BX<E"\O+(.?:087)7^!H_"!Y;"[
M;^SO@GFX0VST87K/X#!-\C0K>/GPM8I6X2IF!W8`&?N2%V%6R&,-CC;DX2-3
MR?F2W?+%,RQYDL-"W,:395GD$"81I&51^37QYX@M>,+@XG)\-9X":8&#\60"
M=/TYFT[/SQ`<#2'@:@@%3T,<\#7$A4!#/!AHB`]H:U``B"TTNQI?3L8_$)#H
M&`&D.D8!'1US`%T=<P$]'?,`?1T3\@(=$_K654S'WT]K?<36,0*D4\<`2*<.
M,5/2*00%8Z<2%)2=4I`"Z=2"#I!.,>@"Z52#'A!]*`.@^E"$2(HZAD")CA&@
MG7VB0/6-$@*IOE-"']6W2LBCOMY9P1?HF.`;&$:9Y/PN81'<WH<9%"Q\N$%O
M/GI58[+^[9`/./0#CO..LQIJ2LN<98U2-19+;;ERJ'(<Y;C*\93C*R=0SL!J
MMZSU6FYLR;%EQY8>6W[T.H)_ET71")9SLN2?0EHJK2.M*ZTGK2]M(.W`4GNF
M',6(BA(5)RI25*P]`L6_LV`WZ,^'AO&8\@@BGMR9/"GJK;`JIVKZ#KP:(&)W
MO`CCZXP7S*SCQR='QSM#/52=V!*J_J0;(1:'SR;:MKTE<W)^74<R5I19,C16
M2F4J5#:BWM835]GB%V_&(WL8?T-O&._M-8D]^F_B>7M%3PUOPTVKXOE(YEVR
M,#+K`<?S.F5EJ*1JXIM9S8/26\F?IY`7VQLNRJSQ&JO./]WSF)D]Y*-1>W=;
MKVQOJZYIFR9#/)!9F4":W++Z%:QEY2*^W-YA\9*>II$<TOEL^FO65*?P1I-U
M<J8"VT:B#JAI;'"M@VH6O4$Y@8V[5N^N@.QH=43RJO&WS5GU-BAC2R8:',7/
DZS;%:;K\_SWD"[-OASZ-U(JI1)#KT2]XU97Z%U!H?@E5"0``
`
end
(Usual instructions for uudecode process.)
Another feature request is distinct sound samples per participant or per team. That would be awkward. The sound samples would either have to be compressed and compiled into flash with the program or loaded into RAM via a USB virtual serial port or invoke an unholy set of libraries to read FAT32 flash storage over SPI and play MP3s or invoke a separate piece of hardare which does the same task or port/re-implement algorithm to a different platform, such as a Raspberry Pi. So, no, there won't be distinct sound samples. Pin goes high. Pin drives NPN transistor. Buzzer makes noise.
If people also want scores on a digital display then the project may be re-implemented on other hardware. At that point, someone else can continue the project because I have more important tasks.
Last of Secret JFK Files Slated for Release This Fall
Fresh Air interview with Philip Shenon, author of A Cruel and Shocking Act: The Secret History of the Kennedy Assassination, airing now. Will edit link in later.
I wrote a small program to implement the buzzer round of a quiz game. This is not much more than a "Hello World!" test in the quest to implement a 3D surround sound speaker array which itself is part of a larger project. During this process, I repeatedly bump into emperical but mundane reality. The most mundane problem includes not having any momentary switches to hand and only having latching switches. Therefore, the buzzer game code has been updated so that it works either type of switch. This has the side-effect that any of the switches may be independently wired with pull-up resistors or pull-down resistors. Therefore, the project has gained some idiot-proofing which may be considered elsewhere.
begin 644 buzzer.ino.gz
M'XL(`+8WBED"`WV27V_:,!3%W_,I[K27@+(1_V%E0KRT8FTE5M8NJ,]18UI+
MJ9W93BNH^.Z+8P@D=7B+S\_']^;<.QK"9;G=,@6_I(+[DF_A.GUE&H:C8#2$
M\&J`8W0!R0N#*RFT5(:7K]\MM=BR>!)/0+%OVJ3*[&U.1S'H](T=+NN"/?'U
M!@HN-*RK:EP4I=&0B@QD:>QW_?#7C*VY8+"XO;Y)$."V@(&T!0*T+5`8-\+E
M?+&`'\?C*DF6=P@N.@J&24<A\+.C4$!Q(]T_S/_.$T`H"+@PH%&D<:1)I&FD
MQ],@>),\@XR+Y]#B?``?`53G9V[2_%%QP\(\NJF:'4R[NNWX!+$\W80HCN.>
MFXOE8TT4,Z42TV!WJ"VKVIZR+M3&]IGA,XR<8;1A&LWV^(&E6;C/W"'L0=@A
MXD'$(>I!U*%Q"[FQ>`/Y]YYRTYY&E5!>WWU_X3D+/0_-9GKL;A]'43MV]H$Z
MXDZM:L]5*4"*)U8O<UU;5[S83Z/:_M\R:P:Q7"5_5J[C%L&]A/02ZB/UEOAT
M-Y;H]LY/<"\AO81ZB$OR!-2YN[]WYR;&(\&]A/02VB&?AZ)8P5+#LGQS'$TN
MY6$R?!WZ]O;+3*/##K@E.FE^U^?#UH<]/GS>1ZR/>'SDO(]:'_7X:.,[">0_
(J"G,$O8%````
`
end
I've written a program which implements the functionality for a buzzer round of a quiz game. This is suitable for two, three or four teams to have a common button (or buttons wired in parallel). The program performs a power-up test of lights and buzzer before entering the main loop. When a member of one team presses the team's button, a buzzer sounds for one second and the team's light stays locked on until the quizmaster hits a reset button.
It requires an Arduino compatible micro-controller configurable as five digital inputs (button1, button2, button3, button4, reset) and five digital outputs (light1, light2, light3, light4, bell). The first team has a very small advantage which can be measured in millionths of a second. Making a completely equally weighted input is left as an exercise. Keeping score is a more difficult exercise because it requires a routine to compensate for switch bounce.
begin 644 buzzer.ino.gz
M'XL(`#P`AUD"`WV26T^#,!B&[_D57^(-6]1!6]V,V<W,/"33>6#9-9%N:X(M
MEJ+9S/Z[I3`$I+N#]^G[G0=]F&2['95P*R2\9&P'=^$'3:$_<`9]<&]ZR/.'
M$&PHW`B>"JE8]G&>TQSGS!MY(Y#T+%6A5`>0)O2=K;:0,)["2D=F/,E4"B&/
M0&0J_S9!3B*Z8IS"[.'N/O`!-04$N"E@($V!P$4E3*:S&5S^_2Z"8/[DP["E
M(!BU%`Q7+86`[U72R^OT;1J`[SO.EV`11(RO7<85Q#WX<4#_KYD*XZ5DBKKQ
MZ;VNJW?=UO/B:HC&X=;U/<^SO)S-EX9(JC+)KYW](;?0N3O2%O.K;/\9.L+P
M$49*=BC@\SMDJMF]KB@V[N\-BZE;QGBE8>06H^N-QWD0^-GG[TT')J"^$YEQ
M$/R=FF,P"5+=<5*VJ*_G4415=_-%\+P(3*H&05:"K81T$3/Z+KTXI=.'IVZ"
MK`1;">D@Q;AJP`RWZ+[X+X=7)\A*L)60%JF=6;D421,:*AK%V[_5Q$(<-L-6
LC3V7`]*+-B=NGD!Y*[7R]S8GLCO1<2>V._%Q)[$[2>6L#>87E=OD@RH%````
`
end
(This is the 37th of many promised articles which explain an idea in isolation. It is hoped that ideas may be adapted, linked together and implemented.)
I'm working on a 3D surround sound speaker array as part of a larger project. I'm working through a list of tasks. One particular sticking point has been to deploy code on a micro-controller. This has been a limitation since at least Apr 2015 and has been complicated by trying to use a clone of the least supported Arduino on a poorly supported host without using the supplied idiot interface. Regardless, I report success if using a large number of third-party binaries count as success.
The first complication is that Arduino is open source and the schematics are freely available. Therefore, anyone who is time rich and cash poor may purchase a clone of the official Arduino boards. I purchased a board which was approximately 1/2 of the official price and I'm told that it was possible to purchase similar for 1/3 of the official price. So far, I've not encountered any incompatibility but I'm told that clones may omit ground-planes to reduce cost and therefore I/O may fail to work at full rated speeds. This is quite pausible. I understand that the processor on the first Raspberry Pi was only intended for use with eight layer boards and that the choice to use a six layer board limited storage card communication to a maximum of 15Mb/s and even this is optimistic.
The second complication is compiling ARM Cortex M3 code for no operating system when the host is ARMv6. This involves installing a random set of binaries on Raspbian using apt-get and then using /usr/bin/arm-none-eabi-gcc which may or may not have been present when I started.
The third complication is deployment of code to a Atmel ARM SAM via BOSSA. Each manufacturer has its own method of programming a micro-controller and this particularly true for ARM. So, one protocol is used for Atmel AVR chips, a different protocol is used for Atmel ARM chips and different protocols are used for ARM chips from other manufacturers. To further complicate matters, there are two (or more?) implementations of BOSSA programmer. The official one from Atmel works on Windows and Linux. An open source re-implementation uses wxWidgets and works on more platforms. From the dependancies installed via apt-get, it would appear that Raspbian uses the implementation which uses wxWidgets.
The fourth complication is that installation of arduino, arduino-core, bossa and bossa-core fails to provide any ARM firmware under /usr/share/arduino/hardware/arduino or suchlike. Indeed, the Arduino IDE 1.8.0, 1.8.1, 1.8.2 and 1.8.3 has no support for ARM. This would be particularly problematic if downloading the software recommended via Arduino's online shop. Ignore the official recommendations. Use 1.6.8 or 1.6.13 rather than the latest and greatest version.
The fifth complication is to avoid the IDE. This can be achieved by hacking up some random Makefile to use $(HOME)/Arduino-1.6.13/hardware/arduino/sam, /usr/bin/arm-none-eabi-gcc and /dev/ttyACM0. You may also want to use suitable flags to reduce compilation time, compilation size and execution time. Unfortunately, this will not increase security because there is no support for stack protection when using Arduino's BLOBs.
After working through these problems, compilation and deployment of a blink light worked first time. After a quick play with LED PWM, I devised a library so that it is possible to divine more than one bit of state when an error occurs on a micro-controller. Indeed, this will blink up to four hexadecimal digits and also blink an arbitrary error string in Morse code:-
begin 644 error.c.gz
M'XL(`"K3AED"`Y68;6_:,!#'W_,I/"J50"$8VK6LK)TZ^L36EJZCZQXU&6+`
M(R29$TK9Q'>?0R`%#+E=D%"P[WX^W_WMF!1SY$1:0^&XY$Q*5Y*::W%R)5J2
MR3')%5/%'#%JV3(M'9!FCZMNQW=E((8#,^P-N]O,M@D/G0WZ5"KO[N73Z2SI
M*!9W+)O[/K%=UR-NAPR8['-)F&,12W1%X)NS$181^?2U\F%=;L*4:U?Z/`XD
M#))6:(7X`9/!O'7H<V+Q#AO:03Q5X5BBS0(%]X1#ALZ4[P8]+D="F?L>;XN.
MX-84O24ZC@*0^LUIO7;2;-S]O*W?I+94DW#X<BLI[::V5+RBDTH]NL**YO2S
M90NG;P@G("P??K>RY&^*1#E@]H,4`3>6./G+^L5EMAK:<)N-#1;=;[:_:CPL
MF+>F]Y('0^E44Y.E6+K,,V;#3VWW*4VPMMQ@9KTXDS*E^7*R'_-[:QSW04=/
M>--$69&S+[H.MTB[QR2Q:>BF%&'8](A6;?K:L+;ITWE6W>[L1/9D,>[0?!)'
M,)WXYH$'H92,<*`<\<>#"!=&XL7#>N&PJN^;1W]4O84Q_9$(VCUCUC5O)4K6
M2DP9,W,8MVCQ15=+<M:?_YPL>1?6>4^S"[C/-*][QXG8Z#Q!)"ZJ5CY*G):V
M44_8W"@='97F65$+[EIM,2OZ;=PW;^^;LZ@6%5,*M5:924:1.U'-J6J))_:L
M'.OXN%2>F4Y6'#;85]:;;[#>6VN]P9@N&<<*TO43*VA%/W,-D"4-D"7%IDEZ
MH9@KY7Q6PQSU(@E5,-6G@.)]SR0!%:U0,%'`[62>:>)P!C!?9'19$(=+'TWD
MA1<*5P*+@<*5$W$F%K>;C,-*;P_`(4OQ$L+AE+*?K!0L[B!9*%A<!=`=$O<*
MDC$.9P)[`':5Y:'D(957!&J+G.X;:)DAJW&2.5QI8<D)1='?:O06)'44OZ;Q
MV]`S"\4_U?@6$#\*?Z;A>6+R4?!S#=X!M(/C7VC\+K!T4/A+#=^#-ET4OZ[Q
M13(?17^GT7]!CUL4_[W&[P/"1^&O-+P-';50_&N-/TC6#HI^H]&=Y.2@Z`V-
M[@)/-!3^5L-[@')PX7_0^+^!98N+_T[C2T`Z*/Q'#>\#VP(*W]3P06)V4/![
M#3X$=F04_I.&?X0.T2C^@\8?`<I$X3]K^"?HZ(3B?]'X8^@/&HK_5>/_@8Z2
;_\E?\W9FP_N9C9#E=S4++V?^`7A,_//4%0``
`
end