palago tiles

Palago is a simple-enough game that’s like Go but hexagonal instead of a grid pattern. It includes 48 identical tiles with a light/dark theme. Players vie to create closed shapes in their selected color.

I decided to design and 3D print a set. I’ve got the first tile now and I like it. I managed to create in one version a beautiful tile which prints nicely in two colors (on a single extruder printer). Both colors are at the same height which was a challenge…

What was interesting about the design is trying to allow the bevelled nozzle on the printer enough close access to lower layers in order to print this in multiple jobs. The base white part prints as the first job and finishes at 4mm in height; the next two print jobs are in a second-color of filament like blue in this case and start at the 2.4mm height layer and continue from there.

Screen Shot 2019-09-15 at 3.22.41 PM

It was necessary to manually edit the 2nd/3rd print job’s content for the sake of safety and to disable bed autoleveling (which could have caused problems). I was excited and nervous to push the Print button in OctoPrint and wincing a little as it begin. These things either work or they can go spectacularly wrong. Fortunately, it worked perfectly, the tolerances were exact and it produced a great-looking Palago tile.

is anybody out there?

Pink Floyd’s epic song of the same name is quite possibly the best piece on the album “The Wall”. Today’s post is about our creepy friend Alexa of Amazon fame.

Setting the Scene: 9AM, the desk next to my printer

I’m sitting here doing a little work and I notice that the Amazon Echo Dot at the 3D printer table next to me is doing an animated light show. Insufficiently-caffeinated, I’m trying to recall what this particular color show means. It finally dawns on me, ah, it’s rebooting. I didn’t ask it to reboot. And since it’s plugged into a good-quality UPS I’d have heard the relay click off if there had been a power problem and there wasn’t.

So I’m guessing it’s shenanigans (again) from Amazon.

dot

It eventually gets done with its reboot and goes back into mute mode as before. As you might have remembered from an earlier post, Alexa is creepy, listens in on your conversations and shares what it’s heard with Amazon. So of course, it’s left with the microphone turned off most of the time.

Next, I visit the Alexa App on my phone and dig deep within the Settings interface to finally find that yes, they’ve turned on the Drop-In feature again.

…yes, they’ve turned on the (creepy) Drop-In feature again

Seriously? Is it time for a class-action lawsuit against these people? The Drop-In feature effectively allows others to spy on your audio feed. I don’t want that. I turned off the feature. Amazon turned it back on in an update I didn’t initiate.

What’s next? Will then auto-upgrade with the settings configured so that the Drop-In is toggled back on as well as the microphone? Hey Amazon, illegal wiretapping is illegal.

Hey Amazon, illegal wiretapping is illegal.

Consumers don’t opt-out of their constitutional or civic rights by purchasing a product and turning it on. Federal Law 18 U.S. Code § 2510 and the following sections describe the laws against wiretapping of conversations. Amazon, consider yourself warned.

mongodb is dead, long live… anything else

Well this sucks. The people who control MongoDB changed its licensing last year from open-source to closed-source. I would say that it was a very popular alternative in the many database-like offerings out there.

GoodbyeMongoDB

Aftermath

So it looks like everybody’s dumping them from operating systems’ distribution systems and now HomeBrew has followed suit.

Time to clean house

all your code base are belong to us

Okay, so it’s been a year since Microsoft purchased github for a cool US$7.5B. In today’s terms that’s merely Amazon’s annual gross in sales. Remember when a million dollars seemed like a lot of money?

For some of you who aren’t coders, you probably don’t understand the impact of this move especially within the context that Microsoft has a history of being sued for very questionable competitive practices. Github was likely the largest collection of freely-available source code in the public domain (also known as “open source”) and probably still so even after the acquisition. Do we even have to ponder the “why?” question at all?

allyourcodebase

Github had not just most of the open source code but it also contained countless private repositories from countless other entities. Imagine that almost overnight Microsoft then gained access to all the privately-held coding secrets of their competitors.

What does Microsoft really think of open source?

“The paradigm of freely sharing computer source code—a practice known as open source—traces back to the earliest commercial computers, whose user groups shared code to reduce duplicate work and costs. Following an antitrust suit that forced the unbundling of IBM’s hardware and software, a proprietary software industry grew throughout the 1970s, in which companies sought to protect their software products. The technology company Microsoft was founded in this period and has long been an embodiment of the proprietary paradigm and its tension with open source practices, well before the terms “free software” or “open source” were coined. Within a year of founding Microsoft, Bill Gates wrote an open letter that positioned the hobbyist act of copying software as a form of theft.” ~ Microsoft and open source – wikipedia

Is “Inner Source” actually Open Source?

Microsoft is now embracing something they’re calling Inner Source for their own internal coding. Clearly, Microsoft loves the infrastructure of tools and the free availability of open source… only they truly do not understand the idea of then sharing back with others.

Microsoft’s own Inner Source is like walking around the table in a poker game, freely viewing the cards in your opponent’s hands, purposely hiding your own cards and then expecting to be able to continue playing in the game.

Sorry, but I have to call bullshit on all this. Microsoft isn’t to be trusted. They’re not our friends. They’re stealing secrets from their competitors and they’re using those secrets to create closed-source software (business as usual). They’re destroying the very ethos of open source with every passing day.

you’d think timezones would be sacrosanct

Somethings in life are supposed to be rock solid, unchanging & immutable. Not so for the list of available U.S.-based timezones as seen in Raspbian lately. In Buster, the latest operating system version (based on Debian), they decided to just arbitrarily remove a timezone selection for the United States.

Debian post

It all stems from the introduction of a second Pacific-based timezone called Pacific-New. This zone related to legislation that would have prevented daylight savings time changes to interrupt a presidential election. And yet, the bill never passed and this timezone made it into Debian (and Raspbian).

Like many users in the U.S., when presented with the two options (Pacific, Pacific-New) we selected the latter, possibly assuming that “Pacific” was some sort of designator for U.S.-islands-in-the-Pacific-which-weren’t-Hawaii.

So now with this Buster release, Pacific-New vanished into thin air and without any information to the community who support it.

But it doesn’t end there. The contents of files like /etc/timezone in Buster now don’t contain US/Pacific as one might expect. They now contain America/Los_Angeles instead. Seriously? Just think of all the shell scripts that are now buggy as a result of changes like this.

The folks from Raspbian suggest that all US/timezone​ timezones are now deprecated in lieu of America/City_Name. The entire point to having the former is that it allows pulldown menus in software to indicate a short list to the enduser. There are literally hundreds of city name entries within the America listing since it includes North, Central and South America of course.

This is a real face-palm moment for software developers and for endusers as well. Instead of selecting from perhaps five timezones, you’ll now need to select from hundreds of representative cities within two continents.

new phone, new e-waste

I really enjoyed my iPhone 5S, to be honest. I liked that it was small enough to fit into any pocket I had. Part of Apple’s business plan appears to be to force older products into landfill by prematurely making them obsolete. And one aspect of that plan seems to be to strong-arm carriers like Comcast to not allow transfers of service onto older phones like mine. It’s too bad, really, because the phone otherwise works well for me.

The reason behind the carrier switch

I’ve recently moved and my Metro PCS (now T-Mobile) service is terrible here. And at $45/month that’s just not something I intend to keep.

Comcast’s up-sell attempt

So in Comcast’s retail store, the guy’s telling me that they can’t won’t transfer my phone number to an iPhone 5. “So how much is your used iPhone 6?“, I ask. (They want $450 plus tax which is so not going to happen.) He then gives me the hard-sell by suggesting that he could only give me the $100 transfer rebate by the end of tomorrow.

Somewhat-frantic used phone search

The next couple of hours involved me trying to find a local business which would sell me a used or refurbished iPhone 6 (noting of course that the iPhone X is the current model). I managed to find that Fry’s Electronics at the local branch had a refurbished one. And of course the sale ends by the end of that same day.

The purchase

So in this world-wind period I immediately jump into my car and visit Fry’s. Indeed, the sale ends on the same day so I’m reasonably forced to make the purchase on-the-spot. Of course, the phone has zero charge so I can’t even really verify that it’s not bricked. The price tag out the door is something like $180, less than half what Comcast would have charged me.

Metro PCS

I get the iPhone 6 home, charge it up (“100%”) and the next morning visit Comcast Metro PCS. You’re probably wondering why I didn’t just go straight over to Comcast. Because Comcast won’t just help me in this situation; they insist that the iPhone 6 be provisioned by my losing carrier first. So the Metro PCS people must be told by me that I’m innocently just upgrading my phone on the day before my new payment is due. I’m charged $15 for the changeover.

Comcast

Next stop is Comcast again and they can transfer the phone number. While the number is transferring, the iPhone dies from lack of battery charge. Er, what? It was 100% when I left this morning and I’ve barely used the phone. The iPhone 5S would go days before needing a recharge.

Research time

Back home—and with the phone on the charger again—I discover that Apple had a recall and a class action lawsuit regarding this particular phone with respect to the battery. I contact Apple Support to determine whether or not I can get the battery replaced for free. They indicate that they won’t pay for it but they can assist getting me into the service queue for the local store.

Apple Store

So I arrange the support visit at Apple only to find that I and many other people will be sitting here waiting to be helped for some time. I took the option to drop off my phone and to pick it up the following day.

The next day arrives and I find that I and many other people will be waiting some more to be helped for quite some time. I find it odd that a simple pickup like this took well over an hour. What I find even odder is that Apple would replace a battery and not charge it; the phone arrived with literally 0% charge and no way to determine whether the battery’s health was verifiable. The overworked support person—holding literally four products at once to deliver almost simultaneous to four customers—essentially put me on “ignore” when I indicated that it would be nice to know if my phone was working after the service-related activity. I think I paid $45 plus tax to get out the door.

New phone

So, now I have a new, working iPhone 6. Honestly, I didn’t need a new phone. I felt coerced into the upgrade to be honest.

Of course, then, I designed a new-and-improved holder for this one using Autodesk Fusion 360. It will clip onto the shoulder strap of my laptop bag and suitable for playing music while walking somewhere. I’ll print it on the 3D printer as soon as I get that unboxed and back in action.

Screen Shot 2019-07-05 at 11.29.29 AM

What next? (a.k.a. Combating e-waste)

I really have a hard time with this disposable-technology mentality. If we’re tied to a single operating system like iOS and it’s under Apple’s Machiavellian business plan then we’re left with two viable options: throw it away or change the operating system.

Having searched the Internet, I see no solutions in which someone has replaced iOS on an iPhone with anything like Linux. In theory, an older phone could be hacked as an amazing IoT device of some kind since the camera technology, RAM, processor and storage is killer compared to a Raspberry Pi, for instance. The street price two years ago for a used iPhone 5S was a mere $100 as I recall. So today, the street price of an iPhone 5 should be sub-$100. (I’ve just reviewed an eBay iPhone 4 ad which asks $7 as the price!) Imagine the supercomputer which you could build from a boxful of discarded iPhone 4’s and 5’s.

[Assuming that we’ve replaced iOS on each…] imagine the supercomputer which you could build from a boxful of discarded iPhone 4’s and 5’s…

  • I’m sure the average phone retailer has a stash of these in their back office and would be delighted to remove them from the playing field.
  • You wouldn’t need it to be a phone anymore or to have a carrier.
  • At it’s heart, the average (old) smartphone is a very fast computer with lots of RAM and an amazing camera and hard drive.
  • In the average supercomputer scenario, you wouldn’t worry about batteries since it would be tethered to power. Most battery-related issues could then be ignored.
  • In theory, you could create low-cost projects which involve sending multiple old phones up into the stratosphere via a helium balloon, collecting a 360° views and transmitting them back.
  • Similarly, you could create a drone submarine with a dedicated old phone at every porthole to capture and forward live, streaming video.

I’ll continue to look into this as an option. There has to be a way of hacking these phones. Just imagine the possibilities if you could.

Screen Shot 2019-07-05 at 12.06.42 PM

synesthesia revisited

Today’s post is a revisit of the synesthesia topic. Earlier I talked about an innovative new means of creating colorized tablature to promote this cross-wiring of the senses in new piano students…

9crimes

Last weekend (for this installment), I thought it would be interesting to attempt to write a MIDI version of this so that I could create that same sort of feedback using color. Only this time, I would be playing the notes directly on my Yamaha digital keyboard.

Screen Shot 2019-05-04 at 5.20.32 PM

requestMIDIAccess()

The magic mostly comes from the new feature navigator.requestMIDIAccess() that’s been recently added to Chrome in JavaScript.

USB cable

Of course, this needs a Type A to Type B USB cable to connect the computer with the Yamaha digital keyboard. Mine is a P-45 in case you were wondering. It also requires Yamaha’s USB-MIDI driver (available from their website).

Code

As usual, I’ve provided the source code so that you can also play with this if you’d like. Just verify that you’re on the OG-missing-C8 branch if you’d like the latest. At the moment, the master branch is just the original fork of ScottMorse’s work.

Repository

Update

The latest version now renders tablature in realtime as well as indicating the notes on the keyboard. It will do accidentals, rests and chords so far (just in quarter notes).

Screen Shot 2019-05-18 at 7.20.24 PM

john lennon is spinning in his grave

In case you haven’t heard, Paul McCartney is the darling boy of the EU’s Article 13 which hopes to stab out YouTube’s heart with a spork. Since Google owns YouTube, it’s naturally worried about all this. To make matters worse, the EU’s Article 11 link tax is quite possibly aimed at Google itself. The former Beatle has stepped up to urge the European Parliament to…

“PLEASE VOTE TO UPHOLD THE MANDATE ON COPYRIGHT AND ARTICLE 13. YOU HOLD IN YOUR HANDS THE FUTURE OF MUSIC HERE IN EUROPE.”

From the tone and use of ALLCAPS you’d almost think this were the Crusades and they’re all mounted on horses pointed south, defending Christendom.

Let’s not forget though that in a public ranking of all Beatles songs ever made, topping the worst-of-the-Beatles list at #213 is none other than Good Day Sunshine.

From Vulture’s article:

Revolver (1966): Paul McCartney was welcome to write all the happy, upbeat, cheery-cheery songs he wanted. But this one is beyond the pale. It’s blaring, received, and strident. Even by McCartney standards (“Getting Better,” “Hello Goodbye”) the title is inane. It could have been “Yum Food Delicious,” or “Hot Sex Baby,” or any other three random words McCartney took out of his Young Man’s Collection of Positive Synonyms — and note that of these three choices McCartney chose the blandest. McCartney’s piano playing, which graced so many Beatles songs, right up to “A Day in the Life,” is a parody of itself. It’s the worst song in the Beatles’ classic period. And it ruins Revolver, otherwise the most consistent and mind-blowing collection of pop-rock songs ever conceived by man.

John Lennon’s song Imagine was liked much more and for good reason. I think the sentiment resonated more with the average person. But now I’d like to mashup the lyrics a bit in honor of Paul’s recent audacity. Note that I only changed the words in italics below so I’m not far from John’s original sentiment in the last stanza about no possessions (to include even the possession of songs themselves).

Imagine there’s no money
It’s easy if you try
No credit cards before us
Behind us only sky
Imagine all the people living for today

Imagine there’s no currency
It isn’t hard to do
Nothing to buy nor pay for
And no religion too
Imagine all the people living life so free

You may say I’m a dreamer
But I’m not the only one
I hope someday you’ll join us
And the world will be as one

Imagine no possessions
I wonder if you can
No need for greed or hunger
A brotherhood of man
Imagine all the people sharing all the world

I can’t imagine for even a single minute that John Lennon would have begged the European Parliament to protect his song rights from anyone.

Shame on you, Paul McCartney. If you’re mad at YouTube, don’t blindly lash out at the Internet-at-large and encourage the advent of “Lawyer-fest 2019”. You’d have to be daft to support legislation which gives full reign to every vulture of the world to now feed on the average Joe attempting to run a website.

old-fashioned milk bottles meet iot

If you remember from my last post on the subject, I’m into those old-school glass bottles of various sizes. Here’s the typical size and lid type that I’ll be talking about:

quart

The lids seem to come in a variety of colors and are probably made from ABS plastic—they work well and last a while. Everything cleans up nicely and I’ve had quite a few of these in my pantry for the last five years now.

Identification

There are times, though, when I wished that it were easier to tell what’s what. I honestly have a variety of things which kind of look the same: masa, ground corn meal, pancake batter, semolina flour, etc. They’re all vaguely yellowish. The same is true for the many flours which I buy.

My usual routine is to put a small Post-It type of note of some kind on the front of the bottle. But sometimes these fall off. I have been known to tape them on.

It would be nice if I had a way of easily identifying the contents of the bottle as well as preserving things like nutritional information or the instructions that you might find on the back of a Cream of Wheat box. I could also record the date of purchase and/or the expiration date but I’m not that fussy.

High-tech version

Today’s creativity involves the idea of self-identifying bottles. I’ve just purchased some tiny RFID tags which I hope to embed inside my own self-made bottle caps. I’ve just spent an hour designing the cap in Autodesk Fusion 360 and it’s now getting a test print to see if it fits. When the tags arrive I’ll carefully measure one and then design an internal cavity to accommodate the tag inside the cap. Given that the tag is completely embedded, it should be waterproof as well and should stand up to being repeatedly washed.

 

The usual tactic with respect to printing these with an embedded object is to create two jobs out of the part (1st half, 2nd half) and then insert the tag in between the print jobs. My own GetToDahChoppa project would be the way of chopping that. For this project it will be easier to just insert a pause command at the magic moment in the gcode file so that the printer pauses, alerting me to insert the tag and then I’ll manually resume. As long as I don’t include internal supports, this technique should work fine.

I thought I’d create a NodeJS-based server which sits on a Raspberry Pi computer which minimally includes an RFID reader. It would host a database of the RFID numbers and their corresponding information for each bottle in service.

The system should include a mechanism for simply reporting which bottle is being held up to the reader as well as several convenience features to include fetching the nutritional information given a UPC symbol. I’m guessing it would be nice to have something which actually scans UPC symbols but that’s not strictly necessary since it doesn’t take much to just type them in.

I guess I’ll have to type in the instructions or include a photograph of the box’s instructions.

Interface choices

I guess now, I’ll need to determine what kind of interface this will have. I could include a TFT panel. I think this would be the normal way of communicating things back to the user. In this way, you could click tabs on the screen if you wanted more information. I would assume that this would use Kivy as the graphical interface. It’s possible but I’d have to have somewhere near the pantry with power and the correct orientation, distance and lighting for the panel. And it must also work out with respect to the distance of the reader.

At the moment, though, I’m thinking that it might be interesting to push the report information to an Echo Dot that’s in the same room. In theory, you would hold the bottle’s top to the horizontally-mounted reader. There would be a delay of perhaps three seconds and then you’d hear Alexa say “Cream of Wheat”, having initiated an Alexa Skill of some kind. I’m guessing then that I might have to say “Alexa, read the instructions” to have her then read from another topic.

Given the way Amazon’s Lambda functions work, it feels like it will be problematic unless I host the database in the cloud otherwise the function wouldn’t easily have access to that information. I dunno, but I kind of like the idea that the database just lives on the Raspberry Pi itself.

I could use a simpler text-to-speech project from earlier, requiring a speaker on the Raspberry. The sound quality is basically similar to listening to Stephen Hawkins reading your panty list. I’ve also been successful using the Snips home assistant interface for doing something Alexa-like without the cloud. The quality of the output voice isn’t as slick as Alexa but it’s good enough.

Hot off the printer

While I’ve been thinking about all this, the first draft print has finished. It’s very nearly identical to the hand-measured original lid only that inner insert seems to be slightly too wide for the bottle. The PLA plastic I’m using is more rigid or I’ve made that wall too thick; it will need a slight adjustment and another test fit before I advance to the next step. It lacks subtle details that aren’t actually necessary on the original lid like central spokes and outer ribs.

FirstVersion

I’ll tweak the design and reprint it. And I guess I have to wait for those RFID tags to arrive in the mail before the next phase of this.