This is a part 2 of the overview of different AI solutions automating the programming process. The part 1 can be found here. Today I will describe another 5 "virtual developers".
19/11/2017
Will Artificial Intelligence replace developers (part 2)?
Home
This is a part 2 of the overview of different AI solutions automating the programming process. The part 1 can be found here. Today I will describe another 5 "virtual developers".
This is a part 2 of the overview of different AI solutions automating the programming process. The part 1 can be found here. Today I will describe another 5 "virtual developers".
13/11/2017
Will Artificial Intelligence replace developers (part 1)?
Home
After 10 years of working for smaller and bigger companies I decided to join as Chief Scientific Officer a start-up called PlatformX. I'll not exaggerate saying that it's the most interesting and challenging project I've ever worked in. Our goal is to automate the process of developing software. In other words we want to create an artifical intelligence a.k.a. "virtual developer" that will be able to communicate with a human being in order to collect requirements and then will write, test and deploy a program according to these requirements. Nice, isn't it?
After 10 years of working for smaller and bigger companies I decided to join as Chief Scientific Officer a start-up called PlatformX. I'll not exaggerate saying that it's the most interesting and challenging project I've ever worked in. Our goal is to automate the process of developing software. In other words we want to create an artifical intelligence a.k.a. "virtual developer" that will be able to communicate with a human being in order to collect requirements and then will write, test and deploy a program according to these requirements. Nice, isn't it?
30/10/2017
Never ever update an event. But why?
Home
I heard and read a lot about Event Sourcing (ES) but earlier I hadn't had occasion to use it in the real-life system. This year I got this opportunity :) For many years I was working with traditional architectures so ES + CQRS + DDD is like a new world to me. Very refreshing experience! I've already learned a lot but I'm still learning and discovering new things. For example, not so long ago the versioning of events was "mysterious" for me.
I heard and read a lot about Event Sourcing (ES) but earlier I hadn't had occasion to use it in the real-life system. This year I got this opportunity :) For many years I was working with traditional architectures so ES + CQRS + DDD is like a new world to me. Very refreshing experience! I've already learned a lot but I'm still learning and discovering new things. For example, not so long ago the versioning of events was "mysterious" for me.
27/10/2017
.NET Developer Days 2017 - Grand finale
Home
It's time to make the summary of .NET Developer Days 2017. Let's start with the organisation aspects. Here I'll shortly say it was simply good and I cannot complain. The good example showing that organisers really try to make everything ok is a fact that a friend of mine was able to register for the conference just one day before the event (what theoretically was not possible). Now let's move to the presentations. Here I have much more to write.
It's time to make the summary of .NET Developer Days 2017. Let's start with the organisation aspects. Here I'll shortly say it was simply good and I cannot complain. The good example showing that organisers really try to make everything ok is a fact that a friend of mine was able to register for the conference just one day before the event (what theoretically was not possible). Now let's move to the presentations. Here I have much more to write.
18/10/2017
How did my presentation go?
Home
Two weeks ago I gave the presentation about artificial intelligences that write programs. Now, I got results of the survey conducted after the presentation and I decided to share some data with you. Below you can see the summary. The participants could judge me in 4 categories and 14 of them decided to do that. (Thank you!). I think that there were around 30+ people in total in the room.
Two weeks ago I gave the presentation about artificial intelligences that write programs. Now, I got results of the survey conducted after the presentation and I decided to share some data with you. Below you can see the summary. The participants could judge me in 4 categories and 14 of them decided to do that. (Thank you!). I think that there were around 30+ people in total in the room.
29/09/2017
NDepend - my point of view
Home
Sometime ago I was contacted by Patrick Smacchia, who is CEO and a lead developer in NDepend. In one sentence, NDepend is a tool that analyses your code and tells what is wrong and can be improved to avoid technical debt. Patrick offered my a free pro license for NDepend. A few years ago I was using it so it was an interesting proposition. We agreed that if I find NDepend useful, I will write a post about it and share my experience. As for me it's a win-win situation.
26/09/2017
CareerCon Warsaw 2017 - AI that can program
Home
On next Saturday (30-09), I'll give a presentation under the title "Can artificial intelligence program?" at CareerCon conference. I'll tell about existing solution, their abilities and limitations. At the end I'll try to answer the question if developers needs to worry and predict what we can expect in the future. If you have time I'll be glad to see you! The presentation will be in Polish. Here are the links:
On next Saturday (30-09), I'll give a presentation under the title "Can artificial intelligence program?" at CareerCon conference. I'll tell about existing solution, their abilities and limitations. At the end I'll try to answer the question if developers needs to worry and predict what we can expect in the future. If you have time I'll be glad to see you! The presentation will be in Polish. Here are the links:
*The picture at the beginning of the post was created by Stephen Bowler from wakefield, United Kingdom (terminator) [CC BY 2.0], via Wikimedia Commons.
22/09/2017
SpecFlow + .NET Core = problems
25/08/2017
.NET Developer Days 2017 - fresh information
18/08/2017
Json.net also tricked me
Home
Recently, I was tricked by Roslyn, today by Json.NET. My bloody luck ;) Let's look at the following two very simple classes. Class A has one readonly property and I had to define a special constructor to allow Json.NET to set this property. B is also simple. It has one property, this time of type A with some default value.
Recently, I was tricked by Roslyn, today by Json.NET. My bloody luck ;) Let's look at the following two very simple classes. Class A has one readonly property and I had to define a special constructor to allow Json.NET to set this property. B is also simple. It has one property, this time of type A with some default value.
14/08/2017
Roslyn tricked me again
Home
A while ago 2 of my SpecFlow tests started failing on the build server. At the same time, on a few local machines no problems were observed. I also didn't find any exceptions in the log, so I decided to log into the server and debug a problem there.
Quite soon I figured out that the problem is in the algorithm that uses Roslyn to analyse and understand the code. Here is a simplified code that finds all local variables within a method body and tries to determine their exact types.
A while ago 2 of my SpecFlow tests started failing on the build server. At the same time, on a few local machines no problems were observed. I also didn't find any exceptions in the log, so I decided to log into the server and debug a problem there.
Quite soon I figured out that the problem is in the algorithm that uses Roslyn to analyse and understand the code. Here is a simplified code that finds all local variables within a method body and tries to determine their exact types.
18/05/2017
Report from the battlefield #11 - premature optimization is the root of all evil?
Home
Have you ever heard that "premature optimization is the root of all evil"? Probably yes. It's quite well known Donald Knuth's phrase. However, the whole cite is much less known:
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%."
Why Am I writing about that? Because recently I had on occasion to fix an application which was written according to the fist part of this cite. Or even worse it was written according to the rule "any optimization is the root of all evil". Here are some examples what not to do and some tips what to do.
Have you ever heard that "premature optimization is the root of all evil"? Probably yes. It's quite well known Donald Knuth's phrase. However, the whole cite is much less known:
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%."
Why Am I writing about that? Because recently I had on occasion to fix an application which was written according to the fist part of this cite. Or even worse it was written according to the rule "any optimization is the root of all evil". Here are some examples what not to do and some tips what to do.
10/05/2017
.NET Developer Days 2017
Home
In the post .NET Developer Days 2016 - Grand finale I wrote that it hadn't been my last my last .NET Developer Days conference. Recently, I've been asked again to become a media partner of this year's edition so I agreed without much hesitation. Disclaimer: It also means that it is a sponsored text.
The well known aphorism says that perfect is the enemy of good. The organizers of the conference must have heard that because the form of the current edition will be similar to the previous one i.e.:
In the post .NET Developer Days 2016 - Grand finale I wrote that it hadn't been my last my last .NET Developer Days conference. Recently, I've been asked again to become a media partner of this year's edition so I agreed without much hesitation. Disclaimer: It also means that it is a sponsored text.
The well known aphorism says that perfect is the enemy of good. The organizers of the conference must have heard that because the form of the current edition will be similar to the previous one i.e.:
- What: 3 tracks with session about different topics and of different difficulties.
- Where: EXPO XXI Exhibition Center – Warsaw, Prądzyńskiego 12/14
- When: 18th-20th October 2017. 18th October is reserved for full-day training sessions (so called pre-conf) and the actual conference will start on 19th October.
- Language: 100% English
28/04/2017
The best and the worst thing when doing science
Home
A few months ago, I returned (partially) to the university. I'm working in the project in the field of the computer vision for Google company. The project is related to Google Tango technology and is really interesting. However, within these few months there were also moments when I was really fed up. The same happened when I was doing Ph.D. so I started thinking what I like the most in doing science and what I don't like.
A few months ago, I returned (partially) to the university. I'm working in the project in the field of the computer vision for Google company. The project is related to Google Tango technology and is really interesting. However, within these few months there were also moments when I was really fed up. The same happened when I was doing Ph.D. so I started thinking what I like the most in doing science and what I don't like.
20/04/2017
How I removed 50% of the code
Home
My last 2 posts were about problems with using Roslyn. Nonetheless, even if I sometime hate it, I'm still using it so the time has come to show some practical example of using Roslyn. Recently, I've been working on the task that can be summed up as: Take this ugly code and do something with it. i.e. more or less the refactoring task.
Now I'll give you some intuition of what I have to deal with. The code that I have to refactor was generated automatically based on XML schema. These were actually DTO classes used to communicate with the external service. Here are some statistics:
My last 2 posts were about problems with using Roslyn. Nonetheless, even if I sometime hate it, I'm still using it so the time has come to show some practical example of using Roslyn. Recently, I've been working on the task that can be summed up as: Take this ugly code and do something with it. i.e. more or less the refactoring task.
Now I'll give you some intuition of what I have to deal with. The code that I have to refactor was generated automatically based on XML schema. These were actually DTO classes used to communicate with the external service. Here are some statistics:
- 28.7 thousands lines of code in 23 files.
- 2200 classes and 920 enums.
- Many classes and enums seems to me identical or very similar.
Subscribe to:
Posts (Atom)