Laxaro

View the latest news and breaking news today

inessential

Read Latest News Article in inessential.



inessential: the omni show

i’m the host of a new podcast: the omni show. here’s the announcement on the omni blog with all the details. there’s a twitter account, @theomnishow, you can follow.i’m super-excited to be doing this, partly because my co-workers at omni are interesting, and partly because some of it may actually be useful — that is, learning how we think about ux, testing, engineering, support, and so on might be helpful for other people. that’s my hope.our first episode is with kristina sontag, software test manager, and the second episode is with curt clifton, omnifocus engineer. the next two episodes will feature support and ux. we’re covering all the bases. :)i’ve done podcasts before (see identica...




on fixing that nsnull crasher in overcast

i don’t normally head home after lunch, but today i was on the bus going back to ballard, about to open ibooks on my phone and get back to reading the caledonian gambit (which i’m thoroughly enjoying), when i decided to check twitter first — and saw marco’s tweet about overcast’s oldest crash.i’ve written before about how i love fixing crashing bugs. partly because i’m adamant that an app should, at a minimum, keep running — and also because it’s fun detective work. (i’ve even written a series of blog posts on how not to crash in the first place.)so i took this one as a challenge. here’s how i figured it out:the exception reported [nsnull doublevalue]: unrecognized selector. now, nsnull is a stand-alone code smell: th...




inessential: accessibility

as a young developer i didn’t pay that much attention to accessibility. i figured that most people didn’t need those features, and it was something i could get to later. plus: adding those features wasn’t easy back in those days.things have changed.for one thing, supporting accessibility features — at least on macs and ios — has gotten much easier. it’s almost delightful with how much you get for free and how easy it is to add what’s missing. apple deserves a huge amount of credit for this.but there are two bigger things i keep thinking of.first thing: i want to say that access to computing and communications power is a human right. it’s not, not really — but it would be wrong to deny someone access when, with a little ex...




inessential: evergreen status

the current goal is a spring 2018 release of evergreen 1.0. which is rather ambitious, i know, and i wouldn’t be shocked if it was spring 2019. but that’s the goal.the build is currently broken, has been broken for months, and will continue as broken for at least another few weeks.here’s the scoop: i decided to do syncing in 1.0. it will probably be just one system at first (most likely feedbin, since that’s what i use) — but this meant looking at the data and database level and figuring out what’s needed to make it usable when syncing. i’m in the middle of making the needed changes.(originally each syncing system was going to have its own database code...




republicans have been playing with racist fire for all of my 49 years

from nixon’s law-and-order and “silent majority” and southern strategy; to reagan’s campaign kickoff in philadelphia, missouri, his “welfare queens,” his war on drugs; to the willie horton ad, the culture war, rush limbaugh, gerrymandering, voter suppression, birtherism, and “calves the size of cantaloupes” — republicans have, for my whole life, very deliberately and consciously cultivated white grievance and racism.i was born in 1968. this has been going on the entire time.i always figured republicans were playing with these ugly matches because it was a means to an end: it was how they could gain enough power to do what their donors actually want — which is to sell off ...




inessential: square world

i keep thinking that the election of trump has turned us all into conservatives.i mean “conservative” in a more old-fashioned (and i think truer) sense than what is generally thought. i don’t mean republican — the republican party is a radical reactionary party, not at all conservative.i mean that we liberals and progressives have learned that national respect for truth, expertise, and empiricism is something we’re in danger of losing. it’s not a given. we can’t take rule of law for granted; we can’t assume our institutions won’t fly apart.everything good we’ve built is also the foundation on which further progress is made.the fight right now is to preserve those good thin...




james dempsey and the breakpoints benefit app camp for girls

on wednesday night i know where i’ll be — playing keyboard for a few songs at the james dempsey and the breakpoints concert benefitting app camp for g...




inessential: evergreen diary #1: open source

evergreen is a new feed reader for macs. it’s not actually done yet — in fact, it’s not even alpha yet, much less beta. it’s still in the painful-to-use stage, for sure.i’ve been working on it (among other things) on nights and weekends for a couple years. for much of the time i planned to make it a for-pay app — the plan was a free lite version and a for-pay version.but as time went on i was less and less motivated to make a for-pay app. doing all that stuff — dealing with licenses, money, a store, support, and everything else that goes along with a commercial app — just didn’t sound like any fun, and it would have taken time away from actually working on the app, which i...




the human story” screening in san jose

here’s the scoop. it’s sunday, june 4 at 5 pm. there’s a panel afterward with a bunch of people from the movie (includin...




inessential: json feed

i was hesitant, even up to this morning, to publish the json feed spec.if you read dave winer’s rules for standards-makers, you’ll see that we did a decent job with some of the rules — the spec is written in plain english, for example — but a strict application of the rules would have meant not publishing at all, since “fewer formats is better.”i agree completely — but i also believe that developers (particularly mac and ios developers, the group i know best) are so loath to work with xml that they won’t even consider building software that needs an xml parser. which says to me that json feed is needed for the survival of syndication.i could be wrong, of course. i admit.feed...




inessential: frontier diary #8: when worlds collide

i spent the weekend making a bunch of progress on the compiler. it has two pieces: a tokenizer, which i created by rewriting the original c code (langscan.c) in swift, and a parser.the parser in origfrontier was generated by macyacc, which is similar to yacc, which is similar to bison, which is on my mac. the thing about the parser is that it’s c code, and the rest of the app is swift.how do you bridge the two worlds? easy answer: with objective-c, which is a superset of c and which plays nicely (enough) with swift.so i renamed langparser.y — the rules file that the parser generator uses — to langparser.ym so that xcode would know to treat the generated parser source as objective-c. i e...




inessential: frontier diary #3: built-in verbs configuration

frontier’s standard library is known as its built-in verbs. there are a number of different tables: file, clock, xml, and so on. each contains a number of verbs: file.readwholefile, clock.now, and so on.most of these verbs are implemented in c, in the kernel, rather than as scripts. at the moment, to add one of these kernel verbs, you have to jump through a few hoops: edit a resource, add an integer id, add to a switch statement, etc. it’s a pain and is error-prone.so i want to re-do this in swift, because i’m all about swift. and i want adding verbs to be fool-proof: i don’t want to remember how to configure this every single time i add a verb. adding a verb needs to be easy.my thin...




values and progress on the language

i put the frontier repository up on github.(the build is currently broken. this is bad discipline, but since it’s still just me, i forgive myself. sometimes i run out of time and i just commit what i have.)the repo has my new code and it also contains frontierorigfork, which is the original frontier source with a bunch of deletions and some changes. the point is to give me 1) code to read and 2) a project that builds and runs on my 10.6.8 virtual machine.the original code is in c, and the port is, at least so far, all in swift. in the end it should be almost all in swift, but i anticipate a couple places where i may need to use objective-c.here’s one of the swift wins:valuessince frontier...




inessential: my microblog

i’m on manton‘s cool new microblogs system. here’s where you can follow me, once you’re on the system: http://micro.blog/brentsimmons.and here’s my microblog: http://brent.micro.blog/. (which you can read using ...




ballard, from the parallel universe

in another universe i didn’t decide to port frontier — instead, i started over from scratch on an app inspired by f...




inessential: frontier diary #7: pretty much everything throws

a script can throw an error, either intentionally (via the scripterror verb) or by doing something, such as referencing an undefined object, that generates an error.origfrontier was written in c, which has no error-throwing mechanism, and so it worked like this: most runtime functions returned a boolean (for success or failure), and the return value was passed in by reference. if there was an error, the function would set a global error variable and return false. the caller would then have to check that global to see if there was an error, and then do the right thing.this was not unreasonable, given the language and the times (early ’90s) and also given the need to be very careful about unw...




the quickdraw problem and where it led me

in my fork of frontier there are still over 600 deprecation warnings. a whole bunch of these are due to quickdraw calls.for those who don’t know: quickdraw was how, in the old days, you drew things to the mac’s screen. it was amazing for its time and pretty easy to work with. functions included things like moveto, lineto, drawline, frameoval, and so on. all pretty straightforward.these days we have core graphics instead, and we have higher-level things like nsbezierpath. quickdraw was simpler — though yes, sure, that was partly because it did less.* * *i was looking at all these deprecation warnings for quickdraw functions and wondering how i’m ever going to get through them.i could,...




save $300 on cocoaconf next door

my pals at cocoaconf asked me to remind you that the early bird sale ends in two weeks for cocoaconf next door — the one taking pla...




inessential: frontier diary #3: built-in verbs configuration

frontier’s standard library is known as its built-in verbs. there are a number of different tables: file, clock, xml, and so on. each contains a number of verbs: file.readwholefile, clock.now, and so on.most of these verbs are implemented in c, in the kernel, rather than as scripts. at the moment, to add one of these kernel verbs, you have to jump through a few hoops: edit a resource, add an integer id, add to a switch statement, etc. it’s a pain and is error-prone.so i want to re-do this in swift, because i’m all about swift. and i want adding verbs to be fool-proof: i don’t want to remember how to configure this every single time i add a verb. adding a verb needs to be easy.my thin...




inessential: frontier diary #3: built-in verbs configuration

frontier’s standard library is known as its built-in verbs. there are a number of different tables: file, clock, xml, and so on. each contains a number of verbs: file.readwholefile, clock.now, and so on.most of these verbs are implemented in c, in the kernel, rather than as scripts. at the moment, to add one of these kernel verbs, you have to jump through a few hoops: edit a resource, add an integer id, add to a switch statement, etc. it’s a pain and is error-prone.so i want to re-do this in swift, because i’m all about swift. and i want adding verbs to be fool-proof: i don’t want to remember how to configure this every single time i add a verb. adding a verb needs to be easy.my thin...