The Mac OS isn't growing like crazy, despite the increased number of classmates, professors and coworkers working from their Macs. I'm surprised. It's been about even over the last year. Maybe part of this can be explained by the emergence of iOS on iPads and Android on other tablets. Windows has been steadily declining and now occupies about 89% of the market share. Linux is on the decline too.
Optimize your site for SEO
Been learning about increasing SEO for your website lately. Couple tricks: Meta tags in your HTML files. Put the following code in your header, aka in between the < head > and < /head > tags. For example on my site my SEO code looks like this:
<!-- SEO CODE -->
<meta name="description" content="The professional blog and portfolio of Kyle Clegg" />
<meta name="keywords" content="kyle clegg, who is kyle clegg, kyle mitchell clegg, kyle clegg byu" />
<link rel="canonical" href="http://kyleclegg.com/" />
<!-- /CLOSING SEO -->
Now, apply this to your site:
<!-- SEO CODE -->
<meta name="description" content="Company website for eLearning Interactive." />
<meta name="keywords" content="elearning, online learning, online training, hazcom training modules" />
<link rel="canonical" href="http://elearninteractive.net/" />
<!-- /CLOSING SEO -->
Mark Zuckerberg at BYU
BYU News Release: Mark Zuckerberg to give forum address at BYU on March 25, 2011.
This is really exciting for the school and all persons interested in business, technology, creativity or improving the world. I'm super stoked.
Mark Zuckerberg, Orrin Hatch to talk technology, policy at BYU March 25 Mark Zuckerberg, founder and CEO of Facebook, will be featured in a technology forum discussion Friday, March 25, at Brigham Young University. U.S. Senator Orrin Hatch will also participate in the event, which will be held at 11 a.m. in the Marriott Center.
“In a world where technology and communications are changing at an ever-increasing rate, it is important that today’s students have the opportunity to hear and learn from those who are transforming electronic and social media,” said Kelly Flanagan, BYU’s Chief Information Officer and Vice President for Information Technology.
“We are grateful to Senator Hatch for inviting Mr. Zuckerberg to speak at BYU,” Flanagan said. “As chair of the U.S. Senate Republican High-Tech Task Force, Senator Hatch had the chance to meet with Mr. Zuckerberg and candidly discuss the opportunities and challenges that face our particular digital age. We look forward to hearing from Mr. Zuckerberg who, without question, is influencing how we communicate on a world-wide scale.”
In 2004, while a student at Harvard University, Zuckerberg founded Facebook, the world’s largest social network. Named as TIME magazine’s Person of the Year for 2010, the magazine noted, “Facebook has merged with the social fabric of American life, and not just American but human life; nearly half of all Americans have a Facebook account, but 70 percent of Facebook users live outside the U.S.”
Zuckerberg studied computer science at Harvard before moving his company to Palo Alto, Calif. He is now responsible for setting the overall direction and product strategy for the company.
The technology forum will follow a question-and-answer format. Questions will need to be submitted in advance (by Tuesday, March 22) through the BYU Facebook Page (Facebook.com/BYU).
The university will not broadcast or rebroadcast the address to any other locations on or off campus or the BYU Broadcasting network. Video of the technology forum will be posted later on the BYU Facebook Page and the BYUTV Facebook Page.
Powershell 101
Well, I definitely got my hands wet with running Windows PowerShell scripts today. I ran into a number of issues in the process, so I better make note of the solutions for next time around.
First off, PowerShell is Windows' task automation framework. Good for running scripts on windows machines. As far as I can tell, you can run PowerShell in the command prompt with the command call PowerShell.exe: C:\Scripts>PowerShell.exe
. Or, you can open the Start Menu and start typing PowerShell and open Windows PowerShell.
Now, you have a script and want to run it right? Pretty easy right? Not for me. I had to jump through some serious hoops here... so I tried typing Suspend.ps1. No dice. I'd get an error saying the command isn't recognized. Through some bing magic I found that you need to include the complete file path: C:\Scripts\Suspend.ps1
Or, if you are currently in the specified folder you can use the .\ notation: .\Suspend.ps1
It's better to use the full notation, to prevent it from finding a file of the same name in your current Windows path (it looks through the entire path, not just your current directory). FYI - you can see your current path with this command:
$a = $env:path; $a.Split(";")
Anyways, once I figured out how to actually make the call from the command prompt, I kept getting this weird signing error:
File C:\Scripts\Suspend.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-
help about_signing" for more details.
At line:1 char:19
+ C:\Scripts\Suspend.ps1 <<<<
This is where it got tricky. I searched around for a bit and found that by default, windows machines are set to restrict you from running scripts. To see your execution policy try using the command Get-ExecutionPolicy
. If you've never messed with this before, it'll probably say Restricted, like mine did. Now, the simple fix to change this is to use the following command call: Set-ExecutionPolicy RemoteSigned
. If this works for you, congratulations! You're good to good. For me... it didn't. I got some weird error that looked like the following:
Set-ExecutionPolicy : Access to the registry key ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell’ is denied.
At line:1 char:20
+ Set-ExecutionPolicy <<<< RemoteSigned
Is this familiar to you? Hopefully not, but it if is. There's a solution.
To fix this and add the RemoteSigned execution policy by hand you'll need to work a little Windows registry magic.
- Open registry by opening the start menu and typing regedit into the search box
- Browse to key HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
- If “ExecutionPolicy” does not exist, create it as REG_SZ with value “RemoteSigned”
- Open PowerShell and use the command “Get-ExecutionPolicy” to verify it is set correctly
Now, you should be all set. Go back to the command prompt or PowerShell window and run your command. This time when I ran C:\Scripts\Suspend.ps1
it was beautiful.
If you have any other issues send me an email or leave a comment, I may have struggled with it too.
Useful pages for troubleshooting: http://technet.microsoft.com/en-us/library/ee176949.aspx http://bartvdw.wordpress.com/2008/04/22/powershell-executionpolicy/#comment-190
How to FTP with BrainHoney
I figured out how to FTP directly into a course's resources today using FileZilla. It only takes a couple relatively-simple steps. 1. After opening your course and navigating to the syllabus page the first thing you need to do is locate the FTP address. On the right side of the screen, under Resources you need to click +Add, then the Multiple Files tab and you'll see the FTP address and the user name to use.
2. Once you've got then, open up FileZilla and go to the Site Manager. Click new site and enter the following: (a) General tab:
- Host: gls.agilix.com
- Server Type: FTP
- Logon Type: Normal
- User: kc/admin (enter yours here)
- Password: XXXXX
(b) Advanced Tab:
- Default remote directory: Here you enter the course id. Make sure you begin with a forward slash. If not it won't be able to parse the directory path.
3. Everything else can be left as is. Now just click connect and you're in! Drag and drop folders and files, then view the files in the UI to verify they've uploaded successfully.
Engagement
Well, it's about time I spread the news about how it happened... On Thursday before Valentine's I surprised Dru by showing up at the home she's been living in on Maui! She was in the shower as I walked in so I knocked on the door, sweetly said "hey Dru...?", and said "hi!". She was pretty excited. She grabbed a towel and jumped out to give me a big hug. The surprise...was...successful. I accomplished it by leading her on that I was pulling an all-nighter the night before (which I did) and sleeping in all morning (which I did not). Instead, I jumped on a plane at 6AM and made it to Maui by noon with the time difference.
The couple of days we had together were perfect. She surprised me the a pair of Vibram Five Fingers for Valentine's Day :), we hung out with the girls, grabbed the best fish sandwich for lunch in Paia, spent a rainy afternoon on the beach, and just enjoyed being together. It was so nice. Tijana made it all possible too by helping me work out the dates and times, and letting Dru spend so much time with me for those few days. I loved it.
So... on one of the days Dru casually remarked to that we should go back to Haleakala, where we went the first time I came to Maui at my dire request (it was totally worth it). When Dru mentioned this I was like, yeah baby that's a great idea 1) because I loved it up there but 2) because really it was the place I was wanted to propose to her. I didn't tell her that, though.
So Monday morning came, February 14th. The alarm went off at 3:45 AM and I woke Dru up to get in the car. We grabbed some essentials, I grabbed my bag with the "picnic" I prepared and we headed up to the Mountain of Haleakala, or the "House of the Sun". The drive there from West Maui is about two hours, and as we drove I was getting more and more excited. Surprisingly I never really got nervous. Maybe it's because I was about to make the best decision of my life. Yeah, the biggest, but with Dru I'd be making the best decision ever, and who are we kidding I'm getting an amazing deal.
As we got closer Dru woke up, maybe from the driving, maybe from my excitement. I get so excited heading up there. Ask Dru. Seriously, the sunrise is incredible. Best view I've experienced thus far in my life. See pics from last trip if you're interested. Anyways, we paid the park entrance fee and drove up to the top. When we got to the top though, there was a problem. The parking lot was full and we were the VERY FIRST car turned away. Uh oh... disaster huh?
Well, it turned out not to be so bad. The guy told us to head down two miles to another viewpoint. So we did. We got there and found the view to be just as gorgeous, with about 1/10 the people. Definitely like that. So we walked up to the little viewpoint and I was like okay Dru, hang out here a minute, I'm gonna go setup a spot for us and a little breakfast picnic. She's like mmmk, and I run off. Now, I was starting to run low on time because with the parking deal and turnaround and all I lost some precious time. Working against the clock here since the sunrise is coming and I'm trying to work in something special by sunrise...
So I explore a little and find this perfect spot, tucked away from the viewpoint and the people, but still with a spectacular view of the sunrise. I quickly pulled out from my backpack a bag of candles and pack of clear plastic cups. The cups were to protect the candles from blowing out in the wind. I made a short path lined by candles, which led to the spot I'd found, then placed candles in a semicircle around the place I picked out to propose. The spot was actually perfect. It was like a mini amphitheater with an altar open to this HUGE volcano crater, clouds, and the rising sun. Next, I struggled for a few minutes to get the candles lit. After I got it setup just how I wanted, I pulled out a single white rose (on Dru's birthday in June I gave her a dozen white roses), and turned to go get Dru. As I looked over to where I left Dru I saw the sweet sweet girl walking over to me. Sweet girl was missing me, bless her heart.
I smiled at her and grabbed her hand. I was excited and happy. No nervousness. No butterflies. No stumbling on words. I knew exactly what I was about to do, and was confident that it would be the best decision I ever made. I led her through the short path of candles and to the area I prepared. I turned to her, grabbed her hands, and proceeded to tell her all the reasons why I love her. I think she could tell what was going on at this point, because she started to cry pretty good. I told her how honored I am to be in her life, and that I want to spend my life with her. I told her that I'm confident that I can make her happy the rest of her life, or at least try my best to do so. I told her that I want to be with her forever, want to see her every day, wake up to her every morning, want to take care of her, be by her side as we start a family together, travel the world, and grow old together. I told her that I love her and want to make her the happiest woman in the world.
Then, I did it. I went down on one knee, pulled the ring out of my pocket and asked her to marry me. She got super excited (at least it looked like it) and said "YES!" between tears, and hugged me. Sweet Georgia girl... now my fiancée. We hugged, kissed, and enjoyed the moment. We sat down together on a blanket and just held each other. It was perfect. The view was incredible. Timing impeccable. And I remember looking up not 2 minutes after I asked her and seeing the sun come up over the clouds. It was brilliant. Couldn't ask for more.
Indexing on FamilySearch.com
Giving indexing a shot for the first time. It looks pretty simple and a good way to volunteer some time to a good cause. Simple setup, too many menus and getting started options though. They should have 1 super simple getting started path that you follow. As is, you can "get started", watch some YouTube videos, check out the FAQ, tutorial, quick start, or just jump straight into it. I mean, it's all good information, but it's a bit of an overload to me. I just want to index, I mean COME ON!
Give it a shot: FamilySearch Indexing
Elance Online Employment Repor
This Elance employment report about the online world is super interesting. I found the fact that wordpress skills take #2 overall (above CSS, MySQL, .NET, iPhone, SEO, etc) very surprising and interesting.http://www.elance.com/p/online-employment-report.html
Recovering from Davies' Suspension
All I can say is I'm glad this happened now rather than later. Brandon Davies is an awesome kid. I really hope he'll be back next year. As for the Cougars' loss to NM tonight. WOW. Clearly the team's head was elsewhere. Not only were the Cougars hurting from the loss of the big man, but no one played particularly well, not even The Jimmer, despite his 33 points.
So, while this is a major blow to the Cougars, I think the main task at hand is to regain composure and confidence. With a few days to let emotions settle and try to adjust, the team can do a lot for itself by scraping up a quality win over Wyoming. I can only hope we'll bounce back and regain some confidence in time for the NCAA tournament.
Utah Valley Half Marathon
My first event longer than a 5K. I ran the UV half on June 12, 2010 and loved it! The course was a fun 6 miles downhill followed by a pretty level second half. Final time: 1:27:36.
Binary Bomb
ECEN 324 - Lab Assignment 2: Defuse a binary bomb. Introduction: The nefarious Dr. Evil has planted a slew of “binary bombs” on our machines. A binary bomb is a program that consists of a sequence of phases. Each phase expects you to type a particular string on stdin. If you type the correct string, then the phase is defused and the bomb proceeds to the next phase. Otherwise, the bomb explodes by printing "BOOM!!!" and then terminating (and you lose 1/4 point per explosion). The bomb is defused when every phase has been defused.
The textbook appears to be so widely used that there's a lot of help out there when it comes to this lab. We found some notes that I thought were helpful as we reverse engineered our way to diffusion. Thought I should pay if forward by posting some of my own thoughts.
So, our mission was to diffuse Dr. Evil's binary bomb (bomb #39). We used GDB, the GNU debugger to inspect the bomb run by and stepping through the assembly code during each of the 6 steps, cracking each step one at a time. The total project took almost eight hours for us (2 of us) to finish.
------------------- phase_1 -------------------
This step was fairly easy. We could tell it was expecting a string right off the bat, then noticed that the solution string starts at a location 0xXXXXXXX (you'll have to look at the debugger) and compared it to the input string. Thus, the solution to phase_1 is one of the strings in the file. You could just guess and check here, too. Brute force should get the job done at this phase. We determined our string to be 48 characters long. Then we looked in the bomb file and found only one string 48 characters long.
Solution: I am not part of the problem. I am a Republican.
------------------- phase_2 -------------------
This one was rather tricky after an easy step one. First, we found that it was looking for 6 numbers, from the scanf function looking 6 times. We eventually figured out that it the code consisted of a repeat of 3 decreasing numbers. 10 9 8 10 9 8, for example. That did the trick for us.
Solution: 10 9 8 10 9 8
------------------- phase_3 -------------------
This was the hardest phase for us. We seriously took 2 hours, then took a break for the day, came back the next day and spent another 45 minutes before we got it. I wish I could explain more by my lab partner carried us through this step. Our code was cracked by a single digit number followed by a 3-digit number we had to decipher.
Solution: 6 227
------------------- phase_4 -------------------
On this phase we could immediately tell there would only be one string to defuse this phase. Looking into it a little further, we found that 7 was being stored in %eax and also put into %edx, doing some sort of n^n type deal. Ours was calculating 7^n, so the code was simply n. Not too bad.
Solution: 4
------------------- phase_5 -------------------
This phase was really cool. Basically it was like solving the back of a cereal box. By inputting characters you'll see a code emerge, aka each letter will actually represent another character. For example in our case we eventually found:
- a-s
- b-r
- c-v
- d-e
- e-a
- f-w
- g-h
- h-o
- i-b
And so on... We looked at the numbers each character was being compared against and deciphered our code.
Solution: aepkmq
------------------- phase_6 -------------------
Guess and check! Seriously... this is the only way to get this phase. By looking at the scanf calls and compare methods we could tell that it was expecting six numbers, all over which had to be 6 or less, non-repeating, nonnegative, nonzero numbers. We tried for hours (really) to figure it out and finally got somewhere by guessing and checking. Since we only had six possibilities and numbers can't be reused, these ended up being the best way to decipher the code. After we could tell we got past the first number it made it easier because there were less options for the next number, since the numbers can't repeat. After some good guessing and checking we finally got it.
Solution: 3 2 5 4 1 6
Done! Like I said above it took the two of us almost 8 hours to finish. There's probably people out there who can do it in half that time, but we diffused the bomb and saved the world, so I'm happy. If anyone has any input, corrections or questions just send me an email.
Disclaimer: I'm posting the solutions here to help see general format, and as a personal record (in case I still fail the class). There are at least 60 different bombs one could be assigned, each varying in approach and solution. The chances of these solutions working elsewhere are slim.
Blake Griffin dunks over a car
This is sick. Blake Griffin Car Dunk
Vibram Five Fingers
Baby girl got me the best valentine's present EVER! Super excited to try these out.
Seattle Marathon
My first marathon. Ran on November 28, 2010 with Kyle Lewis. Finishing time: 3:29:10. Wahoo!
Miss her
I miss Dru a lot. going 2 months without seeing my fiancee is going to be very very hard.
BYU girl gets Jimmered
Jimmertime. Let there be Jimmer. lol...all this is in response to one girl's despise of Jimmer... "just wrote another irritated letter to the editor of the BYU newspaper. I hope this doesn't turn into a habit". Poor girl should've set her wall to private before she said that..
Centipede Attack
An 8 inch centipede almost crawled up Dru's bed to bite her. Apparently they're "blood thirsty carnivores" according to one website. Check this little guy out.