|
As a programmer who wants to write decent performing code, I am very interested in understanding the architectures of CPUs and GPUs. However, unlike desktop and server CPUs, mobile CPU and GPU vendors tend to do very little architectural disclosure.... We've done quite a bit of low-level mobile CPU analysis at AnandTech in pursuit of understanding architectures where there is no publicly available documentation. In this spirit, I wrote a few synthetic tests to better understand the performance of current-gen ARM CPU cores without having to rely upon vendor supplied information. Floating point. Fuzzy accuracy... That's a joke, son.
|
|
|
|
|
Have you ever wanted to use Visual Studio to manage project artifacts but wanted to have a fully custom build process? The recommend way to do this is to build a Custom Visual Studio Project System, but there is a much easier way for lightweight needs. In this post I’ll show you how to take an existing project and “replace” the build process used? For example, wouldn’t it be cool if you could develop a Chrome Extension with VS? When you do a build it would be great to generate the .zip file to for the Chrome Gallery in the output folder. Doing this is way easier than you might think. Take aim and VS and hit it right on the .targets file.
|
|
|
|
|
I recently finished Martin Odersky’s Scala course and I found it very difficult to figure out how to get started. You know, that first step when you want to start coding, but you don’t know what tools are at your disposal, what IDE to use, or which unit testing framework to choose. This tutorial will be about you, the newcomer to Scala, preparing your development environment so you can get started more easily. Scala is all about functional programming in an object oriented context.
|
|
|
|
|
Most experienced developers can think of a time when they worked on a team with other accomplished programmers. Yet the code quality was anywhere from “eh” to “oh god you didn’t actually ship that did you?!” Here’s how this can happen, and what to do to minimize the chances it’ll happen to you. Homer says: It was like that when I got here.
|
|
|
|
|
At [Google IO] I had a chat with Paul Irish and Pavel Feldman on where the Chrome developers tools are headed, which has spurred me to write this blog post. The web development workflow has been on my mind for a while.... The past 5 years we have fundamentally changed the way we use the browser. The browser is no longer a simple document reader; instead it’s a complex application runtime that runs realtime GPU accelerated applications. But we have a problem. Our tools are still based on the assumption that we are inspecting simple documents that have formatting on top, and a few lines of JavaScript on the side. The web is no longer document-centric. Your dev tools should be more than a typewriter.
|
|
|
|
|
Prior to today, when you stopped a VM on Windows Azure we kept a reserved deployment spot for it inside one of our compute clusters, and continued to bill you for the VM compute unless you explicitly deleted the deployment. Now, with today’s update, when you stop a VM we no longer charge you any compute time for it while it is stopped – yet we still preserve the deployment state and configuration. This makes it incredibly easy to stop VMs when you aren’t actively using them to avoid billing charges, and then restart them when you want to use them again. That's just part of the Azure announcement. This is getting interesting.
|
|
|
|
|
On top of bringing back a Taskbar-visible Start button, Windows 8.1 will give enterprises a lot more control over the operating system's appearance. Chief among these controls is the ability to boot straight to the desktop, a feature found in prerelease versions of Windows 8 but not officially supported in the final version. Additionally, IT departments can now exact more control over the Start screen, fixing its layout and prepopulating it with tiles for corporate apps. Stay tuned for the catchily-named Windows Embedded 8.1 Industry, coming to an ATM near you.
|
|
|
|
|
I suspect that most of the people reading this piece are not the types to run unsecured networks. But if you do see them in your neighborhood, try to find out who owns them, and educate whoever is running them to replace their older router equipment (particularly if they are only capable of using WEP, as opposed to the newer WPA2 standard) and to set the appropriate WLAN passwords and to use Wi-Fi Protected Setup (WPS) with their devices when possible. Mom's printer problem? Connected to her neighbor's unsecured network.
|
|
|
|
|
Quote: "I suspect that most of the people reading this piece are not the types to run unsecured networks. But if you do see them in your neighborhood, try to find out who owns them, and educate whoever is running them to replace their older router equipment (particularly if they are only capable of using WEP, as opposed to the newer WPA2 standard) and to set the appropriate WLAN passwords and to" + "NOT" + "use Wi-Fi Protected Setup (WPS) with their devices when possible."
Here, I fixed it
WiFi Protected Setup (WPS) PIN brute force vulnerability[^]
|
|
|
|
|
If anything the problem is getting harder to fix. Five years ago you'd just need to log into at most two or three laptops to add a wifi password. Now you can easily have a dozen laptops, tablets, and phones just among the household itself; that's not counting all their friends who're used to being able to log a phone onto wifi whenever they visit to avoid paying for data.
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
|
|
|
|
|
The word “data” connotes fixed numbers inside hard grids of information, and as a result, it is easily mistaken for fact. But including bad product introductions and wars, we have many examples of bad data causing big mistakes. Big Data raises bigger issues. The term suggests assembling many facts to create greater, previously unseen truths. It suggests the certainty of math. That promise of certainty has been a hallmark of the technology industry for decades. With Big Data, however, there are even more hazards, some human and some inherent in the technology. Kate Crawford, a researcher at Microsoft Research, calls the problem “Big Data fundamentalism.”
|
|
|
|
|
Developers expect, no, demand free tools and services to do their jobs. Whether it is analytic services, integrated development environments (IDEs), application programming interfaces (APIs) or software developer kits (SDKs), developers almost always refuse to pay for the tools they use to do their jobs. Many developers would rather go out of their way to build their own tools or use bug-ridden free tools than plunk down the money it would take to buy a service or subscription that could actually help them do their jobs more efficiently. That's generous. How many coders really build the apps they want instead of complaining?
|
|
|
|
|
Implementing the Repository Pattern with CakePHP
I must admit, my recent articles are becoming a bit obsessed around the repository pattern. What can I say, I like it, it’s useful, and it’s not restrictive based on a language or a framework.
I’ve long professed how I dislike convoluted controllers. CakePHP’s find method almost immediately causes this when used inside a controller. More importantly, the code inside the find method is extremely unreadable. This is almost more important than a large controller function!
I really like how this is implemented.
|
|
|
|
|
Today a follow-up to my 2010 article about the meaning of the is operator. Presented as a dialog, as is my wont! I've noticed that the is operator is inconsistent in C#.... What's up with that? I did not have NULL relations with that variable.
|
|
|
|
|
He doesn't seem to get it.
"
The is operator is used to check whether the run-time type of an object is compatible with a given type
"
"
An is expression evaluates to true if both of the following conditions are met:
•expression is not null.
•expression can be cast to type.
"
|
|
|
|
|
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
meh
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
|
Terrence Dorsey wrote: I did not have NULL relations with that variable.
Very cute, Terrence.
However, he's confusing the value type vs. the declaring type. The "is" operator tests the value, not the declared type. As has been noted on StackOverflow, if you want to test the declared type, use something like this:
static public Type GetDeclaredType(TSelf self)
{
return typeof(TSelf);
}
What surprises me is the number of people that have commented that appear not to have understood this crucial distinction.
Marc
|
|
|
|
|
Joe Armstrong (of Erlang) while reviewing Elixir (Ruby like language that compiles to Erlang Virtual Machine) states his Three Laws of Programming Language Design. What you get right nobody mentions. What you get wrong, people bitch about. What is difficult to understand you have to explain to people over and over again. An OS may not injure data or, through inaction, allow data to come to harm.
|
|
|
|
|
Terrence Dorsey wrote: An OS may not injure data or, through inaction, allow data to come to harm.
Why did nobody explain this to Microsoft back in the eighties?
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
whaaa whaaa whaaa
crybaby
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
You should've linked to Joe's post directly; this is just too epic not to share:
Quote: If a version3 Erlang compiler is given a file that starts:
-version(5,0).
Then it should say
** auuuuugggghhhhhh **
Oh bother and blast, I am mere version 3 compiler
and cannot see into the future.
You have given me a version 5 program. This means
my time on earth has come.
You will have to kill me. You will uninstall me,
and install a version five compiler. I will be
no more. I will cease to exist.
Goodbye old friend.
I have a headache. I'm going to have a rest...
**
All compilers need to implement something like this instead of the lameness they currently use:
The selected file is a solution file, but was created by a newer version of this application and cannot be opened.
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
|
|
|
|
|
Every day, many thousands of open source contributions are made on GitHub by developers around the world. This data is publicly available through the API and—even more conveniently—on the GitHub Archive.... The one graph that is especially awesome in all sorts of surprising ways is the contributions heat map on every user's profile page.... This ends up being extremely motivating because it lets the developer see their progress in real time. With this in mind, it seemed like a good idea to provide a more complete set of global statistics summarizing the hacker personality of any GitHub user. So that's what I did. How much of an open source hacker are you? Github knows.
|
|
|
|
|
On my site is a pointer to an interesting page by Jukka Korpela of Finland, called "Character histories: Notes on some ASCII code positions". It tells how various interesting characters (then new to many computer character sets of the time) came into membership in the ASCII set. Such research is difficult now, in an 8-bit byte, ASCII code, and soft-copy screen world, where typewriters, codes of different length, and computer word lengths have been pretty much forgotten. And their documentation is mostly in hardcopy libraries; not on the Web. This vignette came about because I started to wonder: If the curly braces exist in ASCII because of my efforts and examples, and/or If I had been first to put curly braces, via IBM's Stretch, into the internal character set of any computer. Bob Bemer is responsible for placing 11 different characters into ASCII. This is their story.
|
|
|
|