Photo
This did not make computer programming easy. I was there.

882 notes
·
View notes
Photo

Apple Watch Lego charging stand
I wanted to use the Ghostbusters ecto-1 kit, but it costs $50 compared to this $17 Dr. Octopus one
1 note
·
View note
Text
iOS -inputView keyboard craziness
In iOS 7 and earlier, a custom -inputView keyboard did not react automatically to input from a Bluetooth keyboard (this was different than the standard iOS keyboards which would automatically hide when a Bluetooth keyboard was used). In iOS8, Apple made what I believe was the correct choice to change -inputView keyboards to hide automatically when a BT keyboard was used. I had to split my code to handle this change, but going forward at least I could feel good that the behaviors were the same between my custom keyboard and Apple's keyboards. I wanted to make sure this was a feature and not a bug, so I burned a DTS support request to verify it as a feature, and they did verify it as the new expected behavior. Today I just found out that in iOS8.1, the behavior is back to the iOS 7 and earlier behavior! So which is the bug and which is the feature??? I have replied to my earlier DTS email to see what they say. iOS old - iOS 7: -inputView doesn't hide iOS 8.0 - iOS 8.01: -inputView does hide iOS 8.1: -inputView doesn't hide Update 11/17/14: Apple DTS has emailed me to tell me that Input Engineering says that the inputView SHOULD in fact be automatically hiding just as it did in iOS 8.0 and that I should file a bug. So I did (19001007)
0 notes
Photo
I don't think it's the most expensive xylophone. Here's one that's at least close that I found in 30 seconds: http://www.amazon.com/Yamaha-Octave-Professional-Acoustalon-Xylophone/dp/B0064RQYG2/ref=sr_sp-atf_image_1_1?s=musical-instruments&ie=UTF8&qid=1411940994&sr=1-1
Unlocking every iPhone at once
196K notes
·
View notes
Text
Siri repetition: "Brownie Pan"
brownie pan brownie pan brownie pan brownie pan brownie brownie batter brownie brownie batter brownie pan brownie pan brownie pan brownie pan Bennett that's been pan brownie pan brownie brownie batter pants brownie brownie brownie pan brownie pan brownie pan brownie batter batter batter Brenna Brenna brownie brownie brownie batter brown brown brown brown brown brownie pan brownie pan brownie pan brownie pan brownie batter ran about a brownie pan brownie pan banner banner banner been a bad bad man a bandanna bandanna bandanna bandanna bandanna bandanna Manman Manman your bandanna man been a better better man better band Benemid been a better man better better man-to-man better man-to-man Amana brownie pan brownie pan brownie pan brownie pan
0 notes
Text
**Not too bad. Just sharing for fun. Check out Pablo's line where he nearly made me to a spit take!!** Anita M.: Hi, my name is Anita M. and I will be assisting you today. Paul Bruneau: Hi Anita Anita M.: Hello Anita M.: I see your question Anita M.: I would be happy to assist you Anita M.: Please provide me with the name and address on the account Paul Bruneau: OK. I just have internet currently with you Anita M.: Please also advise to whom I am speaking with at this time Paul Bruneau: The name I put into the chat form and the address is Anita M.: Thanks Paul Bruneau: My name appears above in the chat window, that's why I typed it into your form :) Anita M.: I am sorry, we are still required to ask Paul Bruneau: That is silly Anita M.: I am sorry, we have guide lines. Anita M.: May I ask, why you would like to cancel Paul Bruneau: Because at the end of my introductory promotion, your price skyrocketed to astronomical levels Anita M.: I understand, please let me transfer you to a Disconnect Representative Anita M.: One moment please Anita M. has disconnected. Pablo V: Hi, my name is Pablo V and I will be assisting you today. Paul Bruneau: Hi Pablo, my name is nearly Pablo too! Pablo V: hahhah Pablo V: how may i help you today? Pablo V: my bossess call me Paul Pablo V: all the time Pablo V: hahah Paul Bruneau: I would like to cancel my service with you I'm afraid :) Paul Bruneau: My friends call me Pablo all the time! Pablo V: no way Paul Bruneau: way! Pablo V: that's hilarious Pablo V: ok Pablo V: you only have Internet Pablo V: how come you want to cancel> Paul Bruneau: Yes, just internet. I used to have internet and TV but after my introductory period ended, the price went crazily high Pablo V: now is regular price Paul Bruneau: Regular is crazy. Would you pay $168 for tv and internet? Pablo V: i can however take $10.00 off your acct and triple the speed for free Paul Bruneau: Sorry, I spoke with several people before now to try to do something about it...the time for them to act was then. Now I have an account with AT&T Paul Bruneau: But thanks for the offer! Pablo V: what speed you getting with them? Pablo V: i hope you didn't sign up for DSL Paul Bruneau: Fast enough for me Paul Bruneau: Uverse Pablo V: good luck Paul Bruneau: Thanks! Pablo V: when do you need me to cancel the acct Paul Bruneau: as soon as possible would be fine Pablo V: ill do it now Paul Bruneau: OK thanks Pablo V: but we need you to return the modem Pablo V: http://www.optimum.com/support/optimum_stores.jsp Paul Bruneau: Yep I have to return my box and cable card too, thanks Paul Bruneau: Hey did you hear that awesome recording of the dude trying to cancel from Comcast that went around Twitter the other day? Pablo V: yeah i read it this morning Pablo V: that was something else Paul Bruneau: You should listen to it, it was pretty good Paul Bruneau: I bet they are going to show it to you in your monthly "what not to do" meetings or whatever Pablo V: i will i read it in the paper Pablo V: which reminds me, i cant cancel the acct for you Pablo V: just kidding Pablo V: is all set Paul Bruneau: hahah you are awesome, that was funny!! Pablo V: we get a lor more training, Pablo V: than anybody in the business Pablo V: thanks again Paul Bruneau: Cool, I do like you guys a lot, maybe I'll be back in a year if AT&T cranks my rates up after my year is up :) Pablo V: we'll be here by then Paul Bruneau: Thanks Pablo, have a great day and you tell your bosses, "My name is Pablo, not Paul!!!" Pablo V: have a good day Pablo V: hahaah Paul Bruneau: Later man Pablo V: Thank you for chatting with Optimum Sales. Have a great day XXXXXX. Pablo V has disconnected.
0 notes
Text
Mobile vs API, part II
Mobile: There are three possible ways that our users can be able to retrieve content: our login, iTunes receipt, or free trial period. I have an idea which one is valid, but I don't know for sure until I call each API. I'd like to supply all credentials to an API and have it check them and return to me which one is valid with the content itself to save API calls for the client app.
API: No. Each API should handle one individual task. They should be "get in, get out" to free up sockets.
Mobile: My users don't care about sockets, and it must also be better for you to receive fewer calls too, no?
API: No.
0 notes
Text
Mobile App vs API, part I
Mobile App: I would like it if the game retrieval API also included the currently-saved state for that game since I'm going to immediately turn around and request the saved state anyway.
API: No, I don't want to do that because if I put user information into the game retrieval, I won't be able to cache it.
Mobile App: My users don't care if your server which is plugged into super fast internet, with super fast processors with unlimited power has to do a little extra work. They care about their battery and time.
API: No.
1 note
·
View note
Photo
I've been doing work in Game Center, and testing changes on two devices. So I see this sheet a lot because I start building on the second device before the first one is complete.
This used to be by accident and I used to hit "Cancel". But did you know if you let the sheet just sit there, the second build on the second device will start automatically after the first one is done? Nice, Xcode!
0 notes
Photo
Yes, I know they are floats, yes I know they are imprecise, but come on Xcode, can't you round to the nearest .000001???
0 notes
Photo
My scheduler app I've been updating and ranting about. Think of it as a Gantt chart from hell with dozens or hundreds of jobs. I started it in 2007 after going to @bignerdranch. Still manually reference counted yeah! Getting rid of NSCalendarDate gave me about 20 more frames per second while dragging these rectangles around (they push their neighbors and any other segments that rely on them--and those segments push their neighbors which then push THEIR dependent segments, and so on and so on and so on. Thank you recursion!!!
0 notes
Text
pageViewController naming!
If FooPageViewController is a subclass UIPageViewController, then what do I name the UIViewController class that's responsible for each of the individual pages in that page view controller?
0 notes
Text
NSDateFormatter and empty values
NSDateFormatters are great to use especially in Mac OS X apps because they work so well with Cocoa Bindings in Interface Builder.
There are two kinds of them. One with an OS X 10.0 behavior and one with an OS X 10.4 behavior. iOS uses only the more modern one. In OS X the 10.0 behavior is deprecated and you should use the 10.4 version. But there's a problem.
Let's say you have a text field with a date formatter attached to it in Interface Builder. Now when you run your app, put a date string into the text field and hit enter. So far so good. Then delete the date string and hit enter. It seems that the 10.0 behavior supports this. But the 10.4 behavior complains that it is not a valid date format. So once your text field has a value in it, there's no way to remove that value. Weird!
If you were using an NSNumberFormatter, there is a pair of methods, -setNilSymbol and -nilSymbol, that help you deal with this. You can call [myNumberFormatter setNilSymbol:@""] and then the number formatter will know that if it sees an empty string, it should make the resulting number be nil.
But there is no -nilSymbol for NSDateFormatter. And the weird part is there is almost no mention of this on the internet. How is this possible that more people aren't having to deal with this? Here is about the only mention of it I can find, in a post about NSNumberFormatter:
http://osdir.com/ml/cocoa-dev/2009-08/msg01350.html
Note at the very bottom of the mailing list post, the respondent makes a comment about how it's too bad that NSDateFormatter doesn't have that attribute.
So what is the solution? There is a project on github that adds -setNilSymbol to NSDateFormatter. It's https://github.com/oriontransfer/SWApplicationSupport
You can go a little simpler and just create a subclass of NSDateFormatter that will allow an empty string to be converted to a nil date like this:
@implementation EPDateFormatter /** It is INSANE that NSDateFormatter doesn't allow empty values to resolve to a nil date!!!. */ - (BOOL)getObjectValue:(out id *)obj forString:(NSString *)string errorDescription:(out NSString **)error { BOOL result = [super getObjectValue:obj forString:string errorDescription:error]; if (result == NO && [string length] == 0) { *obj = nil; result = YES; } return result; } @end
I can't find any better way to deal with this. I'm going to create a bug report for this functionality to be built into NSDateFormatter.
1 note
·
View note
Link
http://www.sealiesoftware.com/blog/archive/2009/04/14/objc_explain_Classes_and_metaclasses.html
0 notes
Text
Nice one, Taco Bell, you're getting it right
When your only shared interest with a tinder match is Taco Bell
689 notes
·
View notes
Text
iOS Simulator tip: If you need to activate the home button with CMD-Shift-H, you might notice that slow animations also may toggle.
Turns out there is a "hidden" slow animation toggle consisting of pressing CMD together with the Shift key. Not the best key combination to use, Apple!
I reported this bug and the person responding asked me if I might be accidentally pressing CMD-T. What do I look like, a user????
0 notes