ltnet Archive

Sometimes when you read a book, you wish you have done it earlier. Vim is a tool I wish I have started using earlier. It is an advanced text editor which has been around for more than two decades. Vim is highly configurable, fast and lightweight. Whilst it is a first class citizen in Unix world, Vim runs well on some exotic platforms like Windows too

Read More...

Never thought Windows 8 app development using WinJS + JavaScript + HTML5 + CSS3 would be so easy and never thought it would be so complicated… to open external page in the browser programmatically. After our first Windows Store certification fail we wanted to add privacy policy link in the Settings charm, which would open our online privacy policy in

Read More...

In this article I will focus on Windows 8 Metro app publishing to Windows Store. At the end of the article you’ll find a screencast of whole publishing process. Before we can start there are several things that you must already have: Windows Store developer license; Fully developed and tested app; Additionally test your app with the Windows App Certification Kit; Test your app if looks alright in the snapped and fill view states. You can’t disable or turn off snapped view for your app. The fastest workaround is to show some static image or logo when your app is snapped; Go one more time through Windows 8 app certification requirements and check if your app meets requirements

Read More...

I have been working as a front-end developer for roughly half a year. To prove myself that I have learned a lot and that I can successfully learn even more I have decided to pursue the brand new “MCSD: Web Applications” certificate from Microsoft. The certificate has three prerequisite exams: Programming in HTML5 with JavaScript and CSS3 (70-480) Developing ASP.NET MVC 4 Web Applications (70-486) Developing Windows Azure and Web Services (70-487) To be honest I have absolutely zero experience with the later two technologies: MVC4 and Azure. So this is going to be quite a challenge. As far as HTML5 goes, I have some experience with that and I am hoping to prepare for this exam in about a month or so. In order to better remember what I have learned I will be writing everything I study in this blog. I hope that this will be helpful not only for me, but for others who decide to take 70-480 exam. Also I have not seen the exam or any “brain dumps” of that exam so I will be preparing according to the description at the MS exam page

Read More...

Learning a new platform is never easy. Some things that should require minutes to accomplish, bring hours of frustration and disappointment. Today I am going to write about a couple of possible pitfalls when developing a JavaScript Metro app for windows 8. As you may know Windows 8 platform natively supports Metro app development using the web technology stack: JavaScript, HTML and CSS. Not only that, it also implements the latest and greatest CSS3 and ECMAScript 5 features. You can also access all Windows 8 API via JavaScript. The new WinRT (Windows Runtime) is an impressive piece of software

Read More...

Eval and evil differ by only one letter, ever thought about that? I am just kidding though. Eval in itself is not at all evil, actually it is rather handy – it evaluates a string and if that string is a JavaScript statement, executes it. Nothing bad about that, however many JavaScript developers have misused eval() and did things like: eval(‘document.’ + myVariable + ‘.style.color= “#000000″‘); This makes code injection attacks possible. Since eval() will try to read whatever the myVariable contains. Using eval() in this way makes the code harder to maintain and debug. All in all, you should start learning to avoid eval() since in ECMAScript 5 “strict mode” eval is not allowed and will probably be deprecated or removed in ECMAScript

Read More...

When I search online for good JavaScript code examples there is one thing that I immediately look for inside that code. Does it have == or === comparison operators (double or triple equal signs). The reason for doing that is that it gives me an idea of how reliable the code is. I understand that this is not the only reliability indicator, but it is pretty important. However, I have noticed that during the last couple of years many JavaScript developers became aware of the possible pitfalls of == (double equal) comparison. Maybe because of Douglas Crockford, maybe because of JSLint or JSHint. Nobody knows why, but I definitely find less and less examples with == in the code… So, what is all the fuzz about these comparison operators? Well you might have guessed it – they are one of the bad parts of JavaScript language. Consider this example: ‘ ‘ == ‘0’  // false 0 == ‘ ‘  // true 0 == ‘0’  // true ‘ \t\r\n ‘ == 0 // true *Example taken from Douglas Crockford’s book: JavaScript the Good Parts, which I highly recommend for new JS developers. What was going through the heads of JavaScript language creators when this was allowed to happen?! All in all, the general suggestions would be to use the === and !== comparison operators. Unless, you are a seasoned JavaScript developer avoid == and != . Even if you are seasoned developer there must be a very specific reason why you choose to use the less predictable comparison operators, right

Read More...

As you may know JavaScript has some of the best features that modern programming languages can offer, however it also has some really terrible parts. This is going to be a series of short posts about those terrible parts. My intention is to shed some light on these problems and help you mitigate or avoid them entirely. I will start of with my personal favorite – plus operator. JavaScript has this terrible design flaw – plus operator is overloaded. Meaning that it can have two distinct behaviors depending on the situation. The same operator can both add and concatenate. Let me give some examples of this weird behavior: var foo = ” + 2 + 2; //foo === ’22’ var bar = 2 + 2 + ‘2’; //bar === ’42’ var baz = 2 + ‘2’ + 2; //baz === ‘222’ var qux = ‘2’ + 2 + 2; //qux === ‘222’ console.log(“The sum is ” + baz + qux); //The sum is 222222 Basically, when you mix numbers with strings bad things start to happen. In order to avoid problems with addition and concatenation try to ensure that all of your operands are of the same type: numbers or strings. This will ensure that the plus operator is working in the expected mode and will not switch in the middle of you operation. Thank you for reading, everyone

Read More...