|
Why does Ruby share a single value across all of the subclasses? Why have a distinction between “class variables” and “class instance variables?” Where do these ideas come from? It turns out the answer is simple: class variables in Ruby work the same way class variables work in a much older language called Smalltalk. Class variables aren’t the only idea Ruby took from Smalltalk.
|
|
|
|
|
In programming language terms, I seem to be doing some kind of just-in-time compilation. The first time through, I read and interpret every instruction. Afterwards, it seems like I remember what this function does and am able to determine its output much quicker. Interpreting the first call takes about 24 seconds, while I blow through the second one in about 10 seconds. They put coders in front of an eye tracker. This is what they saw.
|
|
|
|
|
There’s been some great discussion over the last few years about mobile first versus web first.... I don’t believe this is the right way to think about the issue, though. I think we are using the wrong definition of ‘web.’ The web definition I’m focusing on is as a set of technologies used for storing and disseminating information. I use ‘web client’ as the front-end technology and customer-facing portion of the site. Client technology aside, is it really a "web" if you're just consuming a single endpoint?
|
|
|
|
|
The Fourier Transform is one of deepest insights ever made. Unfortunately, the meaning is buried within dense equations. Rather than deciphering it symbol-by-symbol, let's experience the idea (hear the song then read the sheet music, dig?). Think With Circles, Not Sinusoids.
|
|
|
|
|
When I first began writing about Apple security the situation was bleak yet meaningless. Bleak thanks to a company that didn’t prioritize security and not only responded poorly to issues, but left the platform wildly exposed to potential attacks. Meaningless, since said attacks never actually happened in the real world. As much as I may have fretted over the lack of security features or what the future might hold, my worries were trifles considering a near-complete absence of actual problems for users.... Today Apple is the second most popular brand in the world... with dominating sales in smartphones, laptops, and tablets.... Never before have so many users relied so much on the security efforts of the company from Cupertino. Gatekeeper, sandboxing and an increasing willingness to actually talk about security openly.
|
|
|
|
|
In a move that has raised eyebrows, Microsoft has submitted a patch to the WebKit project to extend the open source rendering engine with a prototype implementation of the Pointer Events specification that the company is also working on together with Google, Mozilla, and Opera. WebKit is the rendering engine used in Apple's Safari and Google's Chrome browsers, making Microsoft's work a contribution to products that are in direct competition to its own. The right hand doesn't know that the left hand is pinching and zooming (and submitting pull requests).
|
|
|
|
|
This is... a small primer for those who don’t quite get all this anti-malware stuff. At its core anti-malware seems pretty straightforward. You take something that can be run (usually an “image” or “executable”, but for sake of the audience we’ll just say App) and run a mathematical algorithm over it that produces an (almost) unique identifier for that App. Generally that unique identifier is called a Hash (because of the technique used). Anytime you run the same algorithm over the same App you get the same Hash.... If someone modifies an app, even slightly, it will have a different Hash. So the Hash tells you exactly what you have. Why Reputation is so important: It’s really the only technique that gets ahead of the Malware authors.
|
|
|
|
|
Turned off when I saw "App"
=====
\ | /
\|/
|
|-----|
| |
|_ |
_) | /
_) __/_
_) ____
| /|
| / |
| |
|-----|
|
=====
===
=
|
|
|
|
|
The article opened by saying it was written for lusers; not we geeks. App is a perfectly acceptable term in that context.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I also was very explicit in saying I was going to do that (use App instead of Image or Executable) because of the target audience.
|
|
|
|
|
I forgot the invention of smartphones stopped users remembering what program meant.
=====
\ | /
\|/
|
|-----|
| |
|_ |
_) | /
_) __/_
_) ____
| /|
| / |
| |
|-----|
|
=====
===
=
|
|
|
|
|
In the last 40 years computer hardware technology has increased the computing power of our machines by well over twenty orders of magnitude. We now play Angry Birds on our phones, which have the computing power of the freon cooled supercomputer monsters of the 70s. But in that same 40 years software technology has barely changed at all. After all, we still write the same if statements, while loops, and assignment statements we did back in the ‘60s. Three things changed about coding, and they were all “discovered” in a single decade more than 40 years ago.
|
|
|
|
|
The hardware still hasn't caught up to the languages.
|
|
|
|
|
Valentino Braitenberg was an Italian neuroscientist and cyberneticist who wrote a book called, Vehicles: Experiments in Synthetic Psychology. In the book, he describes hypothetical vehicles comprised of motors, sensors and other components. Each vehicle inherits components from the previous until they exhibit identifiable behaviors such as aggression, cowardice and love. The examples below are part of an ongoing project to build and animate Braitenberg's vehicles. FloraJS is a JavaScript framework for simulating natural systems. In Flora, the "world" is your web browser.
|
|
|
|
|
Which is faster, QueryLightBulbFrobStatusEx() or __WGetBulbFrobberState2()? Hold it right there, buddy. Before answering that question I must give you my standard six-part rant about why I probably cannot sensibly answer questions that begin “which is faster“. Part the first: Why are you even asking me?
|
|
|
|
|
Whether they’re building big data applications or just trying to gather some insights from their mobile apps, developers have more need than ever for analytics tools. It’s a good thing so many companies are building tools designed with developers’ needs and skills in mind.... If your job revolves around writing code rather than data flows, you might need a little help. Here are 12 tools (listed alphabetically) that aim to help. Throw me a frickin' bone here! I'm the boss! Need the info.
|
|
|
|
|
In the early days of class-based OOP, people thought any old class could be spontaneously subclassed. You could just override some stuff and it would all magically work out. What we’ve finally realized is that the API you expose to subclasses is another boundary layer that needs to be carefully designed. Ad-hoc subclassing rarely works and classes generally need to be designed up front in order to be subclassed. BETA was designed around that model. With typical Scandinavian politeness, you don’t override your base class, you politely request permission to extend it. I think right now, the style of a lot of OOP code today fits that model better. But first, an important message about the obscure, Scandinavian programming language BETA.
|
|
|
|
|
I don't have time to read all of that right now, but it sounds interesting.
|
|
|
|
|
At the very minimum, it seems that if you are targeting both Windows 8 and Windows Phone, then you have a point of parity that should be designed for: the snapped view. Shouldn’t the snapped view of your Windows 8 app behave pretty much the same as the full blown app on the phone form factor? There may be some nuances that you have to address (for example, the panorama control that works well on the phone isn’t necessarily available for the snapped view on Windows 8) but for the most part you are functioning in a similar form factor (while the strip goes “long” on large displays, this is easily a vertical scroll on the phone). So then my next question is this: did Microsoft plan for this?
|
|
|
|
|
In the 1990s, Apple struggled to bring the original Mac OS—originally written in 1984 for the resource-constrained Macintosh 128K machine—up to modern operating system standards. The story of how OS X came to be is thrilling in its own right, but suffice it to say that Apple ended up buying Steve Jobs' second computer company, NeXT, and using its NeXTSTEP operating system as the basis of a new generation of Macs.... Sixteen years later, several technologies developed or championed by NeXT still survive in OS X and in its mobile cousin, iOS. The next step from NeXTSTEP.
|
|
|
|
|
It’s that time of year again, and there’s a good chance you might be looking for gift ideas for your programmer friends. Or, maybe, you need a list to pass on to your friends and family, so they have some ideas for you! Either way, this list of geeky gifts should cover most developers. Has your code been naughty or nice?
|
|
|
|
|
The big problem with any new hardware is getting the software you need but as a Linux ARM system presumable this isn't such a big problem for the Pi. However there seem to be enough unique features to make it worth launching an official app store or Pi Store. Should we call it the pie shop?
|
|
|
|
|
Since the very earliest days of computer viruses, malware authors have been inspired by the Christmas holidays when developing attacks. Here's a quick, and probably incomplete, history of some of the Christmas-related malware that we have seen over the years. This article is very Important and you've GOT to read this !!!
|
|
|
|
|
When developing software, it makes sense to 'fail early, fail often'; to become aware of mistakes quickly and to learn from them. This means being able to deliver software as early in development as possible. This makes it easier to gather opinions and promote discussions with the people who would want to use the application; and then respond to the feedback. Over the past decade, Red Gate has learned a lot, often the hard way, about the value of delivering software early and often or, perhaps more accurately, the cost of not doing so. Here, we explain what exactly we've learned and how we've adapted our software delivery processes, as a result. Real software developers ship...
|
|
|
|
|
This is a bit of a brain-dump, in no particular order, of things I learned building my first 4 Windows 8 (C# XAML) apps: Countdown To, Big Screen Countdown, BizBuzBingo and Code Retreat Countdown. 12 tips to make your Windows 8 apps better.
|
|
|
|