AI: Neural Nets Win, Functional Programming Loses October 4, 2016Posted by Peter Varhol in Software development, Software platforms, Uncategorized.
Tags: AI, neural networks, functional programming, Lisp
add a comment
Today, we might be considered to be in the heady early days of AI commercialization. We have pretty decent speech recognition, and pattern recognition in general. We have engines that analyze big data and produce conclusions in real time. We have recommendations engines; while not perfect, they seem to be to be profitable for ecommerce companies. And we continue to hear the steady drumbeat of self-driving cars, if not today, then tomorrow.
I did graduate work in AI, in the late 1980s and early 1990s. In most universities at the time, this meant that you spent a lot of time writing Lisp code, that amazing language where everything is a function, and you could manipulate functions in strange and wonderful ways. You might also play around a bit with Prolog, a streamlined logic language that made logic statements easy, and everything else hard.
Later, toward the end of my aborted pursuit of a doctorate, I discovered neural networks. These were not taught in most universities at the time. If I were to hazard a guess as to why, I would say that they were both poorly understood and not worthy of serious research. I used a commercial neural network package to build an algorithm for an electronic wind sensor, and it was actually not nearly as difficult as writing a program from scratch in Lisp.
I am long out of academia, so I can’t say what is happening there today. But in industry, it is clear that neural networks have become the AI approach of choice. There are tradeoffs of course. You will never understand the underlying logic of a neural network; ultimately, all you really know is that it works.
As for Lisp, although it is a beautiful language in many ways, I don’t know of anyone using it for commercial applications. Most neural network packages are in C/C++, or they generate C code.
I have a certain distrust of academia. I think it came into full bloom during my doctoral work, in the early 1990s, when a professor stated flatly to the class, “OSI will replace Ethernet in a few years, and when that happens, many of our network problems will be solved.”
Never happened, of course, and the problems were solved anyway, but this tells you what kind of bubble academics live in. We have a specification built by a committee of smart people, almost all academics, and of course it’s going to take over the world. They failed to see the practical roadblocks involved.
And in AI, neural networks have clearly won the day, and while we can’t necessarily follow the exact chain of logic, they generally do a good job.
Update: Rather than functional programming, I should have called the latter (traditional) AI technique rules-based. We used Lisp to create rules that spelled up what to do with combinations of discrete rules.
I Bought Another Band; I am not Sure Why July 31, 2016Posted by Peter Varhol in Software platforms, Technology and Culture.
Tags: Microsoft Band
add a comment
My original Microsoft Band, a nice and relatively inexpensive fitness tracker and GPS, is disintegrating before my eyes. The wristband is peeling and falling apart, and I doubt it will last much longer. It is getting more difficult to charge, as the charging cable seems to have trouble engaging with the device.
My Band is just over a year old, and I would expect any electronic to last longer, perhaps much longer (I still own a VCR, after all). I do use it almost daily, and wear it constantly except when charging (which it requires almost daily). I would like to tell Microsoft that, for all of its functionality at a reasonable price, it is an inferior product.
But I did so in a strange way; I just bought a new one. It is a Band 2, which by most accounts seems to be on the way out in favor of a possibly compelling Band 3, but I could not wait three months for that product to ship. I think my current model has about another 2-4 weeks of life ahead.
So for a product that is disintegrating after just over a year of use, why have I doubled down? Especially in a market where fitness trackers are mostly a dime a dozen, and I could choose another among many?
Yes, familiarity is one part of that answer. I know how to use it. Don’t discount that as a significant motivator. If I have to spend time learning a new feature set, I may take a while to get up to speed.
It is customizable. Within a fairly wide range, I can set up the type of information I want it to display. And I rather like the Microsoft Health app. While it may not be superior, it is easy to use within a fairly wide range of fitness activities. And it was my first experience with notifications from my phone (texts, incoming calls, voice mail), which I can’t really do without any more.
And while I complain at the rate at which my Band is falling apart, I also realize that fitness and activity technology is changing rapidly. I hope to have more compelling technology in the next purchase, and at a lower price.
Update: I bought my sister a Band 2 for Christmas 2015, and explained to her that I bought a new one because mine was falling apart. Her response: “Mine disintegrated last month, the clasp came completely apart. I did buy a new one, because I like it.” At least mine lasted a year.
The Tyranny of Open Source July 28, 2016Posted by Peter Varhol in Software development, Software platforms, Software tools.
Tags: GNU, open source
If that title sounds strident, it quite possibly is. But hear me out. I’ve been around the block once or twice. I was a functioning adult when Richard Stallman wrote The GNU Manifesto, and have followed the Free Software Foundation, open source software licenses, and open source communities for perhaps longer than you have been alive (yes, I’m an older guy).
I like open source. I think it has radically changed the software industry, mostly for the better.
But. Yes, there is always a “but”. I subscribe to many (too many) community forums, and almost daily I see someone with a query that begins “What is the best open source tool that will let me do <insert just about any technical task here>.”
When I see someone who asks such a question on a forum, I see someone who is flailing about, with no knowledge of the tools of their field, or even how to do a particular activity. That’s okay; we’ve all been in that position. They are trying to get better.
We all have a job to do, and we want to do it as efficiently as possible. For any class of activity in the software development life cycle, there are a plethora of tools that make that task easier/manageable/possible.
If you tell me that it has to be an open source tool, you are telling me one of two things. First, your employer, who is presumably paying you a competitive (in other words, fairly substantial) salary, is unwilling to support you in getting your job done. Second, you are afraid to ask if there is the prospect of paying for a commercial product.
And you need to know the reason before you ask the question in a forum.
There is a lot of great open source software out there that can help you do your job more efficiently. There is also a lot of really good commercial software out there that can help you do your job more efficiently. If you are not casting a broad net across both, you are cheating both yourself and your employer. If you cannot cast that broad net, then your employer is cheating you.
So for those of you who get onto community forums to ask about the best open source tool for a particular activity, I have a question in return. Are you afraid to ask for a budget, or have you been told in no uncertain terms that there is none? You know, you might discover that you need help using your open source software, and have to buy support. If you need help and can’t pay for it, then you have made an extremely poor decision.
So what am I trying to say? You should be looking for the best tool for your purpose. If it is open source, you may have to be prepared to subscribe to support. If it is commercial, you likely have to pay a fee up front. If your sole purpose in asking for an open source product is to avoid payment, you need to run away from your work situation as quickly as possible.
Artificial Intelligence and the Real Kind July 11, 2016Posted by Peter Varhol in Software development, Software platforms, Uncategorized.
Tags: artificial intelligence, Machine Learning
add a comment
Over the last couple of months, I’ve been giving a lot of thought to robots, artificial intelligence, and the potential for replacing human thought and action. A part of that comes from the announcement by the European Union that it had drafted a “bill of rights” for robots as potential cyber-citizens of a more egalitarian era. A second part comes from my recent article on TechBeacon, which I titled “Testing a Moving Target”.
The computer scientist in me wants to say “bullshit disapproved”. Computer programs do what we instruct them to do, no more or no less. We can’t instruct them to think, because we can’t algorithmically (or in any other way) define thinking. There is no objective or intuitive explanation for human thought.
The distinction is both real and important. Machines aren’t able to look for anything that their programmers don’t tell them to (I wanted to say “will never be able” there, but I have given up the word “never” in informed conversation).
There is, of course, the Turing Test, which generally purports a way to determine whether you are interacting with a real person or computer program. In limited ways, a program (Eliza was the first, but it was an easy trick) can fool a person.
Here is how I think human thought is different than computer programming. I can look at something seemingly unstructured, and build a structure out of it. A computer can’t, unless I as a programmer tell it what to look for. Sure, I can program generic learning algorithms, and have a computer run data through those algorithms to try to match it up as closely as possible. I can run an almost infinite number of training sequences, as long as I have enough data on how the system is supposed to behave.
Of course, as a human I need the imagination and experience to see patterns that may be hidden, and that others can’t see. Is that really any different than algorithm training (yes, I’m attempting to undercut my own argument)?
I would argue yes. Our intelligence is not derived from thousands of interactions with training data. Rather, well, we don’t really know where it comes from. I’ll offer a guess that it comes from a period of time in which we observe and make connections between very disparate bits of information. Sure, the neurons and synapses in our brain may bear a surface resemblance to the algorithms of a neural network, and some talent accrues through repetition, but I don’t think intelligence necessarily works that way.
All that said, I am very hesitant to declare that machine intelligence may not one day equal the human kind. Machines have certain advantages over us, such as incredible and accessible data storage capabilities, as well as almost infinite computing power that doesn’t have to be used on consciousness (or will it?). But at least today and for the foreseeable future, machine intelligence is likely to be distinguishable from the organic kind.
My Response to Dell Customer Support May 19, 2016Posted by Peter Varhol in Software platforms, Technology and Culture.
add a comment
This gives me no pleasure, but I simply don’t know what happened to this company over the last couple of years.
Ms Athaluri – Thank you for your email. I have received this computer. However, you have failed to answer a number of my questions.
- Why did Dell promise a response to my multiple questions within 24 hours, yet did not do so. That written and verbal promise is almost certainly considered an enforceable contract under US law, yet Dell repeatedly failed to deliver.
- Why did Dell say on its website that the system shipped on May 10, when in fact it was not received by FedEx until May 17? This once again is a broken promise.
- Why did Dell charge my credit card upon order, rather than upon shipment? This is certainly against applicable US law. The customer support rep I talked to said that it only sought authorization; AmEx tells a very different story.
- Why could not the telephone representative answer why my system had not shipped when Dell claimed it did?
- Why have you not addressed any of my questions?
I am appending this conversation to my complaint with the New Hampshire Attorney General. And rest assured that this is absolutely the last purchase that this otherwise loyal 25 year Dell customer will be making from this company.
Thank you for nothing.
Dell is Terrible in All Parts of its PC Business May 17, 2016Posted by Peter Varhol in Software platforms, Technology and Culture.
add a comment
Let me begin by saying that I have bought Dells for 25 years, both for personal and business use. Regrettably, this is the last one. I met Michael Dell once, now about 25 years ago, in Boston. He was in his late 20s, and uncomfortably nerdy in his ill-fitting suit.
So let me start with the most recent. I currently have a message on the Dell Support page warning that I am using an outdated version of Internet Explorer, and that all features may not work. Um, except that the browser is Chrome; in fact, Chrome 50, the most current version. The screen capture is below.
So, first, terrible IT. Dell should fire them all, except that it probably did and these are the outsourcers. This is simply an unconscionable embarrassment to any tech company, let alone one such as Dell.
Second, I purchased yet another computer from Dell. Dell claimed to have shipped it a week ago, and provided the tracking number, with the caveat that it likely would not appear on FedEx tracking page for 24 hours.
Okay. Except that FedEx didn’t show it received at their facility for another week. Even though Dell said they shipped it immediately. And charged my credit card when the order was placed, not when it seemingly shipped.
I called Dell Support. I sent multiple emails through its Support email. In all cases, I was promised a response within 24 hours. Nope, no response whatsoever.
Dell, who do you think you are? If you treat longtime and loyal customers like this, how are you going to treat someone who just occasionally buys a computer?
I realize that you don’t care anymore, and probably don’t want even want to really be in business anymore. But stop treating your customers like they are garbage. And stop charging credit cards when an order is placed, rather than shipped. That is a questionable legal and definitely awful ethical practice. You have no right to be in business.
Apple, Your Argument Has Suddenly Become Lame February 25, 2016Posted by Peter Varhol in Software platforms, Technology and Culture.
add a comment
Like many, I tend to lean toward the side of Apple in its current travails with the Federal constabulary in cracking a singular iPhone with an eye toward getting information on terrorist networks, in the US and beyond. But your latest legal move has changed my mind. Let me tell you why.
On the surface, this seems to be a relatively innocuous request to help find out who a terrorist was in contact with. That is a reasonable goal. But I appreciate Apple’s argument. Once you let the camel poke his nose into the tent, the rest of the camel will inevitably follow. That is not meant as disparagement against anyone; rather, it means that once you open a door to a relatively minor exception, that makes larger exceptions inevitable. And that is true.
And I strongly believe that our law enforcement authorities have become lazy. Sure, there in fact may be information available on many cell phone calls. Why should I do real police work when I can issue warrants to tech companies? But instead they are using this as an excuse to not do real police work, the kind of legwork and research for which our constabulary should be justifiably proud in the past. As a principle, what our constabulary is doing is wrong.
But in legal filings, Apple is now arguing that they are being required to write code to comply with this court order. With that argument, I call bullshit. Yes, Apple does have to write some code in order to deliver on the search warrant. Is it a hardship? Heck (hell) no. Is it wrong? I’m sorry, witnesses and even jury members make some significant sacrifices to support what is (mostly) a fair and honest legal system. Why can’t Apple? No, why won’t Apple?
A confession. I don’t necessarily have information on all of the technical nuances. But with the filing that I cite, I don’t think that matters.
I fully realize that this is a legal argument that is relatively divorced from the larger issues within our Constitution. But I’m sorry, if Tim Cook stands in principle for anything at all, he should never have let this argument be advanced in court filings. You either stand on principle, or you weasel-worm. Tim Cook and Apple are now weasel-worming. I don’t like it, and I don’t think they have to.
At this point, I have to strongly disapprove of Apple. And it brought it on itself.
Update: On the other hand . . .
But Comey insists that there are no broad implications of the FBI’s request. It is simply trying to get into this one particular iPhone. But he said the FBI believes that hypothetical scenario to be an unreasonable argument against Apple’s cooperation.
“What if Apple engineers get kidnapped?” Comey asked rhetorically.
I had to certify that I didn’t use illegal drugs before joining the Air Force. I would have thought that the same requirement applied to the head of the FBI.