in

ExpressionBlog.com

Microsoft Expression Studio Community

This Blog

Syndication

Mirrored Blogs

Browse by Tags

All Tags » Random Ramblings (RSS)
  • Twenty Five Years

    25 years ago Microsoft Word was released And 25 years ago, today, I got married. Today I received this card from my wife... with this inside This is the secret to a great marriage and a great company.
  • Xaml vs XAML

    I received an email from Ian Griffiths who informed me that the "Xaml spec refers to Xaml as Xaml , and not XAML ." because Rob Relyea didn't like the "shouty caps" look of all upper case. After some back and forth, I contacted Rob, who wrote back that Ian is right (no surprise there) but that Rob is "...starting to use XAML" as that ship has sailed. I don't know, Rob is pretty amazing, (the image below is a link to his blog), and I'm inclined to agree with him that Xaml is a lot classier looking than XAML. I suggested that I would put the following note in Programming Silverlight A quick note on the capitalization of Xaml. Ian Griffiths (who truly knows everything) sent an email that Rob Relyea submitted the official specification with the capitalization as Xaml rather than XAML . While even Rob agrees that all upper case is the popular usage, his blog, Xamlified ( http://tinyurl.com/6h6rr5 ) is an oasis of camel case, and high quality information. This book will use both capitalizations for the sake of inconsistency. Maybe we can start a movement. I'm going to try. If nothing else, this discussion has led me to find YAAM (Yet Another Amazing Microsoftie) which makes it worthwhile. Keep an eye on his blog ; there are gems there. For those of you about to write that this is a trivial and meaningless distinction not worth the time to blog about... I pretty much agree.
  • Silverlight, Educational Charity and Funny Accents

    I love office (as a shareholder) and I live in Word, though I'll keep my thoughts about the ribbon to myself. All of that aside, the Australia Office folks used Silverlight to create a fund raising site on the premise of "sit through a short commercial and we'll give money to education." Since its Silverlight and Education and Microsoft (three causes I care about) I thought I'd pass it along. Click here or on the image (that's the picture on the left!) to watch a (truly cheesy video of an Aussie kid telling you how cool Office is, which you must watch all the way through, but it is short) and Microsoft donates 1 Aussie dollar to education (don't ask me how much that is). It takes 30 seconds, and the site itself is nifty (at least in concept). (I like the waving hands; I don't like the fact that the videos take about a year and a half to load, but Australia is very far away.) Enjoy.
  • Coming soon - better HDI Videos

      I'm 2/3  through Daniel Park's surprisingly excellent book Camtasia 5: The Definitive Guide and have found more than enough I didn't know and am glad to have learned to justify reading it.  I've also ripped through Timothy J. Koegel's The Exceptional Presenter...   so I'm geared to improve my videos (we'll see if they actually get better!) The Exceptional Presenter: A Proven Formula to Open Up and Own the Room by Timothy J. Koegel Read more about this title... Camtasia Studio 5: The Definitive Guide (Wordware Applications Library) by Daniel Park Read more about this title...   I have two more books on this theme on the way, and I'm quite eager to see what they have to offer: Presentation Zen: Simple Ideas on Presentation Design and Delivery (Voices That Matter) by Garr Reynolds Read more about this title... Beyond Bullet Points: Using Microsoft® Office PowerPoint® 2007 to Create Presentations That Inform, Motivate, and Inspire by Cliff Atkinson Read more about this title... Who knows what nuggets these might yield   Note, I've tagged these " Videos and Presentations " on my Library site and will tag some more as soon as I wake up.  If it turns out anyone has an interest, I'll create more tags for other relevant topics. For now, the books I think are among the best are tagged " required " Thanks.
  • Organizing Lots of Information

    A very smart and frequent participant here wrote in today and said (paraphrasing)   ...Why do you  organize the Learn section around type (video, quickstart, tutorial) instead of topic/task (data binding, layout, browser integration)? Today I had a Data Binding question...I remember seeing what I wanted on Silverlight.net but not where. I looked at quick starts, then videos and finally found it in tutorials. Doesn't it make sense to have everything about Data Binding together? Great question!  I have three parts to my answer at least: 1. We are going to be reorganizing this site in the coming months to make it more useful; that is certain. What I'm about to write, though, has nothing to do with that process. 2. What is useful for one person is not always useful for everyone else, and one reasonably difficult thing to agree on is categorization, though you wouldn't think so. A quick social psych experiment: next time you are a party, ask someone to empty their pockets and to separate the contents into six logical piles. Refuse to provide further guidance.  Once they are done, ask them to explain their piles.  You'll find over time that everyone can do it, that everyone can explain in some detail why these are the logical mutually exclusive piles, but that everyone's criteria are different. 3. I have not discussed what I'm about to say with anyone else, nor am I sure that this way of organizing our tutorials and videos would be useful to anyone but me, but I did enjoy losing an hour thinking about it. If I were using this site; I'd like total control of how I access the learning material. I'd want to be able to find the material by topic, by type or even by who created it. But I would want all these "boxes" to be transparent.   I want to know what is in them before I open them, to minimize hunting around, and I want to be sure that whichever path I take I can always change my mind.       In this truly geeked out approach, I'm asked to choose if I want to see the available information by Topic , by Medium or by Presenter , but I don't have to guess what is under each of these choices. Let's assume that I prefer the presentations by that incredibly talented chap Liberty, and so I click on his name. This opens up the sub-menu that displays the contributions he has made, but once again I can choose to see it organized by topic or by medium (of course, just the...
  • Small Software - Big Impact

    First, a quick note that I'm rapidly posting tutorials and videos and as soon as they are through our production process, I'll turn my blog to announcing them and expanding upon them. I do want, however, to mention one of my favorite utilities, Hypersnap which I've used for about the past 7 years to capture and annotate all of the images in my books, articles, tutorials and blog entries. It is an extraordinary utility with amazing capabilities, but the story I want to tell you is about customer service. I wrote the following to customer service yesterday (abridged...) ...The one feature that makes me crazy is the need to go through so many steps to switch between the two modes I use most often: · Don’t capture cursor, set delay to 200ms · Capture cursor, set delay to 4 seconds It would be great to be able to.... 62 minutes later I got back a message from Greg Kochaniak that said in part, Hi Jesse,...I added a “hidden” command.... find “Include Cursor With Time Delay” – drag it and drop on the top main toolbar of HyperSnap... and you’ll have a one button click to enable cursor capture with extra 4 seconds delay, or disable it and no delay... I’ll leave this command there for future releases. (The image above has the new button circled in red, taken of course in Hypersnap, by using that button!) You just don't see customer service like that every day . I have no connection to this company, but they do make a great shareware product. Every few months I'll mention some others, but here's a quick list of my current favorites: Roboform - For IE. I don't know how anyone lives without this. Fill in your information and it fills forms for you. Can be password protected. Remembers login and password info for sites you visit, can provide password generation. Exam Diff Pro - best software I know for examining differences in files and directories. Incredibly easy to use, to customize and very reliable. Instant C# / Instant VB (Full Disclosure: They gave me an evaluation copy) I am blown away by how well this product works. Put in a fairly complex program in one language and in seconds you have a fully converted program. Highly recommended if you need and can afford it. RegexBuddy - If you are creating regular expressions, nothing comes close to this utility for getting it right, fast and painless. $29. Wiki.reg -For IE: Updates your registry (back up your registry first) so that from any browser you can type w and then a phrase to look up in...
  • Silverlight Gems

    One of the reasons I took my job was the amazing people I met during my interview. It turns out, however, that the place is crawling with talent; it doesn't seem likely that an organization that large would not have regressed to the mean yet, but the dev-div continues to astound me. I'd like to start pointing out some of the people who, I speculate, will have a lot to offer the Silverlight Developer community. These will be random "sightings" as I go, of folks who are actively presenting information to the community but who you may not yet have run across,  but who you want to watch for.   Karen Corby came to the attention of a lot of folks with her brilliant presentation at Mix , It turns out she has a great blog where you will find some terrific information on a variety of topics ranging from the Silverlight HTTP Networking Stack to  her amazing photographs, to creating a FickrViewer app that nicely demonstrates the use of Styles, Templates, User Controls, Custom Controls and that also provides, ready for you to download, a Horizontal Wrap Panel, and Continuing Progress control and a Modal Dialog! I met Karen when I was out in Redmond; and everyone I know who has met her agrees: "Amazingly  high signal to noise ratio combined with extremely high bit rate."  Plus she is very kind to strangers; she made a lot of time for Tim and me, and was an enormous help in our understanding the evolving Control/Template model.
  • New Look - Same Blog

    Don't panic! It's the same blog; I just changed the look to make it easier to use and easier to read. Hope you like it. Stay tuned for lots of videos and tutorials over the next fortnight. -j
  • Mixing Personal Opinion and Politics and Technology

    I've been blogging here for about 9 months and so far I've defied my decision to consciously mixing my politics in with my work. I'm not quite sure why; perhaps to build up some credibility, perhaps because I've been so busy (Microsoft flex time: pick any 70 hours) Unlike nearly everyone I've ever met, I strongly believe that when there is clear injustice, it is imperative to discuss that at every opportunity, especially at work, especially where folks don't want to hear it. In November of 06, I was invited by an online magazine to write a column specifically on this topic ; but the reaction was so negative and so intense, I was cordially invited to stop talking about politics. I declined. The thread linked here does more or less capture many of the common points made on this issue. My solution was to move my politics to an oft-neglected blog and then aggregate all my blogs onto my personal portal site . Every once in a while it breaks through, as it did in the dedication of the latest edition of my book Programming C# 3.0 (5th ed) Dedications From Jesse Liberty This book is dedicated to those who come out, loud, and in your face and in the most inappropriate places. We will look back at this time and shake our heads in wonder. In 49 states, same-sex couples are denied the right to marry, though incarcerated felons are not. In 36 states, you can legally be denied housing just for being qu eer. In more than half the states, there is no law protecting LGBT children from harassment in school, and the suicide rate among qu eer teens is 400 percent higher than among straight kids. And, we are still kicking gay heroes out of the military despite the fact that the Israelis and our own NSA, CIA, and FBI are all successfully integrated. So, yes, this dedication is to those of us who are out, full-time. So, my expectation is to stay on topic here, but if the muse moves me, I'll tag the entry appropriately so you can skip it if you wish, or read it if you are interested. Thanks. -jesse PS: the Microsoft blog-editor (software, not a person) thinks qu eer is an offensive word and turns it into stars if I remove the space!. Interesting since I think it is a word of pride -- not that I don't see the problem, but it matter so much how you say it and why.
  • Tim Heuer Joins the Team

    From time to time folks ask me what I do, and one of the wonderful things about working for ScottGu and more immediately Simon Muzio is that to a large degree my job is self-defined. So, while my task is to "build a developer community" on Silverlight.net, I've worked with Simon to set goals that fit in with my personal goals and what I think plays well to both my strengths and what I'd like to learn. These include creating tutorials, videos, writing a book on Silverlight, presenting at shows, writing examples large and small and so forth. The organization sees my job as within the "Evangelism" track, but the folks I work for know that I see myself as a developer first, and writer and trainer second; and "evangelist" is a word I have a hard time getting my head around. All of which is background to say that Tim Heuer is joining the team in the "same" role as I have. I put the word same in quotes because we'll have the same job, the same responsibilities, the same boss and title and so forth, but Tim will bring a different perspective, different enthusiasms, different skills, different energies, different interests; and so it won't look the same at all. Which is perfect. Together, we should be able to create many useful videos, tutorials and other helpful information; we'll also be co-authoring Programming Silverlight for O'Reilly, and, to quote Humphrey Bogart, "...I think this is the beginning of a beautiful Friendship." I don't know Tim well, but I do know him to be a rare combination of technical excellence and social grace, and he is a caring and calm man with a true dedication to his work and the people he interacts with. Working with Tim will take one of the best jobs I've ever had, and step it up a notch.
  • Not New, Not Original and Not On Topic

    Since I'm about to climb on a plane and leave for VS Live, I thought I'd leave you with one of my favorites from the Internet, on the importance of correct punctuation: Dear John: I want a man who knows what love is all about. You are generous, kind, thoughtful. People who are not like you admit to being useless and inferior. You have ruined me for other men. I yearn for you. I have no feelings whatsoever when we're apart. I can be forever happy--will you let me be yours? Gloria Dear John: I want a man who knows what love is. All about you are generous, kind, thoughtful people, who are not like you. Admit to being useless and inferior. You have ruined me. For other men, I yearn. For you, I have no feelings whatsoever. When we're apart, I can be forever happy. Will you let me be? Yours, Gloria
  • What I'm Thinking About April

    I've been getting a lot of mail on the lines of "When will we have Beta 2?" or "what is the release date for Silverlight" and since I can't answer those questions, and since I know that folks need to plan, I thought I'd tell you what I can know (at least to some degree) and that is what I hope and plan to do in the next six weeks in terms of producing learning material for Silverlight 2 Beta 1. So, very briefly, here are my plans for through the end of April (just in case you are interested). 1. The first week in April I'll be presenting at VS Live San Francisco. Two presentations: Introduction to Silverlight 2 Programming Silverlight 2 Data Binding I'll also try to attend the Birds of a feather lunch on Tuesday. Once these presentations are complete, I will post them here for your use and / or feedback. Presentations According to one of the more useful new sites, Tripit , I'll be flying from SF to Redmond late Wednesday afternoon, and spending the rest of the week talking with the team about Silverlight 2 and trying to uncover what it is I don't know that I don't know. Webcasts The first of the Silverlight 2 Webcasts   - Live From Redmond (not) Silverlight 2 and  Event Handling. How Do I Videos Plans for Videos in April include (among other things) interacting with databases, web services and XML, Streaming, Deep Zoom (with David Isbitski) and more. Tutorials I hope to release two tutorials in April, and as noted previously, I plan to take them out of order, that is to say tackling some advanced topics even before covering all the more introductory topics. Upcoming tutorials might include topics such as Data Templates Linq and Databases Networking Custom Controls Dependency Properties Data Binding and Databases Data Binding and Web Services Transforms and Animation Isolated Storage Advanced Templates and Parts Graphics Animation Interacting with HTML Interacting with ASP.NET / AJAX Note that I've listed 7 months of tutorials off the top of my head, so take this list as brainstorming, not as a plan. This is the opposite of announcing only when you "know" -- and is more like "here's a peek into the chaos of my thinking" Programming C# Table Of Contents My goal is to have a first draft of the Table of Contents for Programming C# (O'Reilly Media) which I will post here in case you find it interesting and to get your feedback if you would like to participate.  There...
  • Back up your code!

    In 1993 I was given this brilliant cartoon - and I'd love to find out who created it...     Best Personal/ Small Business Offsite Solution I've Found While I have you, one of the better, less expensive solutions I've found for solving my own off-site backups (after struggling for years) is to use Carbonite, which works silently and effortlessly on files or folders in the background at a tiny fraction of the cost of most off-site services. The downside? They don't version your files. The solution? Have them back up your versioning database! It is amazingly easy to set up, to maintain, to use, and absurdly inexpensive ($50 for one year, unlimited data!) [This opinion is my own, does not express that of anyone else, lest of all any of my employers or publishers, I have no affiliation with the people who make carbonite, your mileage may vary, contents are hot, void where prohibited, the superman underwear will not make you fly, do not use hot irons on clothing you are wearing)
  • Will Silverlight Controls Become More WPF Like - A Personal Opinion

    I was told when I joined Microsoft that I no longer had personal opinions about matters having to do with Microsoft software, and certainly not about Silverlight. As a "Blue Badge" I'm just exposed to too much confidential information to be seen as offering informal speculation or personal opinions, or so they said. It might even be true; who can really keep straight what you hear in back channels and what you hear inside your head (you don't hear little voices in your head? How do you get any work done?). About a week ago a very smart fellow wrote to me asking for a list of the differences between Silverlight and WPF. I responded saying that I didn't think such a list existed and (I added) "the list is shrinking all the time." He immediately picked up on that and asked me if I was hinting that there is a plan to make Silverlight 2 considerably more like WPF. Answer: I don't know. And I wouldn't say (we really are careful about not announcing features until they're cooked). But let me step away from what I do know and put on my rational individual non-employee hat and observe (keeping in mind how often I've been wrong over the past 2 decades!).... Silverlight was originally named WPF/E. The Silverlight controls are clearly and markedly very similar to and almost a subset of the WPF controls and Silverlight itself is very similar to and almost a proper subset of WPF - so much so that you can take a Silverlight application and plop it into a WPF application and it works. So we can't be that far. It is just that some things don't work quite the way you expect. For example, I blogged earlier about the fact that click events don't bubble. I sorta' kinda' understand why not, but they don't in Silverlight and they do in WPF. Will that change? Will they, eventually bubble in Silverlight? I don't know . But again, let's think about the pressures on the programmers logically. Here are these guys who build the Silverlight controls (e.g., the button) who are incredibly and justifiably proud of what they've wrought. They use the controls themselves. They also read the email from customers and from WPF programmers and from others, many of whom are confused by (or outraged by, or annoyed by, or mildly bemused by) the differences between Silverlight and WPF behavior. I'm guessing they'd like the Silverlight click event to behave the same as the WPF click event. Either they think the...
  • More on Routing and Bubbling

    One of the readers of my earlier post on routing and bubbling was left confused about when events are bubbled and when they are not. The documentation is clearer about this in some places than in others. For example, the Mouse events documentation has this to say: There are two things to notice here. One is that this particular documentation does clearly distinguish those events that bubble from those that do not. The second is, unfortunately, that the first sentence unfortunately seems to equatebeing a routed event with bubbling. What I think it means to say is "are routed events that bubble"  The documentation shows that MouseEnter (which does not bubble) is an event of type MouseEventHandler and MouseEventHandler is a delegate for three non bubbling events: So.... we can safely conclude that All bubbling events are routed events but Not all routed events bubble ( All C# Programmers are human, but not all humans are C# Programmers * ) So which events Do and Do Not Bubble and Why? One rule seems to be that any event specific to a control does not bubble. That means that Button.Click and Slider.ValueChanged do not bubble. Wait a minute! What would it mean for Slider.ValueChanged to bubble? Where would it bubble to? What could contain a slider that could possibly do anything with the ValueChanged event?  Clearly that event needs to go to the Slider and nowhere else. Okay, what about a ListBox which has SelectionChanged. Where should that bubble to? We're beginning to see the pattern. Most of the time, it doesn't make sense for the events specific to a given control to bubble. (Clearly not all of the time - Click is a good example where you might want a control event to bubble,  but you can work around that as we did in the previous example with mouse up.) In WPF you can decide because there are three types of Routed Events (Bubbling, Direct and Tunneling). In Silverlight, for Beta 1 at least, what has been put in place is that control-specific events do not bubble and what does bubble is many (though not all) of the more fundamental events  such as MouseDown/Up/Move,  which lets you get what you want, though not always as elegantly. One of the other comments was that this "must be fixed."  I'll post my own speculations on that tomorrow, but whether or not this is changed, a few things are becoming clearer: It is possible to accomplish all the event handling you might want as implemented There certainly...
More Posts Next page »