I have been thinking a lot about the purpose of my blogging and the creation of workflow that will allow me to blog more. There are a few things that I am interested in:
- C# Development
- C# Development: .NET and Mono(MonoTouch, MonoDroid, and MonoMac)
- Open Source Libraries
- Computer Science Theory
- Functional Programming Algorithms and Data Structures
- Advanced Data Structures
- Computer Science and Mathematics
- Massive Open Online Course
- Artificial Intelligence
- Automated Reasoning
- Cognitive Sciences
- Miscellaneous fields such as Computer Vision
- Software Entrepreneurship as a MicroISV
- User Interface Design
- Software Marketing
- Software Development
- Technological Trends and Innovations
- Expertise and Productivity
I am a strong believer in continual learning and I have taken about fifty university courses last year through Coursera and other MOOC sites, which is more than the number of courses typically required for a bachelor’s degree. I have received over thirty certificates. I also have annual subscriptions to Pluralsight.com, which specializes in Windows development, and Lynda.com, which specializes in design. The coursework took considerable amount of time that detracted from software development but allowed me to become up-to-date on the latest technologies and theories.
As I stated earlier, I am trying to create a new blogging workflow. One possibility is writing up a blog post covering some of the material that I learned. There aren’t many courses left though as I have exhausted the courses that I have an interest in. I am currently setting up a program of study to shore up my mathematical and computer science background that relies on free electronic textbooks and lecture notes. Many advanced/graduate courses are not available online, so I have to develop my own. This could lead me to contributing lecture videos online via Udemy or YouTube.
My programming language of choice is C# used across a number of different platforms and also for scripting in place of Perl or Python. Unfortunately, C# is not very portable even among the various .NET and Mono platforms (WinRT, Silverlight, MonoTouch, WPF, ASP.NET, and WinForms) as the namespaces and interfaces differ substantially.
C# hasn’t progress very much in the past few years, but there are indications from the Microsoft MVP Summit that .NET 5.0 will be a substantial advance and will probably be announced at the Build conference later this month; also, channel 9 videos indicate that major changes to the type system will be arriving.
I see myself writing more posts on C# in the future based on these developments as well as from other works of my own such as static analysis and semantic code conversion. I am looking to port a number of popular open source libraries to C# from Python, Objective C and C++ this year and next. These include libraries in numerical computing, natural language and computer vision.
Software entrepreneurship is another area of interest for me to write about. I would like to talk more about unreleased products, but I am worried about intellectual property issues, which is why I have stop communicating about them until they are released.