.Net On Lego Mindstorm 132
troop23 writes "A blog posting by Benjamin J. J. Voigt says this "The University of Potsdam has a project to develop a .NET VM for the Lego Mindstorms system. Lego Mindstorms just got a higher priority on my shopping list!" While the thought of using .Net to program Lego Mindstorms may not be palatable, having a mainstream dev environment sure is." Perhaps Mono would work just as well.
Is Lego back on firm financial ground? (Score:5, Interesting)
Re:Is Lego back on firm financial ground? (Score:5, Interesting)
The only thing that could kill Lego would be someone competing with Lego and doing Lego better--in which case your kids would have leogos, just with a different name.
Re:Is Lego back on firm financial ground? (Score:5, Informative)
Re:Is Lego back on firm financial ground? (Score:3, Interesting)
The cash flow dropped by 25% in 2003 alone. So they want to cuts 500 jobs by 2006.
You can read more at
http://www.wdr.de/themen/kultur/stichtag/2004
(German only).
Re:Is Lego back on firm financial ground? (Score:5, Informative)
See here (January 2004) [lego.com] and here (March 2004) [lego.com]
There was quite a kafuffle shortly after Christmas of last year when LEGO announced their shift in direction. Quite a large number of people were very concerned that LEGO would be dropping Mindstorms. Flurries of posts on LEGO discussion lists and even letters directly to LEGO were filled with remarks much to the effect of "What?!?!? Why is LEGO doing this?" LEGO issued the January press release above to abate those concerns. Also mentioned above is a March release in which they restate the Mindstorms is one of their core products and they will *NOT* be dropping it.
First Lego League [firstlegoleague.org] is also very dependant on Mindstorms, and I don't think they're going away anytime soon.
Re:Is Lego back on firm financial ground? (Score:2)
Did you try asking them why? That's just plain bizarre.
Anyways, LEGO itself has not discontinued Mindstorms so if you were so inclined, you could always buy it through LEGO S@H [slashdot.org].
Re:Is Lego back on firm financial ground? (Score:1)
Mindstorms did well, and it was compatible with the rest of Lego. For a start - they still included beams. While the liftarms are a useful addition - I dislike the way the technic beams have been phased out of most technic models in favour of the liftarms. My beginner students (in the OrionRobots
Re:Is Lego back on firm financial ground? (Score:1)
If that's a financial flop for Lego, I don't want to know how they survived this long.
Re:Is Lego back on firm financial ground? (Score:2, Funny)
Re:Is Lego back on firm financial ground? (Score:4, Informative)
I only just got out of there yesterday without buying a giant orange robot looking just like EVA-00, with instructions for four or five alternates. They've got a pick-and-mix section at the back where you can take a big tub - like the ones you get drinks in at the cinema - and fill it with your choice of pieces. Classic models - like the pirate ships your parents would never buy but you can now afford yourself! muhahaha!
Um, sorry, got a bit carried away... but I think Lego are getting the idea lately, and realise what their market really is.
Re:Is Lego back on firm financial ground? (Score:2)
Re:Is Lego back on firm financial ground? (Score:3, Interesting)
It's been done [ericharshbarger.org].
Re:Is Lego back on firm financial ground? (Score:3, Insightful)
Respoinding to consumer pressure (Score:3, Insightful)
It used to be that Lego was about the most interactive toy/game available. Build and break stuff and make it work.
These days there are far more stimulating interactive alternatives (computer games etc). Given the choice between an XBox and a Mindstorms set, most kids will choose the XBox. Lego's core biz is suffering in this competit
Consumer shift, but not by children... (Score:1)
Why? (Score:5, Interesting)
Re:Why? (Score:2)
Re: why? (Score:5, Interesting)
Bluetooth [engadget.com] modules are apparently also available for this device. Engadget [engadget.com] has a description and a link to a cool video of this Gameboy/Lego interface in action
Re: why? (Score:1)
Re:Why? (Score:4, Informative)
C/C++ (which the parent article asked about - is really just a language (like C#) and not a runtime). The biggest distinction is that the runtime will address issues like loading code dynamically. Had they simply ported C/C++ there would have been a whole lot more architecture-specific battles to fight (a.out vs elf, etc).
Re:Why? (Score:2)
Despite their names, they are not binary compatible and barely source compatible as you'll soon find if you try to port even the simplest app.
Once you take away cross-platform "write once" functionality, what was the point of using a interpretive runtime again? You'd be better off
Re:Why? (Score:4, Insightful)
You will find a lot of the J2ME and J2SE are not binary compatible and barely source compatible if you try to port the simplest app. The "Write once, run anywhere" argument doesn't really stand up here IMHO.
Re:Why? (Score:5, Insightful)
Do you think those Java capable mobile phones have the full blown Java API on them, and run standard non-preverified class files?
Re:Why? (Score:2)
To elaborate, J2ME is not J2EE. You have a very limited API. Vector isn't supported. Neither is Serializable. Most of the IO is stripped out (you can add some back in through special extensions; most phones have some of that stuff so that J2ME can send SMS messages) UI is completely different, and only supports 4-5 primitive objects (List, Menu, Canvas, Textbox)
Images aren
Re:Why? (Score:1)
They _are_ binary compatible,
Re:Why? (Score:2)
Re:Why? (Score:1)
After all the project is done by a middleware focused group, so they want to connect different platforms I assume
Re:Why? (Score:2)
As you said it doesn't make a lot of sense to write a VM for the RCX, given the limited space and horsepower. I suppose it gives cross platform testing capability, but even so a language like NQC seems more effective. At any rate, it's still a cool hack.
Re:Why? (Score:4, Informative)
Re:Why? (Score:5, Insightful)
Anyways, while you're right a VM is less than ideal for embedded systems, there are embedded Java VMs that people use and to a lesser extent there are people that use python and perl in embedded systems. Sometime it just makes sense to choose a solution that requires more computing power because it allows you to program faster. In fact, I think if there's any case of an embedded system where a VM isn't a big deal it would be one that's just for fun, not production, that is, the exact market of lego mindstorms. I mean, it's really a lot like Basic stamp microcontrollers. It doesn't make sense to build a product around them, but if you're just messing around with stuff there are plenty of people who don't mind paying more so that they can write their code quicker.
Re:Why? (Score:5, Informative)
Reality sunk in, and the embedded systems market just didn't like the idea. Training people in the new language was going to be expensive (compared to the status quo), and most were skeptical about the utility of a VM. The concern being that you typically need or want access to specific available resources that an abstract interface can't provide.
Seems marketing shifted gears and started pushing applets and the web. Went okay for them in the end, I guess.
emebedded jvms (Score:1)
alot fo JIT compiler tricks nad scaling back fucntions make an embedded vm highly tunned for that environment but a pian inthe ass to write for..
Not the same pian you got from writing game smid 1980s in assembly for small memory machines but similar challenges no matter what VM technology you are writing to..
The only difference is that we somewhat better toools in IDEs and code analysis to help us along the way
Re:Why? (Score:2, Insightful)
Re:Why? (Score:1)
Re:Why? (Score:1)
No, we're talking about a Lego toy. It ships with an interpreter in the firmware. The kiddies aren't writing optimized assembly code, they drag and drop GUI lego bricks that say "If" and "While" on the bricks.
Sheesh. It's not like giving it .NET is going to make it Enterprise-ready. Who cares if it's slow?
Java VM (Score:5, Informative)
Re:Java VM (Score:3, Insightful)
Re:Java VM (Score:2)
Re:Java VM (Score:1)
FIRST Lego League (Score:3, Informative)
Re:FIRST Lego League (Score:1, Interesting)
Unfortunately, this probably won't change anything. I did want to program in higher-level (or lower, whichever way you look at it) languages, but they didn't allow "external" programming languages.
(
If you want C/C++ the best thing to use is (Score:4, Informative)
BrickOS has its own firmware and supports threading and all the basic C/C++ functionality.
See:
http://brickos.sourceforge.net/
It's still on your shopping list? (Score:2)
And anyway, within six months we could code on something approaching C on the thing; I don't see why
Mindstorms Robot (Score:4, Interesting)
Re:Mindstorms Robot - with GameBoy microcontroler (Score:1, Interesting)
It's programmed 100% in C, is Bluetootha? enabled, etc. [engadget.com]
Re:Mindstorms Robot (Score:1)
Put down the Crack.Net pipe (Score:3, Insightful)
C, or assembler, or Forth.
-- John.
Re:Put down the Crack.Net pipe (Score:2, Interesting)
Both have a very similar stack, and both do all their operations on the stack in the same way.
Some of the first java chips were modified Forth chips (from patriot scientific). Others (the one from icompression) were very simple stack-based designs as well.
What advantage do you think Forth has over a VM? Both do well o
Re:Put down the Crack.Net pipe (Score:3, Insightful)
But say you want to take the VM approach, I suppose one is as good as any. Forth has the advantage though of being older, tried, and tested.
To my mind the main things going for Java and
Frankly though most uCs do just
Re:Put down the Crack.Net pipe (Score:1)
Java Controlled Inverted Pendulum [feedroom.com] (seek to 22 minutes into the presentation)
Re:Put down the Crack.Net pipe (Score:3, Interesting)
NQC? (Score:5, Informative)
NQC (Score:1)
Of course I still got bored with it right away... but it sure was cool
Parrot? (Score:1, Funny)
Why? (Score:1, Informative)
Cool but beware... (Score:4, Funny)
Re:Cool but beware... (Score:1)
Yes. (Score:4, Funny)
I, for one, welcome our new Microsoft powered robotic overlords.
Developing for the Mindstorms brick (Score:5, Informative)
NQC (Not Quite C) is compiled to Lego bytecodes. BrickOS programs are compiled to H8 with gcc. There are also Forth and Java environments.
Given the range of options available (for *nixen, Windows, Mac...) I'd have to say in this case "mainstream" must mean "Microsoft".
IDL Libraries? (Score:3, Insightful)
Re:IDL Libraries? (Score:5, Informative)
Great now you'll have to include 60 MB of IDL code to run any program. Where do these ideas come from? Who would think to port a bloated server app development API to a portable device. .NET is loved by managers who think they can dumb down their server side code so any H1-B can do it, that's about it. Nobody even uses .NET for desktop apps, so where'd the idiotic idea that it would take off in a portable environment come from. The main reason I refuse to use .NET for desktop apps is the 60 MB IDL needs to be included, better to VB 6 or anything else for that matter. M
I would imagine most of that 60 MB is the .NET framework library, only a fraction of which you'd really need to port to portable devices. Stuff like ASP.NET, Winforms, the entire System.Drawing namespace probably wouldn't be needed. At the very core you'd only need an execution engine, which is basically an IL interpretor, and perhaps a partial implementation of the System namespace. Yes, there's bloat, but certainly nothing like 60 MB, and for something non-critical like Lego Mindstorms, the bloat would be acceptable to me.
Re:IDL Libraries? (Score:3, Interesting)
The main benefits? Class support, byte[] support without the possibility of buffer overfl
Re:IDL Libraries? (Score:1)
The
Please explain how
Nobody even uses
Just because you haven't seen it for yourself doesn't mean that nobody is doing it. If anything it just demonstrates that you have had limited
Re:IDL Libraries? (Score:2)
Re:IDL Libraries? (Score:1)
That's smaller than the size of the driver package itself -- even the version WITHOUT the
Re:IDL Libraries? (Score:3, Informative)
As for using
Re:IDL Libraries? (Score:1)
Re:IDL Libraries? (Score:3, Informative)
FYI, the
Why not "palatable" to have a .NET environment? (Score:3, Insightful)
I love how the editorial commentary on posts here is full of straw-men and assertions. Prav-dot anyone?
Re:Why not "palatable" to have a .NET environment? (Score:1)
Re:Why not "palatable" to have a .NET environment? (Score:2)
I hate to surprise you, but some of us don't like Microsoft. Shocking news, I know. You can talk all about standards and robustness all you want, but Microsoft is the company behind it. To me it is therefore not palatable, and therefore the comment, "may not be palatable", was correct.
I'm SHOCKED (Score:1)
Re:I'm SHOCKED (Score:2)
Perhaps my sarcastic tone could be seen as an ad hominem, but I was truly trying to explain why. You asked for an explanation, remember? Please explain how the arguments in my post ware a strawman or a baseless assertion.
I love this place.
Well, posts on Slashdot often annoys me too if that makes you feel better.
Someday, the people of Slashdotworld will realize the Microsoft wars ended years ago.
Depends, define Micros
What's the problem? (Score:3, Insightful)
Man what's with the bias against .NET. Oh it's not "worthy" of controlling Lego Mindstorms?
OH NOS! OMGZ, I R NOT HAX0RING MY LEGOS NLESS ITZ IN ASS3MBL3R. .NET BAD K PLZ THX! D0WN WIT MICRO$OFT!!!!111!1!
Seems to me .NET is a good idea, so good in fact it's ripped off by Mono. A solid intelligable foundation library of objects, inter language, cross platform compatability. C# is a very enjoyable language to work in for some of us (personal preference). There's always the /.'ers with monkeys on their backs that insist its one huge elaborate Microsoft bait and switch to lock everyone into the Microsoft Evil Empire, but it seems to me theres a ton of positives as well, ECMA standardization, dozens of .NET capable languages now, and the MONO project is a great thing (that is a direct result, like it or not, of .NET being born). So whats with all this "oh nos, its Microsoft, so I shall not dirty my hands of complimenting it! Must bash in every post ever!".
Open your minds like you open your source and you might learn something, like some tools are good for some jobs, other tools for other jobs. Not everything that comes from MS is evil and not everything that comes from OSS is good.
Flame away.
Re:What's the problem? (Score:3, Funny)
There's always the
Wow... do you have photos?
Re:What's the problem? (Score:2, Interesting)
Re:What's the problem? (Score:1)
Oh for crying out loud. Get a clue man. C# is not technically cross platform? C# is a language, targeting the CLR, which has no Win32-specific parts whatsoever. The only difference is that Sun decided to make a Linux version for the Java VM and compiler, and Microsoft decided not too (duh). Maybe you mean the IL code generated by a C#
Re:What's the problem? (Score:2)
No, the *grandparent* made that "braindead" comment, the one who was also a
Re:What's the problem? (Score:1)
I meant grand-parent, sorry. But I was aware that the one who said it was a
I apologize for the "brain-dead" expression though. I don't know what got into me, I guess I got too tired of correcting these misconceptions. I a
Re:What's the problem? (TROLL) (Score:3, Interesting)
Maybe you're not talking about the same thing that .NET detractors dislike. It might not be the .NET itself, but rather the unwillingness to throw any additional support towards the already-unmanageable 800 pound gorilla. Maybe it isn't the OSS software people really like, but rather the freedom that they have to deal with what they don't like.
Lesson for Slashdot readers in filtering the subtle troll:
Either you really don't understand the people you're talking about, or you're just an astroturfer. Discr
Re:What's the problem? (TROLL) (Score:2)
Maybe you're not talking about the same thing that .NET detractors dislike. It might not be the .NET itself, but rather the unwillingness to throw any additional support towards the already-unmanageable 800 pound gorilla. Maybe it isn't the OSS software people really like, but rather the freedom that they have to deal with what they don't like.
Sounds to me like you're making his point for him. Slashdotters hate .NET because it's from Microsoft ("...unwillingness to throw any additional support towards th
Re:What's the problem? (TROLL) (Score:2)
Ok then, here is one datapoint to support him. I think Windows from W2K and onwards are generally good operating systems. I think
Re:What's the problem? (Score:2)
And this is needed to control a palm-size device with just three variable inputs, three motor outputs, an LED screen, and a monotone speaker? Cross-platform won't even help, because no reasonable program for Mindstorms will make sense running on another
Next thing, someone will port Linux to it. There's not even a place to enter your login! This is a special-purpose microcomputer - other than the experi
Oh FFS... (Score:4, Insightful)
Perhaps Mono would work just as well.
'Mono' and '.NET' are not two competing products.
Mono is an implementation of it, together with some development tools and non-standard libs and bits and pieces.
The MS
You cannot 'use Mono instead of
This has been a public service announcement from the department of Things That The Average Slashdotter Cannot 'Get' No Matter How Often They Are Mentioned (TTTASC'G'NMHOTAM). In next week's exciting episode, we explain the difference between copyright violation and theft, and three posters reply by saying 'you can dress it up in fancy talk all you want but it's still theft!'
Re:Oh FFS... (Score:2)
Re:Oh FFS... (Score:2)
http://www.ecma-international.org/publications/
Re:No clue, but posting anyway ... (Score:2)
No -- I'll copy this quote from MSDN...
The CLR [microsoft.com]:
So, the CLR is an implementation, not a standard.
This has been done before with Inferno/Limbo (Score:3, Interesting)
Styx-on-a-brick is really cool and fits directly into the Unix way of doing things: And then you can easily connect it an Inferno Grid: http://www.vitanuova.com/solutions/grid/demogrid.
Why use a bad Java clone(that is what
uriel
P.S.: And yes, for those still living under a rock, Both Inferno and Plan 9 are Open Source. Inferno: http://www.vitanuova.com/inferno/net_download4T.h
P.P.S.: For those that don't know what Inferno is and to bypass SlashDot filters here is some text from Dennis M. Ritchie himself: Limbo is a programming language intended for applications running distributed systems on small computers. It supports modular programming, strong type checking at compile- and run-time, interprocess communication over typed channels, automatic garbage collection, and simple abstract data types.
And here is an extract from an interview with Ken God Thompson, creator of Unix and co-inventor of C:
Computer: How does your work on Plan 9 and Inferno derive from your earlier work on Unix? What are some of the new ideas arising out of this work that could and should apply to distributed operating systems in general?
Thompson: [...] In Plan 9 and Inferno, the key ideas are the protocol for communicating between components and the simplification and extension of particular concepts. In Plan 9, the key abstraction is the file system any thing you can read and write and select by names in a hierarchy and the protocol exports that abstraction to remote channels to enable distribution. Inferno works similarly, but it has a layer of language interaction above it through the Limbo language interface which is [somewhat] like Java, but cleaner.
The lego design flaw. (Score:3, Insightful)
Double-plus good Chariman Bill (Score:3, Interesting)
Double-plus good Bill.
Use Ruby (Score:3, Informative)
http://rubyforge.org/projects/lego-mindstorms/
There are better languages... (Score:2)
Forget about Mono. (Score:2)
porting mono to it...
Languages (Score:2, Insightful)
LeJOS? (Score:2, Informative)
More power to mindstorm. (Score:4, Interesting)
Of course I doubt usual lego blocks would do though, too heavy to fly, but there's the idea. I'm sure many parents still have a secret longing for the toys they played in their childhood.
Guys never grow out of their toys! =)
lego helper (Score:4, Funny)
You will start building something when out of nowhere some lego pieces shaped like a paper clip start talking and say: "It looks like you are building a car..."
Hold Your Breath... It's not technically a VM! (Score:1)
There is an interpreter for the Hitachi microcontroller and a GCC IL frontend available. Thus you can run
Re:Still trying to catch up (Score:4, Insightful)
Still trying to catch up ... to Java, huh? This stuff has been around for Java for years now.
Which wouldn't be surprising since Java was released in 1996, while .NET was released in 2002. You could've said the same thing when Java was first implemented on an embedded device. C/C++ and assembly were likely there for years before.