Friday, December 31, 2010

OpenLase : Open Source Laser Projection

Check out this awesome presentation on OpenLase!




Lasers are AWESOME!

Wow. I'm a geek.

Wednesday, December 29, 2010

More Pandora Console Videos!

Although the Pandora console people haven't made exactly one video per day, they sure are making lots of them. Here are some more!

Video 29 (NES Emulation):

Video 30 (GameBoy Emulation):

Thursday, December 23, 2010

Creating a SWT Shell that can be opened from another Java Class using WindowBuilder

WindowBuilder (sometimes called WindowBuilder Pro) is an excellent add-on for Eclipse that allows you to visually build GUIs using SWT, Swing, and a variety of other frameworks including GWT. Google acquired Insantiations, the company that made WindowBuilder, in August of 2010 and recently announced that they are donating the source code and IP of the WindowBuilder project to the Eclipse Foundation. This will likely make WindowBuilder the standard visual GUI creator for those that use Java in the Eclipse IDE.

OK, now you know a little bit about the project. You may have discovered that when using the WindowBuilder wizard to create a new shell, the wizard always creates a shell with a main method. This is very useful for quick, one screen projects, but not for projects that require more than one window.

So, do you want to create a Shell that can be called from inside another class (say, in response to a button click)?

Here are the steps that I used to accomplish the task.



  • Use the SWT WindowBuilder Wizard to make a new shell, name it anything you want (NotMain, in the following case) modify the given code as such:



  • Remove from the main method:

Display display = Display.getDefault();
        Test shell = new Test(display);

  • Cut this code out from the main method:

try {
        shell.open();
        shell.layout();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }

  • Change it to:

try
        {
            open();
            layout();
            while (!isDisposed()) 
            {
                if (!display.readAndDispatch()) 
                {
                    display.sleep();
                }
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }

  • Place that code directly after

createContents();
in
public NotMain(Display display)
.

  •  Then, completely remove the main method. You should then be able to make all further modifications in the WindowBuilder "Design" window. You can remove the try/catch block, if you feel like it.


You’ll end up with something like this:
import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Shell;
    
    public class NotMain extends Shell 
    {
    
        /**
         * Create the shell.
         * @param display
         */
        public NotMain(Display display) 
        {
            super(display, SWT.SHELL_TRIM);
            createContents();
            try
            {
                open();
                layout();
                while (!isDisposed()) 
                {
                    if (!display.readAndDispatch()) 
                    {
                        display.sleep();
                    }
                }
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
    
        }
    
        /**
         * Create contents of the shell.
         */
        protected void createContents() 
        {
            setText("SWT Application");
            setSize(450, 300);
    
        }
    
        @Override
        protected void checkSubclass() 
        {
            // Disable the check that prevents subclassing of SWT components
        }
    
    }

Then, to call this shell from inside of a different class, write:
btn.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                new NotMain(getDisplay());
             }
        });
(where btn is the name of your SWT button)

To change the shell to be application modal to the calling class, change your superclass call in your new shell from:
super(display, SWT.SHELL_TRIM);
to:
super(display, SWT.APPLICATION_MODAL |SWT.SHELL_TRIM);


There you go. Now, get coding!

Monday, December 13, 2010

Beginning Android Development

This Android development video was published on the O'Reilly Media YouTube Channel in August of 2009, so it isn't the newest video, but it is quite comprehensive. Check it out:

Tuesday, December 7, 2010

Google Wave enters Apache Software Foundation's incubator program.

Google Wave is dead. Long live Apache Wave. The announcement is here.

With this announcement comes a host of technical information and videos on the Wave Summit Talks page.

For example, here is a video about building and running a "Wave-in-a-Box":


This seems like the best possible result for a once-promising Google technology that has since fallen out of favor.

Monday, December 6, 2010

Google Nexus S, Android 2.3 (Gingerbread) announced!

Check it out! Google have introduced the new Nexus S phone along with Android 2.3, codenamed Gingerbread.

Android 2.3 Official video:


NFC (Near Field Communication) and the Nexus S:


Nexus S- Navigation:


Google Goggles:


Check out the Google Nexus Youtube page and the Google Android Developers Page for more.

Bluetooth Android enabled watch accessory announced by Sony Ericsson

Check out the LiveView, a new device from Sony Ericsson that is designed to work as a secondary display and remote control for your Android device:

It should be interesting to see what the Android development community can do with a device like this.

Sunday, December 5, 2010

Zork Typewriter Hack

It looks like someone by the name of Jonathan Guberman has hacked an Electric typewriter to play Zork. That is incredibly impressive.
Check out the video:

A new way to interact with fiction from Jonathan M. Guberman on Vimeo.

Thursday, December 2, 2010

SNES controller modded to run on Android Tablet!

Check out the enterprising mod by Collin Meyer to modify a Super Nintendo game controller to play emulated SNES games on a Dell Streak Android tablet:


He has also provided a HOWTO, for those that are so inclined.

Bravo!

Android 2.2 (Froyo) and Google Marketplace on Archos tablets

Archos has officially made Android 2.2 available for its generation 8 tablets (Archos 28, Archos
32, Archos 43, Archos 70 and Archos 101). The firmware is available here, or you can select Settings->About device->Firmware update.

Once you have upgraded to Android 2.2, you can also install the Android Marketplace, by following the directions in this forum post.

Also, here is a video showing off Android 2.2 and the Android Marketplace:

Saturday, November 27, 2010

Pandora Console - More videos ...... and colored Pandora Consoles?

Seeing as there are now 12 videos from the "one vid per day" collection in the original slew of videos post, I figured that I'd start a new thread with the additional videos. Also, these videos are embedded using the iframe tag, so you should be able to watch these videos using HTML5, if you desire.

As an added surprise, recently some pictures were posted of colored Pandora case samples. No word on the actual availabilty of colored Pandora Consoles.



Video 13 (Remote Administration):


Video 14 (Homebrew Games, Part 1):


Video 15 (Homebrew Games, Part 2):


Video 16(Websurfing):


Video 17 (C64 Emulation):


Video 18 (Audio Players):


Video 19 (Neo Geo Emulation):


Video 20 (Multitasking):


Video 21 (Sega Emulation):


Video 22 (Applications, Part 1):


Video 23 (Applications, Part 2):


Video 24 (TV out Quality):


Video 25 (GBA Emulation):


Video 26 (MSX Emulation):


Video 27 (GP2X Emulation):


Video 28 (VCS2600 Emulation):

Wednesday, November 24, 2010

Game Emulation on the Archos 70 Android Tablet

Ever since the announcement of the eighth generation of Archos Tablets, I've been curious about the emulation and gaming capabilities of the platform. Apparently, I'm not the only one. Courtesy of Android Circuit, here are some videos that show off the Archos 70 tablet's ability to play games.


Emulators:

Emulators Demonstration on TV via HDMI:

Gaming (Avatar HD, Hero of Sparta, Angry Birds, Gameboid)

Saturday, November 20, 2010

NEWLUG November 2010 Presentation: Mac OSX

Here is the video from the November 2010 NEWLUG meeting, courtesy of the NEWLUG blip.tv channel.
Subject: Mac OSX
Presenter: Josh Goldman

Here are the slides from the presentation:

Friday, November 19, 2010

This Week in Google: Android Tablets

Courtesy of twit, here is an episode of "This Week in Google", presenting some hands on video and discussion of the Android Tablets:

Archos 43 video demo

Here are some video demos of the Archos 43.

This review is mostly silent, preferring to use on-screen text instead of a running monologue like most reviews.
Here it is:


This next video is a two part review of the Archos 43, courtesy of khgexo:
Part 1:

Part 2:

Monday, November 15, 2010

Side-by-Side video comparison of Ipad and Archos 101 tablets

The folks at cleverboxes.com recently posted a video comparing the Apple iPad and Archos 101 side-by-side. I won't spoil the results, but I will post the video here. Check it out:

Video of a Nintendo Wii controller controlling an Archos 43

Upon first seeing the five new Archos tablets, one of the first things I wondered about was the ability to play games and emulators with them. It seems that we now have a part of the answer, as ObiWan22 has released video footage of himself pairing a Nintendo Wii Controller to an Archos 43 via Bluetooth. He indicates that this pairing should be possible for any of the Gen 8 Archos devices (Archos 28, Archos 32, Archos 43, Archos 70, and Archos 101) using an app called Wiimote Controller.
Here's the video:

Thursday, November 11, 2010

Pandora Console: A slew of new videos.

To help satiate the endless appetite of the Pandora pre-orderers for their consoles, EvilDragon has recently released some more videos.
Check them out!
Video 1:

Video 2:

Video 3:

Video 4 (ScummVM):

Video 5 (Bluetooth tethering via a Windows Mobile Phone):

Video 6 (MAME):

Video 7 (PND package system):

Video 8 (PSX Emulation):

Video 9 (MiniMenu overview):

Video 10 (N64 emulation):

Video 11 (XFCE):

Video 12 (Amiga Emulation):

PHP video tutorial

Ever wanted to learn PHP, but were afraid to ask?

Here is a video tutorial about how to use PHP, courtesy of the CEVO DevZone.

Sunday, November 7, 2010

More Archos Tablet Videos - Unboxings, et cetera.

For those that would like to know more about the larger Archos Android tablets, here are some more videos that show off the looks and features of the new Archos 70 and Archos 101.

Archos 70 unboxing (courtesy of newgadgets.de):


Archos 101 hands-on testing (courtesy of faxe3):
Different Features:


Screen, mouse, apple wireless keyboard and NHL Gamecenter app.


For the Francophones out there, here is a feature about the Archos tablets from LaChaineTechno:

For those that don't speak French, the Archos rep is saying that with this range of products, there should be a tablet that fits pretty much anyone's wants/needs.

Here is another comparison video of the Archos 70 and Archos 101 (in French):

Monday, November 1, 2010

Comparison of Archos 5 and Archos 43

The new Archos tablets are quite interesting. How do they compare to the previous tablets?
Let's take a look:

I'm leaning towards the new Archos 43, but the GPS feature of the old Archos 5 seems cool.

Sunday, October 31, 2010

Archos tablets running Android 2.2

The recent announcment of Archos and their five new Android tablets has really gotten me excited about the handheld category again. Check out a video of the Archos 43 and the Archos 70 running Android 2.2 (Froyo):

Saturday, October 30, 2010

Sencha Touch - Cross Platform Handheld Development

As time goes on, handheld development seems to be taking a bigger and bigger share of the computing world. That being said, finding ways to reach as many of the different handheld systems as possible can be a challenge. One contender for the solution: Sencha Touch.

Check it out, courtesy of Ed Spencer:


There is also an accompanying video explaining these slides here, available courtesy of Pivotal Labs. I couldn't find an embeddable link, but the video is available for download in MP4 format here.

Tuesday, October 26, 2010

Sony Playstation Phone?

Recently, rumors started swirling about Sony Ericsson having plans to produce an Android phone with game controls.
Well, apparently, MobileCrunch, Engadget, Joystiq, and Gizmodo feel there might be some reality to this rumor.

This is the first Sony product that I've been excited about in a while.  Bravo, Sony.

Check out some pics, courtesy of Engadget!


Ext JS Screencast- Data Stores and GridPanels

I'm in the process of learning how to develop and maintain web apps, and I found this tutorial very useful. It's about Data Stores and GridPanels in Ext JS. If you are looking into making web apps, ExtJS from Sencha is a very interesting choice. Check it out:

Ext JS Screencast - data Stores and GridPanels from Jay Garcia on Vimeo.

Tuesday, October 5, 2010

Turn off auto-numbering in Open Office

I like Open Office.

I HATE auto-numbering.

Here is how to turn it off (courtesy of the OpenOffice.org Wiki):


How do I turn off automatic correction and formatting?

OpenOffice.org is configured by default to perform certain automatic formatting and correction as you type. This can be very useful, but can also lead to unexpected results.
You can learn to use this feature, or if you prefer you can turn all or some of the automatic formatting off. You can either:
  • Turn ALL off/on: under Format > AutoFormat > While Typing. (On recent versions it's Format > AutoCorrect > While Typing.)
  • Turn some off/on: under Tools > AutoCorrect.
The table below describes some of the default behaviours and which AutoCorrect setting controls them.
When I type
I get
caused by
Note:
module
DNA
And
the replacement table
(3)
(1)
All
XImport
Ximport

(3)
All
coordination
Coordination
Capitalize first letter of every sentence
(3)
All
It was excl. on this day
The lowercase 'o' is not capitalized even though it is preceded by a full stop and the option "Capitalize first letter of every sentence" is selected in AutoFormat.
the exceptions table
(2)
Writer only
*Hello* _world_
Hello world
Automatic bold and underline
(3)
All
www.openoffice.org
john@sun.com
The URL recognition
(3)
All
1st, 2nd, 4th
1st, 2nd, 4th
The AutoFormat of the cardinal numbers
(3)
All
1/2 1/4 3/4
½ ¼ ¾
The AutoFormat of
(3)
All
The man -- yes, him!
The man--yes, him!
The man – yes, him!
The man—yes, him!
Replace dashes
(3)
All
<2_spaces>
The second space doesn't appear
Ignore double spaces
(3)
All
1 bottle of milk
1. bottle of milk
2.
Apply numbering
(3)
Writer only
---===___
horizontal lines created
Apply border
(3)
Writer only
+---+---+
a table
Create table
(3)
Writer only
My title

My title
Use styles
(3)
Writer only
one
*one> *test
Replace bullets
(3)
Writer only
"
« or an other typographical quote
Custom quotes
(4)
Writer only
Int
Int|roduction|
(the word is completed)
Word completion
(5))

1.1
in a table
01/01/03
(a date)
Number recognition
(6))
Writer only
  1.   Menu Tools-AutoCorrect/AutoFormat, tabpage [Replace]
  2.   Menu Tools-AutoCorrect/AutoFormat, tabpage [Exceptions]
  3.   Menu Tools-AutoCorrect/AutoFormat, tabpage [Options]
  4.   Menu Tools-AutoCorrect/AutoFormat, tabpage [Custom quotes]
  5.   Menu Tools-AutoCorrect/AutoFormat, tabpage [Word completion]
  6.   Menu Tools-Options-Text document-Table-Input in table-Number recognitionFile:Turn-off-autocorrect-in-writer-tables.gif

Friday, October 1, 2010

Stack Overflow - forums done right.

Recently, I happened upon a website called Stack Overflow, a free programming forum that is run by its users.  It is collaboratively edited, using a karma system that allows you to perform more tasks as your reputation score increases.

Why should you care about yet another forum?  Good question.

From the StackOverflow FAQ:

So What? Who cares? Isn't this just like a dozen other websites?
What's so special about this? Well, nothing, really. The only unusual thing we do is synthesize aspects of Wikis, Blogs, Forums, and Digg/Reddit in a way that we think is original.
Venn diagram: Wiki, Digg/Reddit, Blog, Forum
Super User is that tiny asterisk in the middle, there.
But hopefully you'll see what we mean when you participate and experience it for yourself.

Why should you care about yet another forum?  Good question. I've tried it out, and I have very positive opinions, overall.  One of the reasons that it works so well is that it rewards people for being helpful.  Most forums only keep track of the number of posts.  Stack Overflow (and the sites in the StackExchange family of sites) employ a rather clever reputation system.
From the FAQ:
To gain reputation, post good questions and useful answers. Your peers will vote on your posts, and those votes will cause you to gain (or, in rare cases, lose) reputation:
answer is voted up+10
question is voted up+5
answer is accepted+15(+2 to acceptor)
post is voted down-2(-1 to voter)
A maximum of 30 votes can be cast per user per day, and you can earn a maximum of 200 reputation per day (although accepted answers and bounty awards are immune to this limit). Also, please note that votes for any posts marked "community wiki" do not generate reputation.
Amass enough reputation points and Super User will allow you to go beyond simply asking and answering questions:

15Vote up
15Flag offensive
50Leave comments
100Vote down (costs 1 rep)
100Edit community wiki posts
200Reduced advertising
200Create new tags
250Vote to close, reopen, or migrate your questions
500Retag questions
1000Show total up and down vote counts
2000Edit other people's posts
3000Vote to close, reopen, or migrate any questions
10000Delete closed questions, access to moderation tools
 you can always comment on your questions and answers, and any answers to questions you've asked, even with 1 rep.

Another reason that this site is great is that it doesn't try to be everything to everybody.  Stack Overflow only aims to answer questions relating to programming.  What kind of questions, you ask?  Yet again, the FAQ comes to the rescue:

What kind of questions can I ask here?
Stack Overflow is for professional and enthusiast programmers, people who write code because they love it. We feel the best Stack Overflow questions have a bit of source code in them, but if your question generally covers …

  • a specific programming problem

  • a software algorithm

  • software tools commonly used by programmers

  • matters that are unique to the programming profession
… then you're in the right place to ask your question!
Please look around to see if your question has already been asked (and maybe even answered!) before you ask. It's also perfectly fine to ask and answer your own question, as long as you pretend you're on Jeopardy: phrase it in the form of a question.
What kind of questions should I not ask here? 
Avoid asking questions that are subjective, argumentative, or require extended discussion.  This is not a discussion board, this is a place for questions that can be answered!
What if you have a different type of question, or a question about the site itself?  Well, they've thought about that, as well.  There are actually a whole family of inter-related sites, each serving a very specific purpose.  Quoting the FAQ again:

If your question is about …

  • Networking, servers, or maintaining other people's PCs and contains no source code, ask on Server Fault.

  • General computer software or hardware troubleshooting, ask on Super User.

  • Web design and HTML/CSS layout, and your job title is "designer", ask on Doctype.
If you have a question or comment about the site itself, each of the sites has a "meta" section that is separate from the actual questions and answers.  This allows people that are only interested in the questions and answers to avoid site-related questions, complaints, and discussions.  This doesn't seem like a big thing, but as a former forum admin, it's refreshing to know what to expect when you browse the site.


In addition to Stack OverFlow, Server Fault, Super User, and Doctype, there are quite a few subject specific sites available in the StackExchange Network, such as http://cooking.stackexchange.com/ and http://bicycles.stackexchange.com/ .


I am not on every StackExchange site, but if you're looking for me, look for Zoot.  I recently started up an account, so my scores are pretty low, but in time, that may change.

profile for Zoot at Stack Overflow, Q&A for professional and enthusiast programmers