| | Last week at the codeface was rudely interrupted for a couple of days by by a stinking head cold that thankfully has moved on. We've had more entries for Contest 40, which should be marked again by the time you read this (four entrants now) and Contest 41 will appear by Wednesday or Thursday. As a heads up for that, take two list of 500,000 numbers and just output the numbers that are different as fast as possible. Simple! Make it a good week! | | Comm100-Open Source Web Forum Software PHP has the advantage over ASP.NET of having being around longer, easier to get into cheaper hosting and consequently there are many more packages around. However ASP.NET open source does exist and Comm100 Forum Software is an excellent example of it. It's an ASP.NET forum web application written by Comm100, a Canadian company. They also provide free forum hosting if you don't want to host this yourself, but otherwise you will need SQL Server. With separate control panels for admins, moderators and users, fine grained permissions, configurable look via template, sticky topics, and unlimited forums and much more it's pretty much what you want from a web forum. I think you'd need either Full Visual Studio or possibly the Visual Web Developer and Visual C# Express to make changes and rebuild it. I installed it on my PC and have spent all morning arguing with myself in my own forums! It ended badly, I banned myself! | URL Shorteners - The maths My computer science degree was about 75% maths, back in the dark ages before the Internet and personal computers existed so I still have a fondness for a bit of maths. A URL Shortenening site like goo.gl, tinyurl.com, bit.ly etc provides an indexing mechanism. A long url is stored in a database table and the index of that row or some key for it is converted into a short alphabetic code. As the alphabetic code shouldn't be too cryptic or difficult to type it's often restricted to letters, digits plus a few easy to recognize characters such as +-. A-Z and a-z is 52 characters, 0-9 adds another 10 and +- makes 64 in total. If we choose a 5 character code (e.g. A6gR4) then that gives us 64*64*64*64*64= 645 which is 1,073,741,824 aka one billion! Add a 6th digit and it increase to 64 billion or stick with 5 characters but use two extra characters like * and / and it increases to 1,252,332,576 which is another 250 million. This technique can be used elsewhere. Many messages can be written using a small subset of words in the English languages- says 2,000- 5,000 words. If each word is stored in a table then communication is possible between two people holding a copy of the table by just sending the index of each word in the message. Better still, this can be used as a one time pad by by adding a level of indirection and changing the indirection each time messages are sent. Consider the message "Steal red car Plate abc" where steal is stored in the database at index 501, the is index 5, red is index 72, plate is index 41, a is index 1245, b is index 865, c is index 1204. A one time pad might add 6 to each index or some other reversible method. So the message is first converted to the indices then modified by the one time pad, sent to the recipient and then reversed. Yes there is a URL shortener, in C#. It's actually in ASP.NET MVC 2 and by François Karman. JobPing is an MVC 2 web app and powers the Job search website jobping.com. | Program Your Mac in C# It's been a good week for C# what with the Windows phones being launched (No I don't have one!) and now MonoMac which is a new foundation for building Cocoa Apps on OSX using Mono.< It's provided as an add-in to MonoDevelop, the IDE for developing desktop and ASP.NET Applications on Linux, Windows and Max OSX. The purpose of the framework is to provide bindings of the Objective-C Apis in OSX so they can be used by .NET. It helps that .NET was designed to be an interoperable framework. MonoMac isn't complete yet but enough bindings have been done to start creating C# Apps that run on Mac OSX. specifically these: - AddressBook (done)
- AudioToolbox (done)
- AppKit (About 10% left to be done)
- CoreAnimation (done)
- CoreFoundation (the parts that are needed, see the design principles)
- CoreText (done)
- CoreLocation (done)
- CoreData (done)
- CoreGraphics (done)
- Foundation (the parts that are needed, and helper tools to support the rest)
- WebKit (Missing DOM code)
Course they'd love to have contributors helping to bind the other frameworks and do other tasks. Scroll to the bottom of the MonoMac page for details if you're interested. | Other Blogs You might find Interesting This is a list of Blogs that you might find interesting. | | | | C / C++ / C# Ads | | | | Featured Articles | | | | | | | | Sign up for more free newsletters on your favorite topics | | | | You are receiving this newsletter because you subscribed to the About C / C++ / C# newsletter. If you wish to change your email address or unsubscribe, please click here. About respects your privacy: Our Privacy Policy Contact Information: 249 West 17th Street New York, NY, 10011 © 2010 About.com | | | | | Must Reads | | Advertisement | |
No comments:
Post a Comment