4 skills you need to be successful in software development
The article is a half truth. There are 4 skills you need to be successful in software development. Two of these skills are needed to be successful anywhere and they are (1) coherent written & oral communications and (2) working well with others. Any university degree will develop these skills. The other two necessary skills are (3) having broad software development experience (both re/ tasks and teams) and (4) actually knowing the foundations of computer science. A useful programmer can get by for a long time having only skills 1, 2, and 3 but a successful programmer has skill 4. Critical thinking skills alone do not design a successful system nor do they diagnose the root cause of a problem.
I have been developing software programs and software systems for 37 years. I have met lots of very useful software developers in that time. I have met only a handful of successful software developers.
I would never build a team of only useful programmers.
Running out of entropy
You check on how many bytes of entropy are available using
cat /proc/sys/kernel/random/entropy_avail
Our counts are always less than 200. That is not enough. And so my concern is that I have a system that depends on random UUIDs that does not have enough entropy and so, so as not to block, it is using math to get randomness. I don't trust math randomness.
I don't yet have the full picture yet. Hopefully I will soon.
See Check available entropy in Linux.
Update: We have deployed haveged and available entropy is always over 1,000.
Slides for your generic talks
Recently we had the generic TED talk. I think I am going to start collecting the images that seem to be used by all talks. The inaugural image is, without a doubt the most used in more slides than any other, the iceberg.Searching browser history using Google Chrome search engine
chrome://history/?q=%syou can quickly search your browser URL history by typing
Cmd-l h search-text.
Grumble about messaging conversation indistinguishability
$0.43 for Psychotherapist Barbie services
All the wonderful applications and toys that requires an internet service for operation have a very short life. Most application startups don't last two years. That great calendar extension, or small office workflow coordinator, or automatic uploaded video curation you use every day quickly becomes inert. You anxiously wait for their death. The situation for toys is even worse. Almost no toy manufacturer has had to provide service support and maintenance. Once the toy is sold, the only worry a manufacturer had was that of product liability suites. So what are we to expect as we move ever forward into the internet-of-things?
Suppose that Hasbro sells "Psychotherapist Barbie" and she needs to store years of voice recordings and to run complex voice, tone, and sentiment analysis algorithms so as to synthetically voice the appropriate response. How long is Hasbro going to operate this as the number of active customers and maintenance income dwindle?
Hasbro should not run the services. Instead, Hasbro should use the Barbie owner's own Amazon Web Services account to run them on. That is, on behalf of the owner Hasbro will provision the AWS services needed to use Psychotherapist Barbie. Once running, Barbie's owner pays for the services until he or she no longer wants to use the toy. If Barbie's owner prefers Google Cloud Services or Microsoft Azure then Hasbro would provision there instead.
We need manufacturers that sell applications and toys requiring connectivity, storage, and computation for their operation to use the owner's preferred cloud services provider. This is quite easy to do with applications or toys that are used in isolation. For applications or toys that require a network of users then the solution is a little harder as the manufacture would need to implement services that share without centralization and to scale from two users to many, or perhaps millions, of users.
I look forward to the day when I receive my monthly AWS services bill and see listed the applications and toys I use that make my life a little easier and more enjoyable.
PDFs, comments, and Dropbox
When you like commenting you want to have the space needed to comment. I seem to recall that I once forced an author to use double line spacing and an extra wide right margin so that I had room to write. That was great. When Microsoft Word added the comment bubble user-interface I did not think my commenting life could be better. I was wrong. Online collaborative commenting is even better.
Most of my documents are written using Google Docs. Docs has weak formatting and content structuring tools, but it does have great commenting (and version control). I am willing to lose a little structure and style for that. Not all documents come my way via Google Docs, unfortunately. Most of them use Adobe's PDF as authors want structure and style over commenting. Especially, it seems, those working in elementary and secondary education. Sigh.
Today I wanted to read and share my comments on RIDE's "Creating a Shared Understanding of Personalized Learning for Rhode Island," a PDF document. So I looked around the web for tools. There are a fair number, but I was happy to find that Dropbox allows for online collaborative commenting of PDFs. Just add the document to Dropbox and share it. Anyone viewing the document sees the comments and anyone wanting to add comments need only login with Dropbox or Google credentials.
Another online problem solved.
3 times a loser
Liz Gledhill nominated me and Joe Viele seconded the nomination. Since Scott received the necessary 3 winning votes my nomination was never voted on. Meg Healy, Abel Collins, and Bryant Da Cruz appointed Scott Mueller to the vacated seat.
I want to thank Liz and Joe for having the courage to support my positions and this governance rookie. I also want to thank all those people across this country that stood up for what is right over these last weeks as it was their example that inspired me to try again.
Scott was not a good choice. Healy, Collins, and Da Cruz made a politically safe choice and, moreover, a safe Democratic party choice. The ramification of their choice is that the SC is effectively the same SC as we had before the November election. An election that clearly called for change. Roland Benjamin and Alycia Collins will do their best to shift the SC's focus towards, I am guessing, finer budget control and reducing the barriers that obstruct educating all of our children. The other 5 members and the Superintendent will continue as they always have. The brazen submittal to the TC of a school budget that increases spending by double the State mandated limit clearly shows that they are not adequate to the task of their responsibility. Shame on them. And shame on the TC for not listening to SK's voters.
Universal health-care is great for business
I can tell you what would be great for business in the United States -- universal health-care. Those with great ideas for new businesses can take the risk of losing their savings, but not their lives or those their children. Businesses can compete globally unburdened from the financial and moral sole provision of the health of their employees and their families. Businesses can hire the best from across the country because they are not encumbered by the 50 different state health insurance regulations and limitations. Lastly, and most importantly for those with little hands, little minds, and little care for others, billions of dollars of increased shareholder value.
Let a 1000 flowers bloom and 300 million people breathe easier each and every day.
Too much kit
I think what bothers me about these games is that there are too many parts that must be had. To play a dark ages games using the SAGA rules each player must have the faction's "battle board" and their customized dice. To play an ancients game using the Aurelian rules each player needs to have its deck of cards and the unique tokens. These kit are not cheap. For SAGA the rules are $30 and 2 sets of dice are $36 for a total of $66 before playing the first game. For Aurelian the rules are $29 (PDF) and 2 sets of cards are $40 (or, if you print them yourself, $20 in inkjet ink and $10 in sleeves) for a total of $69 (or $59) before playing the first game.
I don't think my aversion is to the cost, our hobby is expensive, but there is ample difference between a high entry cost vs a moderate ongoing cost. Clearly that is where my mind is. I believe that to play a wargame it must be enough to simply have a copy of the rules, figures for both sides, a few rulers, several generic dice, and some generic tokens.
South Kingstown School Committee
I ran for South Kingstown School Committee this past November and so this blog has been quiet as I worked on my campaign. My online campaigning was on Facebook as it gave me the broadest reach into the community and the community an easy way to find me and to keep current. Here is a complete capture, I think/hope, of my postings and comments.
Update: I pulled the better postings into A chronological selection of Andrew Gilmartin’s posting made during his 2016 run for School Committee.
Paint Shaker
To have the itch to paint miniatures again. My paints have been sitting unused for much of a year and many have the pigment separated from the medium. It would take me only a few minutes to shake them all, but this needs a tool! So I built this paint shaker from parts I had on-hand.It really does not work as well as I had hoped, but it does help. A ball-bearing in the paint container would, I suspect, greatly help stir up the pigment. The kids absconded with all that I had and so I will need to get more.
Bash is useful up to a point
function f() {
for e in "$@"
do
echo $e
done
}
A=( x y z )
f a b "${A[@]}" 'c d' "e f"
will outputa b x y z c d e fwhen I expected it to output
a b x y z c d e fGoogle and stackoverflow.com both failed me, as did trying lots of variations.
Observations on the School Committee's retreat
If you are not following my South Kingstown School Committee candidate Facebook page, but are interested in South Kingstown School Committee's happenings then you might be interested in my observations on the School Committee's retreat this past Friday, July 15: the good, the bad, and the ugly.
“What’s in a name? That which we call a rose by any other name would smell as sweet.” Not in software!
“What’s in a name? That which we call a rose by any other name would smell as sweet.” Not in software!
Which Cement Mixer Are You Based On Your Zodiac Sign?
This kind of astrology is important to me. I'm aBartell Gas Powered Concrete Mixer
You are a dependable individual, willing to help whether your friend needs a shoulder to cry on, a secret to keep, or cement to be mixed.
Primary and Secondary Tools
Primary Application/Tool
A primary tool is one that the user uses daily. It is one where the user will have many sessions within a short period of time -- a few weeks. This rapid experience of having successes and recovering from failures builds the user's confidence in the his or her ability to use the tool. Moreover, this confidence encourages the user to explore the tool for better means to perform tasks and opportunities to use the tool for unforeseen outcomes. This confidence brings with it the need for far less feedback that an operation has been completed successfully and instead feedback can be limited to erroneous results.
Secondary Application/Tool
A secondary tool is one that is not a primary tool. It is used infrequently -- less than once per week. This infrequency disposes the user to having to relearn the tool's operation at the start of a session. Only the most rudimentary operational knowledge is retained between sessions. The user is most successful when he or she is guided in performing a task from its beginning to its ending. Redundant orientation information such as task milestone displays, activity histories, and possible future work, etc are displayed beside the specific task step at hand. Feedback for success and for failure is always provided.
BoardDocs and removing forced page breaks
This posting is mostly to remind myself how to eliminate page breaks from Emerald Data Solutions's BoardDocs. BoardDocs is used by lots of organizations that want control over their governance documents. The South Kingstown School Committee just started using it. Its configuration is such that when the detailed agenda is printed there will be a page break after each agenda item. I don't want this -- either on paper or PDF. To fix this I installed Stylebot and added the following style for BoardDoc URLs to turn off forced page breaks
* {
break-after: auto;
}
This seems to work. My preference would be for a less heavy handed solution, however.
