I’m not using Gmail or similar — I use the mail server my hosting provider gives me.
That mail server has SpamAssassin, so I have that enabled and set to quarantine everything that scores a 1 or above.
A fair amount of spam gets through to my mail client — Apple Mail — anyway. And so I have junk mail filtering turned on there too.
But Mail’s junk mail filtering doesn’t do a very good job.
To be fair, it’s dealing with messages that SpamAssassin didn’t catch either. The tough ones. But there are a lot of those.
Tonight I got fed up and went back to SpamSieve. It had been years since I used it — but I’m so happy it’s still around. It always did a great job.
* * *
You know what great technology doesn’t have a spam problem at all? RSS.
Not that RSS is a replacement for email or Twitter or anything else. It brings you what you asked for — blog posts and podcasts, mostly — and nothing else gets through.
(RSS feeds may contain advertising, of course, but so do web pages and we don’t call that spam. It’s a different thing.)
What you don’t get with RSS is blog posts from some entirely other blog than what you asked for. If you subscribe to a podcast, you don’t get episodes from some other scammy podcast.
There was a sort-of spam problem many years ago. Back then there were blog search engines (which have all shut down, as far as I know), and those search engines would index spam blogs, and so if you had a feed that was a search you could end up with posts from spam blogs.
But I’m probably the only person who remembers that. And the problem wasn’t with RSS, it was with the search engines and the providers who allowed spam blogs.
This was years ago, and I haven’t thought about it in years.
NetNewsWire had a feature called the Sites Drawer — it was a big list of categories (Mac, Sports, Weblogs, etc.) and a bunch of feeds in each category. It made it easy to find feeds to subscribe to.
(The feature eventually got removed because it was a lot of work to maintain. Removing it was a mistake, however.)
Though Sheila and I have strong political and social views, we considered it a point of pride that the Sites Drawer had feeds that didn’t express our views. We made sure it had feeds of all kinds.
We avoided pornography and hate, but were happy to put in everything else.
Our thinking was that this was not like the stupidity of “teach the controversy“ and “fair and balanced reporting” — this was a service for our users, so they could find the kinds of things they wanted to find. We didn’t endorse these feeds: we just provided a catalog.
And one day during those years a tech writer (I won’t name him) contacted me with some questions, because he wanted to write a chapter about NetNewsWire for his upcoming book.
This was very cool, I remember thinking, because I had enjoyed some of his writing in the past.
That is, until he found the Sites Drawer. We had some feeds related to homosexuality — I don’t remember which, but they were of a liberal tone — and he objected to those feeds.
And he informed me that he couldn’t write about NetNewsWire due to his conscience.
* * *
People always say it’s important to have a conscience. But what if your conscience is wrong?
It’s the same thing with passion — people say it’s important to be passionate about something. But what if your passion is for something horrible?
The two big changes are support for iPhone 6 and 6+ screens and editing fixes.
Supporting 6 and 6+ wasn’t much work. I had done most of this work before the iPhone announcements, and it was a matter of fixing the couple spots that assumed a 320-point-wide screen. The remaining thing to do was to add launch images for the 6 and 6+. Simple.
The editing fixes were a bigger deal. The first thing is that Apple fixed some bugs in UITextView in iOS 8. Because of those fixes, I was able right away to remove some of our many work-arounds, some of which were a bit heinous. I ended up removing all of our work-arounds and starting from scratch.
And I was pleased to find that we needed very few work-arounds — and small ones, well-contained and easy-to-understand, not like the previous work-arounds — to make editing of long notes much, much better. I’m very pleased, and I thank Apple for attending to this. It’s much appreciated.
At the same time, I also learned from a person-who-can’t-be-named a couple of things that seem to help with UITextViews.
Set allowsNonContiguousLayout to NO on the layout manager. It may be NO by default, but set it to NO anyway.
Avoid using contentInset — use textContainerInset instead.
So: not a huge release, but a very welcome one. Dealing with editing bugs has been a giant time-suck for me, and I’m so glad to finally get past that, and I think Vesper users will be pleased.
If you are planning on staying a small team (say, less than 3-5 engineers) for a few years, the friction you feel is going to be coming from some place different than communication and coordination between engineers.
When you’re starting out, and when you’re small, the speed at which you can make changes and improvements makes all the difference in the world. Having a bunch of separate services with interfaces and contracts just means that you have to make the same change in more places and have to do busywork to share code.
I’ve never stopped thinking like an RSS reader developer. A habit of nine years is difficult to shake.
For many years what I wanted to do was develop an algorithm for the reader that would pay attention to what you pay attention to, so that it could bring to the top things likely to be most important to you.
I never got that far, which I regretted for years.
But now I wonder if that would have been the right thing to do. These days I hear complaints that you don’t see everything on Facebook from the people you’ve chosen to follow. And Twitter seems to be moving toward an algorithm-based timeline too, which has people (including me) upset.
At the same time, people do like things like muting features and lists. So it’s not that they’re against filters and organization — it’s that they don’t want these imposed from the outside.
These days, were I writing an RSS reader (I’m not), I think I’d skip developing an algorithm based on the user’s attention — instead, I’d focus on making it really easy to filter out the things you don’t care about, and to highlight the things you’re more likely to want to see.
And not try to come up with some algorithm which would have the effect of bugging people and making them feel like they were missing things. Since they would be.
Dave Winer, The frenzy of online:
This isn’t communication, or sharing. It’s growing more and more frenetic every day, it seems. And more pointless.
I’ve often had the thought that our social networks are the same thing every day, with just slightly different details. When I skip them for a few days, I find that I have absolutely no feeling of missing anything.
Here are some things that don’t give me that same-thing-every-day feeling: making things, reading books, and talking to people in real life.
(Currently reading The Quiet American.)
David Gerrold (one of my favorite science fiction writers):
Comic Book Guy isn’t having any fun. He’s bored — and he’s boring. Bart and Milhouse are having fun. They’re excited and interested. They get it — it’s about being a kid again. The whole point of a comic or a book or a movie or a TV show is to be a kid and have fun. It’s about trusting the author/filmmaker to take you on an exciting journey — not a dark ride, but a journey of discovery. You can’t do that if you’re watching the lighting, the editing, the camera angle, the dialog, the acting — you gotta let go and be a kid again.
New Yankee Codeshop shows how to do full-text search on iOS and OS X using SQLite and FMDB.
However much time I’ve been doing this for, and no matter how much practice I put into it, there’s one thing that always sneaks up and pulls the rug right from under me. It’s usually between major releases, but not always. It’s a period of time where I’m pretty lost, and I don’t know what to do. I have feature lists, I have open bugs to fix, and I have an outline of where the app is going. But I feel mentally incapacitated, like I’m getting nothing done.
Fellow Q Dave Wiskus talks about putting on a good show in Rock Stars.
Apps are the showbiz of today.
For a new project, Manton Reece is defining a microblog post.
Manton and I care about many of the same things. (We’ve known each other since the ’90s when we were both in the Frontier community.) Among the things we both care about are the virtues of decentralization and of owning your own writing.
I don’t have much in the way of details of what he’s working on — but it sounds like a project I’ve had in the back of my mind for quite a while. Since I’m more interested in the thing existing than actually doing it myself, I’m very happy to see Manton working on it.
* * *
Is the web we lost gone forever? Was it a brief golden age before the rise of Facebook and Twitter and The Algorithms of Engagement?
Or is the current period a brief blip in time, where we turned the wrong corner and now we’re getting back on the right road?
I used to think that the very structure of the web meant that it was always inevitable that we’d get back to the great web. I’m no longer that kind of progressive — I realize now that loss is real, and usually permanent, and that good things have to be fought for, not by a handful of heroes but by a bunch of regular people like me and Manton.
In today’s mobile landscape, a lot of resources are directed towards building better quality apps — from beta testing platforms to distribution systems and even app performance monitoring solutions. But none of these solutions help developers while their app is in production.
With Rollout.io, developers can quickly react to their users by remote-controlling their app’s settings and parameters, as well as fix and contain errors and issues in real time — without waiting for a full release cycle.
- Contain & hot-patch production bugs
- Create analytics events on the fly
- SDK toggling
- Advanced logging and debugging
- UI changes (buttons, images, etc)
See how it works:
Radosław Pietruszewski makes the case for brevity:
Some people say that “clarity trumps brevity.” And they’re absolutely right. Except for the fact that brevity can be a factor in clarity. Verboseness doesn’t come for free…
The trick in finding the sweet spot is to maximize the things that explain what the code does and remove as much noise as possible — the things that don’t really add information.
Alex Vollmer, A New Future?:
This is going to sound funny, but I think the tactile pulsing feature of the Apple Watch is one of its most intriguing. It got me thinking about how, paired with the right software, it could be a fantastic way to teach a wearer certain timing-related skills…
As a musician, that pulsing action might make for a great silent metronome. Instead of playing along with a monotonous click, you could simply time your playing with the watch's pulse. Music teachers always talk about “feeling the groove,” this would make it a literal reality.
Tim Schmitz, Reading the Size Class Tea Leaves:
Both the iPad Air and the iPad mini have a “regular” size class in both dimensions, which implies that Apple is at least leaving room for something larger than the iPad. The likeliest explanation is that they’re keeping their options open for shipping larger devices in the future. Maybe a larger “iPad Pro?” Or perhaps an Apple TV SDK, in which the TV has a “large” size class.
TETHR is free and looks pretty good from the screenshots. (Scroll down on the page.)
(Via John Nack.)
Pablo Bendersky, Apple Watch Event Thoughts:
While iOS 7 and 8 have a visual style that do not require pixel perfect mockups, iOS 7 was touted as designed for retina displays, and the recommendation was to use retina assets (like 1px lines) which might not look good on the 6 Plus.
I would think that every programmer thinks in powers of two — more so than in powers of ten. (Is 100 a round number? Hell no. But 64 is.)
The @3x thing makes me feel like one of those computers in the original Star Trek that Kirk destroys by feeding it bad input. Does. Not. Compute. Can’t. Divide. Three. By. Two. Help. Me.
Pop. Bang. Fizz. Lights out.
(Okay. I’ll adapt.)
NSScotland (they’re sponsoring this blog this week) has a nice idea: gift tickets. Buy a ticket for someone who can’t afford it — a student, for example. Other conferences should do this too.
Jared Sinclair, Unread is Now a Supertop App:
I’m proud of the work I put into Unread, and can’t wait to see what Supertop does with the foundation I laid down. Unread has the cleanest code I’ve ever written for a personal project, so I’m hopeful that it won’t be a burden for Oisin and Padraig to wander through it.
I admire both Castro and Unread. This looks like a great fit.
Will you have to write WatchKit apps in Swift? Seems that would not be necessary on a technical level, but it feels like a possible Apple-like move to encourage adoption.