Pete Brown's Blog (POKE 53280,0)
Pete Brown writes on a variety of topics from XAML with the Windows Runtime (WinRT), .NET programming using C#, WPF, Silverlight, XNA, and Windows Phone, Microcontroller programming with .NET Microframework, .NET Gadgeteer and even plain old C, to raising two children in the suburbs of Maryland, woodworking, CNC and generally "making physical stuff". Oh, and Pete loves retro technology, especially Commodore (C64 and C128). If the content interests you, please subscribe using the subscription link to the right of every page.
-
Many developers don't realize that a common source of memory
leaks in .NET applications is the event handler. WPF 4.5 includes
built-in support for weak events to help us do the right thing and
not eat up all the available memory.
The Problem
Events are ubiquitous in .NET. When you add an event handler
using the EventName += <my event handler delegate>
syntax, the event source acquires...
-
During the .NET Microframework and .NET Gadgeteer code camp talk that Andrew
Duthie and I gave several weeks back, we tossed around the idea of
using the Gadgeteer and a moisture sensor to alert parents of,
ahhhh, soggy diaper issues.
Shortly before the holidays, in the mail, I got a package of
goodies from Microsoft Research. That package included one of these
moisture sensors from Seeed Stu...
-
Speaking of UX…
I finally decided to download and learn to use the
industry-standard PCB and schematic layout software: Eagle. I've
tried a bunch of others, and quite frankly, got tired of always
using "also ran" software. The majority of the info on the web is
for Eagle. It certainly doesn't have the best UI or the best
workflow, but it has absolutely the most amount of information and
the b...
-
The Maker Geek Roundup aggregates information of interest to
makers everywhere. Topics include .NET Micro Framework, CNC, 3d
Printing, Robotics, Microsoft Robotics Studio, Electronics, General
Maker stuff, and more. If you have something interesting you've
done or have run across, or you blog regularly on the topics
included here, please send me the URL and brief description via the
contact li...
Published
Wednesday, January 25, 2012 |
Tagged:
.NET, Commodore, Visual-Studio, Synthesizer, geek, c64, Robotics, Electronics, MakerRoundup, Maker, AVR, Arduino |
-
Before joining Microsoft, I was a consultant, primarily building
desktop applications using a variety of MS technologies. During my
last couple years there, Silverlight was a large part of that both
for full apps and as parts of larger web sites. Prior to that, it
was WPF, Windows Forms, VB, HTML and even SharePoint.
tl;dr: The point of this long post is not to
show you examples of good desi...
-
For anyone interested in open source microcontroller
development, or why boards are named with *duino type names, this
1/2 hour documentary is a great watch.
http://vimeo.com/18539129
Arduino.TheDocumentary.2010.English explains the origin of the
Arduino in a relatively non-technical interview-based documentary
style, with interviews for people involved in the creation, as well
as key part...
-
After assembling my Netduino-powered PIX-6T4, I
wanted to go and write a simple game. This post describes the
construction of that game, including all source code.
Concept
When you have 64 monochrome red pixels, you need to keep the
graphics simple. I decided on a game inspired by the classic Atari River Raid game. This is essentially a
vertical scrolling game where you need to dodge obstacl...
-
I recently picked up a PIX-6T4 build by Fabien Royer (with games
by Fabien Royer and Bertrand Le Roy). This is a 64 pixel, two
joystick/button, monophonic sound hand-held game device based
around the Netduino Mini from Secret Labs. You create games in C#
using Visual studio.
Disclaimer: I work for Microsoft and I enjoy working in the .NET
Micro Framework as well as C++ on other microcontroll...
-
In my post about WPF 4.5 Observable Collection
Cross-thread Change Notification, I showed the basics of how to
synchronize collection updates in WPF, and how to avoid having to
manually dispatch calls to the UI thread. In the comments, Jonathan
Allen brought up some very good points that I simply didn't know
the answers to (and a lock I was missing in the example). Thanks to
Jonathan for keepi...
-
WPF 4.5 is available as part of the Visual Studio 11 Developer Preview released at
the Build 2011 conference, and is part of the .NET Framework
version 4.5. WPF 4.5 addresses several important customer requests
including the ability to have cross-thread change notification for
collections - the topic of this post.
Update 1/20/2012: I have
posted a set of updates to this post with additional
...
-
In this Part 1 post, I'll show how to interface with ATmega
ports and pins to light up LEDs on a board. The follow-up post will
show how to use the timer to actually blink the LED.
Most of the Microcontroller code out in the public is C or
Assembly. I have nothing personal against assembly or C (and may
end up using a little assembly in the future), but I decided I
wanted to write C++, as I l...
-
In the wee hours of the night, I've been continuing to learn how
to develop for the various AVR family chips from Atmel. I also do a
lot with NETMF, Netduino, and the .NET Gadgeteer, but sometimes
(despite the pain!) it feels good to code right on the metal.
Introductory/getting started information for the AVR family is
not always the easiest to find, so this post covers a few other
important...
-
The Windows Client Developer Roundup aggregates information of
interest to Windows Client Developers, including WinRT XAML, WPF, Silverlight, Visual
C++, XNA, Expression Blend, Surface, Windows
7, Windows
Phone, Visual Studio, WCF RIA Services and
more. Sometimes I even include a little jQuery and HTML5. If you
have something interesting you've done or have run across, or you
blog regularly on...
Published
Wednesday, January 11, 2012 |
Tagged:
.NET, Silverlight, 3d, XNA, CPP, WindowsClient, WindowsClientRoundup, Kinect, Windows8, XAML |
-
A reader of my Silverlight 5 book recently reached out to
me about threading and why I create some objects on the UI thread
in the examples. We discussed some of the reasons, but I felt this
would be a good topic to share with everyone. In fact, this is one
area where it would have been fun to go into great detail in my
book, but there simply wasn't the space. Threading and cross-thread
except...
-
I recently posted an updated version of Silverlight reporting on
codeplex. Here's the overview.
This project, a unofficial project by Pete Brown of Microsoft,
provides a a very basic framework for building simple, short,
multi-page reports using Silverlight 5.
The intent is not to be an all-encompassing reporting solution,
or a solution for large reports. Instead, this is a set of code you...
-
Today, I started wiring the front panel.
Over the next several months I'll be building what is definitely
my most complex electronics project to date: the MFOS (Music From
Outer Space)
Sound Lab Ultimate,
Ultimate Expander and (if Santa brings one)
Sound Lab Mini-Synth Mark II, likely all in the same home-made
wooden case, side by side. The Ultimate and Expander are together a
3 oscillato...
-
The Maker Geek Roundup aggregates information of interest to
makers everywhere. Topics include .NET Micro Framework, CNC, 3d
Printing, Robotics, Microsoft Robotics Studio, Electronics, General
Maker stuff, and more. If you have something interesting you've
done or have run across, or you blog regularly on the topics
included here, please send me the URL and brief description via the
contact li...
Published
Saturday, January 07, 2012 |
Tagged:
.NET, Hobbies, Synthesizer, geek, Micro+Framework, Electronics, 3d-Printing, MakerRoundup, Maker, AVR |
-
Over the Christmas break, I decided to replace my great Samson
C01U mic with something a little more high end. Today was the first
day I really got to try it out at work.
Criteria
I knew I wanted a new mic, but there were some specific things I
was looking for. For the new one, I had the following criteria:
Not a USB mic. Straight XLR
Must sound good for close-talking voice overs
Must be...
-
Over Christmas vacation, I completed all the component mounting
on my MFOS Ultimate board.
Over the next several months I'll be building what is definitely
my most complex electronics project to date: the MFOS (Music From
Outer Space)
Sound Lab Ultimate,
Ultimate Expander and (if Santa brings one)
Sound Lab Mini-Synth Mark II, likely all in the same home-made
wooden case, side by side. Th...
-
In every project, there comes a part you just dread doing. It's
always the part you put off until the very end. When programming,
maybe it's that exception logging, or security interface. With most
house projects, it's painting.
With carpentry/cabinetry, well, I hate building cabinet
doors.
There. I said it. I love woodworking, but BOY do I hate doors. I
know the appropriate tricks for squar...
-
The next step was to solder yet more components to the board. I
soldered the trimmer potentiometers as well as a number of the
capacitors.
Over the next several months I'll be building what is definitely
my most complex electronics project to date: the MFOS (Music From
Outer Space)
Sound Lab Ultimate,
Ultimate Expander and (if Santa brings one)
Sound Lab Mini-Synth Mark II, likely all in ...
-
Phew! The resistors are all soldered. The board has a few
hundred of them, so there was quite a bit of soldering.
Over the next several months I'll be building what is definitely
my most complex electronics project to date: the MFOS (Music From
Outer Space)
Sound Lab Ultimate,
Ultimate Expander and (if Santa brings one)
Sound Lab Mini-Synth Mark II, likely all in the same home-made
wooden...