A Solid Programming Intro (for Beginners)
Microsoft Virtual Academy: Introduction to Programming with Python (#8360) |
re you new to the world of programming? I keep telling people it’s really quite simple and if one applies themselves, it’s something everyone can get into if they’re really that interested. And no – you don’t have to go to College/University to learn how!
So what’s a good place to get into the world of software development fast and see if it’s something that might interest you? Recently, I decided now would be an opportune time for me to pick up yet another programming language: Python. It’s been getting a fair bit of attention lately and can be useful I discovered when exploring the emerging world of Artificial Intelligence (AI). In fact, I did study AI while attending a pre-law programme at the University of Manitoba many years ago. (Will forego saying how many.) There I was able to get into the world of AI through an unlikely major: Philosophy. The Computer Science (Comp. Sci.) programme wasn’t offering any curriculum in the universe of AI yet and it would be a few more years before the Internet made programming attractive as a career choice for me. But I’d already taken an Intro Comp. Sci. course with prerequisites waived by the Dean of Arts and had amassed a fair bit of technical skill through my exploration of computers as a personal interest. I knew the opportunity to study AI wouldn’t likely come again while I was at school so I signed myself up.
What has any of this to do with Python? Well, some feel that being a self-taught programmer puts one at a kind of disadvantage. I feel strongly they’re wrong about that — although there is a lot of reading one needs to do to get up to speed on programming theory and data management before they can safely claim they’ve got a Comp. Sci. equivalency. And then there’s the environment of a University that just can’t get replaced. Even so, online study can make you a productive resource in many organizations including those that don’t offer employment to anyone missing a Comp. Sci. degree (or lacking the opportunity to get one). I came across a curriculum in picking up Python that offers a performance transcript and even a certification for paying customers. The curriculum itself is, however, freely available and geared toward the new programmer.
Why might an experienced programmer take this course? As one of the instructors points out, a programming language is like a spoken language in that if one doesn’t use the skill, it can become “rusty” and eventually even require retraining. So while tempted to dive right into Python syntax, you might find it helpful to take the two-day course or at least challenge the exams that come with it (at least the paid edition, which is reasonably priced by the vendor, Microsoft) and re-verify that you’re up to speed.
Alternatively, if you’re in a .NET Certification programme, you can find that this material will nicely compliment the other available materials out there.
This course wins a rare 5-stars from me!
Post-Modern Electioneering: Back to the Future
Written in response to CBC News: “Millennials finally fall out of love with Justin Trudeau after he abandons electoral reform: Opinion by Robyn Urback”
s a member of the vaunted (yes and cynical) Generation-X, I’ve got to just roll my eyes once more….. Millennials are doing precisely what the generations before have done as youth – not voted as a block….at least – not for long.
But if there is really a block here to be won (and – let’s be clear – there isn’t), it would be easy to take yesteryear successes and use ’em again. We need more IT staffers (like me!) to explore service industries like software development or network engineering. And offering a bit of money for vocational training here (alongside some success stories) would really go a long way toward making up for lost ground on the FPP voting fiasco. Trudeau, God bless him, should’ve known better than to try saying “well we tried, but you know in government – you can’t always do what you thought you could before being elected” routine. Even if you believe it, it’s kind of a crappy reason to go back to the public with.
The real worry I have isn’t the loss of some fictionalized Millennial solidarity. It’s the potential for cross-demographic populism and fascism to take hold in this country! And while O’Leary isn’t Trump, maybe the best we can hope for it the short term is that fascism will pass us by and that Trudeau’s over-promise, under-deliver showing so far somehow reverses itself the more experience he gets as our Prime Minister.
I’m about the same age as he is – but it’s obvious to me while he might be better at leading the country than I’d be….his father he is not. And there is plenty for him to learn yet!
BLOG RELOCATION ANNOUNCEMENT
ust a quick advisory to everyone concerning this blog — WE’VE MOVED!!! That’s right; as of today (October 2, 2014), The Ross Report is relocating to its new home at a new hosting provider. So don’t think for a second I’m disappearing anywhere…on the contrary. The new address is a migration off of the old wordpress.com site address because a new environment that is more in-line with the growing in-house architecture of The AppRefactory Inc. (the business I’m running) has become available. The new server also offers all the advantages that go with running one’s own WordPress.org application (PHP) server….which is to say absent all the limitations imposed on users of WordPress.com‘s space. More detailed analytics and the option to tie-into a whole bunch more apps and plug-ins are also now available and will facilitate some forthcoming development exercises in the weeks and (more accurately) months ahead.
So update your bookmarks now! The new permanent address is:
http://ross613.wp.apprefactory.ca
Look forward to seeing you there!
AR HelpOuts Launched!
he AppRefactory Inc. launches its first service offering today with the debut of a partnership with Google Inc. through Google Helpouts. This further enhances the company’s service offerings in the application maintenance and support space; but also extends its services to more generalized support of the tools and technologies it uses throughout its service delivery process. Support is being offered through Google Helpouts for technologies and platforms like:
- Microsoft Visual Studio (all ediitions, 2005-2013)
- Programming Language Support / Tutorials:
- Visual C#
- Visual Basic / VB.NET
- Java
- JavaScript
- HTML
- XML
- SQL
- VBScript
- Microsoft SQL Server
- Microsoft Team Foundation Server
- Microsoft Windows / Microsoft Windows Server
- Microsoft Office / MS Office VBA
- Linux (Ubuntu)
- Apache WebServer
- Microsoft Internet Information Server
- Microsoft Windows Communication Foundation (WCF)
- Microsoft Windows Workflow (WF)
- Microsoft .NET Framework
- Web Services
…and much, much more!
Google Helpouts also offers payment features that allows either the business or individual user to use services on a demand basis easily. And with this launch, the service is being offered, for a limited time, with a free support instance — giving potential customers an opportunity to “try-and-buy” for a fixed 20-minute session, without charges or fees applied. (See Google Helpouts terms & conditions for more info.)
Dr. Dobbs: Software Development Trending to be More Complex, Not Less
here aren’t many advantages to being on disability for the past several months – but as I’ve recovered, looking for work and taking on the challenges with possibly getting my own software projects closer to completion has caused me to reflect on how software development has changed over the course of my career. Imagine my shock at finding out I wasn’t alone in this realization this weekend, when I ran into a Dr. Dobbs article that articulated more clearly than I ever could (available free time notwithstanding) exactly what this revolution in app development is all about.
Chart above: “Fraction of programmers (y-axis) who spend x amount of time coding in a given language in 2012. Note the big spike on the left and the mostly sub-2% numbers for programmers coding more than 50% of the time in one language.” (Source: Dr. Dobbs Journal, 03-Apr-2013) |
My lead project is actually an upgraded version of a strategy game that’s been in the public domain for quite a while; but has the simplicity necessary to effectively permit interfaces to a number of different platforms – and with them, the necessity of leveraging a number of different technologies to make building and maintenance practical. What will this mean software development as we close on 2015 or even 2020? Likely what’s happened before – amalgamation to facilitate the creation of single-vendor solutions so that the process is re-simplified.
But until that happens, coders like me are gonna be left to absorb multiple platforms and become jacks-of-all-trades (and hopefully not lose the mastery of some in the process).
“Google-“?
t seems even starship captains are having difficulty with the freshly-minted “Google+” these days. And I hope Bill forgives my schadenfreude here in saying that it reassures me to know I’m not alone at least. (I call him “Bill” ‘cuz we’re “friends” on You Tube.)
Of course, his problem is a little different from mine; whereas he was having trouble staying on Google+, despite invitation I can’t even get access in the first place. There are two reasons for this:
- during the “beta” phase (which with Google, as we all know, can last anywhere from 1 to 5 years as it did with GMail), there are a fixed number of users being allowed — regardless of whether you were invited, and
- my primary account (the one that got the invite) is actually registered with Google Apps; a service for businesses which only have access to a fraction of Google’s full service offerings.
In my view, things are starting to slip a bit at Google. It was never huge on customer service (and why should it be since the vast majority of its services are free, after all), but I can only bet the farm that the company is shooting itself in the foot handling things this way. I keep reading reports in tech journals about how cool Google+ is, but I can’t really find out — a turn off not only for me, but the tens or perhaps hundreds of millions of others sharing my experience.
And, as for Google Apps, I actually upgraded to one of the paid business accounts and decided to terminate within the 30-day full refund period because the number of restrictions and silly rules in the service that made integration with anyone but Google virtually impossible left me wondering if their intent was to hand over the whole notion of Internet-based profit to Facebook on a gold platter. And, again, even as a paid subscriber to Google services under Google Apps, you still don’t have full access to everything.
And now you can add Google+ to that list.
Not to say “a pox on your house”, but the rest of you who have access to Google+ can revel in your Circles, Hangouts, etc. and Spark away until your whole life’s a big, blazing inferno of Google innovation while those of us concerned with getting stuff done continue to be awestruck for a different reason watching it all on the sidelines…wondering how on Google Earth anyone could believe this company will ever be anything more than Internet ads.
In my view, Google+ isn’t a real threat to Facebook — not by a long shot.
WS-HTTP-Based Windows Service: Last Choice of WCF Devs?
hile looking for a configuration utility to assist with some WCF development I was doing earlier today, I realized that I’d written an article about that same utility in my blog a while back. And upon clicking the link to where the tool should have been located, got a “not found” error. Further research revealed the location where the author apparently moved it to and I’ve updated the article in question (below) accordingly.
If you find broken links — especially to downloadable media that might be of interest to others — please don’t hesitate to let me know using blog feedback at the bottom of the “About me” page.
ou might not think that WS–HTTP isn’t the last choice of WCF developers when developing a Windows Service. Despite the protocol overhead of HTTP, often developers will default to this protocol in setting up a WCF application because of network rules, compatibility with other applications based on HTTP or just out of raw familiarity. Whatever the reason, HTTP still ends up being the first choice – as it was for me recently (albeit at another’s urging) and, being a veteran of net.tcp, I ran into trouble pretty quick:
HTTP could not register URL http://+:8083/FoaeaService/ApplicationListSystem.svc/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).
at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
at System.ServiceModel.Channels.TransportManager.Open(TransportChannelListener channelListener)
at System.ServiceModel.Channels.TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback)
at System.ServiceModel.Channels.TransportChannelListener.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.HttpChannelListener.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open()
at Justice.FOAEA.MidTier.Services.FoaeaHostService.OnStart(String[] args) in C:\Projects\WCF\ServiceHost\FoaeaHostService.vb:line 77For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Strangely, I didn’t visit the Help and Support Center, as directed at the bottom of the stack trace above. Instead I tinkered with my .config file for about an hour before it dawned on me that the settings were actually correct and I should follow the instructions.
To summarize my visit to the Help and Support Center, there is an extremely obscure tool called HttpCfg.exe which is used on that platform I’m currently developing for – Windows Server 2003 (it’s netsh on Vista/Windows Server 2008, and less obscure). It demands that you divine an arcane string to pass as parameters for your application, security context, etc. Certainly, one could achieve the desired settings to make their HTTP-hosted service work…eventually. But I was fortunate enough to spare myself another indefinite period of maddening trial-and-error by stumbling upon an extremely helpful blog article by one Paul Wheeler, a former Microsoft SDE who apparently did some WCF development for the company’s Connected Systems division. In the article, Wheeler provides a tool for configuring local system HTTP settings with source code under Creative Commons (public license). The tool offers other advantages over HttpCfg for this purpose and was a lucky find indeed!
I am still debating whether or not to push a lot harder to move my app to net.tcp. The decision rests with the project’s technical architect; and I wasn’t he on this project at the time (but, in fact, ended up assuming the Technical Architect role about mid-way through the first phase of the project). But if you, like me, are in a situation requiring HTTP – Wheeler’s HttpNamespaceManager is for you!
Updated: July 26, 2011