Silverlokk | 1 Dec 02:40
Picon

Hardware is hard - The End Of The CrunchPad

http://blog.makezine.com/archive/2009/11/hardware_is_hard_-_the_end_of_the_c.html -- kinda OT but the "open source" keeps it topic :)

 
 

Sent to you by Silverlokk via Google Reader:

 
 

via MAKE Magazine by Phillip Torrone on 11/30/09


The CrunchPad, named Popular Mechanic's 10 most brilliant products of the year (although it never came out) is not happening. Mike writes -

The entire project self destructed over nothing more than greed, jealousy and miscommunication... I'm enraged, embarrassed, and just...sad.

I bet there's more to this story... Here's what Ladyada who makes hardware thinks...



Although it may seem like an irrelevant point, I'm guessing the price was a big contributor to the project death. Why? because when you say up front (with no experience in hardware/manufacturing design) that you're going to sell it for $x the scramble then becomes "how can each party squeeze margin out?" When theres very little margin, parties are more willing to bluff knowing that they can walk away and there was almost no $ on the table. Hardware has this problem, and I've seen it so many times, that the founder prices the hardware at only a bit (say ~30%) above the parts cost, not realizing the tons of NRE expenses, ballooning BOM, contractor costs, and the hundreds of other ways the price can easily double. Then they're stuck: the investors/contract manufacturer/designer/customer hates them. That leads to abandonment. Please please please, if you decide to do any kind of hardware, add an extra 40% margin on top of whatever you pick. If you don't need it, you can always cut the price later! :)

When there was a lot of buzz about the CrunchPad many curious gadget fans asked me about their "open source" and "open source hardware" tablet. I wasn't sure if it was going to happen, it's expensive, margins are tough, doing hardware is hard. A lot of web commenters said "exactly, this is so easy now" just get some screens, load up linux and have it boot in to a browser, it's a weekend project, DONE!". For folks who do hardware there's more to it than that beyond demo-ware.

I also was worried about the marketing of the CrunchPad said "open source" just to get good will and support, this happens a lot.

Here's what was said...

In the founding July 21, 2008 manifesto "We Want A Dead Simple Web Tablet For $200. Help Us Build It. Michael Arrington wrote: "So let's design it, build a few and then open source the specs so anyone can create them." "If everything works well, we'd then open source the design and software and let anyone build one that wants to."

On the "The End Of The CrunchPad" post Mike writes...

It was so close I could taste it. Two weeks ago we were ready to publicly launch the CrunchPad. The device was stable enough for a demo. It went hours without crashing. We could even let people play with the device themselves - the user interface was intuitive enough that people "got it" without any instructions. And the look of pure joy on the handful of outsiders who had used it made the nearly 1.5 year effort completely worth it.

This sounds like it's in a good spot to open up the designs, right? So as a follow up I've asked if they're going to stick to what they said. I'm hoping they publish something.

I posted my question on TechCrunch...

mike - phil from MAKE magazine here. you said many times that the project was an open source project (the hardware and the software) - where are the files, the schematics, the source code, the PCB files, etc? is it correct to assume that "fusion garage" is not going to release any source or continue this project as an open source (software/hardware project)? if that's the case it seems like "open source" was used again just to get good will and marketing and not really put any value in.

Post your thoughts in the comments!



Read more | Permalink | Comments | Read more articles in Gadgets | Digg this!

 
 

Things you can do from here:

 
 
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph
Daniel Escasa | 1 Dec 07:44
Picon

A 5-year-old girl installs Ubuntu

Choice quote: “Hey, if you just press Enter, it usually works out."
http://www.fsdaily.com/Community/The_Un_Scary_Screwdriver, or
http://www.gnomejournal.org/article/88/the-un-scary-screwdriverhttp://www.gnomejournal.org/article/88/the-un-scary-screwdriver
for the direct link.

--

-- 
Daniel O. Escasa
independent IT consultant and writer
contributor, Free Software Magazine (http://www.freesoftwaremagazine.com)
personal blog at http://descasa.i.ph
Twitter page at http://www.twitter.com/silverlokk
If we choose being kind over being right, we will be right every time.

Pablo Picasso  - "Computers are useless. They can only give you
answers." - http://www.brainyquote.com/quotes/authors/p/pablo_picasso.html
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Mark David Dumlao | 1 Dec 10:17
Picon

Re: A 5-year-old girl installs Ubuntu

On Tue, Dec 1, 2009 at 2:44 PM, Daniel Escasa <descasa@...> wrote:
> Choice quote: “Hey, if you just press Enter, it usually works out."
> http://www.fsdaily.com/Community/The_Un_Scary_Screwdriver, or
> http://www.gnomejournal.org/article/88/the-un-scary-screwdriverhttp://www.gnomejournal.org/article/88/the-un-scary-screwdriver
> for the direct link.
I clicked the email while the girl was still five years old, and by
the time I clicked the article, the headline already said 7 years old!
Kids these days, they grow up so fast! >:D

>
> --
> Daniel O. Escasa
> independent IT consultant and writer
> contributor, Free Software Magazine (http://www.freesoftwaremagazine.com)
> personal blog at http://descasa.i.ph
> Twitter page at http://www.twitter.com/silverlokk
> If we choose being kind over being right, we will be right every time.
>
>
> Pablo Picasso  - "Computers are useless. They can only give you
> answers." - http://www.brainyquote.com/quotes/authors/p/pablo_picasso.html
> _________________________________________________
> Philippine Linux Users' Group (PLUG) Mailing List
> http://lists.linux.org.ph/mailman/listinfo/plug
> Searchable Archives: http://archives.free.net.ph
>

--

-- 
This email is:    [ ] actionable   [ ] fyi        [ ] social
Response needed:  [ ] yes          [ ] up to you  [ ] no
Time-sensitive:   [ ] immediate    [ ] soon       [ ] none
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Ludwig Isaac Lim | 1 Dec 15:56
Picon
Favicon

Question about Perl Closure [OT]

Hi:

   I'm having some hard time understand perl closure:

   Here's an explanation from Intermediate Perl:
   "The kind of subroutine that can access lexical variables that existed at the time we declare it is called a
closure .....In Perl terms, a closure is just a subroutine that references a lexical variable that has
gone out of scope".

   and here is the sample code:
   use File::Find;

   my $total_size = 0;
   find (sub {$total_size += -s if -f},'.');
   print $total_size, "\n";

    My question is "$total_size" is not out of scope since it is declared before "find(sub.." right?

   Can we say closures are anonymous coderefs that acesses a pre declared variable?

   Thanks in advance.

Ludwig

      
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Robert Locke | 1 Dec 17:26
Picon

Re: Question about Perl Closure [OT]

Hi Ludwig,

"$total_size" is not out of scope because it is implicitly global  
since it was not declared with "my" in the subroutine.

If you remove the initial declaration, the code still works.

If, within the subroutine, you do...

	find (sub {my $total_size += -s if -f},'.');

... the code breaks, because "$total_size" would then have a local  
scope with each invocation of the subroutine.

Hope that made sense!

Rob

On 12 1, 09, at 10:56 PM, Ludwig Isaac Lim wrote:

> Hi:
>
>   I'm having some hard time understand perl closure:
>
>   Here's an explanation from Intermediate Perl:
>   "The kind of subroutine that can access lexical variables that  
> existed at the time we declare it is called a closure .....In Perl  
> terms, a closure is just a subroutine that references a lexical  
> variable that has gone out of scope".
>
>   and here is the sample code:
>   use File::Find;
>
>   my $total_size = 0;
>   find (sub {$total_size += -s if -f},'.');
>   print $total_size, "\n";
>
>
>    My question is "$total_size" is not out of scope since it is  
> declared before "find(sub.." right?
>
>   Can we say closures are anonymous coderefs that acesses a pre  
> declared variable?
>
>   Thanks in advance.
>
> Ludwig
>
>
>
>
>
>
> _________________________________________________
> Philippine Linux Users' Group (PLUG) Mailing List
> http://lists.linux.org.ph/mailman/listinfo/plug
> Searchable Archives: http://archives.free.net.ph

_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Mark David Dumlao | 1 Dec 17:27
Picon

Re: Question about Perl Closure [OT]

First of all, may I apologize for my lack of perl-fu so I may be doing
this wrong.

On Tue, Dec 1, 2009 at 10:56 PM, Ludwig Isaac Lim <ludz_lim@...> wrote:
>    My question is "$total_size" is not out of scope since it is declared before "find(sub.." right?
Yes and no. Without strict, $total_size would still be in scope
because it would be initialized to the first value of +=. Declaring it
beforehand demonstrates the dynamic, not necessarily lexical scoping,
of Perl in that Perl subs can access variables outside of it.

A more useful example of lexical scoping makes a function that
generates other functions based on how you initialize it:
----
use strict;

sub hellofn {
	my $subject = @_[0];
	return sub { print "Hello $subject!\n" };
}

my $helloworld = hellofn ("World");
my $helloburrito = hellofn ("Burrito");

... some magic...

&$helloworld(); #says "Hello World!\n"
&$helloburrito(); #says "Hello Burrito!\n"
----
In the above, hellofn is a "closure" - we define it so that we can
generate other functions that work similarly. Think of it like a class
that, when instantiated, returns an object with a single public
method. Each "instantiation" of your closure has its own persistent
storage. Paticularly, the "subject" of the first hellofn is stored
separately from the subject of the next hellofn generated.

You can use closures to make counters, something like:
sub gcounter { my $count=0; return sub { print $count+=1, "\n" }}
$c1 = gcounter();
$c2 = gcounter();
&$c1(); &$c2(); &$c1(); &$c2(); &$c1(); &$c2();

gcounter is a closure that generates counters which increment a $count
variable. But the $count variables in the generated counters will
increment independently of each other. This largely depends on the
"my" making the $count variable private to gcounter and its subs.

>   Can we say closures are anonymous coderefs that acesses a pre declared variable?
Something like that.

I guess you could think of it as a kind of function template which
gives persistent storage. Closure'd variables are private to the
functions generated.

>
>   Thanks in advance.
>
> Ludwig
>
>
>
>
>
>
> _________________________________________________
> Philippine Linux Users' Group (PLUG) Mailing List
> http://lists.linux.org.ph/mailman/listinfo/plug
> Searchable Archives: http://archives.free.net.ph
>

--

-- 
This email is:    [ ] actionable   [ ] fyi        [ ] social
Response needed:  [ ] yes          [ ] up to you  [ ] no
Time-sensitive:   [ ] immediate    [ ] soon       [ ] none
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Zak B. Elep | 1 Dec 17:45
Picon
Gravatar

Re: Question about Perl Closure [OT]

Hi!

On Tue, Dec 1, 2009 at 10:56 PM, Ludwig Isaac Lim <ludz_lim <at> yahoo.com> wrote:
> Hi:
>
>   I'm having some hard time understand perl closure:
>
>   Here's an explanation from Intermediate Perl:
>   "The kind of subroutine that can access lexical variables that existed at the time we declare it is
called a closure .....In Perl terms, a closure is just a subroutine that references a lexical variable
that has gone out of scope".
>
>   and here is the sample code:
>   use File::Find;
>
>   my $total_size = 0;
>   find (sub {$total_size += -s if -f},'.');
>   print $total_size, "\n";
>
>
>    My question is "$total_size" is not out of scope since it is declared before "find(sub.." right?

Not out of scope in where find() is, but it is out of scope in
find()'s code where the coderef gets evaluated.

>   Can we say closures are anonymous coderefs that acesses a pre declared variable?

Usually, but not always.

Closures in Perl are best illustrated using BLOCKs, e.g.

{
    my $scalar = "Just Another Perl Hacker";

    sub get_scalar { return $scalar }
}

{
    my $scalar = "Yet Another Perl Hacker";

    use feature ':5.10'
    say $scalar;        # "Yet Another Perl Hacker"
    say get_scalar;     # "Just Another Perl Hacker"
}

Notice the above two blocks.  Both blocks contain a definition of the
the lexical $scalar, but the first block contains a named subroutine
that gets its own "closed" $scalar.  The first block's $scalar is
inaccessible by any code outside of the block, except through the
subroutine.  So, as the latter block contains its own $scalar
variable, it can still get the value of the other $scalar through the
subroutine closure.

Another example of closures relates to their use as encapsulations for
an object's implementation.  Consider a simple Point object: here's a
classic implementation:

package Point::Simple;

sub new {
    my ( $class, $x, $y ) = shift;
    my $self = {
        x => $x,
        y => $y,
    };
    return bless $self => $class;
}

sub x { return $_[0]->{x} }
sub y { return $_[0]->{y} }

1;

And here's a closure-based implementation:

package Point::Closure;

sub new {
    my ( $class, $x, $y ) = @_;
    my $self = {
        x => undef,
        y => undef,
    };
    my $c = sub {
        my $field = shift;
        if (@_) { $self->{$field} = shift }
        return    $self->{$field};
    };
    return bless $c => $class;
}

sub x { $self->("x", @_[ 1 .. $#_ ] ) }
sub y { $self->{"y", @_[ 1 .. $#_ ] ) }

1;

Granted, the Point::Closure implementation looks more complex, but on
the plus side, it adds a place where one can do some parameter
validation or preprocessing before anything else.  Say, one could
sprinkle some Carp::cluck calls in new() to add some boundary checks.

(As an aside, object-oriented programming in Perl is now a lot
simpler, thanks to Moose and friends.)

--

-- 
Zak B. Elep  ||  zakame.net
1486 7957 454D E529 E4F1  F75E 5787 B1FD FA53 851D
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph
Sherwin Daganato | 1 Dec 20:59
Picon

Re: Question about Perl Closure [OT]

On Tue, Dec 1, 2009 at 10:56 PM, Ludwig Isaac Lim <ludz_lim@...> wrote:
>
>   Can we say closures are anonymous coderefs that acesses a pre declared variable?

Nahuli na ba ako? :-) In Perl, a closure is just a subroutine that has
access to persistent private variables. It can either be a named subroutine
or anonymous subroutine.

A named closure is usually used to get the same effect of static variables
in C and it's usually enclosed in a BEGIN{} block to make sure that
the private variables they refer to are available at compile time. The BEGIN{}
block is not needed for subroutines that are part of a package (Perl modules),
because it will be evaluated at compile time when the package is use-d.

HTH
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Picon

tool appreciation - sshfs

sshfs is nice
_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

thad | 3 Dec 15:12
Picon

Re: Invitation to the IBM Innovation Center Launch at UP-Ayala Technohub

Cool! Will this means more Pinoy contribution in Developer's Work?  I hope IBM will provide more hardware on this center like System P, Blade Centers and SAN/or SVC storage. 

Ogden Nash  - "The trouble with a kitten is that when it grows up, it's always a cat."

On Wed, Nov 25, 2009 at 3:51 AM, Miguel Paraz <mparaz <at> gmail.com> wrote:
Hi,
I got this invitation to forward to PLUG. I think this is a good thing since IBM was supporting PLUG in a previous life. :)

================================================================

IBM would like to invite you to the IBM Innovation Center's launch.

Our country, as an emerging market needs to groom its local talent to be globally competitive and IBM understands that achieving growth dictates being well-equipped to rise to challenges and hone skills needed whether in business, government, the academe or IT sector. This understanding leads to a commitment from IBM to establish in the Philippines a facility that will play a significant role in growing the local ICT workforce.

The IBM Innovation Center in UP-Ayala Technohub brings cutting edge technology built on world class infrastructure and highly skilled resources and customized programs designed to meet the needs of the local ICT markets and community.The center serves the needs of students, IT professionals and IT organizations - both users and developers - by providing them access to training workshops, consulting services, technology updates and skills development programs, testing and certification, porting and enablement resources for adoption of new software technologies and solutions.

Please send your RSVP's to faeldoja-4MZkUtbjiazQT0dZR+AlfA@public.gmane.org indicate your full name, designation, company name and contact information.

The event details are as follows:



IBM cordially invites you to the launch of the

IBM Innovation Center
3rd December, 2009 (Thursday)
6:00PM – 10:00PM
Retail Plaza, UP-Ayala Techno Hub
Commonwealth Avenue, Quezon City

Registration starts at 6:00PM. Dinner will be served.
Recommended attire is smart casual/casual chic.
Please email your confirmation or call us at
8506479 loc 102 (Ronette Ilagan)







_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

_________________________________________________
Philippine Linux Users' Group (PLUG) Mailing List
http://lists.linux.org.ph/mailman/listinfo/plug
Searchable Archives: http://archives.free.net.ph

Gmane