We need it to become much more common to operate at level 3, especially in fields like enterprise software development.
414 karma · joined April 1, 2009
We need it to become much more common to operate at level 3, especially in fields like enterprise software development.
There are millions upon millions of dollars being spent on stupid, outdated software that simply does not work. The main thrust of my original comment was that - "you thought open source was impressive? wait until the rise of AI powered open source". I think the highly arcane world of enterprise software is similar to being a travel agent in the mid to late 90s.
Even though I have a background in math that class made me realize I don't want to be a professional cryptographer, which in itself is pretty nice. But all joking aside I really enjoyed the way that crypto systems were analyzed using demons and games to try and discern the random bit stream from the encrypted bytes.
I have lots of ideas I want to implement inclcuding storing all this data using embedding layers and the ability to deconstruct the html in use.
My last thought was that I want to take the 'articles', pull out the content, redisplay using django or a smaller web server, and replace the ads with positive affirmations such as "you are doing great!", "great job on your excercise". I figure I can even use deep learning to generate fake ads that look like normal ones but only serve to uplift me!
I think the issue is that middle-aged architects get that "flow" feeling while doing their design work. They should keep that shit in their home woodworking shop and leave it out of the code base!
I was very surprised in terms of how much harder it was to get interviews compared to just 2 years earlier. During the height of the dot com boom I had arrived in nyc on a greyhound bus and found a job writing java servlets against mysql/postgresql in 3 days w/o any contacts.
Looking back I would have been better off taking any job and reading as much new tech as I could. The long aimless days were as damaging as the lack of income.
Next would be the ability to decompose or factor my entire db into the subcomponents and make suggestions for combining tables. The use case would be a legacy enterprise system that has grown so complex and tangled that devs are afraid to do basic db refactoring. From where I'm sitting and working this is the next gold rush, apply DL methods to the bread and butter computing, log flow analysis, etc.
I do want to point out that I'm thinking of doing this on a very limited website, not a general purpose thing that replicates any possible website. When I imagine the complexity of a modest CMS or an online mortgage calculator I think that it is much less complex than translating human languages. The fact that web code has to be so much more precise than human language actually makes the task easier. But to be fair, I'm all talk at this point with no code to show for it. So I will keep these comments in mind, this thread has been helpful for helping me think through some of this stuff.
I just don't know how you can achieve that with static cache ... only if somebody else requested that exact mortgage calculation before and it is still in the cache.
Also, my idea of the "given input" from the earlier comment would have to include results of sql queries that would form the entire input to the LSTM.
But honestly I think over trained auto encoders can be used as hash maps. That would be an application more in line with what I think you are saying.
For session based variables? Not sure, either it all becomes stateless and the code has to read everything from storage for each reqeuest .... or maybe the lstm is able to model something like an entire user session and remember the stuff that the original app would have put in the session.
That Andrej Karpathy article that I linked to two comments above ... he pointed out, in a different blog post, that regular neural networks can approximate any pure function. Recurrent neural networks like the LSTM can approximate any computer program. It is because they can propagate state from step to step that allows them to do this.
As far as it being 100X slower, well at a certain point I will be willing to take your money :)
Why would I want to do this? I'm not 100% sure ... I think it would be super fast once you got it working. I think it would avoid many security bugs. You wouldn't have to read that "oh drupal 3.x has 20 new security bugs" better go patch our code. I think when I had this idea I was thinking about it terms of a parallel system that could catch hacking by noting when actual http responses diverged too much from the predicted response. The main idea being that for a given input the output really is 100% predictable, assuming your app doesn't use random numbers like in a game or something.
To link this idea to the article, I think things like XML parsers could be written this way .... I can't prove it but I suspect that they would be very fast and not come with all the baggage that the article complains about.
I started thinking along these lines after reading stuff like this https://medium.com/@karpathy/software-2-0-a64152b37c35