Newsroom

Developer Blog

This is All Weekend


def
isItSnowing?
  true
end
 
def howMuchSnow?
  if isItSnowing?
    puts “a ton”
  end
end

howMuchSnow?

Filed in: Developer Blog Comments (0)ruby

On Randomness

What does it mean to be random?

To most observers as long as numbers/characters/events don’t show any type of descernable pattern while being observed, those items would be considered to be random.  Coin flips are random.  Dice rolls are random.

There are official definitions of the word random.

From www.dictionary.com:

  • Having no specific pattern, purpose, or objective
  • Of or relating to a type of circumstance or event that is described by a probability distribution.
  • Of or relating to an event in which all outcomes are equally likely, as in the testing of a blood sample for the presence of a substance.

Why is this even important?  Randomness is the key to good security.  Random numbers are used to generate keys used in encryption, they are used in generating hashes, they are used in stream ciphers, and in other areas of cryptography.  In order for messages, data, and identities to remain secure, the random numbers and bytes need to be as unpredictable as possible.

This area of cryptography and mathematics is widely studied.  People are becoming more and more interested in privacy and want their data to be secure.

There are many different ways to generate random data.  Some are very predicable, some are unpredictable, some are fairly secure, and yet others are considered to be cryptographically secure.  The need for the different types depends upon what kind of security is needed for your data.

Stay tuned to future entries about Randomness and how random data can be generated.

Sources:
Wikipedia(Randomness)
Wikipedia(Random number generator)
Wikipedia(Cryptographically secure pseudorandom number generator)
Bruce Schneier, Applied Cryptography

Filed in: Developer Blog Comments (0)

Ruby Implementation Speed Shootout

Check out this write-up that has been written about how fast different implementations of Ruby run.

It points to good things for the next generation Ruby implementation, YARV.  The next release of Ruby does away with the single-pass interpreter that it currently uses and adds a real virtual machine.

Filed in: Developer Blog Comments (0)ruby

Madison Barcamp

I’ve finally decided to go to Madison Barcamp.  It should be a whole lot of fun.  It’s taking place on March 3 and 4 at the Inn on the Park on the capitol square.  Barcamps describe themselves as an un-conference.  What it seems to me is a whole bunch of people hanging out and talking about a bunch of really fun technical things.  The website is http://www.barcampmadison.com.

One of the rules about attending Barcamp is that you have to help out in some capacity.  I’ve decided to give a presentation about Gentoo Linux.

I’m real interested in seeing some of the other presentations, too.  It should be a good place to meet a bunch of people and have some fun learning about a lot of different things.  Be sure to sign up soon.

Filed in: Developer Blog Comments (0)

Google Performs Testing on the Toilet

I’m still trying to figure out whether Google’s Testing on the Toilet blog will actually be helpful.  It’s an interesting premise, though.  According to their blog, they regularly write some stuff about various testing topics, then plaster their bathrooms with what they wrote.  The first official testing entry includes a PDF link that will let you plaster your own bathroom.

This is pretty cool, though.  There are all kinds of rumors about Google’s development process and how it’s extremely agile.  I can’t imagine they’d create this blog if they weren’t big into testing.

I’ll certainly be checking it out regularly to see what kind of tidbits of information they’ve got.  Here’s a handy link for your favorite feed viewer: Google Testing Atom Link

Filed in: Developer Blog Comments (0)agility

Emacs vs. vi - Editor Wars

I ran across a thread on Slashdot [it.slashdot.org] that linked to an article on the Register [theregister.co.uk] talking about Bill Joy, his impending retirement from Sun, and how he created the vi editor.  It’s interesting that someone decided to post a thread about an article that was written almost three-and-a-half years ago.  But, that’s not the point.  It brought up the whole Emacs vs. vi argument.

It seems like this argument rears its ugly head every so often on Slashdot for some unknown reason.  It’s well known in the UNIX and Linux circles that more often than not, developers/sys-admins/etc. either use Emacs or vi to get all their editing done in the terminal world.  It’s a similar argument to whether you like the Xbox or PS2 better.

Which do I use?  Well… if I had to choose, I’d choose Emacs.  I tried… really, really tried to figure out vi when I was back in school, but to no avail.  Even though people tried to tell me that vi was waaaay better than Emacs, I would have none of it.  I turned to Emacs.  For me, Emacs did the job better than vi.  It just seemed more natural.  I couldn’t get used to what I thought were incomprehensible control keys and no easy to find documentation with vi.  So, my entire college career was Emacs-ful and I still maintain that bias.

Truth be told, though… At home, I don’t even use Emacs anymore.  When I need to do some quick editing of a file from a terminal window I just use Nano.  Now, Nano isn’t the greatest text editor in the world.  It’s not even close.  It’s a Pico clone [wikipedia], so you get all the un-robustness (is that a word?) of that type of editor.  Why do I use it?  It’s simple to use.  There’s no hassle in learning all kind of key combinations.  I just want to edit text quickly, and Nano fits the bill.  This may be somewhat of a bias from using Gentoo since Nano is the default terminal editor that is installed, but it works for me.

This gets me thinking.  What does make a good editing program?  I use Nano from a terminal.  For quick text editing in the GUI realm I usually use gedit [wikipedia] (think glorified version of Notepad).  For programming, I use Eclipse.  In the Windows world I’ll use TextPad [textpad.com].

For the most part, the editors I’ve chosen are fairly simple, uncluttered, and don’t require vast tomes of information to figure out how to use.

What it really comes down to, I think, is pure personal preference.  The reason that there are so many different text editing programs available for so many different operating systems is because people’s preferences range so widely.  Still, it seems that there’s a large contingent of developers and sys-admins that treat this as some sort of polarizing thing.  Either you’re with us or you’re against us.  I find the whole Emacs vs. vi debate to be amusing.

Can’t we all just get along?

Filed in: Developer Blog Comments (0)linux

Presentation on January 22

On January 22, 2007, I’ll be giving a presentation at the Madison Rails meeting.  The meeting is at MATC downtown and the presentation should start somewhere around 6:15ish.

The title of the presentation is Web Development Framework Comparisions.  During the presentation I’ll show the development of some administration pages for a simple store application using Java/J2EE, Ruby on Rails, and Grails.  Full demo applications and presentation materials will be forthcoming.

For more information check out the Madison Rails website at http://www.madisonrails.com.

Filed in: Developer Blog Comments (0)ruby

Searching for a Revolution

I ran across a link to an article on Slashdot [Slashdot] that purports to be a list of search engine evolutions for 2007.  What it amounts to is a press release by a company called Hakia trying to garner interest in their search engine product.  The press release dredges up all kinds of search buzzwords such as “semantic analysis” and “fuzzy logic”.  It is a beta product, but even so, if you take a look at the Slashdot comments, others have written that this company really doesn’t do a good job returning relevant results.  I’m sure Hakia would add, “yet” to the end of that sentence.

This does bring up an interesting subject, though.  What would make a search engine better?  And, would it actually make any difference?  Has Google done such a good job pulling all of us in that we won’t look elsewhere for our Interweb searching needs?

Google has some amazing resources at their disposal.  They hire the best and brightest programmers, many of which are Phds that know academic programming.  They have an extremely agile programming process in place.  They seem to have endless money to throw around.  Are they in it for the long haul?  I have to believe so.  I just can’t believe that they’re sitting back on their laurels and not trying to advance the state of searching.

Certainly, even as good as Google is most of the time, their searches could be better.  Hakia is definitely on to something.  Searching needs to branch away from using keywords and meta tags and try to make some sense out of page content in order to categorize it correctly.  Being able to write your searches in the form of a real question is also a good move.  I know that’s been tried before, but I think the problem is that it’s hard to pull out the real meaning of the question and apply it to a search when you’re searching with keywords.

One of these days, some company or individual will figure it out.  How to parse page content and index it in such a way as to allow people to search with more than just keywords so that we can have a better search experience and retrieve better results.

Filed in: Developer Blog Comments (0)

Page 4 of 5 pages « First  <  2 3 4 5 >