An Introduction to Python
Tue, 03 Sep 2019 10:00:00 GMT
Python has become one of the most popular languages of late, especially in the data science and AI/machine learning world. Ted Neward starts a new series that will explore Python’s syntax, semantics and some of the more interesting libraries in the Python ecosystem.
Coding Naked: Naked Networking
Mon, 01 Jul 2019 10:00:00 GMT
Ted Neward closes out his series on the Naked Objects Framework with a look at NOF Restful API networking, and how the entire state of the network interaction is stored in a hypermedia document shared between the client and the server.
Coding Naked: Naked Acting
Mon, 03 Jun 2019 10:00:00 GMT
Actions represent an important aspect of the Naked Objects Framework experience in that they are where behavior on an object is defined. In the fifth article in this series, Ted Neward covers the places where actions can live and how they appear in the UI.
Coding Naked: Naked Collections
Wed, 01 May 2019 10:00:00 GMT
In the latest in his series on the Naked Object Framework, Ted Neward discusses NOF collections—how a given domain object can have references to more than one of something.
Coding Naked: Naked Properties
Fri, 01 Mar 2019 10:00:00 GMT
Ted Neward continues to build out the domain model for his conference system to support important capabilities, such as validating fields, by using Naked Objects Framework custom attributes or, for more complex scenarios, by relying on convention.
Coding Naked: Naked Speakers
Fri, 01 Feb 2019 10:00:00 GMT
In the second installation in his series on the Naked Objects Framework (NOF), Ted Neward begins to examine NOF features–specifically, what you can define on a class with NOF and how that translates into UI and database persistence.
Coding Naked
Wed, 02 Jan 2019 10:00:00 GMT
The Naked Objects Framework aims to further the idea that developers should focus solely on the business domain while users should be able to work with the objects directly, without additional decoration. Ted Neward begins a new series that will examine the underlying concepts.
How To Be MEAN: End to End
Sat, 01 Dec 2018 10:00:00 GMT
In his 30th—and last—column on the MEAN stack, Ted Neward covers end-to-end testing in Angular, which looks to test the system as a whole and tries to ensure that the front end is communicating effectively with the back end.
How To Be MEAN: Testing Angularly
Thu, 01 Nov 2018 10:00:00 GMT
It’s pretty clear that testing is not an optional part of modern software development anymore, so Ted Neward shows you how an Angular application should be tested.
How to be MEAN: Routing Angular
Sat, 01 Sep 2018 10:00:00 GMT
Unlike in most traditional Web applications, single-page frameworks like Angular require a mechanism to provide the kind of “scoping” or “segmenting” that page boundaries provide. Within Angular, that mechanism is called “routing,” as Ted Neward explains.
How To Be MEAN: Dynamically Angular
Mon, 02 Jul 2018 10:00:00 GMT
Ted Neward extends his exploration of building forms with Angular, by showing how to create a Web-based questionnaire that dynamically generates fields based on the types of questions drawn from an external source, such as JSON service or file.
How To Be MEAN: Reactive Programming
Fri, 01 Jun 2018 10:00:00 GMT
Reactive programming is a new concept around how to view the “flow” of information—and the resultant control exhibited in code—within a Web application. In this month's column, Ted Neward explores reactive programming with Angular.
How To Be MEAN: Validating Angular
Thu, 01 Mar 2018 10:00:00 GMT
This month Ted Neward explores validating data input, because without validation you’re basically asking users to pour garbage into your system, leaving it to you to sort out.
How to be MEAN: Angular Forms, Too
Fri, 01 Dec 2017 10:00:00 GMT
Ted Neward explores the forms capabilities of Angular Forms in greater depth.
How To Be MEAN: Angular Forms
Wed, 01 Nov 2017 10:00:00 GMT
Data input in Angular is similar to how it looks all over the Web, but the Angular Way demands a slightly different approach, one driven by a component perspective rather than the traditional page metaphor.
How To Be MEAN: Angular Plays Fetch
Sun, 01 Oct 2017 10:00:00 GMT
In his latest MEAN stack exploration, Ted Neward shows how an Angular service can fetch data from an HTTP API.
How To Be MEAN: Servicing Angular
Fri, 01 Sep 2017 10:00:00 GMT
Ted Neward introduces the concept of an Angular service, shows how it relates to component-oriented design, and begins refactoring a sample project over to using services to manage the data access against the HTTP API built earlier in the series.
How To Be MEAN: Up-Angular-izing
Tue, 01 Aug 2017 10:00:00 GMT
As Angular applications grow and evolve, the required work to keep them up-to-date with the latest versions of Angular is (for the moment, anyway) trivial.
How To Be MEAN: Angular Ins and Outs
Sat, 01 Jul 2017 10:00:00 GMT
Ted Neward adds an “upvote”’ component to the Angular front end, and in doing so, demonstrates how to handle input and output to an Angular component.
How To Be MEAN: Angular CRUD
Mon, 01 May 2017 10:00:00 GMT
Ted Neward explores the Angular components in detail, and shows how the time and effort spent building them can pay off down the road.
How To Be MEAN: Angular Components
Wed, 01 Mar 2017 10:00:00 GMT
Ted Neward examines major Angular concepts, focusing on “components” and how they drive the design and organization of an Angular project.
How To Be MEAN: Working the Angular
Wed, 01 Feb 2017 10:00:00 GMT
In this month’s The Working Programmer column, Ted Neward gets started working with Angular 2, starting with a basic “Hello World” and exploring some of the big concepts that Angular 2 espouses.
How To Be MEAN: Type Script with TypeScript
Sun, 01 Jan 2017 10:00:00 GMT
In this month’s The Working Programmer column, Ted Neward looks at TypeScript, the AngularJS-endorsed language for building AngularJS 2 applications.
How To Be MEAN: Take a Gulp
Tue, 01 Nov 2016 10:00:00 GMT
Ted Neward examines Gulp, an ECMAScript development automation tool, and looks at a few helpful tools that Gulp can “turn on” in your Node.js projects as a side benefit.
How To Be MEAN: Exploring Yeoman
Sat, 01 Oct 2016 10:00:00 GMT
Ted Neward examines Yeoman, the ECMAScript scaffolding tool, which serves the same purpose as the project template facility in Visual Studio.
How To Be MEAN: Exploring ECMAScript
Mon, 01 Aug 2016 10:00:00 GMT
In this column, Ted Neward examines the nascent ECMAScript 2015 Standard, the next-generation leap for JavaScript.
How To Be MEAN: Let's Be DEAN
Fri, 01 Jul 2016 10:00:00 GMT
Ted Neward examines the work required to replace the M in MEAN (MongoDB) with another non-relational database--DocumentDB running in Microsoft Azure. This flexibility lets developers take advantage of DocumentDB's enterprise-friendly capabilities, including server-side code execution and SQL-like query language.
How To Be MEAN: Passport
Wed, 01 Jun 2016 10:00:00 GMT
PassportJS is arguably the most successful authentication project ever developed, across any language or platform. It manages to provide the necessary authentication “hooks” while leaving open the actual means of authentication when you want to control that. Yet, it can still slip in and do the heavy lifting when needed.
How To Be MEAN: Getting the Edge(.js)
Sun, 01 May 2016 10:00:00 GMT
Certain kinds of applications are much easier to write using the various packages available in the npm repository that EdgeJS now opens up to the traditional .NET developer.
How To Be MEAN: Robust Validation with MongooseJS
Tue, 01 Mar 2016 10:00:00 GMT
How to validate with MongooseJS, a software layer that sits on top of MongoDB and provides not only a schema-like, language-verified validation layer, but also an opportunity to build a layer of “domain object.”
How to Be MEAN: Inside MongoDB
Mon, 01 Feb 2016 10:00:00 GMT
Ted Neward continues his exploration of the MEAN stack, consisting of MongoDB, Express, AngularJS and Node.js. In this installment, he explores the MongoDB NoSQL database.
How To Be MEAN: Test Me MEANly
Fri, 01 Jan 2016 10:00:00 GMT
In the latest installment of his series on the MEAN stack, comprised of MongoDB, Express, AngularJS and Node.js, Ted Neward explores automated tests that exercise the API he's built over previous issues.
How To Be MEAN: Express Input
Tue, 01 Dec 2015 10:00:00 GMT
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to ASP.NET. In this installment, learn about processing input—the ability to put a new person into the system, remove a person from the system and update an existing person.
How To Be MEAN: Express Routing
Sun, 01 Nov 2015 10:00:00 GMT
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to the ASP.NET stack. In this installment, learn about Express routing and discover how to use it more effectively.
How To Be MEAN: Express Install
Thu, 01 Oct 2015 10:00:00 GMT
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is an alternative “Web stack” to the ASP.NET stack. In this installment, you’ll read about the Express library, which handles HTTP processing on the server.
How To Be MEAN: Node.js
Tue, 01 Sep 2015 10:00:00 GMT
The MongoDB, Express, AngularJS, Node.js (MEAN) stack is quickly becoming a key player in the new technology world. It’s a favored development software stack for the Node.js platform. This installment takes the Node.js aspect a bit further.
How To Be MEAN: Getting Started
Sat, 01 Aug 2015 10:00:00 GMT
The MEAN (Mongo, Express, Angular, Node) stack is quickly emerging as one of the favored development software stacks for the Node.js platform. Ted Neward introduces MEAN in the first of a series.
The Working Programmer - Fun with C#, Part 2
Tue, 02 Sep 2014 10:00:00 GMT
Ted Neward completes his F# adventure, showing how the functional language can be used to solve a thorny C# programming challenge.
The Working Programmer - Fun with C#
Tue, 01 Jul 2014 10:00:00 GMT
Both F# and C# are languages based on the Microsoft .NET Framework, so you can often resolve a programming problem in one language, then transfer the code over to the other. This functional programming approach opens new avenues to problem resolution.
The Working Programmer - Growl Notification System: Simpler Is Better
Thu, 01 May 2014 10:00:00 GMT
Sometimes the simplest approach is best, as Ted Neward illustrates with the Growl notification utility, which makes it easy for developers to add reliable notificiations to their software.
The Working Programmer - Getting Started with Oak: Data Validation and Wrapping Up
Mon, 03 Mar 2014 10:00:00 GMT
Ted Neward wraps up his four-part examination of the Oak framework’s dynamic approach to Web development by diving into data validation and explaining why Oak is going into his personal toolbox.
The Working Programmer - Getting Started with Oak: Database Interaction
Thu, 02 Jan 2014 10:00:00 GMT
Digging deeper into the workings of the Oak dynamic Web development framework, Ted Neward shows how to wire up a SQL Server instance, build a database, add a related type and more.
The Working Programmer - Getting Started with Oak: A Different Approach
Mon, 02 Dec 2013 10:00:00 GMT
Ted Neward explores developing an application in the Oak Web framework, which provides a dynamic environment similar to Ruby on Rails that’s well-suited for rapid application development.
The Working Programmer - Getting Started with Oak
Tue, 01 Oct 2013 10:00:00 GMT
Ted Neward begins an exploration of Oak, an open source project built to leverage the dynamic capabilities inherent within C# while gaining the productivity benefits of a system such as Ruby on Rails.
The Working Programmer - Exploring NSpec
Mon, 02 Sep 2013 10:00:00 GMT
Regardless of your feelings in the Test-Driven Development (TDD) versus Behavior-Driven Development (BDD) debate, Ted Neward shows you why the open source NSpec testing tool from the BDD camp is worth a look.
The Working Programmer - Going Dynamic with the Gemini Library
Thu, 01 Aug 2013 10:00:00 GMT
The open source Gemini library builds on the dynamic keyword/type functionality of C# and provides the option of using traditional static type definitions or new flexible type definitions.
The Working Programmer - Capturing Important Business Logic
Mon, 01 Apr 2013 10:00:00 GMT
On April 1, Ted Neward pays homage to his feline friends and introduces an important language for your .NET programming toolbox: LOLCODE.
The Working Programmer - Noda Time
Fri, 01 Mar 2013 10:00:00 GMT
Noda Time is a powerful, .NET library that can seriously amp up time and date support in your applications.
The Working Programmer - .NET Collections, Part 2: Working with C5
Fri, 01 Feb 2013 10:00:00 GMT
Ted Neward delves deeper into the Copenhagen Comprehensive Collection Classes for C#, explaining how their implementations and functionality go a bit beyond the .NET Framework Class Library.
The Working Programmer - .NET Collections: Getting Started with C5
Wed, 02 Jan 2013 10:00:00 GMT
Ted Neward explores the Copenhagen Comprehensive Collection Classes for C#, which he deems a worthy complement to System.Collections.Generic.
The Working Programmer - Cassandra NoSQL Database, Part 3: Clustering
Thu, 01 Nov 2012 10:00:00 GMT
Talk about big data, this database can scale to “ridiculous” sizes, says Ted Neward. One firm claimed to use Cassandra to store more than 50PB of information. Learn how clustering makes such implementations possible straight out of the box.
The Working Programmer - Cassandra NoSQL Database, Part 2: Programming
Mon, 01 Oct 2012 10:00:00 GMT
Ted Neward explains how to connect to the Apache Cassandra NoSQL database from the Microsoft .NET Framework, how to read and write data to it, and more.
The Working Programmer - Cassandra NoSQL Database: Getting Started
Wed, 01 Aug 2012 10:00:00 GMT
Ted Neward explores Cassandra (the NoSQL database software, not the figure from Greek mythology), which is “an open-source, distributed, decentralized, elastically scalable, highly-available, fault-tolerant, tuneably consistent, column-oriented database that bases its distribution design on Amazon’s Dynamo and its data model on Google’s Bigtable.”
The Working Programmer - Talk to Me, Part 4: Feliza Gets Her Voice
Fri, 01 Jun 2012 10:00:00 GMT
The final installment of Ted Neward's four-part series on creating an F#-based chatterbot modeled on the old ELIZA software. This time, Ted takes Feliza for a spin.
The Working Programmer - Talk to Me, Part 3: Meet the Therapist
Tue, 01 May 2012 10:00:00 GMT
After building a simple cloud-hosted voice-input system and a chat-bot named Feliza to respond to user input in the first two parts of this series, Ted Neward takes his project a bit further by combining the two systems, showing how the host, Tropo, offers voice/SMS access over HTTP/REST-like channels.
The Working Programmer - Talk to Me, Part 2: ELIZA
Thu, 01 Mar 2012 10:00:00 GMT
Ted Neward builds on the example in his last column with a side trip into artificial intelligence. Read on as he uses F# to create Feliza, a chatterbot based on ELIZA.
The Working Programmer - Talk to Me: Voice and SMS in the Cloud
Wed, 01 Feb 2012 10:00:00 GMT
Ted Neward shows how to develop applications for Tropo, a free, cloud-hosted, voice-and-SMS solution.
The Working Programmer - Building Combinators
Tue, 03 Jan 2012 10:00:00 GMT
Ted Neward finishes his discussion of parser combinators by extending the Spache library to parse the exact number of parsers you pass to it, incidentally demonstrating the power of functional programming.
The Working Programmer - Parser Combinators
Wed, 30 Nov 2011 10:00:00 GMT
Ted Neward puts parser combinators to work in a real-life scenario as he designs custom configurations for neuro-optical scientific experiments in which optical tissue is stimulated and the results are recorded.
The Working Programmer - Multiparadigmatic .NET, Part 10: Choosing an Approach
Fri, 09 Sep 2011 10:00:00 GMT
In this last article in his series on multiparadigmatic programming, Ted Neward helps you think about how to consider which paradigms to choose when designing an application.
The Working Programmer - Multiparadigmatic .NET, Part 9: Functional Programming
Thu, 30 Jun 2011 10:00:00 GMT
The ninth in our series on multiparadigmatic programming focuses on functional programming, which is about treating functions as values—and which offers operations similar to what LINQ-to-Objects provides.
Working Programmer - Multiparadigmatic .NET, Part 8: Dynamic Programming
Wed, 01 Jun 2011 10:00:00 GMT
In as far as it goes, parametric metaprogramming provides some powerful solutions. But it’s not the be-all, end-all answer to every design problem. Dynamic languages take the concept of name-bound execution to its highest degree. Let's see how it works.
The Working Programmer - Multiparadigmatic .NET, Part 7: Parametric Metaprogramming
Mon, 02 May 2011 10:00:00 GMT
In this series we've examined procedural and structural programming, objects, and metaobjects. Now let's take a look at generics and put them to work as an example of parametric polymorphism in action.
The Working Programmer - Multiparadigmatic .NET, Part 6: Reflective Metaprogramming
Fri, 04 Mar 2011 10:00:00 GMT
Code generation can simplify many programming tasks, but harnessing reflection gives you an entirely new kind of variability. Now names can refer to elements within the program at a much later time than the compiler traditionally permits. We'll show you how it works.
The Working Programmer - Multiparadigmatic .NET, Part 5: Automatic Metaprogramming
Tue, 04 Jan 2011 10:00:00 GMT
Inheritance stands at the center of the object-oriented paradigm, but it isn’t always the best solution for all problems in OO programming, and despite its flaws and pitfalls, automatic metaprogramming, or code generation, is a useful tool to keep in your toolbox.
The Working Programmer - Multiparadigmatic .NET, Part 4: Object Orientation
Fri, 03 Dec 2010 10:00:00 GMT
Object-oriented developers may be too comfortable modeling commonality and variability with inheritance. As Ted Neward points out, that can lead to problems for the unwary.
The Working Programmer - Multiparadigmatic .NET, Part 3: Procedural Programming
Tue, 02 Nov 2010 10:00:00 GMT
Procedural programming is often seen as “old school,” outdated and useless in modern software design, but the design paradigm still shows up in a surprising number of places—including the compiler and MSBuild.
The Working Programmer - Multiparadigmatic .NET, Part 2
Fri, 01 Oct 2010 10:00:00 GMT
Finding the commonalities and variabilities within a system, and expressing them, forms the heart of design.
The Working Programmer - Multiparadigmatic .NET, Part 1
Tue, 31 Aug 2010 10:00:00 GMT
Software development isn’t all about object-oriented design; it’s about finding what works best, and incorporating it into your solution.
The Working Programmer - Inside SQLite
Fri, 30 Jul 2010 10:00:00 GMT
After tackling NoSQL, Ted Neward turns back to the relational world of SQL—SQLite, that is. Learn all about the lightweight, embedded database whose running footprint can be as small as one file installed in a client file system.
The Working Programmer - Going NoSQL with MongoDB, Part 3
Tue, 29 Jun 2010 10:00:00 GMT
Wrapping up his examination of MongoDB, Ted Neward discusses predicate queries, aggregate functions and LINQ support, and provides some tips on hosting the NoSQL database in a production environment.
The Working Programmer - Going NoSQL with MongoDB, Part 2
Mon, 07 Jun 2010 10:00:00 GMT
Ted Neward continues his dissection of the alternative MongoDB database system, using exploration testing to investigate the underlying technology.
The Working Programmer - Going NoSQL with MongoDB
Mon, 03 May 2010 10:00:00 GMT
MongoDB is one of the principal tools of the NoSQL movement, which offers alternatives to the traditional relational database system. Learn its strengths and weaknesses as Ted Neward examines the document-based database in detail in the first of a series of columns.
The Polyglot Programmer - ACID Transactions with STM.NET
Wed, 06 Jan 2010 10:00:00 GMT
STM.NET allows developers to mark their code with ACID-style transactional semantics, and leaves the grunt work of managing locks to the underlying environment.
The Polyglot Programmer - Concurrency with Channels, Domains and Messages
Fri, 14 Aug 2009 10:00:00 GMT
Axum is not a general-purpose language like C# or VB, but one aimed squarely at the problem of concurrency, designed from the outset to be part of a suite of languages that collectively cooperate to solve a business problem.
The Polyglot Programmer - Reaping The Benefits Of Cobra
Mon, 18 May 2009 10:00:00 GMT
Cobra, a descendant of Python, offers a combined dynamic and statically-typed programming model, built-in unit test facilities, scripting capabilities, and much more. Feel the power here.
The Polyglot Programmer - Mixing And Matching Languages
Thu, 19 Feb 2009 10:00:00 GMT
See why you need to be a polyglot programmer and what mixing and matching languages can do for your projects.
Editor's Note - Flex Your Data
Fri, 20 Jun 2008 10:00:00 GMT
Filling in for Editor-in-Chief Howard Dierking, Ted Neward lends some insight into the state of data collection and manipulation.
F# Primer - Use Functional Programming Techniques in the .NET Framework
Wed, 23 Jan 2008 10:00:00 GMT
Here we introduce you to some of the concepts behind the new F# language, which combines elements of functional and object-oriented .NET languages. We then help you get started writing some simple programs.