I’ve been looking for something else to do besides PoshTools. I’m completely burnt out on it. Visual Studio 2017 changed the extensibility model and I am struggling to care enough to go through all the trouble to get PoshTools to work. I’m sure I will get to it eventually. That said, I’m always willing to take contributions. There is even a branch with a very good start. This led me to start and stop several side projects while traveling abroad.

Code Golf

Code Golf

I actually started Code Golf the week before I left for Europe. The idea was that users would submit coding problems and then players would craft solutions in the least number of characters. It was used for a little bit and even part of the PowerShell 10-year anniversary but it didn’t stay popular. I found that there were not enough people playing to keep the people that were playing interested. Code Golf is fun but probably not necessarily useful so I can see the lack of interest. I might revisit this project but I kind of lost interest along with the users.

What I learned

I learned that Azure DocumentDB is exceedingly expensive. I could have done something very wrong but a site with almost no traffic used about 65 dollars in Azure credits in two weeks. I spent some time and switched to SQL server to save on credits. I also learned a whole bunch about Azure Functions. I even gave a talk at the Geneva .NET User Group on the subject. If you have any interest in Server-less solutions, give it a shot.

Social Aggregator

I have no idea why I decided to try and create this. I thought that I could use some sort of cool Material Design layout to create a beautiful multi-platform view of all your social media. I had ideas of aggregating people together across networks so you could have a single view of a person across accounts. I never really got that far.

What I learned

API Limitations. I learned a whole bunch about API Limitations. I found Twitter had a pretty solid API but the rate limits made it really tricky. Facebook is very closed in my opinion and aspects of Facebook, like a user’s timeline, are not available to developers. It seems that the API design prevents developers from creating products that would drive users away from actually interacting with Facebook. It really turned me off of trying to use any type of social API, baring login, from any of my projects.

Web Security Crawler

At this point, I was kind of looking around for ideas. I was perusing through GitHub projects and stumbled upon w3af. It’s an open-source, Python-based website security testing suite. It tests for over 200 vulnerabilities. I thought it would be a real neat idea to have a hosted version of this available for users to run against their websites so they didn’t have to go through the trouble of installing the whole suite. I got a little carried away and realized that it was way more work than I was willing to take on.

What I learned

Crawling the web is hard. Even Google is still trying to perfect this. I recently read an article on HackerNews that Google actually executes JavaScript while crawling to make sure it can learn as much as it can. There was no way I was going to be able to build something like that. I also found that crawling takes a whole lot of time and hosting a project like this in Azure or AWS would likely be extremely expensive.

I did learn a whole lot about async\await and background tasks. I actually built an in-memory queue abstraction so that when I went to Azure I would be able to use Service Bus without having to change all the implementations around but would also be able to develop on a bus in Croatia without internet.

Homesick

I know. I thought it was a clever name too. The idea was to create a website where people could try and find items they weren’t able to locate easily while traveling abroad. For example, we had a hard time finding peanut butter and brown sugar in Switzerland. Homesick would allow users to search for items or update listings of items people were searching for. I started to explore Google APIs like Places and Maps. They offer some really neat semi-free solutions you can use. I just got bored with the concept and didn’t continue working on it.

What I learned

I spent a great deal of time reading up on machine learning. I wanted to take advantage of machine learning to predict what types of people might want certain items in certain places. There is a great GitHub project that has a boat load of information on the topic. I’m glad I spent the time doing it because know I have some idea what machine learning is all about.

What’s next?

I started this blog. I got very sick of developing ASP.NET Core applications over and over again that all required the exact same plumbing. I’m sure there is another project I could do around that but I figure I’ll take a break from web development for now.

What cool ideas do you have brewing?