Microsoft Cloud Authors: Janakiram MSV, Yeshim Deniz, David H Deans, Andreas Grabner, Stackify Blog

Related Topics: Microsoft Cloud

Microsoft Cloud: Article

Exclusive .NETDJ Interview with Brad Abrams: Talking Frameworks, Namespaces, and Programming

"We Do Believe That Introduction of the .NET Framework Was an Inflection Point That Only Comes Once in a Blue Moon"

.NET Developer's Journal editor-in-chief Derek Ferguson (.NETDJ) and Don Box (DON), a leading authority on COM and architect in the Microsoft .NET Developer and Platform Evangelism Group, recently sat down to talk with Brad Abrams (BRAD), Lead Program Manager for the .NET Framework, about that framework.

.NETDJ: What namespace are you the proudest of in the .NET Framework?

BRAD: That's tough because there's this tendency when you work at Microsoft to find faults in whatever you're working on. Since I work on the namespaces, I have no problem finding faults!

I really like the System root namespace, though. There is a lot of common functionality that we have been able to canonize, but there is a lot of good additional stuff there, as well.

DON: Of which namespace are you most ashamed?

BRAD: I am actually very proud of where we ended up with the .NET Framework as a whole. But of course there are always areas that could be be better. For example, there is System.Runtime with InteropServices and Remoting. That namespace was designed by people who really understood COM and Win32 and when you go in there it kind of feels like that. We let some of the design guidelines be more liberally interpreted for that namespace.

DON: The namespace that gives me must joy is Interop, actually... because of what it enables, as well as the way it is delivered. If you know you have unmanaged code, it is pretty darn expressive. There are very few things I've wanted to do that I couldn't do with C#. I just think if I have to do something, contrast this with JNI, which is this giant mess of goo that Java uses for native interoperability.

BRAD: I agree! The functionality is awesome, but it sits in a morass.

DON: We can't ignore the past. When we did the CLR, we knew we couldn't just say that unmanaged code is silly and no longer supported. We will always have to maintain continuity with the past. I wouldn't trade it.

BRAD: The aesthetics aren't as good as they could be. I come from the Win32 and COM mindset, so it works for me. However, people from other backgrounds may not grasp it as easily.

DON: Well, there's all that stuff under Windows Forms that I don't understand - buttons and text fields, for example - I don't know what they're about.

.NETDJ: How would you compare and contrast the .NET Framework to the J2EE class libraries? For example, is the similarity in System.Collections and System.IO coincidental, or is there a common ancestor of which I am unaware?

BRAD: There is a long history of runtime environments - LISP, Smalltalk (for the base library), and Java all share a lot of common functionality. Visual Basic has some elements of this, also.

I think that what you see is that there is a history of Base Class Libraries (BCL) and we tried to learn from all the history that was out there - what developers liked and disliked.

.NETDJ: Tell us a bit about your career leading up to becoming lead program manager for the .NET Framework team.

BRAD: I started at Microsoft seven years ago. Before that I did some interning when I was in college, including some with Nortel where we built their automated 411 system on a very early version of NT 4. I really enjoyed writing NT code, so I sent my resume to Microsoft and - oddly enough - they called me for an interview.

I had one of the best interview experiences! I started at 9 a.m. and had grueling interviews until 8 p.m. I don't know what happened, but I suspect that everyone I spoke with thought I had something, but that I wasn't quite right for their group. So they kept sending me on to other interviews. Luckily I eventually found someone that would take a chance and hire me! It was so late after my last interview that the shuttles were not running. It was dark, raining and I had no idea what building I was in. Thankfully, a nice Microsoft employee had sympathy for me and took me back to my car.

I did two summer internships, one with Expedia and one with Visual Basic 6, where we were adding control creation capabilities to Visual Basic. When I first joined Microsoft full time, I went to the Internet Explorer team and we shipped versions 4 and 4.1 at the end of the browser wars. I was the release program manager and got to go to all of the release meetings and to argue about all the decisions.

At the end, they were forming up a team to do a new language runtime and I had no idea what it was, but I signed up and it has worked out very well. I remember having hours of arguments about whether to do reference counting or garbage collection. I did the BCL, which evolved into a full Framework team right before the 2000 PDC. I moved back to the CLR team after we shipped version 1.0 of .NET, and I am still on the CLR team today, working mostly on WinFX - the next developer API.

.NETDJ: I know that you were involved with the drafting of the original Framework Design Guidelines for .NET, and the creation of FxCop to help enforce the guidelines. I hear that this kind of functionality is now one of the "preferences" that will ship with the new Team products for Visual Studio 2005. Are you involved with this?

BRAD: At the very beginning of the Framework, it was really obvious to us that we needed a set of design guidelines. The first argument we had was about casing - some folks wanted all uppercase and some people wanted VB-style. One of the program managers said that there was no way to enforce those, so we whipped out FxCop in a single weekend, just to prove him wrong! Some of the best tools in history are born out of necessity.

Since then, we update the FxCop document every week with new guidelines and new errors that are possible in new versions of the runtime. FxCop is a super-important tool for framework consistency. I'm very excited by the fact that we are going to start packaging this into the IDE with Visual Studio 2005, because our customers have very similar consistency issues.

.NETDJ: Well, the idea of arguments about design certainly piques my interest. Who was arguing for what?

BRAD: Anders [Hejlsberg] argued the Pascal standpoint about casing. The Visual Basic people favored uppercase for constants and such. Win32 and MFC both had strong casing heritages which their folks also advocated. Visual Basic, Win32, and MFC all had more users than Pascal on the Windows platform, so it certainly wasn't Anders bringing down tablets from on high -- we had some healthy debates.

It is interesting that we spent so much time debating it and the only complaints I hear from customers are where we don't follow our own guidelines. It's similar to the argument about where to place the curly brace.

I tried to bow out of the implementation arguments - since developers don't see our source code. It is hard enough to win the arguments that actually affect the adoption of our platform.

DON: So, back in the '90s the stock market grew and grew and people at some point thought the Dow would never stop - but it did. If I look at the number of classes that we ship, how should I think about the right number of classes?

BRAD: Well, I think what you are seeing right now is that with version 1 and version 1.1 we've hit a few core scenarios: Web pages and line of business, for example. We have the right set of classes for that.

If you look at Whidbey, we are doing all of this and more and it requires another set of classes. When we approach Longhorn, we are saying that we want all client applications to be written in managed code. This will require more functionality to be exposed and, therefore, even more classes.

DON: We have annual reviews at Microsoft. What would you think if we had engineering staff judged inversely based on how many classes they introduce?

BRAD: As we are doing Longhorn, I'm pretty involved in pulling it together. The problem is that with any metric, as soon as people know it, the smart people we hire would do everything in a single class and defeat the metric. I think what I have been talking about is simplicity: we need to get every person who checks in new APIs to think about simplicity. It is a hard battle. If you are the guy who is shipping the print queue, you want the absolute richest print queue API possible. Sometimes our folks don't see the sacrifice.

.NETDJ: Given that most developers still only use a single language for the vast majority of their work, do you think that maybe cross-language inheritance and its benefits are just not all that important?

BRAD: I think that it is a bigger benefit than people realize. Anybody building anything in VB.NET benefits from this on a daily basis, for example - since the Framework is largely written in C#. So, although it isn't a benefit that is right in our customers' faces, it is happening all the time. All of our component vendors can create components in whatever language they like and it will work for all of their customers - regardless of what language their customers may choose!

The other thing I think is really interesting is that I think it is fair to say that there were a number of people in the industry who were caught by surprise by how popular Java became so quickly. But what is the next language? Being a platform guy, I'm not nearly as interested in what the next language will be as I am interested in guaranteeing that - whatever the next language is - it will be able to work on our platform.

With Common Language Specification I don't even need to know because whatever it is will almost certainly target the CLS. Whether it is Ruby or Python or something invented by someone staying up late at Tech Ed - it will work great on the CLR.

.NETDJ: How did you determine the subset of .NET's functionality that got standardized, as opposed to being strictly for the commercial CLR?

BRAD: We always wanted to standardize the core runtime. As Don mentioned, it is huge and always growing. Of all the things we wanted to standardize, the programming languages were arguably the most important.

We had seen C++ and Smalltalk standardize their libraries, so we really wanted to provide a similar set of libraries that would work well - runtime-type libraries for 2000. We looked at what had been standardized with C and C++ and we said, if we had to do this again, it would have all of this stuff plus what? Network connectivity, XML, dynamic type inspection and invocation - all of these things are really important today, but weren't in the C and C++ standard libraries.

We wanted to standardize the bits that weren't platform or application specific, just the language runtime. We also just had to scope the amount of work the committee had to do. This wasn't necessarily for us, but the committee members had to review all of this material in detail, so there were some practical pressures.

.NETDJ: How did you come to work with Damien and Mark on the book Programming in the .NET Environment?

BRAD: I met both Damien and Mark through a Microsoft-funded initiative called Project 7. For Project 7, we went out to the community very early with the CLR. We were super-hushed about it, but we knew that we wanted to get a bunch of programming languages on board as early as possible. We talked to a lot of people in the programming languages community and I knew Damien and Mark through the whole development process. They were both good contributors in terms of saying what would be best for various languages. Damien was really the brain child of the book and he had a vision for what he wanted to do. I agreed to write a chapter and of course that turned into a couple of months. The book turned out to be a good high-level overview.

.NETDJ: I love the book, but I almost never read it because its place in the spectrum of .NET books wasn't immediately obvious to me. Can you explain that a little?

BRAD: We really hope the book provides - and we were thinking primarily about the academic market here - we wanted to provide an introduction to the .NET platform such that people who weren't necessarily from the Microsoft school of thought - people from CORBA or Java or whatever - would be able to understand the rational behind how we built our platform. The book is an experienced programmer's guide, really. Typically at Microsoft we think of all our developer education as building upon a history of working with our tools, and if you read our docs that's almost always where we think people are coming from. This usually turns out to be true, but in this book we wanted to take a different tack.

DON: When I look at the three primary pillars of Longhorn, I want to be able to sit down with you and be able to explain any one of them in five minutes or less. I think Indigo is there. If I look at WinFS, we are starting to get there. Avalon is huge and hard to understand all of it in five minutes. The thing that has me puzzled is that not everything is in these three buckets, what about the rest?

BRAD: Those three are roughly 80% - if you take out the existing Framework. I'm worried about some of the remaining 20%. But the 80% in WinFS, Indigo, and Avalon are - in terms of what developers are going to have to interact with - the types that people are going to use disproportionately.

.NETDJ: Designing an entire class library seems like an overwhelming task - how did you even get started with that? What class came first?

BRAD: System.Object came first. The truth is, no one person designed the entire .NET Framework - just like no one person will design WinFX. I view my role as producing a small set of classes that are good examples. We tried to make the BCL a good example and now we prepare training around that and evangelize to people like Don here how we think a good, consistent API will be built.

It is very much an iterative process. It is really not the case that we can sit down in a room with lots of super-smart people like Don [Box] and Anders [Hjelsberg] and design something. We get feedback from users, documenters, etc., and it takes the whole village to be able to do the design. I'm sure developers getting the tech previews of Whidbey will appreciate that there will be some more churn.

.NETDJ: What are your thoughts on the nondependent relationship between namespaces, directory structures, and assembly names?

BRAD: We really wanted to be very clear and unambiguous on what the packaging and deployment unit was - the Assembly. Namespaces are just something the compiler sticks in - without knowing anything about them. I think that most of the time, for the Framework, the basic assemblies are imported by default so that developers don't need to look at the assembly names.

I advise third parties that, as they develop, they should have some correspondence between their namespaces and their assembly names. I think in the end the performance overhead of having too many assemblies outweighs the potential benefits of having a strict one-to-one correspondence between namespaces and assembly names.

.NETDJ: What is your opinion on SSCLI, Mono, Portable .NET, etc.?

BRAD: I think it is a great validation of our technology that they are out there. To the extent that it is another vendor that is implementing the stuff that we have standardized, I think it is great. I think we have customers who get peace of mind from knowing that there are other core implementations available.

.NETDJ: Do you think it could ever prove problematic?

BRAD: I don't comment on potential legal issues. These implementations are neither licensed nor supported by Microsoft. I think that there is obviously some part of the framework that we didn't standardize and that isn't available through that, but I think that is an issue that those companies have to deal with. It certainly isn't something that I worry about on a day-to-day basis.

DON: We never talk about programming languages. I had dinner with Paul Vick last night, and I was telling him I thought it would be great if the number of language features in Orcas was less than in the version he is shipping now. Don't you think people would love a small language?

BRAD: I've been talking to a lot of customers and I am officially language-agnostic. It has been interesting to hear people talk about the conversions they have made over the last year or so. One customer moved from VB to C# - he said it was because C# is simpler. I do think that there is this concept of "addition through subtraction" - we can actually make things more powerful by taking away features. It is easy to preach, but hard to implement.

DON: I really wish more people at Microsoft worked in LISP or Smalltalk - they are minimal but powerful. And that's what makes them so amazing.

BRAD: I think one of the most important features in language design is the "obsolete" attribute. You can communicate instantly to any developer using an outdated feature that there is now a better way. We love our existing customers, but if you are writing new applications we want you to move on to places where we can support you better.

DON: I've talked a lot with other developers at Microsoft about obsolescing more stuff. People will invariably say "You mean add the OBSOLETE attribute," with a great deal of fear and trepidation in their voices. Do we need Bill's approval to get more aggressive about this, or what?

BRAD: We actually want to reward people for this. Sometimes people want to obsolete things for which there is no alternative - and that isn't good. But otherwise, we want the number of classes to go down and the number of obsoletes to go up.

DON: I'm on board with that plan! Don't obsolete Remoting before Indigo ships, though!

.NETDJ: How did you decide to change the data API yet again with ADO.NET? Wasn't that a gamble, considering how many data access API's have gone before?

BRAD: To be honest with you, I wasn't that involved in it. We do believe that introduction of the .NET Framework was an inflection point that only comes once in a blue moon. So this was probably the best time to introduce it. In terms of the exact tradeoffs, I'm not the right guy.

.NETDJ: Tell us a little bit about the work that went into creating the System.Runtime.InteropServices namespace, which is massive!

BRAD: I would love it if developers didn't need to do Interop. Unfortunately, there will always be developers who have code that was written 20 years ago and is unmanaged, and they need to keep working with it.

Most of the time, when people have to pInvoke or do COM Interop, it is to interoperate with existing Microsoft technologies like Word or Outlook. One of the primary drivers for WinFX is to drive this number way down, by writing more of our own stuff in managed code.

Adam Nathan from our team recently decided to start a Wiki (www.pinvoke.net) with all the pInvoke signatures for the common Win32 APIs. Then he added this mapping information that will tell you about the managed equivalent for whatever native API you are trying to invoke. I certainly hope that developers will use the managed versions where available!

.NETDJ: How are you working on WinFX? How do you coordinate the three teams WinFS, Avalon, and Indigo?

BRAD: My role with WinFX is almost like Geneva - I do "the Switzerland thing." We have all these teams and they all have super-smart guys working on their teams and doing API design. However, they all necessarily look at the world through their own colored glasses. That's what we need them to do to build the greatest versions of their products.

However, there are very few Indigo-only, Avalon-only, or WinFS-only applications. So I lead a broad team that looks at the big picture and, as a classic Microsoft Program Manager, I have to work on building consensus and getting guys like Don Box here into a room to argue about what their products are and what they should do within the context of WinFX as a whole.

DON: What programming language do you use?

BRAD: I usually write IL directly. No, seriously, I use C# most of the time. I grew up with the semicolon language feature and it feels most natural to me.

.NETDJ: What namespace do you think is most overlooked and neglected in the Framework?

BRAD: System.Collections.Specialized has a few classes in there that we needed for the Framework. It had nothing to do with externals, but folks on the ASP.NET team needed some of this stuff. We came up with some real jewels - there are some real good ones in there. Because it has a bit of an obtuse namespace, most people have never touched it. If you are building object models on version 1.1 today, though, you should definitely look there.

.NETDJ: I have a personal dislike for the System.Management and System.DirectoryServices namespaces - they seem to be just a little too native. Can we look forward to a gradual "managization" of these namespaces going forward?

BRAD: Some people say that System.Management is difficult to use because it is loosely typed, but I just heard a guy yesterday saying that he loves it because it can do anything he wants to do and he is able to get it done because it exposes a flexible model. It is difficult to reach a balance that will please everyone.

DON: Talk to me about performance. I am a programmer who hypothetically is skeptical about managed code. At what point does it become obvious that I have to write managed code? For example, there are usually two primary concerns in moving to managed code. One is the skills (people don't know it). The other is always concern about performance. The skills one is never going to go away, but at what point does the performance flip to being a problem if you don't change to managed code?

BRAD: The general answer is that you should pick the natural product point in your development cycle. If you have a Visual Basic 6 application and you're happy with it, then don't rewrite it just for the hell of it. The interesting thing about performance is that we have been actively soliciting performance stories from attendees and almost universally the answer is that no one has had any performance problems. Most people are coming to ASP.NET from "classic" ASP, so that is an easy performance battle to win! On client applications, they usually say that they haven't noticed any issues. Then we say, "Some people have asked us about startup times" - that generally gets a response where people roll their eyes and acknowledge that they have noticed it. That is an annoyance for some people, but it is the number one issue we are spending the most development time to correct at this point. So you asked, "When do you think it will come to a point where developers will get better performance using managed code?" It is all about the functionality you expose. For example, it will always be faster to write an Indigo application in managed code than its native layers, because we will expose that functionality in managed code.

DON: I think Longhorn is the tipping point, then. The three main pillars are in managed code - so accessing them via COM will require Interop, and its associated performance hit!

BRAD: We totally want people to be able to take a slow migration, though. We have a lot of internal customers that are still 100% native Win32!

DON: Office is one of those customers, of course.

BRAD: Yes, of course, we are not going to "deltree" Office.

DON: What is deltree!?

BRAD: It is an old DOS command.

DON: Oh, I was thinking that "rm -r" was able to do that.

More Stories By Derek Ferguson

Derek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@ThingsExpo Stories
SYS-CON Events announced today that DXWorldExpo has been named “Global Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Digital Transformation is the key issue driving the global enterprise IT business. Digital Transformation is most prominent among Global 2000 enterprises and government institutions.
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...
SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
Real IoT production deployments running at scale are collecting sensor data from hundreds / thousands / millions of devices. The goal is to take business-critical actions on the real-time data and find insights from stored datasets. In his session at @ThingsExpo, John Walicki, Watson IoT Developer Advocate at IBM Cloud, will provide a fast-paced developer journey that follows the IoT sensor data from generation, to edge gateway, to edge analytics, to encryption, to the IBM Bluemix cloud, to Wa...
There is huge complexity in implementing a successful digital business that requires efficient on-premise and cloud back-end infrastructure, IT and Internet of Things (IoT) data, analytics, Machine Learning, Artificial Intelligence (AI) and Digital Applications. In the data center alone, there are physical and virtual infrastructures, multiple operating systems, multiple applications and new and emerging business and technological paradigms such as cloud computing and XaaS. And then there are pe...
SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.
DevOps at Cloud Expo – being held October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA – announces that its Call for Papers is open. Born out of proven success in agile development, cloud computing, and process automation, DevOps is a macro trend you cannot afford to miss. From showcase success stories from early adopters and web-scale businesses, DevOps is expanding to organizations of all sizes, including the world's largest enterprises – and delivering real r...
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that Suzuki Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Suzuki Inc. is a semiconductor-related business, including sales of consuming parts, parts repair, and maintenance for semiconductor manufacturing machines, etc. It is also a health care business providing experimental research for...
SYS-CON Events announced today that Fusic will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Fusic Co. provides mocks as virtual IoT devices. You can customize mocks, and get any amount of data at any time in your test. For more information, visit https://fusic.co.jp/english/.
SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
SYS-CON Events announced today that Keisoku Research Consultant Co. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Keisoku Research Consultant, Co. offers research and consulting in a wide range of civil engineering-related fields from information construction to preservation of cultural properties. For more information, vi...
SYS-CON Events announced today that Daiya Industry will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Daiya Industry specializes in orthotic support systems and assistive devices with pneumatic artificial muscles in order to contribute to an extended healthy life expectancy. For more information, please visit https://www.daiyak...
SYS-CON Events announced today that Interface Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Interface Corporation is a company developing, manufacturing and marketing high quality and wide variety of industrial computers and interface modules such as PCIs and PCI express. For more information, visit http://www.i...
SYS-CON Events announced today that Mobile Create USA will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Mobile Create USA Inc. is an MVNO-based business model that uses portable communication devices and cellular-based infrastructure in the development, sales, operation and mobile communications systems incorporating GPS capabi...
In his session at @ThingsExpo, Greg Gorman is the Director, IoT Developer Ecosystem, Watson IoT, will provide a short tutorial on Node-RED, a Node.js-based programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using a wide range of nodes in the palette that can be deployed to its runtime in a single-click. There is a large library of contributed nodes that help so...
Elon Musk is among the notable industry figures who worries about the power of AI to destroy rather than help society. Mark Zuckerberg, on the other hand, embraces all that is going on. AI is most powerful when deployed across the vast networks being built for Internets of Things in the manufacturing, transportation and logistics, retail, healthcare, government and other sectors. Is AI transforming IoT for the good or the bad? Do we need to worry about its potential destructive power? Or will we...
SYS-CON Events announced today that mruby Forum will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. mruby is the lightweight implementation of the Ruby language. We introduce mruby and the mruby IoT framework that enhances development productivity. For more information, visit http://forum.mruby.org/.
SYS-CON Events announced today that Nihon Micron will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nihon Micron Co., Ltd. strives for technological innovation to establish high-density, high-precision processing technology for providing printed circuit board and metal mount RFID tags used for communication devices. For more inf...