Corner of Seven Helping Tech and People to Get Along

21Jun/100

50 lines of Code – Days missed

Yeah, so I think this is going to be a little harder than I thought at first. I'll still try to get code out in the next few days, but things didn't work out for today. If there's anyone out there who would like to help contribute to the 50 lines of Code a day project, please get ahold of me and we'll try to set something up. :)

Filed under: General No Comments
18Jun/100

50 Lines of Code – day 2: more LWP

More Paint LWP work... See gist at bottom. Anyway, all I've been doing is just letting my hands type out the general idea of what I want. I have yet to test it in any emulator or device, to make sure it's doing what I think it is. I just want to make sure I'm writing things correctly; the first write is to learn it, the second to create, and the following to master. Once I've got the idea solid (and I think I'm getting there), I'm going to write one of these more simply: instead of four colors, only one moving paint dot. And that way, I can really start testing what I'm looking for. I'll get some more time tomorrow, so expect a new copy of this, a little simpler and more testable. Maybe I'll even have a package to distribute - wouldn't that be nice. :)

Tagged as: , , No Comments
17Jun/100

50 Lines of Code, Day 1: Live Wallpaper

My first 50 Lines of Code entry, is the beginnings to an Android 2.1+ Live Wallpaper.

Called Paint, the idea is to have four main colors at the edge of the screens. By the phone's tilt, those colors will bleed into the screen itself, causing the animation, and interactivity with the phone regardless of whether or not you're actually accessing an app. The LWP actually becomes as fun to use as anything else on the phone. :)

The basic setup is contained in this Gist.  There's more to add, but I made my quota for the day, and I want something to work on tomorrow. :)

17Jun/100

50 lines of code

I haven't written much code, for being a Comp Sci major.  I feel like sometimes, I get further and further behind my peers because they have the opportunity to write the code that I don't.

I'm giving myself a challenge, and having my blog (Corner of Seven, for those of you reading this via Facebook) become the record of my success or failure of this challenge.

Starting today, my goal is to write *at least* 50 (fifty) lines of code per day.

This idea came about through the previously mentioned "Don't Break the Chain" post on this blog (which worked oh so very well...),  and a recent experience that I had at work.

Most of my work duties are currently system configuration and setup, and less actual development on said systems.  With that, my ability to get code written has diminished.  I was asked recently to create a component in our software that renamed a file going out, based off of metadata contained within that file.  After sitting blankly at the computer screen, with my brain screaming, "I know what to do!!!!" and my hands frozen, unable to regain the muscle memory of the common actions of Java, I looked inside, and realized this had to change.

In a sense of betterment, I want to complete at least a small project daily.  Maybe it's a coding kata. Maybe I work on stuff in Android.  Maybe I continue work on RBEQ.  Maybe I add new things to Corner of Seven.  Maybe it's something I haven't even thought of yet. All I know is that new code needs to come out of me, before I can't do it any more.

Fortunately, I have tools at my disposal.  The afforementioned projects can keep me busy for a while, but what do I have to show the work that I've put in? Enter the Gist system at GitHub. This allows you to put small snippets of code out, configurable by language; it gets your code available on the internet, and embedded into a blog or webpage.

So there you have it.  Look to see some Gists from me shortly.

Cheers!

26Apr/100

As seen on Facebook

21Mar/100

Exploring the Droid

Recently I've been having a lot of fun playing with my new phone.

The previous statement isn't much of a surprise in this day in age, but I think I should qualify what I mean.

I've been having a lot of fun playing with the software internals of my new phone.

29Jan/100

Code Quality Measurement

Code Quality

Found on http://www.makinggoodsoftware.com/

28Jan/101

Why Apple Chose iPad

As everyone is quite aware, Apple's release of their tablet, now known as the iPad, was announced yesterday.  With their own System-on-a-chip processor, near-10" screen, and storage sizes ranging from 16-64 GiB, these pieces of technology are impressive at their price point, even for a non-macHead.

However, the overwhelming response to the announcement yesterday was that of its name: "iPad." Throughout the afternoon, the 2nd-highest trending topic on twitter was 'iTampon,' a not-so-subtle play on the name. Many jokes set in along the same lines:

http://www.fastcompany.com/blog/alissa-walker/designerati/apple-ipad-name-not-winning-women

http://bits.blogs.nytimes.com/2010/01/27/the-ipads-name-makes-some-women-cringe/

http://online.wsj.com/article/SB10001424052748704094304575029603030082186.html?mod=WSJ_Small+Business_sections_management

This led people to question: "Who in their right mind would use this name?  Especially considering this MADtv Clip?"

Others: "Were there NO women on Apple's naming board?"

Personally, I think Apple knew EXACTLY what they were doing.  It thrives off of the idea that "any publicity is good publicity." Everyone now has the name iPad stuck in their mind, even if it was because they heard it in a joke somewhere.  They know what the device is, and they knew about the MADtv sketch.  As these things get passed around more and more, it will create more interest in the actual device.

On top of that, Apple's fans are the some of the most extreme technology followers, even worse than Stallman, et. al. in the GNU/Linux world. These people, who would buy the device anyway, coupled with the tech world, who is actually impressed with the functionality, makes me think that even with the interesting choice of name, they've still got a hit on their hands.

22Jan/100

DNN Module Creation, Explained. (part 2)

Let's assume for the sake of presenting this, that you have a copy of SQL server Express 2008, and Visual Studio 2008. Not that this is the only system you can run DNN on, but the only one I've ever tried doing this with. Once finished, we will have an instance of DNN running, and the default compiled module, with a LINQ Data Access Layer added in Part 3. Thanks to Mitchel Sellers for his description on how to build DNN modules here: http://www.mitchelsellers.com/blogs/articletype/articleview/articleid/179/developing-a-c-wap-module-in-dnn.aspx .


  1. Get a copy of DNN. We can't really use it without getting it, now can we? From this page, pull down the Visual Studio starter kit. After installing, you should be able to build DNN sites and projects from Visual Studio.
  2. Create a new Web Site project. Open up Visual Studio, and create a new Web Site project (WSP). Make sure that 'Visual Basic' is chosen as the language (don't worry, you won't have to write much VB), and choose 'DotNetNuke Web Application Framework' as the project type. Give it a place to live, and verify that everything looks right: Site Creation Dialog
  3. Build. The site comes ready to go out-of-the-box, so either hit 'Start without Debugging' from the 'Debug' menu (thanks VS), or press Ctrl+F5. After building, a browser window will pop up, and you will be face-to-face with the DotNetNuke Installation Wizard: DNN Install WizardClick on the "Auto" option to have the site automatically set up a SQL Server database file, and default administrator and host user credentials. NOTE: If you don't have the "Auto" option selectable, because of a SQL Server error (it'd show up in red on the bottom of the screen), something's up with your sql server install. Either hand configure your server (outside the scope of this tutorial), or fix SQL Server (also outside of the scope of this tutorial).
  4. Open a new instance of Visual Studio. There might be a better way around this, but I haven't found it yet. The instance holding our web site project needs to stay up, so we keep the web site running.
  5. Create a new Compiled Module Project. In our new instance of VS, go to 'File -> New -> Project...' Pick your preferred language (I'm going with C#), and under 'Project Types:', select "Web." In the 'Templates:' window, under My Templates, select DotNetNuke Compiled Module. Give the module a meaningful name. IMPORTANT! Follow these next steps TO THE LETTER, or this doesn't work. Make the project's location point to the DesktopModules folder inside our web site, and DESELECT the checkbox that says 'Create Directory for Solution'. It should look something like this: DNN Module Creation Finally, Create the solution by pressing "OK".
  6. Run the database script. One of the files created along with the rest of the Compiled module project (or WAP project) is 'xx.xx.xx.xx.sqlprovider', where the xx represents a version number. This script generates the SQL tables and stored procedures for handling the new module. We need to run this so our Data Access Layer has something to access. In the web site, log on as host, with the default username and password 'host' and 'dnnhost'. Once logged in, go to the host menu, and find SQL. Copy the contents of the sqlprovider file, and paste them into the text box. Important: check the box below the text box that says "run as script." This allows DNN to replace generic pieces in the script with their specific counterparts provided by DNN. Run the script by pressing 'Execute.'
  7. Install the module. In the website, go to host->Module Definitions. From here, at the bottom of the page, there should be a link that says 'Create New Module'. Click that, and this menu pops up: Module Creation Page in the Dropdown, select 'Manifest', and the page will reload, with more options. Under Module folder, select your module, and the page refreshes again. a modulename.dnn file should be in the 'resource' dropdown. Hit 'create module' to put the module into your website.
  8. Hope that this helped anyone needing it.

28Oct/090

Don’t Break the Chain

After reading this post on LifeHacker, I couldn't escape the feeling that I should start doing something like this.  I mean, it works for Jerry Seinfeld, it can't be all that bad. :)

Basically, as described on the link above, the idea is that you keep a daily calendar of all the specific goals you want to accomplish.  Every time you do something related to a goal,  mark off the day on the calendar.  Once you have a few days consecutively, that is a chain.  The object of this motivational strategy: Don't Break the Chain. Seems like a simple enough thing.

In the spirit of bringing in new ideas in order to make things work, I'm going to use a modified schedule, but the chain still takes effect.  Different days for me will be devoted to different goals/tasks.  Mondays and Thursdays I tackle some Ruby code, so I can stay fresh and learn about some of the newer developments that I've missed, having been out of the Ruby loop for a while.  Tuesdays and Saturdays are devoted to Corner of Seven.  That's right, you might actually see more blog posts. In addition, I'm looking at building new and experimental pieces onto the domain, including rails and Java webapps, and playing around with php and python, so I can apply these to the blog, and keep the site as a form of digital portfolio.  All of my things will be up here, so it makes it more centralized.

Motorola Droid

Motorola Droid

Finally, the big hurdle in my calendar, and what is to be the biggest chain - Android.  I've been looking at the mobile phone operating system for a while now, but haven't had the drive to fully enter in and create things for it.  That is, until I saw (and afterwards, held) one of these.So, starting today, once a day I will try to do something new in terms of Android development, in an effort to increase my skill and knowledge in the mobile OS.  Hopefully we'll get to see some neat little apps come out of this "Don't break the chain" mentality.  Hope you're along for the ride - I guess we'll see come every Tuesday and Sunday.

Cheers for now.