HNHacker News
TopNewBestAskShowJobs

emp

142 karma · joined February 26, 2009

submissionscomments
emp··on JetBrains C++ IDE: Status update and Video report
I still find I can't trust XCode refactoring. AppCode (also a Jetbrains product) is fantastic in this regard. XCode is just for Interface Build, the rest in AppCode.
emp··on What's in my iOS toolbox?
For me it is that I can trust the refactoring implicitly, and undo works everywhere just in case.

After XCode did some very creative refactoring one too many times, I simply lost trust in it. Perhaps things have improved in newer versions, but there is still too much missing: completions that are really intelligent, as well as intelligent templates.

With AppCode, it's become a game of how few keystrokes I can type to have it complete. It feels like 10% must of the time. The guesses it makes are great and what I would use most of the time, almost magical.

emp··on What's in my iOS toolbox?
That is interesting, I feel AppCode it is faster than XCode on my machine: 11" Air with 8 megs. I generally have XCode, AppCode and IDEA running and it is all smooth.

Do you have an SSD? I have a 27" iMac that I use as an external screen, because the HDD makes me crazy.

emp··on What's in my iOS toolbox?
Just a little. The next time I am brought onto an existing project, I will use one of them. For my own code, I generally know how I have built things. I have my own debugging categories to dump view and controller hierarchies.

To make "code visible" as I use an app, I wrote a category that logs -viewDidLoad -viewDidAppear and anything else one wants: https://github.com/mediumbear/LoggingInterceptor Very handy, never ask "what is this controller called again?", just look in the console.

emp··on What's in my iOS toolbox?
http://www.jetbrains.com/objc/ AppCode, the IDE that is an extension of my brain. Wonderful inspection abilities at breakpoints. Superlative refactoring and completion. And so very much more.

http://injectionforxcode.com Injection for XCode and AppCode for hot code injection so that I launch the simulator once and code interactively over many, many changes.

https://github.com/robertwijas/UISS UISS so I can interactively configure appearance proxies.

Slowly but surely, I will live like in Smalltalk.

emp··on The Day Mandela Was Arrested, With A Little Help From the CIA
I would get scowled at using that term when I first moved out of SA. It is referring to a specific group of people: http://en.wikipedia.org/wiki/Cape_Coloureds
emp··on iOS 7 “activation required” error on iPhone and iPad
Required starting in DFU mode + restore. Didn't think to try option + update as eggbrain mentioned above. Does this mean Find My iPhone can be circumvented with a DFU mode restore?
emp··on Bitbucket passes one million users
http://www.jetbrains.com/youtrack/ was really easy to get started with for us - things 'just work' much like all the Jetbrains products.
emp··on EA CEO John Riccitiello Steps Down
The short are taking their profits - buying to cover their positions.
emp··on Show HN: XKCD-inspired StackSort
Neat. Reminded me of how Pharo Smalltalk you can open the Method Finder and enter the arguments and expected output, and it lists methods that return the correct output. Now, back to work in my primitive, modern IDE :(
emp··on The Web Is Becoming Smalltalk
Writing a test that fails is a subset of what you can do. Pharo (and other Smalltalks) support writing traditional test cases and running them in a test runner. However you can also:

  - write snippets in a workspace, as vincie mentioned.  
  - write code against an API that doesn't exist, run it, have it fail, and then fill in the API and implementation.  
  - write stubs that fail automatically, and then fill them out (similar to above).
The difference is, when things fail:

  - you get to play with the live objects in a work space.  
  - fill in missing implementation.  
  - fix any errors.
And then much of the time continue execution from the point of failure. No need to restart anything. I simply could not appreciate the variety of options available in a Smalltalk environment until I used it for some fun projects over a few months.

Be warned, you might hate your so called modern environments once you get back to them. For Objective-C coders there is hope: http://injectionforxcode.com

emp··on The Web Is Becoming Smalltalk
I hate to be picky, but it's Smalltalk, not SmallTalk.
emp··on Rob Pike on Object Oriented programming
I agree fully - reading through these comments is frustrating, as the languages mentioned can hardly be called Object Oriented. Learning Smalltalk is something everyone who really wants to understand OOP should do. C++, Java and the like really should be called Class Oriented languages, as demonstrated by the often very deep class hierarchies. It's not about the classes, it's about the communication between objects. Objective-C is far closer to Smalltalk than most of the languages mentioned in these comments.

The downside to learning Smalltalk - the realization that a 30 year old environment is more advanced than whatever modern tools you will need to return to to earn a living.

emp··on iPad mini
Why don't you simply turn off notifications? Or even better, enabled the 'do not disturb' mode in the settings app?
emp··on IPhone 5: Apple’s 16:9 compromise
I think "pixel perfect" refers to matching a designer's visual design. iOS developers should have been using the layout constraints for most of the UI - if they have hardcoded values, then that is bad programming.

For apps that use a lot of UI graphics in the form of images, yes they have work to do. But the same would be true on Android.

emp··on An Unexpected Ass Kicking
Yes, we could tinker away with all the computers from the early 80s. We were lucky, this lower level of access was unavoidable.

But what about today? One never needs to type "load" and "run". Instead of discovery by the kid, a parent who thinks programming might be interesting for their kid is a prerequisite. And then they need to be able to do the research and install perhaps Python. And then what?

Playing around with Lua inside of Codea sent me right back to the immediate gratification of my Apple ][

In the end, does the platform matter? When I was a kid, I took apart the TV so I could see what was inside. Curious kids today will be similarly compelled to jailbreak their iPad.

I'd be curious to know how many programmers there are here who are programmers because of a push in the right direction by an adult, or simply because there were curious kids.

emp··on An Unexpected Ass Kicking
Sometimes I catch myself thinking this way and need to remind myself of my own experience.

All one needs is a seed.

My seed was planted on a closed system: an Atari 2600. Specifically, one with a Spectravideo Compumate keyboard. http://www.atarimuseum.com/videogames/consoles/2600/compumat... When I did as much as I could do on it, an Apple ][ clone was the next step.

When the iPad came out, I lamented the closed platform, forgetting that my Apple ][ was not where I started.

Something similar to my Spectravideo for iPad, is Codea http://twolivesleft.com/Codea/. Instantly accessible, and instantly running your code. A perfect seed for a kid who might express an interest in programming.

Any kid who discovers a passion for programming has options to move onto any platform their desire takes them. The ubiquity of the iPad and other tablets might even promote the introduction to programming to anyone who is curious enough.

Also, would people would stop calling an iPad a consumption device. It can be used this way. Many people do. But then, many people use their PC for little more than web browsing and to watch Netflix. It's not the platform, it's what interest them. My laptop is gathering dust because of my iPad.

The naturally curious will naturally do more within existing constraints, and then break free of them.

emp··on The eero programming language - a dialect of Objective-C
I think he means the LLDB console. You can inspect anything, however deeply you want. Create new objects. Assign them to variables. Run code snippets against your existing state at the breakpoint. Learn new APIs interactively. Reduce the need to compile/run as often. It's the closest I can get to a Smalltalk Workspace/Transcript. I agree that the GUI debugger is limited, and after living in the console for some time, next to useless.
emp··on Why Objective-C is Hard
In Objective-C, those aren't named parameters, like you might find in Python, or faked in Ruby or Groovy. They are called 'Keyword Messages'. In your example above, the method signature is replace:with:options:range:, compared to say a C++ style replaceWithOptionsRange. It's simply a way to interleave arguments in the message send itself, inherited from Smalltalk.
emp··on Will Steve Jobs' final vendetta haunt Google?
The mouse was invented by Doug Engelbart and 'stolen' by Xerox and then 'stolen' by Apple. Apple's mouse was well designed, compact, cheap, reliable, very dependable and consistent in its function. None of this was true of the two previous mice.

This is the difference when Apple 'steals'. They are inspired by something poorly executed and create something much better than the inspiration.

emp··on iPhone 4S First Weekend Sales Top Four Million
I did what you are contemplating - got an unlocked 4S after having my 3GS for 2 1/2 years.

You won't be disappointed, the 4S is so much faster at everything. And Siri is amazing. The only downside is that I have started looking for the 'Siri button' on my iMac.

emp··on iPhone 4S First Weekend Sales Top Four Million
My 3GS started acting up just days before the 4S launch, so I lined up at 4:30am to ensure I got a 4S.

I was amazed at the lack of 3GS phones in the line. So many people with 4s upgrading. Also many people buying 2 each, perhaps because in Canada you can buy them unlocked.

I wonder what were other locations were like?

emp··on Undetweetable saves the tweets that you delete, and publishes them
Seems that they don't believe in their own product. Entering anyone on their contact list shows "We had a problem adding @... to our database".
← PreviousPage 3 of 3