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...

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...

Conversational Interfaces Redux

Conversational Interfaces Redux In the past, I have talked about conversational interfaces with posts like the “Turing Test and the Loebner Prize Competition.” My interests are not purely theoretical, as I have actively explored integrating natural language deeply into applications in such ways as interpreting all text inside documents and code files and presenting a conversation stream. The company I founded, SoftPerson, LLC, develops “smart software,” which are desktop applications that utilize mostly symbolic artificial intelligence including natural language processing. The overarching design criteria for my software is the capture of human thought process—human-like reasoning—into the codebase, so that software ultimately acts as...

The Computers and Internet of Yesteryear

The underlying experiences that we obtain from using computers and the Internet may not be as alien to prior generations as we may think. Things are faster and smaller, but not fundamentally different. Many complex systems have been with us around for millennia albeit in somewhat different forms: the rule of law, sophisticated government systems, commerce and engineering. A complex system of check processing was possible from distances of 500 miles during the Middle Ages. Our forebears were just as smart as us. For instance, the ancient Latin language is more advanced and refined than modern English in its grammar...

Technology & Liberal Arts

Technology & Liberal Arts Steve Jobs often attributes that the popularity of Apple products comes from merging technology with the humanities. During the introduction of the first iPad, Jobs notes that "the reason that Apple is able to create products like iPad is because we always try to be at the intersection of technology and liberal arts, to be able to get the best of both, to make extremely advanced products in a technology point of view but also have them be intuitive, easy to use, fun to use so they really fit the users. The users don’t have to come to them, they...

Online Courses

I have been regularly sifting through course material (syllabi, presentations) in MIT's publicly accessible OpenCourseWare website since the program was launched years ago. Earlier this year, I took a further step and started delving deeper by approaching one of the courses as a student. The courses in question are graduate courses, 6.972 Algebraic Techniques and Semidefinite Optimization, and 6.883 Program Analysis in the Electrical Engineering and Computer Science Department. I purchased some of the suggested texts from Amazon. Cox, D. A., John B. Little, and Donal O'Shea. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra....

LISP

Randal Munroe posted some "XKCD" comics on LISP, which I thought were especially relevant to my situation. This one below drawn a while back is called ""LISP" and captures my fascination with functional programming and its remarkable ability to express simply and elegantly everything about the world. This more recent one called "LISP Cycles" conveys my attempt to use the light side of the "force," functional programming, to overcome the dark side, imperative programming (and --shhh!-- singlehandedly defeat the evil empire in the process.)

Old School Programming

Scott Hanselman recently wrote about teaching children and kids to program the old school way by using the Commodore 64 emulator. It seems just recently that Zenzo, his 18–month old child, jumped off the cradle. I wonder if old-school programming with direct access to the computer and the operating system is preferable to learning with scripting languages of today. What follows is my case for old-school programming, but scripting languages do provide a much better, functional programming language to learn from.. I first got into programming with the Commodore PET, followed by the Commodore 64. Like Scott, I would spend...

Fabricated Complexity

There is a quote in computer science, “the solution to a hard problem, when solved, is simple.” I don’t know who to attribute it to, but I have repeatedly found myself arriving at very simple and elegant solutions to hard problems—problems in natural language, in AI, and in application development. Anna Liu mentioned a talk by Willty Zwaenepoel on research and fabricated complexity. He spoke of "Fabricated Complexity" - and basically about his observation that researchers often over complicate issues to make them seem 'interesting and novel' and to be accepted by the academic peer review process, while real practical/applicable...

Lego Programming

Joel reviewed a book Beyond Java, and, in his review, he enthusiastically recommended an essay by Fred Brooks called "No Silver Bullet: Essence and Accidents of Software Engineering." He recently mentioned it again in his post Lego Programming. Brooks wrote the Mythical Man Month, which was really the first software engineering text. It was remarkable in identifying surprising asymmetries in software development. For example, Brooks identified the network costs in adding more developers to a project and dramatic disparities in individual developer productivity (eg, "adding manpower to a late softer project makes it later"), but he also made a number...