Archive Page 2

05
Jun
09

Visual Studio 2010 Adventure

So I chose to give VS 2010 a spin today, creating a C++/CLI win form library. It’s a simple OpenGL container for using in other forms.

In attempting to create the form, I tried to hit [Ctrl]-[Space] to get a completion on System::Windows::Forms::Nat (native window), but was met with this little message in the status window:

whoops

How’s that for acknowledgement, eh? Come on, Microsoft, give us C++ guys something to play with. IntelliSense was supposed to be improved for native development, so what’s this?

There’s also funny behavior with the mouse cursor in the edit window, as in, I can’t see the cursor when I’m merely moving the mouse! If I click somewhere in the screen, it shows up, but upon movement it disappears again. Really annoying bug. Can haz update?

Advertisements
28
Jan
09

Again, the C++ team is accomplishing some real innovation here. Jim Springfield writes about the idea of populating from a build and remote definitions. This allows for the possibility of your build farm to host information for the dev team, giving the whole development team a huge productivity boost. Really, for large software teams working on very large code bases, this is huge.

We have also been thinking about some longer term ideas that build on this [new intellisense model]. This includes using a full SQL server to store information about source code, which multiple people can use. It would allow you to lookup code that isn’t even on your machine. For example, you could do a “goto definition” in your source and be taken to a file that isn’t even on your machine. This could be integrated with TFS so that the store is automatically updated as code is checked in, potentially even allowing you to query stuff over time. Another idea would be to populate a SQL database with information from a full build of your product. This would include very detailed information (i.e. like a BSC file) but shared among everyone and including all parts of an application. This would be very useful as you could identify all callers of a method when you are about to make a change to it.

28
Jan
09

Dev10: High Five, Microsoft

On Microsoft’s new Intellisense implementation in Dev10, Mark Hall writes:

Being accurate means more than just getting the right set of members in an auto-complete dropdown – it enables other features that would be impossible or undesirable without it. For example, accuracy means that any errors encountered during the intellisense parse are real errors, and we can expose them to the user as “squiggles” in the editor window as they edit or browse code. They can fix the errors without leaving the editor. This cuts out saving files and kicking off builds to get the command line compiler to provide such diagnostics.

Another benefit of accuracy is that our data stores will be reliable enough to use for code analysis and transformations, such as assisted refactoring of source code. There wasn’t time in Dev10 to provide access to our expression-level data. Users will be able to browse the symbol store to extract symbol-level information about their source bases. In a future release we will provide user-facing APIs that provide access to accurate information about their C++ source bases. This will open up a whole new ecosystem for analysis, understanding, and productivity tools for C++ on Windows.

I for sure have to give Microsoft a jumping high five for this one. Intellisense in the C++ world at this level is incredible. It certainly has been frustrating to try and “go to definition” for a symbol and have Dev Studio do nothing. For C++, the constraints in accomplishing this are really difficult so I appreciate the work that Microsoft has invested in us C++ developers. High Fives and Thank You!

Furthermore, it seems that Dev10 is an evolutionary step for C++ development. Seems that for anyone who develops C++ applications, Dev10 will be the Lear Jet to replace their single prop Sesna. I’ve already got the beta and I’m going to try getting ahead using it. Amazing stuff.

07
Jan
09

DynDns

A friend just pointed out DynDns to me and I’m super excited. Now I can VNC to my mac at home when I’m not there! Let alone run a webserver and other things. Yee haw!

07
Jan
09

Embeddable OS X

There’s not much talk on this, so I wanted to put this out there. Let’s say you have a device and you control it with software written for OS X, it’s a Cocoa-based application. Now, let’s say that what you give your customers is the device plus a mac with your software installed. From a completeness perspective, it seems like it’s more of a hacked up tool than something really packaged up as a product, right?

Imagine Ford Motor Co. revamping it’s robot controllers to OS X, shipping robotic assemblers with a small screen that displays the running Cocoa program. When the UAC worker turns it on the first time, a blue Ford logo appears on a white screen and fades away as the boot completes. The next thing that appears is the robot controller application, ready for use. No extraneous applications or distractions, just the robot application.

I really think this could be done with some hacking. What I imagine is that there’s a market out there for people who are writing mac software that have a singular purpose. What if you could buy an appleTV, rip it apart and put it back together in some custom hardware. Then when you booted up your screen showed not the pale-grey apple, but your company logo. What the user would then see after boot up is simply your application, already loaded and running. There’s nothing to double click, no dock, no way to get at the actual system except in some obfuscated way so that it can’t get screwed up.

In that way, OS X is available for your applicaiton in full, but your application is all you can run. The entire user experience is wrapped around your company and your product. The os is irrelevant to the end user, they just want to run your robot, drive your car, whatever. Best would be if you could fit the customized OS X on a USB stick that you could send to your customers each time they had to upgrade (outside of the normal system upgrades themselves).

07
Jan
09

The “In” Crowd

I absolutely love programming with Cocoa and Obj-C. Seriously, similar to so many Ruby folks, Obj-C has brought back a level of enjoyment in programming for me that has been lost dealing with memory leaks in MFC and COM applications (YUK!). Seriously, getting a fully featured application is so easy. Apple takes all the roadblocks out of the way and puts you on a high way to geting a powerful application in no time.

I interviewed with a company yesterday looking for a PT Cocoa developer to reduce the load on the sole developer in the company (one out of four employees). Turns out that this sole developer is the guy behind the popular iPhone applicaiton Molecules. As we talked about his current requirements, we wandered into general Cocoa and Mac conversation and he started telling me about the crowd of independant developers out there working and making a living on Mac software. It was remarkable to learn about the individual minds behind tools like Delicious Library and other products. Seems like there is an underground “In Crowd” when it comes to Cocoa Apps and once you get in, you don’t want to come out.

My excitement and passion kept growing merely listening to the stories Brad told me about his experiences at WWDC and C4. I went home dreaming about attending conferences, meeting people in the In Crowd and designing apps to make people feel happy.

06
Jan
09

iPhoto 09 Facebook, the missing link

It seems like the iPhoto team missed something when creating the face info panel for ’09. They make you add the facebook id to that face in the application. What if you’re an avid Address Book user? Why not link the face to an address book entry and provide a field in Address Book to hold facebook ids? iPhoto could use a proprietary API to access file information for Address Book to pull info into and out of it. So a Face doesn’t have an address book entry? Fine, add the facebook id, but behind the scenes create an address book entry for that face. Name = face id and facebook id is what they entered. Then when you synch contacts up to Mobile Me, facebook entries go with it too.

Perhaps then the Facebook and Apple people could team up to provide up to date synching with contacts. Suppose you like a contact with a facebook id. Address book could regularly check FB to see if the information is up to date.

C’mon, apple! Give me an iPhoto API!!




Twitter Updates