Category Archives: Technology

Writing Software for Writers

This is especially for writers of big things. If you write small things, like blog posts or short articles, your best tool is probably a text editor you like and a way to handle markdown language. Chances are you use a word processor like MS Word or LibreOffice, and that is both overkill and problematic for other reasons, but if it floats your boat, happy sailing. But really, the simpler the better for basic writing and composition and file management. If you have an editor or publisher that requires that you only exchange documents in Word format, you can shoot your text file with markdown into a Word document format easily, or just copy and paste into your word processor and fiddle.

(And yes, a “text editor” and a “word processor” are not the same thing.)

But if you have larger documents, such as a book, to work on, then you may have additional problems that require somewhat heroic solutions. For example, you will need to manage sections of text in a large setting, moving things around, and leaving large undone sections, and finally settling on a format for headings, chapters, parts, sections, etc. after trying out various alternative structures.

You will want to do this effectively, without the necessary fiddling taking too much time, or ruining your project if something goes wrong. Try moving a dozen different sections around in an 80,000 word document file. Not easy. Or, if you divide your document into many small files, how do you keep them in order? There are ways, but most of the ways are clunky and some may be unreliable.

If you use Windows (I don’t) or a Mac (I do sometimes) then you should check out Scrivener. You may have heard about it before, and we have discussed it here. But you may not know that there is a new version and it has some cool features added to all the other cool features it already had.

The most important feature of Scrivener is that it has a tree that holds, as its branches, what amount to individual text files (with formatting and all, don’t worry about that) which you can freely move around. The tree can have multiple hierarchical levels, in case you want a large scale structure that is complex, like multiple books each with several parts containing multiple chapters each with one or more than one scene. No problem.

Imagine the best outlining program you’ve ever used. Now, improve it so it is better than that. Then blend it with an excellent word processing system so you can do all your writing in it.

Then, add features. There are all sorts of features that allow you to track things, like how far along the various chapters or sections are, or which chapters hold which subplots, etc. Color coding. Tags. Places to take notes. Metadata, metadata, metadata. A recent addition is a “linguistic focus” which allows you to chose a particular construct such as “nouns” or “verbs” or dialog (stuff in quotation marks) and make it all highlighted in a particular subdocument.

People will tell you that the index card and cork board feature is the coolest. It is cool, but I like the other stuff better, and rarely use the index cards on the cork board feature myself. But it is cool.

The only thing negative about all these features is that there are so many of them that there will be a period of distraction as you figure out which way to have fun using them.

Unfortunately for me, I like to work in Linux, and my main computer is, these days, a home built Linux box that blows the nearby iMac out of the water on speed and such. I still use the iMac to write, and I’ve stripped most of the other functionality away from that computer, to make that work better. So, when I’m using Scrivener, I’m not getting notices from twitter or Facebook or other distractions. But I’d love to have Scrivener on Linux.

If you are a Linux user and like Scrivener let them know that you’d buy Scrivener for Linux if if was avaialable! There was a beta version of Scrivener for Linux for a while, but it stopped being developed, then stopped being maintained, and now it is dead.

In an effort to have something like Scrivener on my Linux machine, I searched around for alternatives. I did not find THE answer, but I found some things of interest.

I looked at Kit Scenarist, but it was freemium which I will not go near. I like OpenSource projects the best, but if they don’t exist and there is a reasonable paid alternative, I’ll pay (like Scrivener, it has a modest price tag, and is worth it) . Bibisco is an entirely web based thing. I don’t want my writing on somebody’s web cloud.

yWriter looks interesting and you should look into it (here). It isn’t really available for Linux, but is said to work on Mono, which I take to be like Wine. So, I didn’t bother, but I’m noting it here in case you want to.

oStorybook is java based and violated a key rule I maintain. When software is installed on my computer, there has to be a way to start it up, like telling me the name of the software, or putting it on the menu or something. I think Java based software is often like this. Anyway, I didn’t like its old fashioned menus and I’m not sure how well maintained it is.

Writers Cafe is fun to look at and could be perfect for some writers. It is like yWrite in that it is a set of solutions someone thought would be good. I tried several of the tools and found that some did not work so well. It cost money (but to try is free) and isn’t quite up to it, in my opinion, but it is worth a look just to see for yourself.

Plume Creator is apparently loved by many, and is actually in many Linux distros. I played around with it for a while. I didn’t like the menu system (disappearing menus are not my thing at all) and the interface is a bit quirky and not intuitive. But I think it does have some good features and I recommend looking at it closely.

The best of the lot seems to be Manuskript. It is in Beta form but seems to work well. It is essentially a Scrivener clone, more or less, and works in a similar way with many features. In terms of overall slickness and oomph, Manuskript is maybe one tenth or one fifth of Scrivener (in my subjective opinion) but is heading in that direction. And, if your main goal is simply to have a hierarchy of scenes and chapters and such that you can move around in a word processor, then you are there. I don’t like the way the in line spell checker works but it does exist and it does work. This software is good enough that I will use it for a project (already started) and I do have hope for it.

Using Scrivener on Linux the Other Way.

There is of course a way to use Scrivener on Linux, if you have a Mac laying around, and I do this for some projects. Scrivener has a mode that allows for storing the sub documents in your projects as text files that you can access directly and edit with a text editor. If you keep these in Dropbox, you can use emacs (or whatever) on Linux to do your writing and such, and Scrivener on the Mac to organize the larger document. Sounds clunky, is dangerous, but it actually works pretty well for certain projects.

Scrivener can look like this.

How to share keyboard and mouse between two computers?

I use two different computers, each with a different operating system, to do my stuff. Actually, I use five, but only two where I would ideally like to switch between them while I’m using them. I’ve experimented with some solutions, so I can offer some advice. Continue reading How to share keyboard and mouse between two computers?

The Official 2017 Cool Tech Gift Guide

Not to be confused with the Official 2017 Maker Tech Gift Guide!

I’ve mixed a wide range of techno-stuff in this guide, so there is stuff that flies, stuff that cooks, and stuff that makes noise. This is your prompt. It is up to you to match and expand on the ideas and integrate them with target gift recipients you know and love. Or, you can always put items on your personal wish list and see what happens!

Without further ado: Continue reading The Official 2017 Cool Tech Gift Guide

What are this year’s best science toys for young kids?

Part I: Liquids, edibles, slimy things. (The next part will tend towards the electronic and robotish.)

Focusing on elementary school, mainly around 2nd or 3rd grade, this is what I see on the market this year. A lot more water, day to day pragmatic science, and specialized kits that generally produce stuff you eat, throw out, or otherwise dispose of, which saves a lot of closet space in your home! Continue reading What are this year’s best science toys for young kids?

A Great Echo Math Skill-Building Skill

An Echo is a small round robot that lives in your house, and that you can give commands to, converse with, get to run your devices, and learn from.

(See this review of the Echo and related devices.)

An Echo “skill” is an app, essentially, which you can turn on and have available at any time to do whatever it is that that skill does. You can safely think of the word “skill” as equivilant to “app” for most purposes. Continue reading A Great Echo Math Skill-Building Skill

Just got Makey Makey, in search of a banana …

I just got this Makey Makey kit (which, by the way, is on sale at the link provided, at this moment).

A Makey Makey is a device that allows a do-it-yourselfer to create a closed loop electrical signal, that the Makey Makey device converts into a specific serial signal that is sent via USB to a computer. The signal is a keystroke or mouse event. So, you can hook the Makey Makey to, say, a banana and a laptop, then when you touch the banana the laptop gets a mouse button click or a space bar or something. The kit is designed to give easy access to the key signals most used in gaming, but I think it allows the full range of keystrokes, and it can also interface as a sensor to an Arduino or similar, so you can use a banana to control, say, your robot. Or whatever.

I’ve not used it yet, so this is not a review, just a note that I’ve got one. Do you have one? This should be fun.

OK, off to get the bananas.

Hacking The American Election System: Getting It Right

In every area of life, but especially in the overlapping realms of technology, science, and health, misunderstanding how things work can be widespread, and that misunderstanding can lead to problems.

In the area of voting, the main problem seems to be the expenditure of great amounts of outrage and concern over things that are not real. At the same time this happens, things that are real matter a great deal.

I’ll give you one example. Remember the special election for the Congressional Representative for Georgia’s 6th district, earlier this year? Several media outlets reported “voting machines stolen,” which, in turn, caused great outrage and concern on The Internet because, well, voting machines had been stolen.

Now, pause for a moment and think what this means. What does it mean to have voting machines stolen? What is a voting machine? What would you do about voting machines being stolen? How might you try to solve the problem of voting machines being stolen just before an election was happening (like,the day before)? How might this affect the election? Who likely did it? How would you find them and what would you do to them?

I hope you did not spend a lot of time on those questions because if you did, you probably wasted it (unless you already know about the Cobb County Georgia story). Continue reading Hacking The American Election System: Getting It Right

Does Apple intentionally slow down your phone to make you want to buy a new one? YES it turns out!

ADDED: Sort of. Let me explain.

Apple does slow down the clock speed on the main processors of your phone as the battery wears down. I assume there is a good technical reason to do this, and it kind of makes sense. So, yes, they slow down your phone but not to sell you a new one, but rather, to help your phone be a better phone.

But, the slowdown can be reversed by replacing the battery. And, Apple has never made even the slightest move to inform people that this is a thing. So, it is like the time Homer Simpson was told by Marge to not eat a pie she had just made. Homer found himself walking across the kitchen with his mouth making an up and down scarfing motion in an arbitrary direction that happened to lead directly to the pie. “If that pie doesn’t get out of the way, I’m going to accidentally eat it” he proclaimed. Sure enough, the pie remained still and Homer ate it.

Similarly, people will buy a new phone because performance is way down, when all they had to do was to replace the battery. Apple is Homer pretending to innocently happen to eat a pie. The phone is homer walking along. You are the pie. Not a pretty picture.

So, really, the slowdown is a) engineered into the phone, b) causes people to buy a new phone, not a new battery, and c) the fix that would be so much cheaper is kept out of the available information from Apple.

So, yes, Apple intentionally slows down your phone to make you want to buy a new one, it turns out. Effectively.

How do I know this? From this excellent and well documented source.

And now, back to my original post in which I argue that something suspicious is going on but I don’t quite know what it is:

ORIGINAL POST:

It is a widespread belief that Apple, as well as other computer manufacturers, do things that make your device, be it a desktop computer, a notebook, a smart phone, or anything, slow down as they lead up to and release, and begin to sell, a new version of their product.

I want to point to a study done that concludes that they don’t do this. The study is by FutureMark which is basically a benchmarking software producer. They to not explain in their methodology where they get their data from, but I will guess that it is from the phones of people who install their benchmarking app.

If so, then right there we have a problem with the study. Without describing the sampling design, the study is useless right out of the gate. But if it includes the sorts of users that will install a benchmarking app on their phone, the that’s a bias (and uncontrolled mysterious one at that).

The study has other problems. Continue reading Does Apple intentionally slow down your phone to make you want to buy a new one? YES it turns out!

Why Get A Pi? (Raspberry Pi)

There is really no better time to get a Raspberry Pi. The new Raspberry Pi 3 has features that make it much more useful and fun, including more speed, built in bluetooth, and built in wifi.

The Raspberry Pi is a small computer that, out of the box, lacks storage drive or device, a monitor, a screen, or a mouse, but is otherwise a fully functional computer that can run a normal operating system. It costs very little, so if you happen to have a TV or monitor that can use a component or HDMI hookup, a keyboard, a mouse, and an appropriate microSD card, then you have a computer for $39.99. If, on the other hand, you need to buy those parts and the cables and such, then you have a $200 computer (or more) that isn’t very fast but is still cool. Chances are, though, that you have at least some of these parts laying around.

I’ll make some suggestions below as to how to set yourself up (including the option of buying a kit) but first let me say a little more about why you might want to do this.

Why Pi reason one: A kid

Maybe you have a kid in the house who is old enough to start to play around with a computer, but not old enough to not gob all over it, drop it, or mistake it for a bath toy. With a Raspberry Pi, you are not taking a big risk. First, it is cheap and easily replaced, compared to, say, a laptop. Second, if it does end up in the bath, it is probably easier to dry out than a notebook or desktop computer.

When Huxley was about five, I set him up with a Raspberry Pi hooked to an old TV we had laying around. I bought a new keyboard and mouse for it, and that keyboard and mouse has done a lot of good work since. He learned the basics of turning a computer on, turning a computer off, using the mouse, running some basic apps (like Tux Paint), etc.

Over the next year he continued to use the Pi but also graduated to a laptop his grandfather had laying around. It was a Windows laptop, so I wiped it and installed Linux. Huxley is now able to install software using the command line, and he is about as good at word processing as any average person. He’s pretty good with graphics software as well. At school, he’s been learning a watered down version of the iMac, he can use Windows, and he knows more about the Android and iOS operating systems than most. He turned 7 last week. I owe much of his rapid development to the Raspberry Pi. Also, to Linux; If Linux is one of your first operating systems, you will understand more quickly the things you need to know to make computers bend to your will.

Why Pi reason two: impress your friends

So, here’s the scenario. A bunch of your friends get together now and then at a particular coffee shop, or the cafeteria, or perhaps your family gathers at the cabin, or at a favorite vacation spot. Pretty soon everyone pulls out a device. Most have phones, but here and there a laptop being used by someone who needs to get some real work done.

Well, you need to get some real work done too, so you pull out a box of Altoids, plug it into the nearest TV, sign in via your iPad and, using the iPad’s virtual keyboard, get to work.

A Raspberry Pi can be cobbled together with a number of different bits and pieces, including some interesting options for the computer’s case, to make what is essentially a laptop or a funky desktop. It can work as a “headless” server, so you use a different device to access it.

My most elaborate setup involved a super fast USB stick to run the operating system. The microSD is the usual boot device, but I hacked it to hand the boot process over to the faster USB stick and run the computer from there. An HDMI output ran to a small TV. The Pi was hooked directly into the internet via a LAN cord (there is a plug on the Pi). A powered USB hub allowed multiple additional possibilities. A bluetooth dongle gave the device that capability, and allowed use of a mouse and keyboard. Oh, and I overclocked it. That was a Raspberry Pi 2.

The Pi 3 comes with built in wireless and bluetooth, and is faster and thus not so much in need of overclocking.

Why Pi reasons three through infinity: Projects

The Raspberry Pi is, as noted, a basic computer, but it has a number of pins that give the hardware access to outside thingies. These GPIO pins let you hook sensors or actuators directly to the Pi, so you can build things with a brain. In addition, there is the usual serial (USB) interface.

There are two commonly used machines on which a very large number of Do It Yourself (DIY) projects have been based. A home media center. A garage door opener. A weather station. A personal web server. A remote control camera for security or to watch birds or game. A system for turning on and off all your things, including lights. A customized alarm clock. A bitcoin server. Any one of a number of different robots.

One device is the Arduino Uno R3 Microcontroller, or a related card, the other is the Raspberry Pi. If you look around you will find dozens of other circuit boards that do these things, but none of them have the huge support network, gazillion lines of pre-written code, and myriad bits of hardware designed to be added on to make things happen.

The Arduino controller is, frankly, the better choice of machine for many uses. If you need a smartish machine to do one thing, and only one thing, and that thing isn’t too complicated, a Raspberry Pi is probably overkill and might have some downsides. A controller might even be better designed as hardware goes, as it is real time. Say you are building a model airplane and you want a smart device inside it controlling the various things that make it fly. You will be sending signals via radio to the plane. A controller can be set to cycle rapidly through the communications module to see if there are any instructions coming in, then to various sensor or actuator circuits to acquire information or to set the actuators to do things (change speed, etc.). You can be confident in advance that the controller will focus on nothing other than these jobs, and check each of these inputs and outputs several times (a known number of times) a second.

If, on the other hand, you use a computer — any typical computer — with a normal operating system like Linux, OSX, or Windows, then you can’t be as sure. There can be a software based timer set up in the computer that will theoretically go from sensor or actuator to sensor or actuator, checking the communication module for commands every cycle. But those cycles are virtual. If somewhere along the way a backup program was installed to make a copy of a directory and put it on a USB stick every hour, then suddenly your computer is busy doing something else. If updates are automatic on your setup, same problem. Yes, you can configure a system to not do anything you don’t want it to do, but you might not be perfect in you efforts. In other words, having a Raspberry Pi carry out time sensitive mission critical rapid fire acts is like hiring a potentially recidivistic but reformed fox to guard the henhouse. Yeah, it probably works, but if any chickens are missing …

The Raspberry Pi, running a normal operating system, can do pretty much anything any other computer can do, and might in fact, do any of a number of different things while still carrying out the program you wrote to operate the air plane. But the Arduino controller can only do a few things, and you can’t really accidentally have it programmed to send out bulk emails or get your fur coat cleaned while you are trying to control your expensive model airplane.

So, let’s say I want a device in my garage that has a sensor that tells me if the garage door is open or closed, turning on a light on a second device in my house (connected by radio signal) if the door is open, and allowing me to open or close the garage door by pushing a button on that interior device. That would be easy using two Arduino boards, some sort of sensor, a cheap pair of radio communication thingies, and some lights and resistors. (Plus the appropriate way to close/open the door, for which there are several options.)

Say I want to have a device in the garage that senses if the door is open, has a camera that can be used to check out the garage, communicates the status of the door via the internet, and allows me to remotely open or close the door or look at the camera’s image remotely form anywhere on my smart phone. You can totally do that with an Arduino controller, but that will involve adding a lot of parts and raising the cost, and you may be limited in other ways. A Raspberry Pi would be better for this application.

Say I want the device in the garage to have a movable pointable camera, a temperature sensor, a “door open” sensor, a door close/open actuator, and a way to turn on and off the main garage light. But, I want to control all of those functions from the Internet, and I want the same internet interface to also give me the temperature in my house and provide a view from a camera pointing out the front door. I also want the same system to give me access to my Google calendar.

For that, I’d want the Raspberry Pi running the web server, hard wired, perhaps, into my home LAN, and fitted with a Camera Module and a temperature sensor. I the Garage would be an Arduino with a movable camera and all that other stuff, controlled via the Pi that sits in my house.

And so on.

Very elaborate home automation systems have been built using a combination of various Arduino controllers and a Raspberry Pi at the center of it all.

The Raspberry Pi can run any software that normally runs on Linux, if that is the operating system you install (which is probably the case). Most projects that use the Pi as the central brain use Python, which is an all purpose programming language. The Arduino controller uses a form of C, but it is easy to use and for most functions, there is already code ready to use out of the box or with minor changes. The Pi can have huge programs and handle massive amounts of data, if you have a large enough USB stick or microSD card. The Arduino is very limited in space and memory, though it can be attached, with some extra work, to various mass storage devices.

I think you get the idea.

What kind of Pi do you want?

There are four kinds of Raspberry Pi. The Zero, the One, the Two, and the Three. If you are getting a new one, just get the three. It replaces the one and the two. (The Zero is a whole different thing, for advanced users.)

There is also the A vs. B model within these categories. None of that is important. Get the Pi 3 B. THIS ONE: Raspberry Pi 3 Model B Motherboard.

In order to make a Raspberry Pi work, you will need things like a power adapter, a keyboard, etc. You might want to put it in a case. You will need a microSD card with the operating system on it. Since the Pi is a DIY device, the basic unit comes with none of this and you have to figure it all out yourself.

Or, you can buy any one of dozens of available kits that have some combination of some of the basic parts needed. Kits don’t have a monitor, keyboard, or mouse. The Raspberry Pi comes with the rarely used component jack (the yellow round thing on the back of your TV may work with it) and an HDMI output, for video, and several USB sockets. The PI 3 has bluetooth built in, so you can use a bluetooth mouse and keyboard if you want. The kits tend to have the Pi, an SD card often with the OS preloaded, an HDMI cable, a power supply, and a case. Most kits these days come with heat sinks, which are pretty much unnecessary but cool, that you can glue on to the Pi if you want.

I recently got the Vilros Raspberry Pi 3 Complete Starter Kit with Clear Case and 32GB SD Card, which came with the Pi 3 (with WiFi and Bluetooth, as mentioned), a power supply, a 32 GB Class 10 MicroSD card (you will want a class 10 card), a case, an HDMI cord, and two heat sinks. I think that normally lists for $90 but is perpetually on sale for much less.

For the more DIY oriented user, the CanaKit Raspberry Pi 3 Ultimate Starter Kit – 32 GB Edition comes with additional parts that will be helpful in building projects that exploit the Pi’s input/output pins, such as LED lights, hookup wires, and resistors, a breakout cable, and a breadboard. The way the Pi is set up, you will want a breakout system to allow you to mess with electronic components more easily and safely (safe for the Pi, that is, with its sensitive computer circuity). If I was going to give a kit to someone who I knew was going to mess around with the hardware, this is the kit I’d probably pick.

The Operating System, which you can download at the Raspberry Pi site and install on the microSD card, also allows for some options. And, it can be a little confusing.

There is a “system” called “noobs” (for Noobie, I assume) which is the easy way to install Raspbian. Or, you can get Rraspbian sans Noob, which is apparently the hard way to install Raspbian. I’ve done both, but I don’t remember if one is actually harder.

Raspbian is the basic OS for the Raspberry Pi, and it is a Linux distribution based on Debian (get it? Raspberry Pi Debian = Raspbian?)

The Raspbian distribution formerly used LXDE as the desktop, a lightweight, not very fancy, stable desktop. But, recently, the desktop was redesigned to be much sleeker and nicer (but still basic and efficient) and has been renamed Pixel. (Pixel as in Pi-something, but also, named in part after the author’s experiences as a young child playing peek-a-poke in Basic on his IBM clone.)

You can also install a version of Ubuntu Mate. I’ve done that. I don’t recommend it. The Pi is not meaty enough to pretend to be a normal desktop computer when saddled with the extra overhead. Pixel is the way to go. But it was fun to play around with. Another option is the OSMC, or Open Source Media Center, if you want to use the machine as a media center. There are others. I’ve no experience with them, so I can’t tell you much about them. But I can tell you this very cool thing: You put the OS on the microSD, and put the microSD in the Pi, and that is what determines what OS you are using. So, you can swap between operating systems but just swapping cards. How cool is that?

One especially advanced but seemingly widespread use of the Pi is to build a gaming device. You install some software. Then, you install the bios of one or more gaming systems. Then you install the games that go with that gaming system. Obviously, you will only install systems and games that you already own, and not find anyplace on the Internet to download them. Then, you have all those old console games on your Pi. You’d probably buy some game controllers to hook up to that device, and you’d probably run it on your TV.

All the information you need to make all of this work can be found either on the Raspberry Pi site, or at a destination linked to from that site.

fly713vhaq33le0-medium

Raspberry Pi Cases

As noted, you can use the Raspberry pi as a regular, low power but usable, computer and at the same time make a cool case for it. This is a bit like having a laptop that you carry around, but instead of a laptop, it is a box of Altoids. Or some LEGOS.

Instructions to make the Altoids Pi case are here.

Ready-made LEGO cases are here and here.

Strange and wonderful devices

There are a gazillion projects on line that use the Raspberry Pi. Here, I’ll give you just a few examples. Most of the examples use Raspberry Pi 1 or 2 (probably, 2 is the most common) and in most cases you’ll want to use a 3. So, the best way to get good instructions for a project is to look at a few examples and hopefully among them will be one that uses the Pi 3.

Here is a somewhat slow but a good start on a PIrsonal Assistant. You can make this run faster if you tweak it (and use the Pi 3):

Do you know what Tor is? If not, maybe find out. Given the current political climate, it may become more important. Anyway, you can make a Tor Router.

There are many picture frame projects out there. Just search for Raspberry Pi Picture Frame.

Here is a system that controls your lights using voice commands.

If it was me, I’d skip the voice feedback. The detailed instructions are HERE.

At first I thought this Pi controlled espresso machine would be dumb, because really, what can a computer to do make an espresso machine work better. Then I looked more closely at it and realized this is a thing.

Stratux looks interesting. I remember my uncle, a Franciscan missionary who would stop by now and then on his way to this or that remote place, invented something like this back in the 60s. Stratus is a device you use to identify aircraft in your vicinity, using the plane’s ADS-B broadcasts.

I’m not going to point to a particular media streaming project. There are many, many such projects and it all depends on what you want to do. Just do a search for using the OSMC system on Pi. Or, just a simple music streaming machine.

Same with console gaming projects.

People make Minecraft servers. Generally, if there is anything you might like to dedicate a computer to, that is on all the time, the Pi may be the way to go. It is very low power demanding, and cheap enough that you can dedicate this card to that one purpose, leave it running, and give it just enough maintenance to keep it from being coopted by nefarious hackers.

A print server, a file server, a local web server for your own uses, a system that puts your google calendar or other stuff on a TV screen (or other screen) for your convenience. Each of these idea has 20 or 30 iterations out there.

I hear someone is working on an “Election Converter” that runs on a Raspberry Pi 3. I’d send you a link but the instructions are written in Cyrillic.