Click here to Skip to main content

Proto-Bytes - Professional Profile

@AlexanderWykel

Summary

3,115
Author
784
Authority
1,052
Debator
130
Editor
22
Enquirer
308
Organiser
314
Participant
I’m a self learned wiz kid turned Architect. Stared with an Apple IIe, using AppleSoft Basic, ProDos and Begal Basic at age 10.
 
Picked up LPC in college before the Dot Com Explosion. Wrote some Object C in the USAF for one of my instructors. Got a break from a booming computer manufacture testing server software. Left the Boom and went to work for a Dot Com built from the ashes of Sun Micro in CS. Mentoring in Java solidified me as a professional developer. Danced in the light of the sun for 13 years, before turning to the dark side. An evil MVP mentored me in the ways of C# .NET. I have not looked back since.
 
Interests include:
 
~ Windows Presentation Foundation and Silverlight
~ Parallel Programming
~ Instruction Set Simulation and Visualization
~ CPU to GPU code conversion
~ Performance Optimizations
~ Mathematics and Number Theory
~ Domain Specific Languages
~ Virtual Machine Design and Optimization
~ Graphics Development
~ Compiler Theory and Assembler Conversion Methodology
~ CUDA, OpenCL, Direct Compute, Quantum Mechanics
 
IEEE Associate Member 2000
Member since Tuesday, December 26, 2006 (7 years, 8 months)
Account Type: Organisation (No members)  

Contributions

Articles 4 (Writer)
Tech Blogs 0
Messages 579 (Regular)
Q&A Questions 0
Q&A Answers 1
Tips/Tricks 3
Comments 0

Links

Reputation

For more information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege, and the given member types also gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilverAdmin
Store personal files in your account areaplatinumplatinumSitebuilder, Subeditor, Supporter, Editor, Staff
Have live hyperlinks in your biographybronzebronzebronzebronzebronzebronzesilverSubeditor, Protector, Editor, Staff, Admin
Edit a Question in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Edit an Answer in Q&AsilversilversilversilverYesSubeditor, Protector, Editor, Admin
Delete a Question in Q&AYesSubeditor, Protector, Editor, Admin
Delete an Answer in Q&AYesSubeditor, Protector, Editor, Admin
Report an ArticlesilversilversilversilverSubeditor, Mentor, Protector, Editor, Staff, Admin
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubeditor, Mentor, Protector, Editor, Staff, Admin
Edit other members' articlesSubeditor, Protector, Editor, Admin
Create an article without requiring moderationplatinumSubeditor, Mentor, Protector, Editor, Staff, Admin
Report a forum messagesilversilverbronzeProtector, Editor, Admin
Create a new tagsilversilversilversilverAdmin
Modify a tagsilversilversilversilverAdmin

Actions with a green tick can be performed by this member.


 
NewsMillion Dollar Ideas... PinmemberTheArchitectmc5-Jan-10 3:42 
NewsBig O Algorithm Analyzer for .NET PinmemberTheArchitectmc25-Jul-09 3:51 
NewsBig O Algorithm Analyzer for .NET - Febuary Update PinmemberTheArchitectmc28-Feb-10 13:54 
This project started out as a research project on proving some things about algorithm complexity in a rant I had in a thread in the section of coding horrors:
 
Sith Interviewing Tactics[^]
 
The rant was about the fact that I was forced to design an inferior algorithm to demonstrate I understood the concept of recursion. After much debate about the interview and methods of solving the problem the interviewer asked me to solve I decided that I needed to study and research 'Big O Notation' and better understand algorithm complexity. Something I have never done because I have been gifted with the ability to write code since the age of 10 and have been writing computer programs ever since. During my Carrier as a developer I was professionally mentored by Developers that created the Java Programming Language. I never felt that I wrote inferior code after this mentoring since they showed me all the best practices for writing high performance server code.
 
While researching the subject of Big O Notation I cam along a thread on a MSDN, a comment was made to someone asking if a tool existed that could analyse an algorithm and return the Big O Notation for the algorithm.
 
Original thread: C# and Big-Oh notation[^]
 
One developer made the comment:
'I have to admit that I don't know anything about code analysis tools. I'd doubt they could do big-Oh analysis, it requires the kind of computer you have between your ears to pull off tricks like that...'
 
Having had much study in the field of statistics I knew this not to be true, and that in fact it was very possible to analyze an algorithm as it runs in time take that as a control set of data, and then run it thru a statistic to see of there is a correlation to a known linear, logarithmic, exponential, or other kind of line. I responded with a few quick demonstrations showing how easy it is to look at the numbers and see this is a possible solution. After much thinking about the problem, I developed a heuristic using Persons Rio Statistic which correctly picked the right Big O Function for a given set of functions.
 
What I did not expect to happen what that the research would prove that a mathematical proof for an algorithm using standard Big O polynomial analysis could show that the algorithm under test did not fit the profile. It because obvious that this is due to other factors that mathematics are not looking at such as: CPU, and compiler. While the written code might be a linear solution the engineered solution may not run in liner time, due to hardware and compilers.
 
So I have updated the project with this conclusion, and I have also found that this is the only kind of solution that has ever been created that can accomplish this task. I believe this technology will help mathematicians and engineers to understand how to better design their algorithms and help academics understand the 'Proof in the Pudding' concept as it relates to theory and practice. While it may not add much over all value to the field of algorithm development, it should serve as both a good way to see how close an algorithm scales and how it will perform in application verses theory.
 
I will continue to work on this project and hope to soon have a version hosted on the CodePlex which allows for an algorithm to be entered in real time and analysed while it is being developed. I also have plans to decompile the algorithm and do a complete mathematical proof using the tried and true 'Big O Notation Polynomial' method to give the compiled, native, and live results of the analysis. I will also be adding memory profiling for discovery of the complexity of the Big O function in terms of memory growth, stack, and heap growth of the algorithm. I believe this would be a truly useful tool for mathematicians, engineers, academics, developers, architects, and quality analysis.
 
If you would like to join in the process of co-developing this solution, just let me know in this thread.
 
Cool | :cool:
GeneralXAML Graphics Series PinmemberTheArchitectualizer17-Jun-09 12:45 
NewsRe: XAXAML Graphics Series - Part 2 Silverlight 2.0 Desktop Art Animation PinmemberTheArchitectualizer18-Jun-09 17:02 
NewsRe: XAXAML Graphics Series - Part 2 Silverlight 2.0 Desktop Art Animation PinmemberTheArchitectualizer25-Jun-09 10:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.


Advertise | Privacy | Mobile
Web01 | 2.8.140916.1 | Last Updated 19 Sep 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid