A Geek's Cogitations, Conjectures and other Cortical Experiences

Category: Programming Page 1 of 3

Tech Talk: Ready For Swift? [UPDATED]

swift-ogA couple of months ago I decided to start diving into Swift. I know Swift is still in its infancy and Apple seems to be breaking it with every XCode/OS/language update. I had watched all of the videos Pluralsight had to offer (though I noticed they recently published new ones). I have dabbled in Objective-C prior to Swift’s announcement and it is as convoluted and cryptic that everyone says it is; but it’s not impossible to learn. Swift, however, would make iOS app development a heck of a lot easier.

It might help that I have a sufficient background in object-oriented development in .NET as well as fluency in JavaScript and HTML5. I’m not sure if the latter would provide any value comprehending Swift, but I’m sure it doesn’t hurt it. I think the concept that provides the most value is understanding the MVC design pattern. I completed a very basic “Hello World” style app back when I first tried out Swift; it appears there have been a couple more updates so I hope to explore those [potential] changes in a few weeks.

Apple has been pretty quiet about Swift since it was introduced. I’m not sure if that’s because they were expecting the Internet to pick up that mantle or if they are planning additional announcements (WWDC perhaps – which, ironically, is occurring on the day that I published this post). If you have been using Swift recently and have something to share (good or bad), I would enjoy your comments below. Perhaps, in a few weeks, after I have dived back into iOS development, I will post an update.

UPDATE: After watching WWDC it looks like Apple is ready to take Swift to the next level with Swift 2 and by making it open source (which was received with raucous applause). This announcement was probably the most exciting thing (for me, at least) to come out of WWDC this year; unfortunately Swift 2 (and the open source library) won’t be available until the end of the year.

/cheers

Tech Talk: JavaScript Frameworks

Web_programmerOver the past year I have had several projects at work (I feel like a real live consultant now) and I have used a few new technologies and tools on those projects. The skills that have really come a long way are my JavaScript skills.

I know what some of you might be thinking, “WTF, JavaScript?!?”

Yes. JavaScript. It’s not as cumbersome and taboo as it was back in the 90s. There are new tools and frameworks out there that have actually made JavaScript not only easier but … dare I say it … fun?! The library that has made JavaScript easier, for me, is jQuery, which I have been using for a couple years now and I won’t write any JavaScript without it. There are two frameworks that I have played around with recently that have really made JavaScript kind of fun: Knockout and AngularJS (I know these are not the only two but they are the only two I have spent any time using).

I think I have gone on before about how much I enjoy the magic behind jQuery. I even saved a few on snipplr which have had a few strangers favorite, although I could probably improve on most of them with the newer versions of jQuery. Using jQuery will definitely make your web page feel very dynamic and that seems to be the paradigm we are going for these days. A “web site” is quickly becoming a legacy term and we are evolving into developing “web apps” – which is essentially a website that functions as if it were something running on your desktop (instead of in your browser). I’m sure the evolution and massive adoptions of tablets and mobile devices has been a major catalyst.

The jQuery syntax and plethora of plugins really makes developing web apps much easier and adds a level of enjoyment to it. In fact writing your own jQuery plugin doesn’t require any additional software or new syntax, they are still js files that just use existing jQuery syntax. I have yet to write one myself, but I really want to, someday … if I can think of a worthwhile plugin to write. I have noticed a drawback about jQuery lately; the more complex you make your page the more JavaScript you have to write. I have a couple of sites where there is more JavaScript code then actual markup and trying to find a specific function to modify can be an exercise in perseverance. When JavaScript code becomes increasingly verbose, that’s when frameworks like Knockout and AngularJS come in handy.

I’d like to go on about Knockout and compare it to AngularJS but I haven’t spent a lot of time recently enough with Knockout and I have spent quite a bit of time the past couple of weeks with Angular. I mostly started looking into Angular because its one of those terms that has been mentioned quite a bit around the office. Many folks have talked a lot about using it and it has been implemented at my next assignment. I wanted to go beyond just watching the Pluralsight videos and reading the tutorial on the website. I wanted to see if I can get it working on a website. Therefore I made one of my websites the guinea pig 🙂

Angular uses “directives”, which are essentially special attributes added to HTML tags that only mean something to Angular which tell Angular where it will be applying changes or reacting to events. While you can still use jQuery to handle some of your pages events, in Angular the controller will contain the majority of the code that needs to be executed. It does add a bit of brevity to your html pages.

If you have done any development using the MVC pattern your attention may have latched onto the word “controller”. In Angular you are essentially using an MVC pattern (although you will often see it referred to as MV* when folks speak of Angular). Your controllers are still written in JavaScript but I often create a controllers.js file and keep all my controller code there. Therefore, if you need to make a change to some logic and you know its going to be in a controller, it will be easier to find the bit of code you are looking for to make your change. No more scrolling through lines of JavaScript code, or hitting Ctrl-F to find a specific function (unless you are using several controllers, in which case I would encourage you to create multiple controller files).

I’ve only really just begun to dive into Angular and I’m already enjoying its power and brevity. As I continue to witness and invoke its prowess I’m sure to be inspired to write some more, however I’ve run on enough for now but I encourage you to check out all of the things I talked about (if you haven’t already).

minion_keboard_smI could get so much more accomplished if I only had minions!

Biggs On: Gunnars

gunnarsSince the first time I saw Gunnars at Micro Center I had wanted to try them out. Granted at the time I was wearing glasses so unless I was willing to pay the ridiculous price for prescription Gunnars, they would remain on the store shelves instead of beside my gaming peripherals. A few years later I had LASIK and it was worth every penny, of course the Gunnars would still have to wait since I just paid for the surgery.

So now we fast-forward to present day and I find some on sale on Amazon and it became time to try them out. They are supposed to help with eye strain and fatigue as well as help with dry eyes. A side effect of LASIK is dry eyes and I had chronic dry eyes prior to LASIK so anything to reduce how dry my eyes get is worth a try.

I’ve been using my Gunnars for about 3 weeks and so far they have been worth the investment. My eyes do seem less stressed and I do notice that they seem to dry out less through the day. I even think everything looks more crisp on the computer monitors. In fact not only have I been wearing them when I’m using my computer at home for video games, but I have brought them to work as well. Granted I have been called everything from “the biggest nerd in the office” to Bono from U2 but considering how much its been helping my eyes it doesn’t bother me in the slightest. Besides, why would I flinch when I’m called a nerd, isn’t it better just to embrace what I am?

You can get Gunnar’s without the yellow tint and still receive the benefit but they will cost more so if you don’t mind the yellow lenses, I’d recommend the cheaper pair. So if you have the means, keep an eye on Amazon because that’s where I found them at a discount and I would definitely recommend getting a pair especially if you are feeling any kind of eye fatigue or dryness after staring at the computer for long hours.

Biggs On: HTML5 and CCS3

Web_programmerBack in the day, around 1997 – 1998, I picked up a book called “Teach Yourself HTML4 in 24 Hours”. It was my first glimpse into the world of web development. Thanks to SamsNet Publishing, I read that book cover to cover and referenced is so much the cover literally came off. CSS was still in its early stages and JavaScript was hated by everyone. Creating dynamic content was a test in perseverance and willpower. If I wanted a cool menu system, and I didn’t want to write it myself, I had to find something I liked on places like http://www.dynamicdrive.com or research how to do it using DHTML (which I don’t think even exists anymore).

This was the world I lived in for my early, static, web site development. It not only proved how difficult it was to make a website dynamic, but it also revealed just how terrible of a graphics designer I am.

After I finished college, word started going around about HTML5. It was boasted as the greatest enhancement in HTML development when combined with CSS3 ( and jQuery). They weren’t wrong. I have completed a certification in HTML5, JavaScript and CSS3 and I find myself enjoying web development immensely. Despite my complete lack of graphics design skills, I can now make buttons and fancy headers and never launch a graphics studio. It’s amazing what can now be accomplished with just a few tags and styles.

Microsoft Haters vs Critics

quillIt’s not a secret among many of my friends and co-workers, I have been pretty harsh toward Microsoft lately. It’s an interesting dichotomy since I make a living developing Microsoft solutions. Despite my harsh opinions, I’m hardly considered a hater. This post was inspired by another post I read in Visual Studio Magazine (No Stopping Microsoft Haters). The unfortunate fact is, the trolls of the Internet are relentless. Some may actually have valid reasons for their opinions, others are probably just trying to bate the passionate.

The thing is, there is a huge difference between a hater and a critic. I rip on Microsoft a lot, because I do have high expectations for a company that has been in business for nearly 40 years. I don’t think my comments and opinions make me a hater. Perhaps if you were to say I am a Windows 8 hater, that might be a valid accusation. However, I really enjoy the tools Microsoft provides to make my job a hundred times easier. I really think Windows 7 is the best version of Windows you can use (unless you must use Hyper-V, then you are pretty much stuck using Windows 8).

Unfortunately for Scott Hanselman, his rather scathing article, which has incited quite a comments backlash, may have painted him as a hater. I read his article, Microsoft killed my Pappy, and it does read like one of those obstinate anti-Microsoft personalities that has been attacking the company for years.  So, yea, there is quite a difference between someone that just has strong opinions against one or two particular products and someone that is merely trying to trash a name.

/cheers

Stuck At A Crossroads

thinkingmanI’ve been a programmer for going on 10 years now. I’ve mostly been doing .NET development because that came fairly easy to me. I’ve done non-.NET programming on the side (i.e. HTML5, iOS, etc) but the bulk of my experience lies in .NET. I’ve been butting heads with Microsoft lately because I don’t like the direction they are moving with their desktop and mobile technology.

I’m not a fan of Windows 8. I haven’t been since I saw it the first time in beta. I’ve tried it on several occasions in stores and laptops of co-workers and friends. Every time I’ve tried it I have never liked it. The only functionality of Windows 8 that doesn’t bother me is functionality that is already in Windows 7 so in my opinion there is no need for me to warrant paying to upgrade. I give that same advice to everyone else I speak to (which isn’t just limited to friends and family, but work colleagues as well).

This presents a conundrum because as a .NET developer its important to be on the “bleeding” edge. I won’t kowtow to everything Microsoft produces just because “they are Microsoft and can do no wrong”. On the other hand, how can I move forward in my career when I don’t agree with the direction the technology is moving? To be fair, I would feel the same if it were something Apple or Google were doing that I didn’t agree with. I know I’ve had my resistances to Microsoft in my past but I would like people to believe me when I say that its not just because its Microsoft.

I will accept the premise that my “concerns” with Windows 8 are personal but I feel that I can separate personal and professional opinions. With that said, even in my professional opinion I disagree with the Windows 8 desktop look-and-feel. The desktop UX should be distinctly different then a tablet UX and combining them was a mistake that hasn’t even been corrected in Windows 8.1 (which many people are calling the Coca-Cola Classic of the Windows desktop but without the revival).

Can I weather this until the next version of Windows? If so, how?

Page 1 of 3

Powered by WordPress & Theme by Anders Norén