Go on, ask me anything

This afternoon, I found a comment which had been trapped in the spam bin for this blog. It was from Andrew Rimmer, in reply to my “micro-celebrity” post, pointing me at http://askjonskeet.com

The world has officially become extremely silly. The surprising thing is, it’s actually useful – at least for me. A number of times I’ve wanted to find my old answers to questions, so I can either just refer to them in a new answer or mark the new question as a dupe. You might have thought that a simple search such as

exceptions site:stackoverflow.com “jon skeet”

would suffice – but that finds what other people have said about exceptions in the same questions that I’ve been active in, and it also picks up any questions which happened to get one of the FinalBuilder adverts when the spider fetched them. The equivalent search on AskJonSkeet.com gets good results.

I’ve no idea how useful it will be for anyone else, but personally I love it. Ego? What ego?

Side note to self, puncturing ego slightly: don’t blog on the tube. It’s way too easy to miss your stop…

28 thoughts on “Go on, ask me anything”

  1. @Shuggy: It’s not bad. I live a 20 minute walk from Tilehurst station, and get direct trains to Paddington. Total door to door time is about 90 minutes in the morning and 110 in the evening.


  2. 200 minutes commuting every day? What a waste of life! I am lucky enough to work from home, it’s great. I think more people should be allowed to do it.

    As for the site, it’s funny!


  3. It would be a waste if I couldn’t do anything useful during that time. However, that’s not the case. During my commute I read books (for reviewing), write blog posts, check email, do Stack Overflow, listen to the radio, etc.

    I do work from home reasonably frequently as well though (1 day every week or two).


  4. So, when Jon Skeet isn’t sure about something, he asks Jon Skeet?

    I suppose eventually this causes a stack overflow?


  5. Hi jon … I was following some of your examples, they have been useful to me. I’m changing from VB to Csharp, exist more code and the syntax is really beatiful (the way the code looks). Now, you said “Ask Everything”, well to begin I like to know how to really protect my code against disassembling, or at least how to protect some crytical modules like encryption from disassembling.
    We’re making a program that need to comunicate with an application in our server, this is private but the client is public. If We send date from public client to private server application somebody (hacker) can deprotect the program and see how the data is encrypted for validating users or sending data even if the alghorythm use public/private key like SSL connections on Internet Explorer (https).
    Well, I hope you can give some ideas, and that you urderstand what I said.


  6. If you’re using SSL, there should be no problem unless the attacker can launch a man in the middle attack *and* persuade the user to accept a different certificate, I believe.

    If the security of your system depends on attackers not knowing your algorithms, your system simply isn’t secure. Many SSL clients (such as Putty) are open source – but there’s no security risk when using them, unless there’s a bug in the code or a new problem with SSL itself.

    You can use an obfuscator if you want, but if your code is relying on obscurity then you shouldn’t regard it as being properly secure.



  7. We’re not going to use SSL (at least not at the begining), what We want to do is make a public application (that can be downloaded by the user from our page) and a server application, both communicating to each other by sockets (port XYZ) and encrypting the information using private/public key algorythm, can still that be secure? What do you think? have a better idea?
    Thanks in advance.


  8. If all the clients use the same key every time, it will still be insecure. Just making the key hard to find is “security through obscurity” – which might be better than nothing, but it’s not really secure.

    You can use a Diffie-Hellman key exchange to get any particular client/server channel encrypted, and use a public/private key to make the client check that it’s not talking to a fake server. (You can’t really make the server check that it’s talking to a valid client, precisely because the key is in the hands of untrusted computers.)

    I suspect you’d have a simpler time just using SSL though :)



  9. Thanks I really appreciate your advices … to be honest I usually talk to people (experts like you) behind blogs or any kind of remote communication because the city where I live don’t know persons with a good degree in this area and have the opportunity to talk and learn from them personally.
    As I mentioned before I’m chanhing from VB to CSharp so I don’t know how to enable SSL connection from a Windows Application (not WEB) to a server socket application (not WEB). Any idea or any tutorial (link) to start on?
    Once again thanks in advance, and thanks for taking the time to answer my questions.


  10. Jon,

    That site is really a nice tool, even if it is a bit narrowly focused. I requested that feature for every user on Stack Overflow (the ability to search each individual user’s activity, not the ability for individuals to search your activity) a while back, but I guess now it’s a low priority. :)


  11. You commented on my question about generics in constructors. Was going to pass along what I am trying to do and see if there is a better fundamental way to achieve my goal.

    What I have is a Service object that deals with Notifications, one thing I wanted to pass in was another service that deals with replacing tags in notification messages (lets call it the processing service). This service is generic and takes in an object that needs to have attributes on properties that would be the tag names to replace in the message. I would like the container service to be able to take in the appropriate Processing service in but I would like to deal with the generic type at this level. I would rather not make the whole container class generic, but it would not kill me. What do you think?


  12. @John: This isn’t really the ideal forum for a discussion like this. The title of this blog post wasn’t really meant to be taken literally (for this blog). It’s probably best if you mail me (skeet@pobox.com) to discuss this further – or ask another question on SO.


  13. hey im curently training and well iv come across a lil prob iv got the sql server dvdrom and well i have installed it ages ago when i first started out about a year a go and now im finding hard to track down a database called northwind can you help ??


  14. Andrew said, “You can search your posts here:- …”

    And the scariest thing is I already knew my user ID number by heart…


  15. @Andrew wrt the per-user customisation: Brilliant! Now all it needs is the ability to return results in RSS, XML or JSON formats and we could all embed ego searches into our own web-sites!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s