DCSIMG
ISerializable in Israel
It's pretty awesome - go have a listen to the first show about quality software.

 

Posted by Royo | with no comments
תגים:,

Want to start with Ruby and Rails and have no idea where to even begin?

Check out RailsInstaller.org - it contains pretty much everything you need to get started, in a way that is very easy and painless.

 

RailsInstaller 1.1.1 Demo from Engine Yard on Vimeo.

The video on that site will tell you everything you need to know to get started on your "hello world" website, including using git, pushing to github and generating rails related views. 

 

Posted by Royo | with no comments
תגים:, , ,

during QCon 2011 in London, I gave a talk about the new qualities that team leaders need to make agile succeed. It's a very small fraction of what I cover and coach during my upcoming course.

See the full video here

some of the things I cover include top mistakes that team leaders do with teams. most of these are closely related to elastic leadership principles - changing the leadership type based on the team's current maturity.

Posted by Royo | with no comments

if you've ever wanted to learn ruby on rails in Israel, but didn't know how to start on your own, I think you'd find this very interesting! (no, I am not teaching it. someone with much more experience than me is)

Web Development in Ruby on Rails

Course Number 4564 – 40 Hours

Overview:
This is an introductory course to Ruby on Rails, a popular, open-source framework for developing Web applications. Developers (and the organizations for which they work) love Rails, because it allows them to create high-quality applications quickly and reliably. Both Ruby andRails embrace object-oriented programming to a very large degree, also embracing (and encouraging) the use of “metaprogramming” to turnRails into a library that is especially useful and tuned for creating a particular Web application.
The course begins with an overview of the Ruby language, and then progresses through the major elements of the Rails framework, including numerous hints for getting the most out of it. The course concludes with participants building a Web application that is of personal interest and value, using the skills that they have learned during the course.
Course Contents:
  • Ruby language
  • Introduction to Rails, and ActiveRecord
  • Controllers, views, and helpers
  • Ajax and advanced topics
  • Personal project
Posted by Royo | with no comments
תגים:, , ,

I wrote a long and difficult blog post on my findings, 6 months after switching full time to Ruby development, about the Ruby community and its differences from the .NET community, and how Microsoft helps make those differences even bigger.

I think every .NET developer should read about these experiences.

Posted by Royo | with no comments
תגים:, , ,

Hi all.

Next week the Ruby Underground meeting is actually taking place in Microsoft in Herzliya.

The topics of the meeting will be about Sinatra, and a glimpse of one developer's development environment and what tools they use on a daily basis.

It is totally free to join, and if you're interested in Ruby at all, this is a warm and welcoming group of people who'd love to help you learn!

Sessions:

 

  1. What, why and when of Sinatra? Why not Rails?
  2. Hello world. (building a live app)
  3. Routes. Views. ActiveRecord?
  4. Testing.
  5. Overview of advanced stuff.
  • BREAK

My development environment (50 min) by Reuven Lerner

I've been developing in Ruby for about six years now, and have assembled over time a number of tools that provide me with an environment optimized for rapid development.  I'll demonstrate the tools that I use, starting with the GNU Emacs editor and several add-ins for it, the Rails console (and IRB) and a number of useful gems for it, my Git configuration, and the configuration I've set up for my Unix shell.

see you there,

Roy

Posted by Royo | 1 comment(s)
תגים:, , ,

Ever wondered what all the fuss is about when people talk about Ruby and Rails?
Now's your chance to get in on the inside loop and join a rapidly growing community of practice here in Israel on this very subject.

We've started a new user group for Ruby and Ruby on Rails development in Israel, called Ruby Underground.
  • Find out why sites such as GitHub.com, Twitter.com, Hulu.com and many others chose Ruby on Rails to run on.
  • Learn a new programming language and framework that is vastly different from .NET
  • Get out of your comfort zone and become a better developer by expanding your horizons
  • It is fully FREE to join and I invite you all to join our very first meeting taking place on the 24th of this month (next thursday!) at 18:00.

    more details at : http://www.meetup.com/Ruby-Underground-Israel

     

    DETAILS

    Our first ever meeting  will be divided into two main parts:

     

    • 18:15 - 19:15 : introduction to the ruby language, state of mind and way of doing things
    • BREAK
    • 19:30 - 20:30: introduction to ruby on rails programming
    (no, it is NOT about Iron-Ruby. Just Ruby!)

     

    The speaker is Michael Mazyar from Astrails.com

     

    Posted by Royo | with no comments
    תגים:, , ,

    Continuing this thought, one of the more interesting answers that came up at teh TechEd Architecture panel by Guy Ron is that the Software Factories initiative is most likely to fail from the evidence thus far. He mentioned a big project for the healthcare industry (HL7 Software Factory) and how, even today, a long time after it started, it still has not finished. Microsoft was trying to build (with third parties) the full object model of the HL7 so that applications can be built against it.

    For now, it has proved too complicated to come up with such generic components to be reused in “factory floor” applications, which may be a testament to upcoming difficulties that the software industry will face when trying to get on board with this methodology.

    Guy mentioned that it may prove useful for only smaller scale projects and domain (like UI) and not for “real world” domains.

    That’s an interesting thought that I had not considered and I can certainly see the logic behind it. Personally, I’m not sure about Factories. I think they are a step, some step, forward. We’ve only been doing this for a few decades. We have a lot to learn. Software is still a craftsmanship, and not a manufactured product. How do we move to that
    Posted by Royo | with no comments

    Q: Software Factories and UML

    Has Microsoft Abandoned UML?

    Is the Domain Specific Language path so different than UML?

    Can they be combined?

     

    From what I’ve seen so far, and from talks I had with various people (including Steve Cook, from the original UML Team, now at Microsoft), Microsoft have sort of “adapted” an easy to use and understand version of the UML. They took the basic idea of shapes and arrows and made it work on the level of a specific domain which is in turn used in a Software Factory.

    Most people I know have done *some* UML, but most only know how to use maybe 3 or 4 types of UML Diagrams, let alone using UML Protoypes and such stuff. The main problem people face with UML is that using it to draw shapes, it then makes you give *specific meaning* to those shapes in your own domain using prototypes.

    Instead of using proptypes on the UML (which are very time consuming) Microsoft has taken some of the simplest ideas and made them part of the tooling strategy. So when you draw a shape, you’re actually drawing some sort of *real* entity in your domain. You can then manipulate it and use it to build real code, and it (should) reflects changes in the real code.

    The notion of a software factory is, to me, taking the UML shapes and giving them real meaning inside the tools. Not only that, to be able to create meaningful shapes for specific projects easily.

     

    I still use UML to a degree – whenever I draw shapes on the whiteboard I draw UML. Whenever I want to make some interaction clear I draw some sort of interaction diagram. But that’s basically it. IN projects where you are forced to write so much documentation and use cases using UML it usually turns out to be a very complicated set of design docs that developers have trouble reading. When they finally get to reading the whole thing its usually way out of date anyway and one has to talk to the man who actually wrote the thing. See? *Communication* always wins.

    Instead, what I try to do is have less documentation (butt enough to get things going) which can help start good conversations with the designer/architect in that project. In an XP project that’s could be the team lead.

     

    So, in short – UML is too complicated, most people don’t know even half of it. Microsoft tries to make it simpler and more usable in the real world of its tools.

    Posted by Royo | 3 comment(s)
       

    On the first day of Tech-Ed, on the assembly Talk (the one that takes two and a half hours), Steven Sinofsky, the new manager of the windows division, went up on the podium to talk. He was on after a couple of short films (whihc were funny) and a short introduction from Lior Tzoref (the official teched blogger who won't take comments). There was magic in the air as 3 thousand people watch Steve go up onto the podium to talk about his vision for a better windows.

    This was the main assembly at the conference. Surely there were going to be some amazing demos of Windows Vista, XBox, or anything else that has the word "cool" as an alias these days.

     

    Then Steve said something like "I'm pretty much new to Windows division, but I'm coming from Office, which I know much about". Silence.  I got the weird feeling that this talk was not going to be as great as I'd hoped.

     

    Then Steve said something like "so let's talk about the new XML features in Office Server intropdkj standradslsdfjnsdfsc...". That was not a typo. There was so much noise in the great big tent where we were sitting that I couldn't hear what he was saying. People were moving their chairs backwards and started leaving the tent.

     

    It was awful. From a full tent of 3000 folks, probably less than 1,000 stayed on to hear Steve Talk. I was not one of them - I left with a good excuse. I had a talk coming up later that day that I wanted to get ready for, and this was simply a big waste of time.  

     

    So why did people leave?

    • The Israeli Crowd is a big mess of impolite rude people who don't have an ounce of patience to hear something they are not interested in. That said - their actions have reflected the awful truth - this was a very bad judgment call on Steve's part.
    • You *don't*, you just don't, talk about Office and XML features in a main Assembly of TechEd, where "cool" is supposed to be uttered every 3-4 minutes by the attendees.
    • You don't let people out during the main assembly.
    • You don't save the Vista demos for the end of a 2.5 hour talk.
    • You get more videos and "cool" stuff going.
    • You make sure there is good wireless reception in the tent, so that people will at least check their emails instead of leaving searching for a hotspot.
    • You expect a crowd of people, many of who are not that technical after all, to sit and listen to a talk about XML and office while there is a pool, hotspots and beautiful girls outside the tent?

     

    For once, I agreed with the crowd and went on my way. Even so, that's 30 minutes out of my life I'll never get back.

    Posted by Royo | 2 comment(s)
    Oh.My.God.
    What a great experience this Tech-Ed Israel has been!
    My Session about Deep Reflection went very well, if I do say so myself. It felt smooth ,and the only thing I'd change is that I'd take less questions from the audience next time.
     
    First, here are the slides and demos for this talk that you can download and play with.
    Here are resource links from the talk:
     
    It's funny how, in this 400 level session, a guy came up to me right after the talk finished and said something like "you didn't explain what Reflection was". After explaining to him that my session was meant for people who already know some reflection (as I mentioned at the beginning of my talk) he said "OK, so you can tell me in a sentence what Reflection is?". I did. And he said "Great talk" and left.
    I'm not sure if he was just polite, but it was a weird experience after all.
     
    My talk finished with a sentence my wife actually came up with (ain't it fun when you wife is a developer too??!!) which goes something like
     
    "We are standing here in Eilat, where the mountains Reflect beautifully on the water during sunrise and sunset. The next time you witness a beautiful, romantic sunset, I want you to think about Reflection, And me."
     
    It certainly left an impression, and seems to be just about the only thing people remember from that talk ;)
     
    In any case, if you were in my talk, I'd *love* to hear your comments (good or bad!) about it so that I can either feel good about it, or get better for next time.
     
    Posted by Royo | 1 comment(s)
    Here's what you look like to your parents when you explain to them why your new laptop was worth $2,500:
     
    I swear, it's sad as it is funny.
    Posted by Royo | with no comments
    "PowerShell" ?What a stupid name for a product known as "Monad"! Sounds like one of the things I'd download at TuCows for $15, doesn't it?
    Posted by Royo | 2 comment(s)
    Scott is so totally wrong - it hurts to read. He thinks  FAR and xplorer2 are the best explorer replacements ever, but personally I think once he tries Total Commander, he'll never go back (the UI looks like an oldie, but it has more features than both combined, methinks)
     
    Oh, and have I mentioned how much I like Larkware yet? I like it a lot! Unfortunately, I haven't had enough time lately to check it out, so here's a collection of links posted there in the last month or so, which I find interesting:
    • cl1p.net - Make up your own URL, paste in data, go to another machine, visit the URL, copy the data back. An easy way to use HTTP to transport data between computers.
    • csUnit 2.1.1 BETA - This unit-testing tool for .NET now supports .NET 2.0 and Visual Studio 2005.
    • Automise - VSoft has released their general-purpose automation utility, with a GUI based on the fantastic FinalBuilder. You can download a 30-day eval copy here, or license it starting at $195
    In other news
    • NUnit 2.2.5 Released
      This is an update to the recent 2.2.4 release, the first new production release of NUnit in over a year. See this blog entry for a summary of features and links to the release
    • Ohad keeps making his Beat-Box Demo cooler and cooler.It's for Tech-Ed Israel and demonstrates creating a beat mixing application that uses EntLib for all it's backend stuff.  I saw this live and this is indeed a demo for the books. In fact, he should distribute it after Tech-Ed Israel with source, because this is one cool demo!
    That's it. Nothing else interesting happening out there for us .NET techies.
    Really. I swear.
    Posted by Royo | 2 comment(s)

    My upcoming Tech-Ed Talk in Israel will be all about what’s new and Cool in .NET 2.0 Reflection. Over the coming weeks until TechEd, I’ll supply links and information detailing the stuff I’ll be talking about.

    For the past three weeks or so I’ve been totally immersed in Reflection-Land.

    There are seriously cool things going on behind the scenes, and, frankly,  I was surprised at the amount of new stuff that is now possible.

    One of my favorite features is the new ability to reflection over a Method’s Body. That is, get the actually IL for the method in the form of a Byte Array. You can then parse the IL and do what ever you want with it (including building your own version of reflector, for example).

    This is possible due to a new API added on the MethodBase class, called: “GetMethodBody()”. You can then use the resulting “MethodBody” object and invoke it’s “GetILAsByteArray()” method.

     

    It’s really quite simple.

    Parsing the Byte Array is a different matter, though. I’ll talk about that in a future post. For now, suffice to say that you can do wonderful things once you have the IL.

    You can basically get the IL from any MethodInfo object at runtime and parse it (for security reasons, you might wanna make sure that there are no method calls to a specific method from any plugin you are about to load)

     

    I was also able to create a MethodInfo Debugger Visualizer, based on the code released here by a guy from the Reflection team. His visualizer shows the IL for a DynamicMethod object at debug time (that’s also a new class I’ll talk about in a future post). It took me a day or so to figure out how to extend it to show the IL for any method info object during debugging, and it works quite well!

    In fact, you can now write a method that writes its own code in IL J

     

    All that and more, in the near future, I promise J

    Meanwhile, here’s a nice post form Joel Pobar, highlighting some of the new features in Reflection 2.0. I’ll be elaborating on these more, but you can follow the links on his post as well to discover a whole new world of possibilities.

    Posted by Royo | with no comments
    More Posts Next page »