Comments are back! In the move to Hugo from Wordpress, one of the things I left behind temporarily was commenting. While the blog doesn’t get a ton of comments, I do still occasionally hear from someone who finds a post, sometimes even a very old post, useful, and that’s an interaction I wanted to make possible on the new Hugo-based blog. Since Hugo provides support for Disqus out of…
The Pattern It’s definitely a pattern with me. I start a new interest or hobby, and there is almost always a parade of Amazon packages that follow. It was true when I got into 3D Printing, more than 6 years ago, when one printer led to numerous accessories, and eventually to owning over half a dozen printers (though I’m down to 2 of my own now, plus one my son owns). It is true of the…
Moving Again So, it’s that time again. Most folks probably know the feeling. Every so often, you need to make a change. Sometimes it’s a career change, sometimes it’s moving to a different city, and if you’re a developer who blogs, sometimes it’s re-platforming an app, blog, or other tool you’ve had for a long time. For me, it was time to move my…
This the website and blog for G. Andrew Duthie, aka Devhammer. Here you’ll find geek stuff, local events, cool code or articles of interest and more, most of it low code, IoT, or .net-related. I am a father of two great boys, husband to a wonderful wife, Senior Technical Architect at Xebia, previously Senior Developer Advocate at OutSystems, founder and chief consultant for Devhammer Enterprises…
Bio: G. Andrew Duthie, aka devhammer, is a passionate technologist with more than 20 years of software development industry experience, including nearly 10 years as a Technical Evangelist at Microsoft, where he provided support and education for developers working with the Microsoft development platform. In addition to his work with Microsoft, Andrew is the author of several books on ASP.NET and…
A couple of weeks ago, I had a problem. It appeared that my refrigerator was failing to keep the cool food section, well, cool. Freezer was fine, but the thermometer I had in the cool food section was showing between 50-60 degrees F, which is far too warm. This wasn’t the first time this had happened, and on previous occasions, the issue was ice buildup in the freezer that blocked the channel…
In a recent post , I talked about my background as a software developer, teacher, and developer advocate, and how I ended up finding and liking Low Code, and more specifically, the OutSystems platform. In this post, I want to talk about the importance of the software development community, and why community is one of the things that’s helped keep me in the OutSystems orbit. Starting Fresh Some…
If, like me, you started your OutSystems journey prior to the mainstreaming of the Reactive Web and Mobile versions of OutSystems, you may have encountered the Balloon pattern, which was originally a part of the Silk UI framework, and continues to be available in OutSystems UI, but only if you are building Traditional Web applications. The Balloon…A Superior Tooltip The Balloon pattern is…
TL:DR; How one long-time .NET developer came to discover and embrace low code as another tool in his toolbelt, and why you might want to consider taking a look, too Where I Came From For those who don’t know me, I’ve been in the software industry for more than 25 years. My start in software on a professional level came in using Visual Basic, but in what was at the time a little unusual way, using…
Apparently, I missed it by a couple of days, but the 22nd of February, 2023 was the 20th anniversary of my very first blog post . I was fortunate enough to be one of the first set of folks with a blog on weblogs.asp.net, which ran on the .TEXT blogging software written and operated by Scott Watermasysk . The post itself is unremarkable, just an introductory musing. What is remarkable is that 20…
Recently, I gave a talk at the OutSystems Developer Conference (OSDC) on integrating external code and services in an OutSystems application, entitled “ A Little Help From My Friends : Integrating External Code in OutSystems”. Here are some relevant resources that I discussed during the talk: OutSystems Forge The Forge is the first stop for OutSystems developers looking for additional…
A Lighthearted Look at Adding AI to your Apps If you’re like my boss, you’ve probably thought to yourself, “what the world needs right now is an AI-driven candy dispenser.” OK, maybe that wasn’t exactly what he was thinking, but that’s where we ended up, when he had the idea to demonstrate the power of AI, using an unconventional demo approach. To make this work, he purchased a simple mechanical…
Finding Low Code…or Did It Find Me? Ever run into one of those technologies that snags you immediately? That’s what Low Code recently did for me. Mobile Apps are Beautiful and Pixel-perfect on OutSystems As many regular readers will know, I’ve spent the last several years doing independent consulting and coding, mostly in the .NET and JavaScript world. And I was humming along, with the usual ups…
One of the best things about cloud development today is the low cost of entry. With cloud vendors competing to bring customers to their offerings, there are strong incentives to keep prices low, particularly at the entry level. Microsoft’s Azure offerings are no exception. You can get started with Azure Web Apps , whether for hosting a blog or a more full-featured application, for free, if you’re…
It’s been more than 8 years since Jon Udell posted an encouragement of blogging over email entitled “ Too busy to Blog? Count your keystrokes ” and over 5 years since Scott Hanselman followed up with “ Do they deserve the gift of your keystrokes? ” Both posts explore the idea of our keystrokes being a limited resource that is better used to contribute to knowledge sources like blogs or wikis that…
I must have missed this while avoiding the interwebs around April Fool’s Day, but apparently Visual Studio Code is no longer beta/preview, and has hit their 1.0 version milestone . UPDATE: I was confused when reading the update log, which had the 1.0.0 update listed as March 2016…this must’ve been referring to the preview 1.0 release. Thus the correction above. The official public 1.0 release was…
…or your local user group, meetup, or code camp. Becoming a Speaker As someone who’s been speaking on technical topics since the late 1990s, I can say with great confidence that there are huge benefits to sharing your knowledge at local code camps and user groups. And if you’re in the greater Washington, DC metro area, I want to encourage you to submit a talk for the Northern Virginia Code Camp ,…
Wanted to share a quick solution to an issue I ran into while working on a Universal Windows Platform (UWP) app for my Raspberry Pi 2. Background I was building an app to read sensor data from a .NET Gadgeteer TempHumidity module using the GHI Electronics FEZ Cream , which is a HAT (Hardware Attached on Top) for the Raspberry Pi 2 that allows the use of Gadgeteer modules. In my case, I’m running…
Just ran into an issue with some Web API and Angular 2 code I’ve been working on, and since there didn’t seem to be much info in the wild on the error I ran into, I figured I’d blog it, in case it might help someone else. A Simple Demo of Web API and Angular 2? Since I had the day off yesterday, I figured it might be a good day to jump in and start doing some work with Angular 2 (Hey, isn’t that…
The Best Laid Plans… I’ve recently transitioned from working at home to working on-site at a client. The client did a great job of provisioning a nice desktop PC and large dual monitors. But one of the things I missed from my home office was my standing desk. To remedy this, I planned to bring in my laptop, set it up on a stand, and re-purpose one of the two monitors they provided so I could use…
As I noted a few months ago , INETA North America is ceasing operations and wrapping up loose ends. As part of that wrap-up, the INETA board asked if I would be willing to help with community continuity through the website I created, Community Megaphone . The idea was for INETA to encourage folks on their mailing list to join a list I set up to discuss the future of Community Megaphone, and what…
Node.js may not be the “new” hotness, but it’s still pretty hot, and getting hotter all the time. Whether you’re a .NET developer who’s still on the fence about JavaScript, or just haven’t gotten around to taking a look at Node, now is a pretty good time to do so, and in this post, I’ll show you a nice combination of tools that make learning Node easy and fun, namely nodeschool.io and the new…
From a posting by one of the folks I follow on Twitter (a former Microsoft co-worker), I saw this Business Insider story on HP apparently banning t-shirts (and other casual clothing) for certain teams within the company. The story asserts that “employees are furious.” The stated reasoning, which seems sensible enough to me, is that the company does not wish to risk customers being “put off” (BI’s…
UPDATE: As of November 18th, Visual Studio Code has gone Beta, and been released as open source. If you want to check out the source, or contribute, you can find the repo at: https://github.com/Microsoft/vscode The beta release also adds support for extensions as well as many other new features. The full update list is here . A day doesn’t go by lately without some new shiny toy being released for…
For the last 4 years or so, I’ve been hosting my blog/site using Orchard CMS . Orchard has been a pretty good platform. It offers a great deal of customization and extensibility points, and for .NET developers it can be a nice place to start for building an application. Unfortunately, whether because of my own customizations or some other reason, I ended up stuck on an older version of Orchard,…
Just a quick heads-up for folks who have subscribed to my blog’s feed via my old Feedburner URL…I recently moved my blog to a new hosting platform, and in the process I have decided to discontinue the use of Feedburner for my feed. If you wish to continue receiving updates via RSS, please change your feed reader subscription to point to https://devhammer.net/feed/ . Apologies for any…
On this page, you can find information about my forays into hardware-based projects such as Gadgeteer projects and modules, etc. Videos: If you’d like to see some of my video demos (similar to the one below), you can check out my Vimeo channel . Builds: What’s cooking in the garage? Here are the projects that I’m currently working on or have recently built… Gadgeteer IR Commander and Kinect Copter…
Devhammer Enterprises can provide custom software development, training, and mentoring to suit your organization’s needs. We specialize in: Microsoft Azure-based solutions, including Azure Web Apps, Azure Mobile Apps, and more Web solutions spanning both client and server, with expertise in ASP.NET and client JavaScript frameworks App development, including native solutions for Windows 8, Windows…
Hi, my name is Andrew, and I have a problem. I sometimes overthink things…just a bit. If you share that tendency you may, like me, instinctively greet any issue you run into as an opportunity for deep analysis and troubleshooting, which may not always be the place to start. Overthinking in Action A case in point. I’ve been working on a project that uses Crystal Reports (yes, plenty of people still…
[Update – I will likely continue to update this post periodically to include names and facts that I, in my imperfect memory, did not originally include, as they are brought to my attention or I find them through other posts. Please drop me a note if you know someone who deserves credit here that I missed. Thanks!] I received an email this morning announcing that INETA , after more than a decade of…
Last night, I had the opportunity to present to the Microsoft Maniacs meetup in Sterling, VA. I want to thank everyone who attended, and share my slides and code. The slides are embedded above, and also included in the Github repo for my presentation, which is linked below. You can find the source code and a copy of the slide deck at: http://github.com/devhammer/Presentations I welcome your…
My thanks to everyone who attended my session at NoVA Code Camp 2015, “Building Services with ASP.NET Web API”. Below you’ll find my slides, as well as a link to the Github repository containing my demo code. Please note that the demo code contains many non-standard naming practices, so I would advise against using it as an example of how to name folders/classes in your Web API. The code can be…
http://1drv.ms/1xrVEjE This weekend, I had the privilege of participating in my very first maker faire, the NoVA Mini Maker Faire, which was held in Reston, VA. I signed up for a booth which I called “Meet Gadgeteer: Reusable Modular Electronics” which was intended to highlight the advantages of the .NET Micro Framework and .NET Gadgeteer as a means of creating electronic prototypes and IoT…
Clutter. It comes in lots of shapes and sizes, and it can be both physical and virtual. One place I often find myself building up clutter is in Visual Studio. It’s easy sometimes, when you get in a groove, to work away at various parts of an app, making modifications here and there, checking up on a couple of other files, and before you know it you’ve got 10 or 15 tabs open. While newer versions…
Earlier this week, in my presentation at CapArea.net on “Communicating with the Internet of Things” one of the points I emphasized repeatedly is the necessity to think about security early and often. Any time you are responsible for creating a device that can communicate with the internet, whether that be a home automation gateway, Wi-Fi-controlled light bulb, or and industrial control system…
Not sure how I missed this when it originally aired, but this Azure Friday video from last June does a great job of showing off one of the benefits of Azure Web Sites, namely free analytics. They come in two flavors, server-side stats, which are enabled as soon as you create your site, and client-side stats, which require that you add a small snippet of JavaScript to your main site layout. Once…
UPDATE: Forgot to mention that if you want to keep up with my hardware projects, I post video demos to my Devhammer Vimeo channel . You can also see info on some of my past projects on the Garage page on my blog . Thanks to all the folks who came out to hear my talk last night at CapArea.NET on “Communicating with the Internet of Things”. I’m embedding my slides from the talk below, including some…
I’ve been scheduling a lot of events and classes over the next several months, so I wanted to provide a list for anyone interested in checking out one of my talks. Here’s the current list: 2/24/2015, 6:30pm – Capital Area .NET (Vienna, VA) – Communicating with the Internet of Things * 3/5/2015, 6:00pm – Richmond .NET User Group (Richmond, VA) – Zero to Web in One Meeting: Building ASP.NET apps…
I’ll say this up-front, so I don’t waste anyone’s time. I’m not an expert on Web Components, and this post isn’t intended to teach anything about them. With that said, over the last few days I’ve been catching up on some podcasts, and the topic of Web Components has come up several times. The technology (or, I should say, technologies, since there are at least 4 different specifications…
One of the things I love most about developing for the .NET platform is the wide variety of devices and form factors that I can write for using a single language, namely C#. With Microsoft’s recent announcements about the reach of Universal Apps, that’s more true than ever. But it’s not just true for Windows devices, you can also develop for devices and IoT using C#. And you don’t need to wait for…
The other day I came across an article describing 8 mistakes our brains make subconsciously , and it struck me that I was experiencing one of them at that very moment, namely the sunk cost fallacy. Let it go, already. (photo – “sunken skiff” by Jenny Spadafora ) There’s lots of information online about this phenomenon, so you can use your Google- or Bing-fu to find out more, but the short version…
This week, I have the privilege to have a guest post on Pinal Dave’s SQLAuthority blog . The post briefly addresses the advantages and disadvantages of putting validation rules in code in your application, versus in stored procedures in the database. Read it here .
As promised, here’s my deck from this past Saturday’s Northern Virginia Code Camp, from my session on Getting Started with ASP.NET Web API. My thanks to everyone who attended the talk, particularly those who humored me and moved up from the back row. I enjoyed the interaction and questions, and even managed to learn something new myself (for those who didn’t attend, I discovered in the middle of a…
With the understanding that the overlap in a Venn diagram describing folks who use Windows Media Center, XBOX 360 as a Media Center Extender, and Visual Studio on their WMC machine is probably vanishingly small, I thought it might still be useful to post the problems I experienced with this combo, and the solution. My Setup I’ve been a longtime fan of Windows Media Center, ever since a former…
A quick note for folks who attended the Apex Systems Tech Talk I did this past Thursday. As promised, I’ve published my slides to OneDrive, and they can be found here: http://1drv.ms/1qPINUn The resources at the end of the deck include links to the Web API tutorial I mentioned in the talk, which is a great place to start if you’re unfamiliar with ASP.NET Web API. And for folks who attended either…
Works on My Machine…or Does It? It’s always frustrating when you’re working on a project, and everything looks good when you’re running it from Visual Studio, and then you deploy to your web server, and suddenly something’s not rendering correctly. In this post, I’ll give you some tips for troubleshooting these problems when the target browser is Internet Explorer. The Project I’m working on a…