January 20, 2015

Anticipation for Windows 10

This looks like a big year for Microsoft and Apple and possibly Google. With Apple, I see signs of a radical technology update in the iPad and iPhone department from the rumor mill that I haven’t seen before: 3D OLED flexible display, dual-lenses cameras, major spec updates (2Mb DDR4), sapphire cover, pressure-sensitive touch screen. I am hopeful many of the cool patents Apple have been granted will see light this year. Windows 10 is the successor to Windows 8, three years in the making. Windows 10 Consumer Preview is being announced Wednesday. The Windows 10 Technical Preview was introduced earlier... Read more

January 14, 2015

NStatic

I started working on NStatic a little under a decade ago. It went through several iterations of development with major design changes that broke a lot of functionality in order to achieve the product I dreamed of. For instance, one goal was to be able to prove the correctness of an implementation of red-black trees. I have seen papers in computer verification in which every loops had to be proved with some Hoare logic annotations. Assertions contain forall and exists quantifiers when using a function call was far simpler to use and read; function calls are actually more efficient to... Read more

Plans for Year 2015

My company is SoftPerson, which specializes in “semantic computing” in everyday general-purpose applications. The past decade or so was one of a lot of reading, research and experimentation with entirely new technologies and user experiences, but no product. I can’t really continue for more than another year without revenues, so I came up with some remedies. These are my plans for the current year. Releasing a NConvert semantic code conversion tool early this year Kickstarter for NStatic, a static analysis tool, next month (In a future year, I would do the same for my natural language wordprocessor product). In both... Read more

September 15, 2014

Building Software that Understands

One of the most common points of skepticism I face from people is the notion that computers can understanding anything. Meaning, they presume, is the province of human thought and not mechanical computation. Even as conversational assistants like Siri, Watson and Google Now have reached mainstream usage, the numerous failures in machine understanding serve to reinforce in their mind humanity's unique gift of understanding. It turns out that the meaning of natural language and computer programs can be modeled through formal semantics. The meaning of computer programs are modeled through formalisms like lambda calculus and modal logic. The meaning of... Read more

Major Blog Updates

I developed a clear strategy going forward with my web presence. My web presence will support my branding, will further my future career goals be they future employment or entrepreneurship, and will enable me to participate in monetization opportunities such as merchandising. It will establish my expertise in certain areas. It will build high levels of traffic and transfer traffic to my related endeavors. Joe Spolsky’s blog drives customers to his Fogbugz and Trello services, which are targeted at the same audience, for example. The changes affect this blog and will be completed over the next few months.Other popular web... Read more

December 28, 2013

C# for Systems Programming

By way of the article “A glimpse into a new general purpose programming language under development at Microsoft” from the Lambda the Ultimate weblog, I came across Joe Duffy’s new post on C# for Systems Programming. Microsoft may be developing a native version of C# with additional extensions for systems programming that would compete with languages like C++, and D. Duffy’s work on immutability and isolation in C# is directly related to this native version of C# and mostly likely would not be part of CLR C#. While I use the term “native C#,” “systems C#” might be more accurate... Read more

December 10, 2013

Mads on the Future of C# (6.0)

Mads Torgersen, head program manager of C#, presented the “Future of C#” at the NDC London conference on Friday morning 12/6. Most of the “probable” new features announced moved C# to a more succinct, functional programming style. Import type members into namespace. Succinct syntax for primary constructors. Readonly properties Property expressions (property lambdas) Method expressions Parameter arrays for IEnumerable interfaces Succinct null checking Multiple return values Constructor type inference Mads provided a code demonstration of each new feature with before and after illustrations of how the code would be implement today versus the future. The code example below is taken... Read more

December 09, 2013

Immutable & Isolated Types Likely in Future C#

Immutable & Isolated Types Likely in Future C# Based on several pieces of evidence, immutable and isolated type designators are likely in a future version of C# and the common language runtime (CLR). These features will likely debut on .NET 5.0 in the next major iteration of Visual Studio, Visual Studio 2014. Immutable types in imperative language, US patent application filed in June 2008. Type system support for memory isolation permissions, US patent grant filed in Apr 2009. Unique and Reference Immutability for Parallelism, Microsoft Research October 2012 Imperative + Functional == . Joe Duffy on Uniqueness and Reference Immutability for Parallelism. Perspectives on Concurrency and Parallelism. Channel... Read more