DerekMartin.ca

I'm a father, manager, programmer, scrum master, geek, & movie lover.

Coding Style, Smells, & Tips

This is more obvious when creating APIs, but it’s true of all code: Code is an interface. It’s what we interact with to do our jobs. Write code for humans, and let the compiler figure out how to make it fast (or go back and make it faster after it’s working — but always, ALWAYS keep it easy to read & understand!).

The PHP community uses the PSR-1 & PSR-2 coding standards. You can tell PHPStorm to auto-format your code according to those standards. Also, re-read the Laravel Documentation whenever a new version comes out. That’s simple. What follows is a bit more nuanced.

Comments

Annotations

Naming

.

api->apiRequest()

vs

api->request()

or

Customer.php->getPaymentGatewayCustomer()

vs

Customer.php->get()

Namespaces

Put the namespace in a use statement to reduce visual clutter in the code:

$details = \App\Models\UserBillingDetails::where(...)

vs

use App\Models\UserBillingDetails;
...
$details = UserBillingDetails::where(...)

If you want a more specific name than the class name, rename the class, or alias it:

use App\Models\UserBillingDetails as UserBillingDetailsModel;

Objects

Before:

if(empty($object))

After:

if($object->isEmpty())

Before:

$this->membership['expires'] = date('Y-m-d', $event->data->object->current_period_end);
$subscription->sendFail($this->membership, $source);

After:

$membership->expire();

Before:

function methodName(Account $account){
    $card = $account->getCard();
    return $card->getTotal();
}

After:

function methodName(Card $card){
    return $card->getTotal();   
}

Constructors

Production:

$cart = new Cart(new RedisStore());

Testing:

$cart = new Cart(new ArrayStore());

Methods & Functions

The function shouldn’t need to know about the structure of data outside itself. Instead, make those values specific parameters. It’s less error-prone, easier to follow, and allows your IDE to auto-complete.

function name(Account $account){ 
    $card = $account->getCard();    
}

vs

function name(Card $card){ 
    ...
}   

Static Methods

Controllers

Before:

$setting = \App\Models\GatewaySetting::where('site', $source)->first();
$base_uri = $setting->value;

After:

GatewaySetting->getBaseUrl($source);

Models

Sessions

Traits

Views

Miscellaneous

.

$yourCollection = collect($yourArray);

Coding Again

After a few years of being a manager, I’ve gone back to development. im working on a project using Laravel and Vue.js. its the first time I’ve touched the frontend in roughly 10 years… and WOW have things changed.

There are now multiple competing build tools and chains: gulp, grunt, npm, etc. Theres no winner yet. It feels like the early days of php.

But THANK GOD for Vue. Not having to deal with the DOM makes javascript bearable, and dare I say it, kind of fun. I still DETEST the compile step (which is why I went with php and not Java or C), but at least it’s relatively quick, and easy to setup and run.

Anyway, today I’m at GrumpyConf in Ingersoll. My first dev confrrence in ages. Having a great time :)

Backup Your Shit!

Nobody wants to lose their contacts, texts, music, documents, photos, & videos. Before 2000, I didn’t. Then I lost all my data, and it cost $2500 to get it back. That was just 40GB. Today I have 2000GB. I hate to think what that would cost to get back.

The only rule of backups you need to know is this:

Two is one, and one is none”.

If you have a Mac and an iPhone or iPad, here’s what to do:

iOS

  1. Turn on iCloud Photo Library.
  2. Turn on iCloud Backups. Yes, this costs money, but it’s SO much cheaper than paying to recover lost data, and much less painful than not being able to recovery any data at all.
  3. Regularly sync & backup (turn on encrypted backups) your iOS device to your Mac.

macOS

  1. Turn on iCloud Photo Library. If you have enough free space on your Mac, tell it to download the originals of all photos and videos. That’ll act as a backup of your iCloud Photo Library.
  2. Sign up for Google Photos (free) and install their Sync tool. It won’t back up your photos and videos at their original resolution unless you pay, but the free plan still gives you high quality copies, and that’s much better than nothing.
  3. Turn on iTunes Match, which will upload all your music into the cloud. This will also make it appear in the Music app on iOS. This can free up lots of space on your iOS device, because instead of syncing to music to the device, you can just stream your own music from the cloud through the Music app.
  4. Turn on Document and Desktop Sync for macOS, but do not turn on Optimize Storage for macOS, because that actually prevents you from being able to backup your files! (It purges infrequently accessed files, so the only copy of them is in the cloud, therefore they won’t be copied to your backup drive).
  5. Move all your documents into Dropbox. Note: This isn’t a backup, because if you delete your document from your Mac, it’s gone from Dropbox & iCloud too. Both Dropbox & iCloud only guard against losing or breaking your computer, not against mistakes.
  6. Buy an external harddrive slightly larger than your Mac (if you have an external drive with data on it, buy an external that is slightly larger than your Mac and current external drive combined)
  7. Buy SuperDuper and schedule it to run daily at noon. When it pops up, that’s your reminder to break for lunch.
  8. If you want to go all-out, buy a 3rd external and use it as a TimeMachine drive. This is handy for hourly backups, which are useful when you do something you didn’t mean to do. It’s likely that a nightly backup isn’t recent enough to help you in these situations.
  9. Install Backblaze, which will backup ALL your data offsite for just $5/mth. Tell it to backup your mac and your external data drive (if you have one), but not your external backup drive or TimeMachine drive. An offsite backup like Backblaze is critical because it’s the only thing that can protect you against flood and theft which would presumably also result in you losing your external backup drive(s). Plus, you never have to remember to run Backblaze. It’s just always running. That’s priceless.

This isn’t really backup-related, but please install and use a password manager, such as 1Password or LastPass. It saves you so much hassle. No more remembering, and it makes it easy to use a different secure password for each site or service. That keeps your private information safe.

New Year, New Interests

In the past, I was mostly interested in UFOs and ghosts, with minor interests in bigfoot and conspiracy theories like 9/11, and the moon landing.

The new year has brought new interests!

In particular, a huuuuge interest in bigfoot, and the flat earth, and renewed interest in UFOs given recent statements by pentagon officials. These rabbit holes are truly deep. Expect a lot of blog posts on those topics in the coming days.

Some Evidence for UFOs

In 2016, a Citizen’s Hearing was held, with many governmental, military, and intelligence people testifying as to the reality of UFOs.

Video

Here are some key videos from that hearing:

In 2001, Dr. Steven M. Greer of CSETI held a similar event at the National Press Club in Washington. You can watch the 2 hour event on youtube, by searching 2001 National Press Club Disclosure Event.

One of the men who testified at the National Press Club was John Callahan, Divison Chief of the Accidents and Investigations Branch of the FAA, “only 3 or 4 down from the Admiral”. You can see him talk about how a huge UFO (4 times the size of a 747) buzzed a Japanese Airlines flight, and they got it all on radar with visual confirmation.

Books

Movies

New York Times implies UFOs are Real

In the last week, the New York Times has published several stories about UFOs. It’s important, because the people corroborating the stories are from the governmental, military, and intelligence communities. Keep in mind that a UFO is simply an unidentified object, not necessarily soemthing alien.

Story 1: Glowing Auras and ‘Black Money’: The Pentagon’s Mysterious U.F.O. Program This story ran on the front page of the New York Times Sunday Edition on December 17th, 2017. The web version (published 20 hours earlier) contains 2 videos of UFOs recorded by US fighter jets, who had no ideas what they were. It is revealed that the US Government spent $22 Million over the past 10 years investigating UFOs. Here’s a CNN interview with one of the pilots. Furthermore, it states that metal alloys and other materials had been recovered from said unidentified aerial phenomena. Story by Helene Cooper (NYT Pentagon Correspondant), Ralph Blumenthal, and Leslie Kean.

Story 2: 2 Navy Airment and an Object That ‘Accelerated Like Nothing I’ve Ever Seen’ This is a more extensive interview with one of the pilots from the previous article. At one point they state that the object travelled 40 miles in under a minute. It also alludes to the presence of a U.S.O. (unidentified submerged object). “It had no plumes, wings or rotors and outran our F-18s. I want to fly one.” Story by Helene Cooper (NYT Pentagon Correspondant), Leslie Kean, and Ralph Blumenthal.

Story 3: On the Trail of a Secret Pentagon U.F.O. Program This article is about how the previous 2 articles got the green-light to be written and published by the NYT. It contains additional background information on the Pentagon’s Advanced Aerospace Threat Identification Program. Story by Ralph Blummenthal.

Regarding the authors of these stories, I have read Leslie Kean’s book “UFOs: Generals, Pilots, and Government Officials Go on the Record”, and I constantly recommend it as the best book on the subject. It contains nothing but testimony by the most credible witnesses possible. People who are trained observers, who we trust with nukes, and who stand to gain nothing but lose everything by testifying about the veracity of UFOs. If I were to recommend one more book on the topic, it would be Disclosure: Military and Government Witnesses Reveal the Greatest Secrets in Modern History by Dr. Steven M. Greer, M.D. Again, it is a book full of testimy by the most credible witnesses possible.

To The Stars Academy

Luis Elizondo, who ran the Pentagon UFO Program, only left that program a couple of months ago. Here’s a quick interview with him. He now works at the “To The Stars Academy of Arts and Science” (aka TTSAcademy), an organization whose goal is to work with the authorities to bring secret UFO information and technology to the people. The name “To The Stars Academy” sounds silly to me, but they have a serious roster of talented, credentialed people on their team. Earlier this year, they held a live event to introduce their team, and their intentions. Watch it here.

Bias (aka Follow The Money)

You should note that the name of this UFO Program was the “Advanced Aerospace Threat Identification Program”. The name alone predisposes people to believe that UFOs are threats.

CSETI Disagrees, says UFOs Not a Threat

If you’ve known me for a while, you know that I spent a week with Dr Steven M. Greer (Director, CSETI) in the high desert of Colorado, and experienced some weird stuff out there. He recently released a movie about what he knows, called “Unacknowledged”. It’s well worth watching on iTunes, Netflix, etc. Anyway, suffice it to say he’s a world-renowned expert on the topic of UFOs. His perspective is that the UFOs/ETs are friendly, and are here to help humanity advance. He says that if they wanted to harm us, they would have already wiped us out, and there’s nothing we could do about it, because they are SO far ahead of us, technologically. He’s worried that the Military is going to try to paint them as threats, in order to get more money flowing into military budgets. As soon as those UFO stories hit The Times, he sent out an email, which read:

URGENT: Note that the recent NY Times story is couched from a Threat office of the Pentagon: This a clear ramp up to False Flag FAKE disclosure designed to prepare people for a threat from outer space- so the War Mongers and War Profiteers have a new , bigger enemy . BEWARE

Meanwhile , Unacknowledged is being BLOCKED by media, no coverage even though it is the 2017 # 1 Documentary on iTunes and widely popular on Netflix etc. The secret government is manipulating a false disclosure and threat via their lackeys and ‘cut-outs’ . Stay tuned!

Please read Dr. Greer’s paper: When Disclosure Serves Secrecy. For additional details about False Flag Operations and their implications, read the book “Unacknowledged”.

The TTSAcademy team

Tom DeLonge, President & CEO

“UFO Researcher of the Year, 2017”, author of Sekret Machines and Gods, Man, & War, and former frontman of the band Blink182.

Jim Semivan, VP Operations

“Retired” senior intelligence service member of the CIA’s operations division. Currently an active consultant in the Intelligence Community.

Dr. Hal Puthoff, VP Science & Technology

An alumnus of SRI, the NSA, GE, and Sperry, he regularly advises NASA, the Department of Defense, and various intelligence agencies. He’s an expert in electron-beam devices, lasers, energy fields, and space propulsion. He ran a program to investigate paranormal abilities for SRI, focusing on Remote Viewing more info

Steve Justice, Director of Aerospace

“Retired” Program Director for Advanced Systems at the Lockheed Martin Advanced Development Program (aka Skunk Works, aka super-experimental top-secret stuff).

Luis Elizondon, Director of Global Security & Special Programs

An alumnus of the U.S. Army, the Department of Defense, the National Counterintelligence Executive, and the Director of National Intelligence, and Director for the National Programs Special Management Staff. For the past 10 years, he ran a sensitive aerospace threat identification program at the Pentagon, focusing on UFOs.

Chris Mellon, National Security Affairs Advisor

Chair of the Science Committee at the Carnegie Museum of Natual History, former Deputy Assistant Secretary of Defense for Intelligence and Minority Staff Director of the Senate Select Committee on Intelligence. He has received multiple awards from the Department of Defense and agencies of the US Intelligence Community.

Dr. Garry Nolan, Genetics Technologies

A Professor in the Department of Microbiology and Immunology at Stanford University School of Medicine. He has published more than 220 research articles and is the holder of 20 US patents, has been honored as one of the top 25 inventors at Stanford University and is the first recipient of the Teal Innovator Award (2012) from the Department of Defense.

Dr. Paul Rapp, Brain Function & Consciousness

Professor of Military and Emergency Medicine, Professor of Medical and Clinical Psychology, former editor of Physica, holds degrees in Physiology (minor in Chemistry), and Engineering Physics, and a Ph.D in Applied Mathematics and Theoretical Physics.

Dr. Norm Kahn, National Security & Program Management

National Security consultant for the US Government, with a focus on biological weapons of mass destruction. A 30-year veteran of the CIA, he created its Counter-Biological Weapons Program. Recipient of the CIA’s Distinguished Career Intelligence Medal and the Director of National Intelligence’s National Intelligence Distinguished Service Medal.

Dr. Colm Kelleher, Biotech

Does micro-biology for the Deartment of Defense. Former Deputy Director of the National Institute for Discovery Science, a research organization using forensic science methodology to unravel scientific anomalies. Former Deputy Administrator of a US government funded threat assessment program focused on advanced aerospace technology.

Dr. Adele Gilpin, Biomedical Research & Law

Licensed attorney, and medical scientist, focusing on FDA regulated products such as medical devices and pharmaceuticals.

WWDC17 Unmentionables

Man, that was a kick-ass keynote. SO much stuff was mentioned! But you know what? Some stuff that wasn’t mentioned still happened, and I’ve pored over the word-clouds from the keynote, and bits of documentation to bring you this list of unmentionables:

We didn’t get iCloud Family Photo Libraries, but the groundwork has been laid. There was also no mention of how (Vocal ID?) multiple users will be accommodated by HomePod.

P.S. - now I want an iPad Pro, but 256GB 10.5” with Wi-Fi+Cellular and Pencil and Smart Keyboard Cover and AppleCare+ is $1617 CAD. Ouch!

WWDC17 Predictions

In late 2016 Apple stated that they’d be getting more into Podcasting. They have pre-announced that for the first time there will be podcast booths available for use at WWDC. I think it’s not just a nice gesture, but a place to try out a new piece of software designed for facilitating podcasts. My guess is that it’d be called Podcast Studio, and would free podcasters from having to use Skype for all of their remote guests. Apple loves to contribute where they can make a real impact, and podcasting definitely needs a good alternative to Skype.

I think we’ll finally see Family Photo Libraries. If you have Family Sharing, you can simply go in and say who has access to which Photo Libraries. In the Camera App, there’ll be a Library Selector/Picker. Whichever one you have selected is where the photos you take will be uploaded. You can move them from library to library in the Photos app on iOS or macOS. Users will be able to list photos in a single library, or see all libraries at once in a single timeline. This will require having a Family iCloud Storage Pool (e.g. 1TB shared across 5 iCloud accounts/Apple IDs).

I expect to see the debut of Vocal ID / Voice ID. This will be crucial for any Alexa competitor, and it will simple account switching on Apple TV, iPad, and even macOS.

Lastly, I think Apple may reverse course on its statement that touchscreen macs are a bad idea due to ergonomics. When using an iPad Pro with a keyboard, it basically is a Mac with touch screen. It is a primarily-touch device, with some clicking. I believe there’s room for a primarily-click device, with some touching. It wouldn’t be for fine-grained control, but broader motions like swipes/gestures & certain actions like pinch, pan, scroll, highlight/select.

Along the same lines of thinking, they already brought a TouchBar to the Mac. I think they might take Rene Ritchie & John Gruber’s advice and bring a ClickBar to the iPad.

Managing Loss

As a team-focused manager, there are a few things that I find quite difficult:

My favourite part of the job is the regular 1-on-1 meetings I have with my team. I learn all about them; their families, habits, likes & dislikes, and that helps me be a better manager. It also helps them open up to me when there is a real problem that needs to be remedied. This means we get close. Closer than most bosses & employees, which is great, until someone decides to leave.

It’s like losing a close friend. I know it’s nothing personal, but that doesn’t prevent me from wondering if there’s something I could have done. I’m the leader, right? So it must have been Something I did, or didn’t do, that made this person want to leave. That feeling is horrible.

I spend a good long time finding and choosing the right people to add to my team, so losing one is always bad. It throws everything off balance, and changes the dynamic… and in general, it’s just kind of a bummer.

I don’t have a solution to this. People gonna change. Needs gonna change. That’s life. But what I’m not going to do is stop investing in these relationships. Taking my emotions out of the equation would make things much easier, but that’s not the kind of world I want to live in. I want a warm world where people care, even if it’s inconvenient. I want a world where people love, even if that means risking hurt.

To me, management is caring.

Playstation VR

Ula got me the PSRV for my 40th birthday. I played with it for a couple of hours last night, and it was fucking amazing.

While it might not be as clear & crisp as the Vive or Oculus CV1, it is WAY more clear & crisp than the Oculus DK1 that I had, and the tracking is far superior.

I was honestly blown away.

The PSVR comes with 2 discs. One contains “VR Worlds”, a collection of 5 experiences built specifically to demonstrate the abilities of the PSVR, and the other contains 9 demo versions of PSVR games that are available for purchase. When you install the PSVR (which has many, many wires and dongles), a free download also appears on your PS4, called “Playgrounds”. I haven’t tried that yet.

Anyway, when you start “VR Worlds”, you are in something like a Roman or Greek temple. There are the titles of games surrounding you. There’s a DualShock4 controller floating in mid-air in front of you. When you move the one in your real hands, the one in mid-air moves in exact correspondence. There’s also an orb, floating in front of the controller. You can bump it with the controller, and the orb reacts, and the controller rumbles. It’s great. The appearance of the orb changes depending on which game you have selected. I played as many of them as I could last night.

** Danger Ball

I haven’t tried this one yet. Looking forward to it tonight.

** Ocean Descent - Shark Encounter

This was the first one I tried, and MAN, was that ever a great experience. It was probably the perfect “first experience”. You are being lowered down into the depts of the ocean inside a shark cage. You get to see lots of marine life swimming around you, while a sense of tension is building. I could feel my heartbeat picking up the pace. When he shark did finally attack, yes, I actually jumped in my chair.

** The London Heist

You plan a diamond heist in a smokey bar. You steal the diamond. You shoot your way out of the place. You escape. You rip off your friends. They catch you and torture you. It’s amazing. In the smokey bar, you can get right up in the guy’s face and look at his wrinkles. You can light your cigar and smoke it, and it feels totally natural. I actually found myself exhaling in real life. You answer a cell phone call by putting it up to your ear. You shoot a guy by holding the controller like a gun, aiming it like a gun, and pulling the trigger. One time I didn’t stand up because I thought I couldn’t because a piece of (virtual) metal was in my way.

** VR Luge

Tilt your head, and the luge turns in that direction. Very simple. Kinda fun. Boring after 5 minutes.

** Scavengers Odyssey

Pilot a mech around inside a ship, and jumping from asteroid to asteroid. Pretty fun, but induced a little motion-sickness.

I felt a little weird after playing for 90 minutes. Hot. My eyes and brain? felt a little weird. Falling asleep was difficult. I don’t know what to call this feeling. VR-hangover? Hopefully I just become accustomed to it over time, and the feeling subsides.

Fast5 Day8

Today is my 40th birthday. On this day, every year for the past… ohhh, 30 years, I have said to myself “By this time next year I want to be skinny”. I have yet to achieve that… but this year I have real hope of being able to do it!

It’s Day 8 of my Fast5 lifestyle, and I’m still going strong. My hunger and cravings really went away on day 5. It has been much easier since then. I am very alert all day. No cognitive fog at all, and no crash mid-afternoon. I have more time in the morning to help get Claire fed and ready for the day. I have more time at noon to do whatever I want. I hope to start walking during that time. Not to lose weight, but just to get outside.

The only exceptions I’m making to the diet are: 1) If it’s a family holiday or special event, I can eat on a regular schedule. 2) I can go out for breakfast once on the weekend.

I believe that being able to do those things guilt-free, because they were rules I pre-established, will be key to maintaining this lifestyle for the long run.

I have also tried to start incorporating a special drink into my diet. Once a day, 750ml of water containing 4 tsp of apple cider vinegar (with the mother), and 2 tsp of lemon juice. It tastes a bit vinegary, but if you look it up you’ll see that it has many healthy effects.

Bonus: the swelling in my leg & ankle is down to almost nothing, for the first time since I broke it in 2004. I mean, there have been other times, but the cause of the decrease wasn’t known, and the effect wasn’t sustained.

By this time next year I want to weigh less than what I weighed almost 10 years ago when I met Ula, and even a bit less than what I weighed 17 years ago in university :)

Did I mention that I can’t get a kidney transplant until I lose 100lbs? Yeah. So… in addition to wanting to lose weight to be able to play with Claire, there is some extra life-saving motivation.

The Fast5 Lifestyle

I’m trying the Fast5 diet & hopefully lifestyle. It’s super simple: eat within 5 consecutive hours. Outside that window, don’t eat & only drink water, tea, & black coffee.

I. The past I’ve tried to not eat after dinner (at 5pm) and it hasn’t worked. I’m always hungry later. Fast5 suggests that your 5 hour window be from 5pm-10pm, and that sounded perfect to me. I can still have dinner with my family, and snacks while watching TV or movies! Sure, skipping breakfast & lunch will be tricky, but it’s worth a try.

I’m done day 3 now, and it hasn’t been too difficult. Surprisingly, I feel more alert, I don’t have any crashes during the day, and my mood is better than usual! Good stuff! I’m also finding that I feel full more quickly, so even when I’m allowed to eat whatever, I don’t eat that much. I don’t feel deprived. I think I can do this :)

The Old McDonald’s Song (1988-1989)

Big Mac, McDLT, a Quarter-Pounder with some cheese, Filet-O-Fish, a hamburger, a cheeseburger, a Happy Meal. McNuggets, tasty golden french fries, regular or larger size, and salads: chef salad or garden, or a chicken salad oriental. Big Big Breakfast, Egg McMuffin, hot hot cakes, and sausage. Maybe biscuits, bacon, egg and cheese, a sausage, danish, hash browns too. And for dessert hot apple pies, and sundaes three varieties, a soft-serve cone, three kinds of shakes, and chocolatey chip cookies. And to drink a Coca-Cola, Diet Coke, and orange drink, A Sprite and coffee, decaf too, A low fat milk, also an orange juice. I love McDonald’s, good time great taste, and I get this all at one place…

Hear it here

Getting Uncomfortable

I have a bad habit of not attempting things that I feel I could potentially fail at. I believe this is one of the reasons for the success that I have in my life, such as it is. BUT it’s also the reason I don’t have more success. It’s why I haven’t launched any of the umpteen web apps & services I’ve built over the years. It’s why I procrastinated for so long on creating the London PHP Meetup.

I used to make a habit of tackling these sorts of fears head-on. For example, throughout high school and university I was deathly afraid of public speaking, and believed I had a poor memory. To combat that I auditioned for the play Hamlet and got the part of Claudius. I had to memorize over 600 lines, and it took over 3 hours to perform, 3 nights in a row. It completely eliminated my fear, and I even got a shout out in the local newspaper for having given a good performance. I’ve continued to speak publicly since then, at developer conferences and meetups, but I haven’t tackled other things that are actually holding me back.

That changes on Monday. Ever since I started receiving and paying for student loans, I have had a mental block against spreadsheets and numbers (and unexpected phone calls).

At work, I have had to get comfortable with the phone, as I am doing some account management these days, in addition to all the one-on-one meetings I do with my team. So what about spreadsheets and numbers?

Well, as of Monday our 30 person company’s sole Project Manager is going on a leave of absence for 8 weeks, and I’m adding his duties to mine until he gets back.

That means I’m scheduling everyone’s work, tracking everyone’s hours, calculating anticipated vs realized revenue, figuring out our WIP numbers, and lots more. If I screw up, it could be disastrous. Nothing quite like jumping into the deep end to teach yourself how to swim.

Wish me luck on twitter @lo_fye

Leaving Wordpress

You may have noticed that I rarely update my blog. Part of that is that it’s running on Wordpress, and every time I login, I see a message that says there’s a new version, or some plug-in needs updating, or there are comments awaiting moderation, and most of them are spam anyway. It’s just easier to not blog.

I’ve decided to give it another try, on a new blogging system. For quite some time now, I have been meaning to start writing everything I write in markdown. Markdown is just plain text, but you can transform it into html quite easily. I want plain text, because it lasts forever. I can no longer open the Wordperfect files I wrote in grade 9, but I can open the text files just fine. They’re durable.

So, I wanted the new system to allow me to write in markdown, and render in html. Thankfully, there are lots of systems that can do this. One of the great benefits is that I can write markdown in any number of fantastic applications, from TextEdit, to BBEdit, to PHPStorm, to what I’m using right now — iA Writer.

Because I was a PHP developer for 15 years, I also wanted the system to be written in PHP, so that I can modify it if I want to. Lately I’ve been using Laravel, so I thought I’d give bonus points if the blogging system was written in Laravel.

Another requirement was that I wanted no PHP dependencies on the machine I’m writing on, because it could be my iPhone, which can’t run PHP. All of the markdown-to-html conversion should be done entirely on the server. I don’t want to transform it here, and send the transformed text to the server. That’s too much overhead for me.

I also wanted to be able to publish simply by saving the markdown file to Dropbox. Yep, that’s a thing you can do. That means there is NO admin panel for your website. There’s not even a login/password. You manage it through your Dropbox.

The final requirement, which I only came up with right near the end was “as simple as possible”. I figured, the less there is to go wrong, the more likely I am to actually blog instead of spending time working on my blog.

After a lot of googling, I narrowed the list of finalists to 3:

Despite all its flaws, I chose SecondCrack. It really is just the simplest system. Here’s my favourite section of its documentation:

Why doesn’t it have [feature]?

Because I didn’t think [feature] needed to be there. Comments: Use Disqus or Facebook comments. Or just go without comments. Do you really need them? Stats: Use Google Analytics or Mint. (Or both.) Widgets and dynamic page content: Use Javascript. Dynamic rendering for automatic mobile layouts, etc.: Use CSS.

What’s so good about that? It doesn’t try to be everything to everyone. That means it’s a much simpler system. It also encourages using the right tool for the job.

You know what I hate about React.js? That it smooshes javascript, css, and html into a single thing. It makes me feel gross just talking about it. SecondCrack doesn’t do that, and I love it for it.

Unfortunately, there was no easy way to get your content out of Wordpress and into SecondCrack, so I had to make one: wp2secondcrack converter.

All you do is export your Wordpress to XML (that’s built-in to wordpress), and then run my converter on it, and you’ll have a complete set of markdown files; one for each blog post or page. Then you just put them in your secondcrack “posts” folder, and that’s it.

Anyway, yay. The blog is back!

P.S. - yes, it’s super-ugly right now. I’ll fix that soon enough.

Intel and ARM, Together at Last

I’m willing to bet that you could attach an iPad Pro to a MacBook Pro, where the screen would normally go. You could un-dock the iPad and use it as an iPad, or dock it and it becomes the Retina Display for the MacBook Pro.

It would be 1 device, made of 2 devices, running 2 operating systems, and syncing files via iCloud or Bluetooth/Wi-Fi. What you’re doing could be sustained from device to device upon dock/undock via Continuity’s Handoff & Universal Clipboard. PowerNap and other background services could keep both devices in constant sync.

This would require “Super-Universal” apps, that contain both Intel/macOS and ARM/iOS versions, but it might be doable.

What are the advantages? It truly means no compromises. iOS+iPad for some tasks, macOS+MacBook for other tasks. Power when & where you need it. Maybe those devices could delegate tasks to one another for off-board processing. The MacBook wouldn’t need to contain speakers, because the iPad would contain the speakers. This would leave more room in the MacBook for additional battery.

Maybe you could mix & match the individual pieces: iPad Air & MacBook Air iPad Pro & MacBook Pro

How would they market it? Maybe call it a MacBook Plus? or dare I say it… an iBook?

It would also help increase iPad sales. It’s a natural coupling, too, since the iPad and Mac sales cycles seem to be similar, which is to say, much less frequent than iPhone upgrade cycles.

It’s just a thought… but I think it’s an interesting one.

Hello Again

I would like to see the MacBook Air line go away, and be replaced by just the MacBook line (13”), and the MacBook Pro line (13” & 15”).

Potential “One more thing”: external 27” Retina display with wide colour gamut and TrueTone, with AirPlay receiver built-in.

Wild cards: new Mac Pro, Mac Mini, iMac. Detachable keyboard. 3D Touch support, e-ink keyboard.

I think this is coming sometime, but I have no evidence to support it: Siri switch replacements with built-in proximity sensors, iBeacons, and microphones. They replace a light switch, are electricity powered, always on, and always listening. They make Siri omnipresent and reactive.

Comments from my old blog:

(Derek)[http://www.derekmartin.ca] said: Well, looks like I scored about 4 out of 20 on that one: - Touch ID - OLED Magic Toolbar - Much beefier speakers - USB-C & Thunderbolt 3 at 2016-10-27 19:29:33

HomeKit 2017

What’s in store for the future of HomeKit? Right now, the clunkiest bit is if you walk into a room and want the lights to come on, you either have to activate Siri on your watch or phone, or you have to get to the physical switch and turn them on. This could be better. The lights could just come on. For this reason, I think iBeacons are about to finally become commonplace. They’ll detect the proximity of a watch, or Mac, or iOS device, and activate a particular light, or scene. This is better than motion sensors because iBeacons have a sense of your identity. As a simple example, it could turn a room’s lights blue for me, but purple for my sister.

About 10 years ago there was this concept of “data emitters”. Things you put around you in the room that expose information. At the time, they connected via USB. Now they can be connected via Wi-Fi, and/or your electrical grid. For example, if your stocks are up, your house lighting could turn green. If a smoke detector is going off, or motion was detected at night, or you left the door unlocked, or the oven on, all the lights could flash red.

One thing to consider when purchasing HomeKit lighting, the main thing you need to consider is whether you want colour changing lights or not. If you don’t, I can highly recommend the Lutron Caséta line of in-wall dimmers and remotes. They’re the ones that have worked flawlessly for me. The best thing about them is that you wire them into the house. This means that someone can’t turn off the switch, and make it so that your lights are no longer controllable via HomeKit. That can be very frustrating.

Up until recently, that’s exactly how Philips Hue lights worked. Thanks to a new wall dimmer from Philips, you can now get around this in 2 easy steps: 1) Remove your existing wall switch, hard-wire the connection to on, and cover it with a faceplate. 2) Stick the new wireless wall dimmer to the faceplate. Now nobody can turn off the light except via HomeKit or that wireless switch, which just triggers the appropriate HomeKit action.

P.S. - Looks like I was right about how Apple would do Siri APIs :)

How the Siri API Could Work

  1. Change iOS to allow you to set default apps for certain use cases
  2. Apple creates full sets of Siri APIs for each use case (for example: a set of APIs for managing ToDo lists)
  3. Apple makes all of its own apps implement those APIs. By default, Siri will use the Apple app for any task.
  4. You can write an app that implements the entire API.
  5. Users can choose to set your app as the default for that use case instead of Apple’s app (e.g. use Omnifocus for ToDo, instead of Reminders)

In other words, you won’t be able to make your own commands. You’ll only be able to do what Apple has already created APIs for. This keeps Apple in control of Siri, and affords them the maximum ability to tweak and change things as they go along.

Potential API use cases Apple would need to implement: todo, calendaring, music, video, phone, email, instant messaging, video calling, timers, photos/cameras, health.

Standardizing Apple’s Hardware Naming Conventions