Nick Desaulniers

The enemy's gate is down

Jul 3, 2013 - 4 minute read - Comments - politics

Why I'll Be Marching This 4th

If you’ve done nothing wrong, then you’ve got nothing to hide. Wrong. Nothing ever justifies giving up your human rights , especially to prove lack of wrong doing, and any government that asks you to do so is not your friend. Terrorism has become a weapon used against us by those elected to lead to keep us compliant, like blinders you’d put on a horse. The threat just keeps growing and growing instead diminishing, despite the money and lives we throw at it.

Jun 13, 2013 - 10 minute read - Comments - Mozilla Open Source Software Microsoft Love Job

8 Months in Mozilla

Besides 3 months interrupted to finish degree requirements, and including an internship, I’ve been at Mozilla for about 8 months now. After reading a blog post of another software engineer’s experience at Microsoft, I count my blessings. Reading that article set off too many alarms in my head. It was well written, and I sugguest you go read it, but my takeaway was that that any big name corporation people dream about working at is actually quite dystopian, and I do not feel that that is the case here.

May 7, 2013 - 11 minute read - Comments - C++ rust null optional pattern matching

Rust: Pattern Matching and the Option Type

The other day I was thinking about the function for performing dynamic memory allocation in the C standard library, malloc. From the manual pages, If successful, the malloc() function returns a pointer to allocated memory. If there is an error, it returns a NULL pointer and sets errno to ENOMEM. One of the most common errors when using malloc is not checking for allocation failure. The allocation is not guaranteed to succeed and trying to use a NULL reference can lead to program crashes.

Apr 29, 2013 - 8 minute read - Comments - death memory

The Persistence of Memory

I would like to die on Mars… Elon Musk Elon Musk, the 21st Century Industrialist, Bloomberg Well, isn’t that forward thinking? Granted, the full quote I would like to die on Mars, just not on impact is meant to sound hopeful of his company, SpaceX. I agree that some day, humans will be buried on Mars. But is it forward thinking, enough? Does it push the needle to where it needs to be pushed?

Apr 3, 2013 - 5 minute read - Comments - C Code JIT

Basic JIT

Ever since I learned about Just In Time Compilation from the various Ruby VMs and JavaScript VMs, I’ve been inspired. I could tell you all about how just in time (JIT) compilation worked, and how it could give your interpreted language a speed boost. It was so cool. Well, it still is! There’s a ton of research going on around JIT compilation. But the problem for me is that I could never figure out, let alone guess, how it was being done.

Feb 28, 2013 - 11 minute read - Comments - web

Commandments of a Mobile Web

Over the past few years, there’s been certain paradigm shifts in web development. When you think of milestones that really changed how development on the web was done, the two biggest were Ajax and HTML5. Development was identifiably different before and after such technological advancements. There were some who initially doubted the technologies, but I’m sure such doubters eventually saw the light. After spending time working on applications for Mozilla’s upcoming mobile operating system, Firefox OS, and talking with my fellow employees, I feel that the mobile web is another one of those shifts in how we approach web development that looking back will be an identifiable point in time where we can say that we did things differently before and after.

Jan 26, 2013 - 3 minute read - Comments - C function pointer syntax

C Function Pointers Alternate Syntax

On an interview with Square, I made the mistake of stating that one of the benefits of working with JavaScript over C is that functions are first class in JavaScript, therefore they may be passed around. To which the interviewer replied, “Well, C can do that, what about function pointers?” What? Luckily, I was able to get out of that jam by guessing that JavaScript had a nicer syntax. While I was taught some C in university, we had never gone over function pointers or more in depth topics such as static or dynamic linkage.

Jan 19, 2013 - 9 minute read - Comments - politics

[Internet] Freedom Is Not Free

Last week, the Internet community lost a member in the on going war against the copyright industry. While I’ve never met the deceased, or even heard of the deceased before his suicide, I’m horrified. I’m horrified that the government we are asked to put so much faith in, would give someone, not that different from myself, such a ridiculous sentence. That I could be thrown away, locked away from the things that I love for 35 years, for freeing information that should have been free, and was later made free.

Jan 14, 2013 - 3 minute read - Comments - closure javascript ruby rust

Closures: JavaScript, Ruby, and Rust

It’s all about closures. Understanding scope is paramount to coding. What can you access and what can’t you access. Closures allow us to access variables that otherwise might be awkward to pass into a function. Closures can help us out of tricky situations, but can confuse those from backgrounds with (typically) statically typed languages that may not support closing over variables. Rust is an up and coming systems level programming language being developed at Mozilla.