Corner of Seven Helping Tech and People to Get Along

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!

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.

22Jan/101

DNN Module Creation, Explained (part 1).

Since I haven't shown up here for a while, I should talk a little bit about what's been going on in my life. I'll keep it short.
December: Left my job in Rock Island, was in a musical at Quad City Music Guild, Found a job in Dubuque at 365Advantage, lived in a suitcase until I found an apartment, worked on mobile phone development.
January: found an apartment, continued phone development until our other two developers left, was told in a week to learn DotNetNuke module development.

So here we are.

I've had some consternation in trying to figure this framework out (I come from the Java n-tier and Ruby on Rails MVC worlds). The biggest is getting my head around WebForms. For some reason, carrying state of pages between each other seems dirty to me, compared to handling everything by referencing the entities themselves (a la REST). I've even googled it:
Turns out that's not how they do things in the DNN world.

Through some aid via the book Professional DotNetNuke Module Programming and the books author, Mitchel Sellers, I think I've slowly gotten a hang of the basics.

On the face, DNN is a CMS. Compare a default install with something like vanilla Radiant or WordPress. But most people forego that aspect of it, and use the portion of DNN that they've become known for: pluggable modules.

You would think that a system that was built to be completely modular would make it easy to build modules, right? I WISH. Maybe it's just me, but I shouldn't NEED Visual Studio, SQL Server Management Studio, and some magic to build a module. Then again, I come from Java and Ruby, where I'm not tied to an IDE. DNN Module building requires it, though.

Now that I've finished complaining, Part 2 will demonstrate how I've managed to get around this, and use the services that .NET provides (like LINQ to SQL) to make DNN Module building as painless as possible.

26Mar/092

iGoogle vs. Netvibes

In the realm of personal web startup pages and managing, these two titular offerings stand out.  I offer to you as readers the option to try out both, in hopes that one of them sticks for you.  For me, it makes the time working around trying to find my usual morning reads of pages, blogs and activities like twitter and facebook that much easier to take care of.