BiteofanApple Archive About Code Microblog Photos Links
by Brian Schrader

A Slight Modification to Gordon Ramsey's Scramled Eggs

Posted on Tue, 10 Jan 2017 at 10:01 AM

If you haven't seen Gordon Ramsey's scrambled egg video, you should. It's been out for years now, but good cooking tips are always useful. Being in Southern California though, I make one slight modification: I use Sour cream instead of Crème fraîche. Originally I started doing this because I almost always have Sour cream on hand (again because Southern California) and while there's certainly a difference in flavor, it's a great substitute.

Scrambled Eggs

Gordon Ramsay's Scrambled Eggs →


Posted on Mon, 09 Jan 2017 at 04:57 PM

Like lots of other people have said, Manton Reece has started a Kickstarter for his microblogging platform. I've been on the beta for a while, and I've mentioned it before. What Manton is doing is really important, and not only should you support his work, but spread the word.

Do you remember how the web used to work? How the web was supposed to work?

In the earlier days of the web, we always published to our own web site. If you weren’t happy with your web host, or they went out of business, you could move your files and your domain name, and nothing would break.

Today, most writing instead goes into a small number of centralized social networking sites, where you can’t move your content, advertisements and fake news are everywhere, and if one of these sites fails, your content disappears from the internet. Too many sites have gone away and taken our posts and photos with them.

I want to encourage more independent writing. To do that, we need better tools that embrace microblogs and the advantages of the open web. We need to learn from the success and user experience of social networking, but applied to the full scope of the web.

Indie Microblogging: owning your short-form writing →

I've written lots of stuff about services like Manton's, and the Open Web in general. It's really important that we preserve not just the way the Web used to work, but as Manton says: the way it should work.

Alternatives to macOS

Posted on Tue, 03 Jan 2017 at 02:15 PM

Like lots of passionate Mac users, I've been keeping tabs on the "State of the Mac" discussions in the last few months. I don't feel like I'm as disappointed as most in Apple's hardware, but I do think that macOS could use some real attention as some annoying bugs have slipped into the last few updates to my Mac. I'm still using El Capitan and liking it a lot, and my 2014 13" Retina Macbook Pro is still my favorite computer ever. Overall I'm happy with my setup, but Apple's future for the Mac still worries me.

Wesley Moore (via Michael Tsai)

I deeply value the consistency, versatility, reliability and integration of Mac OS X and the excellent quality hardware it runs on...

Of course even if I make the switch there are a number of possible drawbacks, including but not limited to:

  • The time required to find replacements for all the software I use.
  • The lack of equally high standard replacements for software...

Elementary is stunning and definitely my favourite. It won’t appeal to everyone but their philosophies and direction really resonate with me. Specifically they have:

  • Human Interface Guidelines
  • A primary, native programming language (Vala, no Python and JS \o/).
  • A model for funding ongoing development (Bug bounties, Patreon, asking for payment when downloading).
  • Designers as well as developers on the team.

Just casually looking at Elementary, I have to say I really like the look of it. If I was going to switch right now, which I'm certainly not, I would use Elementary. Actually if I ever want a nice Linux GUI for anything, I'd probably use Elementary.1

The biggest switching cost for me is still the lack of comparable software on any other platform. The Mac's software ecosystem is fantastic (though a lot of people complain about how it could be so much more, it's still the best by a long shot). There just aren't alternatives for most of the fantastic software I have installed on my Mac. I need more than just a good terminal and web browser.

1 I've been using Linux Mint with Cinnamon for over a year at work and I recommend that too. Cinnamon feels more like Windows and it looks like Elementary feels more like a Mac.

Sony MDR Extra-Bass Bluetooth Headphones Review

Posted on Thu, 01 Dec 2016 at 11:12 AM

It's been a long time since I've had a pair of Bluetooth headphones. Years back I had a pair of no-name brand on-the-ear headphones, but they were pretty crappy and would drop out if I moved my head at all to the right. For years I've used Apple's EarPods when I'm out, and a pair of Audio-Technica Closed-back Headphones at work. They're not the most comfortable things, (I can't wear either of them for more than about 2 hours continuously), but they sound great for the price. That said, I've needed good headphones at home for a while, and I knew I'd be going on a trip to Japan this fall, so I'd need to eventually get some new headphones for the plane/train anyway. Eventually, I landed on the fantastically named Sony MDRXB950BT/B Extra Bass Bluetooth Headphones.

My preferred criteria for my new headphones was (in order of preference):

  • Under $200
  • Comfortable
  • Over-the-Ear
  • Bluetooth
  • Noise-Cancelling
  • Foldable

The Sony MDR Headphones fit most of those criteria:

  • Under $200 ✓
  • Comfortable ✓
  • Over-the-Ear ✓
  • Bluetooth ✓
  • Noise-Cancelling ✗
    • at least Noise Dampening ✓
  • Foldable ✗
    • Partially Foldable ✓

Right out of the gate I'll say that these headphones are extremely comfortable to wear, even for long durations, they look great, they pair easily with multiple devices with no random disconnects1, and the battery lasts quite a while. The Bluetooth connectivity seems stable enough and strong enough that I can reliably use the headphones with my phone in another room. Thankfully, the onboard controls are pretty simple and usable, and they don't feel cheap. Everything about these headphones from the ear cuffs, and headband, to the rotating hinges feels sturdy and well built to me.

Sadly there are a few things about the Sonys that don't feel on-par with the stuff I just mentioned. Most importantly, while they do sound decent (more than good enough for my needs) the audio quality isn't as good as I think it should be, and there's an audible hiss from them whenever they're on. It isn't really noticeable if something is playing, (even softly) but it is there, and occasionally I do pick up on it. Just for reference, I've had others listen for the hiss, and most can't hear it (maybe I just have good hearing). On the noise dampening side, the Sonys do block most ambient noise, and were enough for me on the plane, but they don't work any miracles.

Having used them for over two weeks now, including 2 10+ hour flights and multiple 3+ hour long train rides, I can say confidently that I really enjoy these headphones. The comfort alone is huge, and since I'm using them in mostly quiet settings or cafés the lack of noise cancelling doesn't usually matter. The sub-optimal bluetooth audio quality is a shame, but it's not bad. Notably these headphones have a "Bass-Boost" feature. It's not something I need or really want, especially since turning it on makes podcasts instantly unlistenable, but it does its job well.

I'm not an audiophile, but I can say that my Audio Techinicas are better sounding headphones, (and more accurate) but the Sonys are hundreds of times more comfortable, and since they're wireless, I'm fine with that tradeoff.

1 Having never used my Mac with Bluetooth headphones, I have no good baseline for comparison, but iTunes seems to be really buggy when playing over Bluetooth. Occasionally it will refuse to play music after the connection is established, and I have to quit and relaunch. It's ok, it's not like it's 2016 or anything.

YouTube has (apparently) reinstated RSS feeds

Posted on Mon, 14 Nov 2016 at 07:49 PM

Well if there's something I wasn't expecting to find tonight, it was that apparently YouTube has decided to allow users to follow channels via RSS again, and unlike the last few years, this time it actually looks to be officially supported!

Get RSS updates for a single channel To get an RSS feed of a single channel’s uploads, paste the channel URL into your RSS reader.

Get RSS updates for all subscriptions To import all your YouTube subscriptions to your RSS reader, you can use our OPML file download feature...

I have no idea when this feature was added, but it's the first time I've seen it.1 Most articles about YouTube's RSS feeds are either hacks or from ancient history. I don't know what mad(wo)man is behind this, but I love them.

The new export button

1 Hopefully this isn't just some short-lived A/B testing or worse.

More Efficient VBR MP3s and Podcasting

Posted on Mon, 15 Aug 2016 at 12:30 PM

Marco Arment

I explained how MP3s work, and why this is a problem, on Accidental Tech Podcast last week...

See for yourself: here’s that same podcast in VBR. Note that the file is 25% smaller and the theme song (at 1:22:47 in the original file) sounds way nicer in the VBR version. But if you seek to the same timestamp as the above share link — 1:24:30 — you’ll hear the wrong audio. The player will say 1:24:30, but you’re actually hearing the audio at 1:25:16.

This post is direct follow up to his really awesome discussion on ATP this week about Variable BitRate (VBR) MP3s and why they're more space-efficient, better sounding, and yet no one uses them. It's a really interesting topic, and as usual, Marco does a great job illustrating the problem and the many possible solutions.

As with so many things in software, the solutions are rarely limited by technology, they're limited by the standards we use (or don't use).

Why don’t podcasts use VBR MP3s? Because iOS and macOS don’t accurately seek them →

Tabletop Audio

Posted on Sun, 07 Aug 2016 at 05:27 PM

I really like Tabletop Audio. It's a great tool for anyone who's running a Tabletop RPG, or for writers who're looking for atmospheric background music. There's lots of different genres represented (much more than typical fantasy stuff). I've been using the site for a while, but I just discovered the new SoundPad feature.

SoundPad was designed for those of you who wanted more control over your sonic environments. Instead of fire-and-forget 10 minute ambiences, each SoundPad is made up of a few dozen sounds, divided into categories.

I've spent a bit of time today playing with SoundPad, and it's really cool. Instead of hunting for just the right atmospheric music, or just defaulting to the Skyrim soundtrack, I can tweak and tune the music, and sound-effects in the game. One of the coolest features of SoundPads, and playlists, is the ability to send live links to the music/sounds you're mixing.

Tabletop Audio →

Primitive Tech tiptoes into the Bronze Age

Posted on Fri, 29 Jul 2016 at 04:18 PM

Once again Primitive Tech amazes me. If you haven't heard of this YouTube channel, you should check it out (you should read his blog posts too). So far, he's mostly built huts (one even had a fireplace) and primitive tools, but with the latest video, he's taken on building a furnace hot enough to smelt metal. It's super simple in concept, and looks pretty effective.

It's amazing what he's able to build with clay and water.

Easy Refactoring with Source Making

Posted on Tue, 19 Jul 2016 at 11:58 AM

If you haven't heard of Source Making, you should check them out. They have a lot of really great and simple tips and tricks to help developers write good code and refactor bad code, and they have lots of practical examples for each of their techniques.

Here's two of my favorite tips:

Replace Conditional with Polymorphism

  • This technique adheres to the Tell-Don't-Ask principle: instead of asking an object about its state and then performing actions based on this, it is much easier to simply tell the object what it needs to do and let it decide for itself how to do that.

  • Removes duplicate code. You get rid of many almost identical conditionals.

  • If you need to add a new execution variant, all you need to do is add a new subclass without touching the existing code (Open/Closed Principle).

Replace Nested Conditional with Guard Clauses

Problem You have a group of nested conditionals and it is hard to determine the normal flow of code execution.

Solution Isolate all special checks and edge cases into separate clauses and place them before the main checks. Ideally, you should have a "flat" list of conditionals, one after the other.

In regards to the first tip, I find myself falling into the trap of if/elsing though a list of cases just to determine what to do next, or what state to alter. Unfortunately, a lot of Python libraries are guilty of this practice. Replacing each of the cases with concrete subclasses would definitely help developers keep track of the various code paths, all while making the code cleaner.

In keeping with the second tip, one of my favorite features of Swift is its Guard statement. It keeps the normal execution logic clean, while still allowing the developer to handle rare, or extraordinary cases easily.



Creative Commons License