Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


My Writing Is Far More Important Than My Code

Posted by MichaelDavidCrawford on Friday January 26 2018, @02:28PM (#2949)
4 Comments
Career & Education

From time to time someone who is genuinely concerned for my well-being suggests I shouldn't make my writing to easy to find.

It's not just at Soylent News: a close friend that I know IRL advised me not to post to Kuro5hin anymore. But I persisted because I regarded K5 as the most effective way to disseminate my views.

How much of the code you write today will still be in use ten years from now? There is some code like that but it is quite rare when considered against the total amount of code written ten years ago.

How about a hundred years?

Homer's Illiad and Odyssey were composed about 3,000 years ago - but I own a copy of each. Few read it for pleasure but they are quite widely read by college students. A good friend of mine read them in their original Ancient Greek.

I am dead certain that my essays on mental illness have saved many lives.

Those who are concerned for me are doubtlessly correct that I will face repercussions for writing and publishing the way I do.

But I regard that as the price that I pay for doing right by others.

I mostly write essays. I've taken a stab at writing books but have never been satisfied with my results, so I regard myself as an essayist more than anything else. I don't really regard myself as a coder, rather I am an essayist who just happens to know a lot about computers.

You can find most of my writing here.

I know you want my statement! But I just can't right now.

Posted by realDonaldTrump on Thursday January 25 2018, @10:05PM (#2948)
4 Comments
Topics

Folks, I know you want to hear my statement to Bob Muller, the "Russia" investigator (terrific guy). Believe me, I want to give it. I want to testify very badly. But I had to fly to Switzerland because of a prior commitment. To go to #WEF18. Let me tell you, it's so interesting. Everybody who matters is here! So many billionaires, so many leaders & rulers, so many WINNERS. It's my first time going, they invited me last year but I told them "no." Big mistake! Everybody here loves me. The Swiss love me, everybody. So nice to take a break from the haters & losers. But trust me, I'll be back. In a few days, I'll be back. Probably. A little preview of my testimony: there was NO COLLUSION & NO OBSTRUCTION. Stay tuned! #MAGA 🇨🇭
pic.twitter.com/N3e5KGJAMU

An NSFW Review of Portland's Oregon Theatre

Posted by MichaelDavidCrawford on Wednesday January 24 2018, @09:25PM (#2947)
16 Comments
Career & Education

My story submission of this got rejected in record time.

"Suit up before you play."
-- Dear Abby

I Swear I'm Not Making This Up:

I was once a regular at the Paris Adult Theater. It was located conveniently near public transit, and was organized as a private club so that doing the evil deed on its premises was not illegal.

Occasionally a real live female would show up. I once had the opportunity to spend all the time I required to climax inside a complete stranger. After I put my clothes back on and prepared to leave, she grasped my hand then smiled at me.

I kissed her on her forehead.

You might not be aware that when men get their cookies, our bodies are flooded with a hormone that results in us losing all interest in sex. So I went home. I have since concluded that leaving was a mistake, quite likely the hand she took mine with could have given me a hand job.

To my great dismay, the Paris was sold then converted into a music venue.

That's why I was quite excited to learn of the Oregon Theater. However I was dismayed that it was located in a part of the city with which I was unfamiliar. For quite a long time I regarded the Oregon as hopelessly out of reach.

But then this afternoon I remembered that google maps can produce public transit plans. It turns out that I could take the TriMet #4 bus at 5th and Salmon.

[Continued]

Once on the bus I was quite anxious that I wouldn't know where to get off (so to speak). I was pleased to notice that the addresses of the buildings we passed corresponded directly with the cross street.

The Oregon is located at 3530 SE Division St in South-East Portland. The next stop after we passed the theater was three or four blocks east, but the walk from there to the theater was quite pleasant.

The admission was ten samoleons, which is typical for porn theaters. Strip clubs often cost more than that, despite that except for one club whose name wild horses could not drag from my lips, there is no sex in the Champagne Room.

The guy at the front desk told me that I could come and go any time I wanted once I had paid my admission. He also told me how many seats, couches and "gangbang beds" were found within.

The men's room is upstairs and is kept clean, with the exception of abundant graffiti offering anonymous, meaningless sex with a wide variety of men.

I was at first disappointed when I entered the theater. There were very few men and no women. It does get women from time to time because during my researches I found a post by some guy who brings his wife there when they want to "get freaky".

I sat in a chair on the aisle about halfway to the screen, dropped my pants to my ankles then gave the monkey the spanking he so richly deserved.

But for a while it seemed that were I get to get off during my visit, I wouldn't have any help doing it.

Eventually a man walked by then sat two seats away from me - that is, with an empty seat between us.

Here I must explain porn theater ettiquette: one doesn't sit directly next to other patrons but have some seats between the two men. That enables one to express his interest in totally anonymous, meaningless sex by getting up then moving closer.

Often there are more empty seats between me and my hope to obtain a blowjob, so we each move closer by one seat, then when we've both communicated our consent that way, we both sit right next to each other.

As soon as I sat next to someone whose name will be forgotten by history, he stretched out his hand then gave me a very pleasant hand job.

I at first thought a hand job was all I would get but to my great delight he got down on his knees directly in front of me.

Now I must remind you that Welbutrin can cause Anorgasmia. I cut my dose in half for about a month so I could get my cookies back, but realized last weekend that I was getting depressed again, so I've gone back to the dose my witch doctor originally prescribed.

I was concerned that I would tire him out before I came anywhere near what all men desire but few obtain. I actually did just that a couple weeks ago at Hawk's PDX.

But no he had the patience of Job and so redoubled his efforts by giving me a hand job and a blowjob at the very same time.

I took quite a long time to blow my wad, but when I did so, I jizzed in his mouth. To come in someone's mouth is my very favorite way of feeling the Earth move.

After we were done he thanked me, got up then sat several seats away. You see, many men feel it is better to give than to receive.

As I was putting my pants back on I realized my wallet was missing. I didn't see it anywhere then realized I was quite hateful but for a moment as I considered whether blowing my load in his mouth was just a cover while he picked my pocket.

But no, as I was looking around I happened to kick my wallet a little ways and so found it in the darkness. Had I lost it it would not have been a big deal but would have been a PITA to get all the cards replaced.

On the way out I asked for a Coke. The guy at the front desk advised me they were serving RC Cola from a name-brand Coke machine.

"That's OK," I replied, "I like RC too".

Overall I would rate my experience as three out of five money shots.

tl;dr: Would fap again.

Grope Central

Posted by takyon on Wednesday January 24 2018, @11:58AM (#2946)
15 Comments

We had a beautiful year!

Posted by realDonaldTrump on Monday January 22 2018, @04:35AM (#2943)
10 Comments
Topics

Thank you to Brad Blakeman on @FoxNews for grading year one of my presidency with an “A”-and likewise to Doug Schoen for the very good grade and statements.

Unprecedented success for our Country, in so many ways, since the Election. Record Stock Market, Strong on Military, Crime, Borders, & ISIS, Judicial Strength & Numbers, Lowest Unemployment for Women & ALL, Massive Tax Cuts, end of Individual Mandate -- and so much more. The Trump Administration has terminated more UNNECESSARY Regulation, in just twelve months, than any other Administration has terminated during their full term in office, no matter what the length.

The good news is, THERE IS MUCH MORE TO COME -- BIG 2018. Working hard! www.youtu.be/gFXcLi85cQY

Reminder for Intel Apologists

Posted by takyon on Sunday January 21 2018, @12:37PM (#2941)
3 Comments
Business

Intel Has a Big Problem. It Needs to Act Like It

During the six months Intel was quietly working to try to fix the vulnerabilities, Krzanich sold $24 million in company shares. Intel says the stock sale was part of a plan that had been in place before anyone there knew about Meltdown or Spectre, but the day after Krzanich’s CES speech, two U.S. senators sent letters to the Securities and Exchange Commission and the Department of Justice demanding investigations. Consumer and shareholder lawyers have filed a dozen class actions against Intel, and there are few signs the pressure will let up on Krzanich anytime soon. In a research note, an analyst for Sanford C. Bernstein & Co. called the stock sale “indefensible.”

The Roller-Coaster

Posted by MichaelDavidCrawford on Friday January 19 2018, @06:04AM (#2935)
5 Comments
Career & Education

I just mailed the following to my mental health clinic's case managers:

I didn't make any trades today.

But after just one day of doing nothing my profit went up by a thousand dollars.

I have a friend who used to be a day trader - trading stocks. He told me it was incredibly stressful, and that he would make more money by working in a regular job.

So he gave up the stock market, then got hired as a Civil Service engineer at Corona Naval Airbase in Southern California.

He loves that job and has held it for so long that he is quite close to retirement.

I once worked for a private hedge fund that traded commodity futures at the Chicago Board Of Trade. His trades were guided by a very complex computer program. I called his software "A license to print money".

It happened all the time that he'd lose tens of thousands of dollars, only to get it all back and then some. His fund consistently outperformed all the publicly-traded funds.

The owner was quite definitely the most bitter, angry man I ever met. It was easy to see why. He thought the key to happiness was for his hedge fund do so well that he would have a billion dollars.

🏆 And the FAKE NEWS winners are... 🏆

Posted by realDonaldTrump on Thursday January 18 2018, @06:29AM (#2934)
10 Comments
Topics

Despite some very corrupt and dishonest media coverage, there are many great reporters I respect and lots of GOOD NEWS for the American people to be proud of! Announcing the Highly-Anticipated 2017 Fake News Awards!!!! https://gop.com/the-highly-anticipated-2017-fake-news-awards/

My Ideal Alarm Clock, Part 1

Posted by cafebabe on Tuesday January 16 2018, @08:15PM (#2932)
4 Comments
Hardware

After thinking about micro-controllers and high availability using a clock as an example, I realised that I'm in the unusual position of being able to make my ideal alarm clock. This is only slightly more advanced than the generic quiz game buzzer implementation with the addition of interrupts, LED multiplexing and switch de-bounce. This is all within my ability. Or, at least, it should be. Indeed, I've seen a founder of the Arduino Project struggle with an 8×8 LED matrix. This person also described frying pan technique for surface mount soldering. Well, I've seen their software and I've seen their hardware and I conclude that making an alarm clock can be achieved with similar perseverance. Specifically, I have:-

  • Derived an H-Bridge from first principles.
  • Likewise for MOSFET rectification.
  • Put a rectified sine wave through a D-Class amplifier to obtain bi-directional motor movement with more control than an H-Bridge.
  • Used a combination of tilt switches, analog integrator, VCO [Voltage Controlled Oscillator] and servos to make an approximation of the Nekko EEG Cat Ears.
  • Arranged decimal counter chips to light 2×10 LEDs in sequence.
  • Written PIC assembly, 6502 assembly, Arduino C and similar.
  • Written signal handling software in C and Perl.

However, I:-

  • Struggle to deploy compiled code due to the opaque protocols being used.
  • Dropped modulo operator functionality somewhere while avoiding patronizing user interfaces.
  • Failed to get DACs working but this may be Voltage level incompatibility.

I have reached the stage, which is common among electronic engineering students, where making a clock is the test of ability. This is not a certain project but much else remains theoretical if this does not occur. Anyhow, let's do this properly. We may even get a MISRA C alarm clock.

Specification

Functionality For Version 1: Buttons for inputs. Probably about six. Multiplexed, seven segment LED digits for output. May be jumbo size. Probably about six. Specifically, HH:MM:SS in 24 hour format only. One modulated square wave in audio range to drive speaker. Can be derived from software or multiple oscillators. One digital output stays high when alarm triggers. Can be used to make clock radio. Or, because we're geeks, drive a relay for coffee maker or similar. Serial output in format compatible with gpsd. In combination with ntpd, this allows home network time to be set from alarm clock.

Functionality For Version 2: Three channel PWM output for dawn light prior to alarm.

Functionality For Version 3: Battery back-up RTC [Real-Time Clock]. This allows clock to count time when unpowered.

Much of this can be implemented with decimal counter chips. Counter chips with decoded outputs are preferable for Nixie Tubes while BCD outputs are preferable for seven segment displays.

Full functionality requires software. Due to laziness, I suggest using an Arduino Nano (Atmel AVR micro-controller with 8KB ROM). This also allows clock to be powered from USB. For example, a wall-wart phone charger. With or without RTC, date handling is awkward. Will conceptually reserve two places of LED multiplexing for century. So, display may be CCYY/MM/DD or YY/MM/DD or HH:MM:SS. This requires either 8×7 outputs or 6×7 outputs. With either a four digit year or a two digit year, it is possible to calculate day of week and have a seven day alarm clock. The trivial use case is setting the alarm one hour later for Saturday and Sunday.

With some changes to software, it is possible to make joke clocks which don't have Monday. It may also be possible to make Julian/Gregorian, Chinese or Mayan mode. Nominally, day of week output uses LED seven segment decimal point or similar. Internal calculation may or may not start from Sunday being zero. If possible, day of week calculation should extend beyond Year 2099.

After thinking about this problem for three days, I wrote most of the software in one programming session. Buttons are defined as "prev", "next" "up", "down", alarm "toggle", "snooze", "start" and "stop". From this, it is possible to set year, month, day, hour, minute, second and seven alarms to hour, minute and second. Like the buzzer game, all buttons may be wired high or low. This also allows "toggle" to be a momentary switch or a latching switch. "Snooze" suppresses alarm for 180 seconds plus randon jitter. (The fixed 300 seconds of Symbian 70 allows me to fall asleep 18 times or more over 90 minutes or more.)

Pressing "stop" once cancels the alarm sound but leaves the relay active. Pressing "stop" again cancels the relay. Pressing "start" enables the relay but not the alarm sound. Unfortunately, without the serial functionality, the compiled program requires 7KB or the 8KB ROM. I've not exhausted the I/O of Arduino Due but have exhausted I/O of Arduino Nano with 16 multiplex outputs, 8 digital inputs and 3 digital outputs. I considered mixing common cathode and common anode seven segment displays. Effectively, half of the LEDs would be wired backwards in an attempt to get more output. Unfortunately, this is a subset of the infamous Charlieplexing where LEDs are lit by a difference of Voltage between I/O pins. Although it is possible to control n(n-1) segments for large n, it works best when the total lit segments is 10 or less. There are also current limits. Furthermore, wiring arrangements may be fragile.

It is possible to use external shift registers but multiplexing the multiplexing will make the software particularly obtuse and I may have difficulty getting this working. In the most extreme case, it is possible to reduce I/O to seven lines: input stream, output stream, clock, latch, speaker output, relay output and dedicated output to gpsd. I'm not controlling a mains relay via shift registers. Nor am I sending serial via a shift register.

I checked code quality and the majority of warnings derive from #include <Arduino.h>. Regardless, the case statements to set time are too long. This may also be why compiled output is 7KB. That's too much for a clock and significantly more functionality is planned. Switch de-bounce also requires improvement.

After an US$8 retail purchase of a mix bag of LEDs and LCDs, which, crazily, includes a 1 row × 16 column LCD text display, I'm also considering a really fancy power-on light test. Something like a PWM snaking figure-of-eight across each digit.

What Kind Of Shonky Software Do People Write?

Posted by cafebabe on Tuesday January 16 2018, @08:12PM (#2931)
2 Comments
Software

I've been curious about programming standards and now that I'm actively writing software for process control (rather than wrangling other people's software without success) now would be a good time to make the software as reliable as possible. Arguably, writing in C or C++ is the first mistake but it is hard to avoid when, for example, I2C devices only have library code written in C. Even a person who refused to deploy C would be required to read it and use it for reference tests.

I found an old, unauthorized copy of the MISRA C 2004 Specification. This was originally developed for vehicle safety and is now used in medical, aerospace and other industries. And now you can add the space cadets in the hydroponics industry.

I feared looking at MISRA because I was under the false impression that it involved bone-headed stuff like writing conditions backwards to prevent accidental assignment. Feel free to do that but the prefered method is static analysis. Overall, the MISRA guidelines are very good to the extent that I'm considering a license for the current version.

Reading the standard proceeds as follows. A right-minded person initially thinks "What kind of shonky code are people writing?" Sooner or later, this is followed by "Ah, I need to change something in my current project." This is followed by "I need to change something in a previous project." This is followed by "I need to change everything I've ever written." This is followed by the later realization that not even a typical example of "Hello World" is written correctly. (Specifically, no function prototype or library call return code check.)

Writing C to MISRA standard is an attainable goal but almost everything falls short. I mentioned this to some programmers. No-one thought any of it was idiotic but some parts of conversation began with "I don't do that because ..." and omissions included declarations, error checks and default cases. I defend multiple returns from a function under specific circumstances in which execution is effectively a try ... catch construct across two functions. However, that works best in a server environment for the purpose of avoiding memory leaks. For MISRA's focus, embedded applications, even the use of dynamic memory allocation is discouraged. And that removes one of the main uses for multiple returns. An improvised try ... catch can also be used to fail fast. This seems problematic until the difference between library code and application code is considered. Library code throws errors which cannot be handled due to lack of context. Application code catches errors because the context for handling them is known. Unfortunately, "Never test for an error which you cannot handle." and an embedded system with all unhandled exceptions tied to "reboot" may lead to device failure mode in which there is a constant cycle of reboots and no further diagnostic information.

So, what kind of shonky software do people write? I let a Lisp hacker look at the code for a virtual processor. The code review can be summarized as "Your code embodies everything that's wrong about C." followed by particular ire for a portable attempt to define a 16 bit signed integer which is clearly labelled as working on gcc and clang but possibly not further. After "Well, at least you didn't use recursive macros." I noted the part where 4 byte BER fetch is implemented as a macro which is nested within itself.

That's a problem. Some embedded C is stuck in a timewarp between Kernighan & Richie's traditional C and the ISO C 1999 Standard. My style is closest to the ISO C 1990 Standard and that works fine for embedded software. However, between 1969 (when C was being developed on a 16 bit, two's compliment computer) and 1999 (when int16_t was standardized), it wasn't possible to reliably define a signed 16 bit integer and, after almost 50 years of C, it remains problematic in some cases.

This is part of a wider problem where implicit assumptions and conflations are common reasons for software being inadequate. Things like currency handling, date formats (especially two digit years), character encoding, disability support - and the magnitude of numbers.

It also fits the observation that the installed base of technology is half of the age of the technology unless steps are taken to actively skew the age. This was certainly the case for web browsers before automatic updates became common. However, it seems to apply to programmers. Effort to drop C entirely (often by people encouraging WebAssembly) is an over-reaction (and contradictory). However, tests and standards have to be greatly improved.

I wrote some regular expressions in Perl4 to test quality of C. Yes, the old joke is "Now I've got two problems." More seriously, dodgy scaffolding is allowed by MISRA C 2004 but not in deployed software. In this case, you can verify that nothing I've previously written will pass all of these tests. The worrying part is that I only wrote five easy tests out of about 100.

After unpacking the archive on a Unix system, make quality applies tests to hello.c and finds a missing function prototype but doesn't find the missing return check. Flags on the compiler find these problems and produce a warning that argc and argv aren't used. Technically, these should also be const. So, that's six problems with "Hello World". gcc and my crude checks find an overlapping subset but important problems are missed.

begin 644 code-quality-check-dist-20180112-104505.tar.gz
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
C"BJHH((**JB@@@HJJ*"""BJHH((**JC@GN'_5VX!IP!0````
`
end

(Usual instructions for uudecode process.)