Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 199

Deprecated: Creation of dynamic property Automattic\Jetpack\Connection\Manager::$error_handler is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-connection/src/class-manager.php on line 91

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Instagram_Gallery::$is_wpcom is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-instagram-gallery.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Mailchimp::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-mailchimp.php on line 17

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 21

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$is_wpcom is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 22

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Gutenberg_Available_Extensions::$wpcom_is_site_specific_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/gutenberg-available-extensions.php on line 20

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_site_specific_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 24

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Subscribers::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/subscribers.php on line 15

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property WPCOM_Widget_Goodreads::$shelves is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/modules/widgets/goodreads.php on line 33

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /var/www/twodee/blog/wp-includes/script-loader.php on line 348

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_classic_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 347

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 349

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_block_side is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 350

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$panels_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 351

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$used_block_buttons is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 354

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Warning: Cannot modify header information - headers already sent by (output started at /var/www/twodee/blog/wp-includes/class-wp-block-list.php:14) in /var/www/twodee/blog/wp-includes/feed-rss2.php on line 8
boettcta – teaching machines https://twodee.org/blog Fri, 01 Feb 2013 04:16:13 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.1 Accessing thing-[012] from home https://twodee.org/blog/6540 https://twodee.org/blog/6540#comments Fri, 01 Feb 2013 04:16:13 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=6540 Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/class.jetpack.php on line 4255

Deprecated: Creation of dynamic property Jetpack_Carousel::$localize_strings is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/modules/carousel/jetpack-carousel.php on line 339
Intro This short post will help you access the things and dplsubmit from home.  For now it will focus on the Windows environment, but I may expand it to include screenshots from Linux too (sorry Mac, u no can haz tutorial). Step 1: Install Cisco AnyConnect and connect to UWEC’s VPN NOTE: The following should [...]]]>

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
Intro

This short post will help you access the things and dplsubmit from home.  For now it will focus on the Windows environment, but I may expand it to include screenshots from Linux too (sorry Mac, u no can haz tutorial).

Step 1: Install Cisco AnyConnect and connect to UWEC’s VPN

NOTE: The following should work for Linux as well, but from past experience I know it doesn’t always go smoothly.

Go to vpn.uwec.edu and follow the instructions to install Cisco AnyConnect.  Visit http://www.uwec.edu/Help/drives/vpn.htm if you are having problems.

Once AnyConnect is installed log in using your UWEC username and password.

Step 2: Connecting to a shell

If you don’t have PuTTY yet, you will need to go here and download it.

Open PuTTY and in the Host Name box enter the address of the server you want to connect to; for example, “dplsubmit.cs.uwec.edu”. You can also preface this with your username: “username@dplsubmit.cs.uwec.edu”. This will save you a step later.

After entering the host name, hit enter or click “Open.”  A terminal will open; log in with your UWEC username and password.

There you have it!  You can now, from the comfort of your own bed, do your CS330 homework you’ve been putting off!

]]>
https://twodee.org/blog/6540/feed 1
Sphero Final Project – Travis Boettcher, Andy Hurd, Luke Mehring https://twodee.org/blog/6169 https://twodee.org/blog/6169#respond Tue, 11 Dec 2012 17:43:05 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=6169 [...]]]> Overview

Our final project will allow users to control the Orbotix Sphero using pre-defined paths.  The application will also allow users to create their own paths which the Sphero will follow.  A final goal of the application would allow the user to string together paths and have the Sphero to follow the final composite path.

Hurdles

The main difficulty will come from taking the path and sending it to the Sphero in a way the Sphero understands.  If we have time, we would also like to create another layout to be used for tablets, since the greater screen space would allow us to make more elaborate paths.

Division of Labor

One task to be completed is to create the user interface.  This will require a user interface that allows the user to select paths to send to the Sphero and one to create paths.  Andy has started this task, and I will assist.

Another task is to take a path and transform it into something the Sphero understands.  After we have created that, we should be able to send commands to the Sphero and have it move!  Luke is working on this task, and I will help him out when needed.

]]>
https://twodee.org/blog/6169/feed 0
Nogramming :: Travis Boettcher https://twodee.org/blog/5831 https://twodee.org/blog/5831#respond Sat, 01 Dec 2012 17:26:24 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=5831 Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
For my nogramming assignment, I decided to write a couple of tutorials explaining how to do a couple of things I’ve recently been using on my phone. The first will explain how to set up WiFi calling on an Android phone, and the second will briefly go over what I had to go through to [...]]]>

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
For my nogramming assignment, I decided to write a couple of tutorials explaining how to do a couple of things I’ve recently been using on my phone. The first will explain how to set up WiFi calling on an Android phone, and the second will briefly go over what I had to go through to set up my desktop computer to wake up from sleep mode with a single button click from my phone.

WiFi Calling

Motivation

I have been a customer of T-Mobile for several years now. In fact, other than my first phone contract (which was with AT&T) I’ve always been a T-Mobile customer. One of the reasons that kept me coming back to then is their “WiFi Calling” feature. Basically as long as you are on wifi, you can send and receive both calls and text messages.
Or at least you’re supposed to be able to. Recently (within the past couple of years) T-Mobile changed how they implement the WiFi calling feature. I used to have very few problems with it, but now it either doesn’t work at all (there are many times I look at my phone and see an error message because of WiFi calling) or when it does work the quality is poor.
You might wonder why this feature would be so important to me. I’ll admit it’s probably not extremely necessary for everyone, but where I live has poor cell reception as it is, so when I’m down in my basement I have no signal whatsoever. And of course I don’t have a land line.
So recently I went on a journey to find an alternate solution to T-Mobile’s built-in feature. What I came up with is:

  1. Free! I accomplished this using Google Voice (a free service offered by Google that allows you to forward calls from your Google Voice number to any number of other phone numbers) and the Lite version of the Android app GrooVe IP;
  2. Free! Calls you make with this setup (i.e. when you’re connected to wifi) are completely free (as long as they’re domestic), and don’t use any of your plan’s minutes;
  3. Just as functional as T-Mobile’s WiFi calling; and
  4. MORE functional than T-Mobile’s WiFi calling! With Google Voice set up on my tablet, I can now send and receive both calls and texts FROM MY TABLET! (This is more ‘geeky’ than functional, but . . .)

Now you may be wondering, “How can I get a piece of this freeing, free, functional, Google Voice, GrooVe IP pie?” Well, lucky for you all you have to do is follow the how-to below!

How-to

  1. Sign up for a Google account if you don’t already have one.
  2. Sign up for Google Voice.
    1. If you’re with Sprint you’ve got a couple of extra options, but I’ll assume you’re not on Sprint.
    2. Ok, you’re not with Sprint. You’ve got two choices:
      1. Use your existing phone number. This would be the most ideal in theory since you wouldn’t have to tell anyone that you changed your number, but there are a couple of problems with it. The first is that it costs money ($20 at the time of this writing); this defeats the purpose of having a ‘free’ solution. The other major problem is that most likely porting your number will cancel your current contract! This means even more money spent on paying Early Termination Fees (I capitalized the term because ETFs are scary – T-Mobile’s is up to $250 PER LINE). The time you should port your existing number is when your contract is ending.
      2. The second option is to get a Google number.
    3. Signing up for a Google number is relatively painless: when you sign into Google Voice, you will be greeted with a pop-up asking you to upgrade your account. Click the “I want a new number” option.
    4. Next you’ll need to enter a forwarding phone. I’m using my cell (and if you’re reading this I would assume you are too), so under Phone Type I selected ‘Mobile’.
    5.  When you click ‘Continue’ you may be required to prove that you have access to the phone number you entered. Just follow the instructions – I believe in you!
    6. Now you need a Google number. Enter your area/zip/city and/or a word/phrase/number and search for available numbers. Select a number from those shown and click next.
    7. You are now the proud owner of a Google Voice number!
    8. The last thing you should have to do here (other than learn more about Google Voice) is change a simple setting:
      1. Click on the gear symbol and select ‘Settings’.
      2. Under the ‘Phones’ tab, make sure ‘Forward calls to Google Chat’ is selected.
  3. Download the Google Voice app from Google Play onto your phone:
    1. I’m not sure if this step is necessary for calling, but to get texts I believe you need the Google Voice app.
    2. After installing the app, simply sign in.
  4. Download GrooVe IP Lite from Google Play onto your phone:
    1. You can pay for and install the non-Lite version if you want – it’s only $4.99 – but for our purposes it doesn’t add any features that we need right now. What it does add that makes me consider it: native dialer integration (the free app uses it’s own dialer) and it removes the ads (although now that Adblock Plus is available for Android, that’s not as big a deal).
    2. Once the app is up and running, it will ask you to sign in to your Google Voice account. Either enter your username and password manually, or click the ‘OAuth Sign In’ button. As long as you set up your Android phone with the same Gmail account as your Google Voice account, you should easily be able to sign in by clicking your email.
  5. You’re done! Other than tweaking settings and handing out your new number, everything you need to make use of WiFi calling should be complete.

Wake-on-LAN

Motivation

I have been wanting to set up a VirtualBox remote desktop server so that I can access my VMs from anywhere, but I don’t want my computer running all the time. I’m not going to go into the details of the process of setting up the server, but I will do a high level overview of how I set up my computer to wake up with a simple button push from my phone. To accomplish this, you have to use a technology called ‘Wake-on-LAN.’ Basically with this enabled, when your computer is asleep, you can send a ‘magic packet’ to the computer that wakes it up. My phone will be the thing sending the magic packet.

Because everyone’s hardware is different, I can’t give a how-to that’s going to work perfectly for you. The relevant hardware in my setup includes:

  1. My modem and router: Motorola SURFboard SBG6580
  2. My motherboard: Asus Sabertooth 990FX
  3. OS: Windows 7

How-to Overview

  1. Set up BIOS for Wake-on-LAN
    1. The first thing we have to do is set up the motherboard for Wake-on-LAN. To do this, you first have to enter the BIOS. Restart your computer and hit the correct key (in my case the ‘Delete’ key) to enter BIOS.
    2. Now you need to find the correct setting to change. Good luck. You actually should have Googled that before getting to this step . . .
      1. For the BIOS on my computer I needed enter ‘Advanced Mode’ and click on the ‘Advanced’ tab. Then I clicked on the ‘APM’ option (Advanced Power Management). It only lists one option at first – ‘ErP Ready’ – which is set to ‘Enabled.’ I changed that to ‘Disabled’ which brought up more options – the one I care about is ‘Wake computer with PME.’ PME stands for ‘Power Management Event,’ and is directly tied to the ability to Wake-on-LAN. I enabled this option, saved my changes and exited the BIOS.
  2. Set up OS for Wake-on-LAN
    1. I discovered this beautiful website called ‘Port Forward’ that helped me with the next two steps. They have really good tutorials on how to set up a static IP on many different devices, so instead of rehashing what they have already done so well, follow that tutorial.
    2. You also need to make sure the network adapter can wake the computer. To do this:
      1. Open ‘Network Connections’ by searching for ‘view network connections’ in the start menu.
      2. Right click on the Local Area Connection and select properties.
      3. Click the ‘Configure…’ button, and in the new window open the ‘Power Management’ tab.
      4. Make sure both ‘Allow this device to wake the computer’ and ‘Only allow a magic packet to wake the computer’ are checked, and click OK.
  3. Set up port forwarding
    1. As you might guess from the name of the website, portforward.com also has tutorials on how to set up port forwarding. It seemed to me they have an exhaustive list of routers listed on their website. Just find your brand and model, search for ‘Wake on LAN,’ and follow the tutorial.
  4. Set up DynDNS account
    1. To be able to access your computer from anywhere, you need to take advantage of DynDNS’s services. Go to their log-in page and sign up for a new account.
      1. They used to have a free account that you could sign up for. Technically they still do, but you have to sign up for their free trial in order to access it. I signed up for the trial and immediately canceled it so I wouldn’t forget to do it before they charged my card.
    2. When signing up for the free trial, you need to create a hostname. Once you enter a name, make sure ‘Wildcard:’ is unchecked, and that under ‘Service Type:’ you have selected ‘Host with IP address.’ For the ‘IP Address’ field, just click the link below it to automatically enter your current IP address.
  5. Install the Android app Wake On Lan
    1. Before you can use the app, you need to know the MAC address of the computer that you want to wake up.
      1. To find this on Windows 7, open up the start menu and search ‘cmd’ and press enter. In the command line, type ‘ipconfig /all’ and press enter. Find ‘Ethernet adapter Local Area Connection’ and write down the physical address.
    2. Once you have the MAC address, open up the Wake on Lan app and go to the ‘Wake’ tab.
      1. Under ‘Reference,’ name the device you are waking up.
      2. Under ‘MAC Address,’ enter the physical address you found above (replacing ‘-‘ with ‘:’).
      3. Under ‘Host Name / IP Address,’ enter the hostname you created with DynDNS earlier.
      4. Under ‘Port,’ enter either 9 or 7. This is the port you forwarded earlier. I set up both to forward, but if you didn’t, make sure to enter the correct one.
      5. Finally, before you click ‘Send Wake Packet,’ put your computer to sleep and hope for the best!
  6. If all everything was entered correctly, you can now click the ‘Send Wake Packet’ button and it will *magically* wake up your computer!
    1. If it didn’t work, try changing the ‘Host Name / IP Address’ field to ‘192.168.0.255’. As long as you are on the same LAN as the computer, this should work provided your computer is properly set up for Wake-on-LAN.
      1. If changing the IP address works but the hostname doesn’t, you have a problem with the port forwarding (possibly a firewall issue).
      2. If neither works, your computer is not yet set up properly for Wake-on-LAN.
  7. And finally, after much troubleshooting (hopefully not, but this is technology you’re working with), you’re finished! You can now wake up your computer from anywhere!
    1. As an added bonus, if you forward the port 3389 and are on a Windows computer, you should be able to use Microsoft’s Remote Desktop Connection (search for it in the Start menu) to remotely control your computer! Just enter your DynDNS hostname in the ‘Computer’ field and hit enter!
]]>
https://twodee.org/blog/5831/feed 0
Persist :: Travis Boettcher https://twodee.org/blog/5644 https://twodee.org/blog/5644#comments Sun, 18 Nov 2012 03:53:07 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=5644 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
This was the worst assignment ever.  I’m tempted to leave my post mortem at that, but I really would like the credit for this.  I don’t know if I went about everything in exactly the wrong way or if I was just too ambitious, but this project took at least as long as the last two combined (and that’s probably being generous).

My app is a comic book inventory tracker.  It allows the user to add, modify, search, and delete comics with various attributes (title, publisher, image, grade, purchase price, and a few others).  I am an amateur comic book collector and never have a good grasp of which comics I have and in what conditions, so I thought this would be useful.  The user interface is pretty bad, but I did make two layouts – one for phones and one for tablets.  When entering the comic, I force the phone layout into portrait (the only way it looked good).  The tablet I forced into landscape when adding the comic to take advantage of the screen real estate.

Tablet Layout for Adding Comics

To edit or delete comics, I added options to the options menu when displaying the comic you want to modify.  To delete, just select the delete option and confirm.  To edit the comic, I made an AlertDialog listing the various things you can edit.  Selecting on of those brings up another dialog where you can either edit the attribute or cancel.

Single Comic Display with the Options menu open.

The options menu for editing the comic attributes.

I learned quite a bit with this project.  I don’t know if the way I accomplished it is considered a hack, but forcing certain orientations based on the screen size was an interesting problem.  I also had never used the options menu, but know that I know it’s not too difficult, I may use it more often to simplify my layouts and make my apps seem more professional.  I also learned that I will never, ever be using SQLite for anything more than a couple of tables.

The code is located at https://bitbucket.org/tboettcher/cs491.persist.

]]>
https://twodee.org/blog/5644/feed 1
Web API :: Travis Boettcher https://twodee.org/blog/5264 https://twodee.org/blog/5264#respond Sun, 28 Oct 2012 00:04:14 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=5264 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
For my web API project I wanted to use Wolfram|Alpha’s extensive knowledge base to create some sort of useful app.  As I was perusing what the API could do, I came across a morse code encoder function and I knew I needed to go no further.

My application allows the user to enter a word or words and select the output function.  When the user submits, the string is sent out to Wolfram|Alpha’s API where it is encoded.  What happens when the encoded string is returned depends on the output function: one function uses the camera’s flash to flash the morse code; another uses the phone’s vibrator to vibrate the morse code; and the final function simple adds the morse code to the clipboard allowing the user to paste it into another application.

MorseCodeActivity

The other part of the application pulls a list of links from www.twodee.org and presents them in a ListActivity’s ListView.  Each item is clickable and directs the browser to the clicked title’s link.

LinksActivity

There were a lot of components to the functionality of this application, and a lot of it was fairly new to me.  I learned how to access the phone’s Vibrator and Clipboard, which were both easy enough to do.  I decided to add a warning to the MorseCodeActivity, so I learned the basics of creating an AlertDialog.  I got to play with the Observer pattern a little, and I got to learn a little about morse code.  Above all, I learned that working with other people’s poorly documented code is difficult, and although I didn’t add a lot more commenting to this project, I will strive in future projects to create easier-to-read and well documented code.

If you are interested in viewing the code, it is located at https://bitbucket.org/tboettcher/cs491.web_api

]]>
https://twodee.org/blog/5264/feed 0
U and I :: Travis Boettcher https://twodee.org/blog/5030 https://twodee.org/blog/5030#respond Sat, 13 Oct 2012 20:02:53 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=5030 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
For my U and I project, I wanted to do something that would be useful to me.  My first thought was to flesh out the 7 Wonders scoring app we had worked on in class, but there are already 7 Wonders scoring apps on Google Play (they’re just not very good).  Instead, I decided to look at another game that has a complex scoring system: Eclipse: New Dawn for the Galaxy.  This is a relatively new game and doesn’t have the recognition in the board game community that 7 Wonders does, so there isn’t an app available.

In my application, I wanted the user to be able to select the number of players in the game.  The application would then generate a list of the players and their scores (initialized as “Player 1” with a score of 0).  I then wanted the user to be able to click on a player, taking him to a page where he can enter the various things needed to calculate the final score.

A capture of the MainActivity

To do what I wanted in the MainActivity was pretty easy.  I used a TextView and NumberPicker to ask the user how many players there are, and a Button to submit that to the next activity.

A capture of the activity listing all the players

To list the players and their scores I extended ListActivity and created a custom layout with two TextView widgets, one for the player’s name and one for the player’s score.  When the user clicks on an item it brings up the next activity, expecting a result to come back to it.

A capture of a single player’s score breakdown

Finally, I was able to allow the user to enter values for the various items to calculate the score.  Because there are so many of them and I wanted to user NumberPicker to select the values, I had to embed the entire layout in a ScrollView. I hadn’t used ScrollView before, but after I figured out that’s what I needed, it wasn’t hard to implement at all.  For the underlying layout, I used a LinearLayout with TextViews, an EditText (for the player’s name), and NumberPickers.  At the end of the layout (seen partially above), I wanted to ask a yes or no question, use a CheckBox to record the answer, and have the question’s TextView and CheckBox next to each other horizontally.  To do this I embedded another LinearLayout in my vertical LinearLayout, which worked well.  Finally, at the very end of the layout I had a button that, when clicked, would calculate the score from the values given above and return to the list of players.  I also made sure the back button did the same thing in case the user accidentally hit that instead.

To do most of the passing back and forth of data, I had to really become used to using Intents and Extras.  However, once I did one and really understood what was happening, the rest wasn’t bad.  Another thing that held me up was the ArrayAdapter for the ListView, but again, once I reviewed our class work and videos, it really wasn’t too bad.

If anyone wants to look at the code, I have it all in a Mercurial repo on Bitbucket: https://bitbucket.org/tboettcher/cs491.u_and_i

]]>
https://twodee.org/blog/5030/feed 0
TODO :: Travis Boettcher https://twodee.org/blog/4339 https://twodee.org/blog/4339#respond Fri, 07 Sep 2012 01:03:56 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=4339 [...]]]> I read the syllabus!  But not before the sixth :(  Oh well!

I signed up for this class with an idea in mind: by the end of it I wanted to be able to complete a project I had been contemplating for a while.  I use a program called GnuCash to keep track of all my personal finances, but it has no mobile or web-based components.  I am hoping with the knowledge I get from this class I will be better equipped (and motivated) to write a web service and be able to connect to that using a mobile application, allowing me to save transactions on the fly to my existing GnuCash file (I’m also hoping by that time I will be able to say if this is even feasible or not :P ).

Other programs I want to explore include:

  • A Japanese flash card program: I have a Japanese minor, but it has been several years already since I’ve studied and I don’t want to lose all that I have learned!
  • An inventory system front-end. I used to work in a furniture store and there was a serious lack of technology, so I pondered writing a program to do this.  It could be a simple interface for the phone (usable by both store staff and customers) – maybe take advantage of the camera to read a barcode, looking up inventory, price, ordering options.  A tablet interface though could be much more involved, including a searchable map of the store (for customers) and the warehouse (for staff).  The tablet could also be used to set up custom orders.  (This is a very ambitious goal, so mostly I would like to know the general concepts that would make up this program)
  • I don’t have any specific ideas, but I thought it would be fun to tinker around with some of the various APIs floating out there: Wolfram|Alpha; the many, many Google APIs; Wappwolf; etc.
  • Lastly, I want to create a score pad application for a board game I play called 7 Wonders.  There is one out there in the app store, but it’s not very good.  It basically needs to take in some input and output a score.  Pretty simple :)
]]>
https://twodee.org/blog/4339/feed 0