"Sorted data can dramatically change the speed of our program. Therefore, sorting algorithms are something quite special in computer science. For instance searching in a sorted list is faster than searching in an unordered list."
- imabonehead
from Bookmarklet
"This tutorial describes how to use drag and drop in Android. It is based on Eclipse 3.7 (Indigo), Java 1.6 and Android 4.0 (Ice Cream Sandwich)."
- imabonehead
from Bookmarklet
"Here we've compiled the 13 classic programming personality types you're likely to find in almost any IT or development shop. Together, they keep the machines feature-rich, despite steadfast differences in their approaches to programming."
- imabonehead
from Bookmarklet
"The Raspberry Pi Foundation has announced which codecs and API would be supported in the Raspberry Pi. The Raspberry Pi board will support the following Graphics and Video API via a set of closed source libraries that give access to the GPU acceleration features..."
- imabonehead
from Bookmarklet
"Whether you’re just starting to learn Python, or you’ve been working with it for awhile, take note. Python LogoThe lovably geeky Nick Parlante — a Google employee and CS lecturer at Stanford — has written some awesomely succinct tutorials that not only tell you how you can use Python, but also how you should use Python. This makes them a fantastic resource, regardless of whether you’re just starting, or you’ve been working with Python for awhile."
- imabonehead
from Bookmarklet
"In a previous post on Python threads, I briefly mentioned that threads are unsuitable for CPU-bound tasks, and multiprocessing should be used instead. Here I want to demonstrate this with benchmark numbers, also showing that creating multiple processes in Python is just as simple as creating multiple threads. First, let’s pick a simple computation to use for the benchmarking. I don’t want it to be completely artificial, so I’ll use a dumbed-down version of factorization – breaking a number to its prime factors. Here is a very naive and un-optimized function that takes a number and returns a list of factors..."
- imabonehead
from Bookmarklet
"After more than five years in the pipeline, Mozilla Labs and the Rust community have released the first alpha — version 0.1 — of the Rust programming language compiler. The Rust language emphasizes concurrency and memory safety, and — if everything goes to plan — is ultimately being groomed to replace C++ as Mozilla’s compiled language of choice. Browser prototypes programmed in Rust will eventually emerge, and then one day Firefox — or parts of Firefox — might be re-written in Rust."
- imabonehead
from Bookmarklet
"As I'm sure many of you know, the rise of mobile-based malware has been on the rise for some time now. We've been steadily seeing this criminal space mature in the same way that malware on the Windows platform did in years past. A new milestone for mobile malware was recently discovered in the wild by Denis Maslennikov of Kaspersky Labs-- IRC bot control."
- imabonehead
from Bookmarklet
*whistle* that is impressive hacking... and yes, very new meets old school
- Michael W. May
"When processing XML data it's usually most convenient to load the whole document using a DOM parser and fire some XPath-queries against the result. However, since we're building a multi-tenant eCommerce plattform we regularly have to handle large XML files, with file sizes above 1 GB. You certainly don't want to load such a beast into the heap of a production server, since it easily grows up to 3GB+ as DOM representation. So what to do? Well, SAX to the rescue! Processing a large XML file using a SAX parser still requires constant (low) memory, since it only invokes callback for detected XML tokens. But, on the other hand, parsing complex XML really becomes a mess."
- imabonehead
from Bookmarklet
"I want to be able to get the tweets from my timeline into my app which means I need to authorise the app with Twitter using OAuth. The last time I tried to authenticate using OAuth a couple of years ago was a bit of a failure but luckily this time Honza Pokorny has written a blog post explaining what to do. I had to adjust the code a little bit from what’s written on his post so I thought I’d document what I’ve done."
- imabonehead
from Bookmarklet
"The term was use during Thomas Edison's life to mean an industrial defect. In Hawkin's New Catechism of Electricity, an 1896 handbook, the term "bug" is used to a limited extent to designate any fault or trouble in the connections or working of electric apparatus. In 1947, Grace Murray Hopper was working on the Harvard University Mark II Aiken Relay Calculator (a primitive computer). On 9 September 1947, when the machine was experiencing problems, an investigation showed that there was a moth trapped between the points of Relay #70 in Panel F. The operators removed the moth and affixed it to the log. The entry reads: "First actual case of bug being found." The word went out that they had "debugged" the machine and the term "debugging a computer program" was born."
- Adriano
from Bookmarklet
"CV Dazzle™ is camouflage from computer vision (CV). It is a form of expressive interference that combines makeup and hair styling (or other modifications) with face-detection thwarting designs. The name is derived from a type of camouflage used during WWI, called Dazzle, which was used to break apart the gestalt-image of warships, making it hard to discern their directionality, size, and orientation. Likewise, the goal of CV Dazzle is to break apart the gestalt of a face, or object, and make it undetectable to computer vision algorithms, in particular face detection. Because face detection is the first step in automated facial recognition, CV Dazzle can be used in any environment where automated face recognition systems are in use, such as Google's Picasa, Flickr, or Facebook (see CV Dazzle vs PhotoTagger by Face.com)."
- imabonehead
from Bookmarklet
"This proof-of-concept is just waiting for you to put it to good use. [Mike Tsao] wrote an Arduino sketch that lets him decode incoming audio data which could be used to program the device. He’s calling the project TribeDuino because it decodes an audio file which is actually the firmware update for a Korg Monotribe."
- imabonehead
from Bookmarklet
"The final Hardware Friday post of the year can't just be on one project now can it? Let's get ourselves set for another great year and get set to hit the ground running building some fun Netduino projects with a great set of Getting Started series by Jeroen Swart"
- imabonehead
from Bookmarklet
"Today, I gave a talk on an implementation of a man in the middle (MITM) attack on HDCP-secured video links. Here is a full copy of the slides that I presented (with explanatory diagrams), as well as the text-only of the paper which accompanies the slides, below. Also, please note that the hardware disclosed in this talk is now available for purchase from the good folks at Adafruit. You can find more technical documentation about the NeTV at the kosagi.com wiki, and you can discuss at the kosagi.com forum."
- imabonehead
from Bookmarklet
"Always wanted to build a web or mobile application? We have put together 25 resources where you can learn Python, Ruby on Rails, HTML and CSS, and Objective-C without paying a single cent. (And since you have been nice last year, we’ve added in more resource you can consult should you run into problems, which you definitely will.) These resources will not make you into a super programmer, but enough for you to create a working application."
- imabonehead
from Bookmarklet
"I’ve been wondering, what would be the easiest way to route telemetry and commands from APM to Internet. Using 3G modem, would provide almost unlimited range (I know there has been some discussions about this in DiyDrones forum. Here in Finland the GSM network is very covering, but due the way the cellular towers are optimized, maximum altitude where the connection works is probably less than 200 m.)"
- imabonehead
from Bookmarklet
"Kinect Open Source Programming Secrets (KOPS) is the only book that explains the official Java wrappers for OpenNI and NITE (as of January 2012 when this book went to press). The main drawback of using the PrimeSense Java wrappers is their lack of documentation. As I explain in chapter 1, I had to decompile the libraries' JAR files, and work out the correspondences between the Java source and the somewhat better documented C++ OpenNI/NITE APIs. This is why including "secrets" in the book's title isn't too excessive :). This book covers programming topics not found elsewhere. I start off with the basics, with chapters on depth, infrared, and RGB imaging, point clouds, skeletal user tracking, hand tracking, and gesture support. Moving beyond that, I look at several novel and unusual features, including..."
- imabonehead
from Bookmarklet
"Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path."
- imabonehead
from Bookmarklet
"This original rap music video made for JavaOne 2011 celebrates the "Java Life". Dedicated to the developer homies everywhere who code hard day and night. Think Java programmers meet street Hip Hop."
- imabonehead
from Bookmarklet
"Some of the people in this group have, or are pursuing, advanced degrees in computer science. Some have bachelor's degrees. Some have degrees in related fields. Some have degrees in completely unrelated fields. Some have dropped out before getting a degree. Some are autodidacts. Is there a correlation between studying computer science and knowing about computers? Do people gain anything by pursuing an advanced degree in computer science, or would they be as well served by saving the money, buying a PC, and teaching themselves? There is a romantic ideal of the untutored hacker that program circles around MIT grad students. Is that absurd or commonplace?"
- imabonehead
from Bookmarklet
"This is also true for programmers. There are a number of people who have a natural gift for programming and just pick it up; in the same way that some people have a gift for fighting and pick that up. As programmers they will surpass the average level ability CS student in a straight programming contest. These naturals may not have passed through a CS course or sat a single CS lecture,...
more...
- imabonehead
"So to answer the post: yes, the street programmer is generally better than the CS graduate - at programming because CS courses are often so woeful. And the professor will beat the street programmer hands-down in the black arts of churning out papers. But in the CS departments which are not empty dojos, the graduates who have absorbed the wisdom of their intellectual fathers, and learnt to apply it under pressure will surpass the street programmer."
- imabonehead
"I’m lucky enough to have worked with some students I think are great programmers, people who have interned at Microsoft, Google, Amazon and the like. Their opinion is generally the same, that most of what they learn is from self-reflection or picking up on other programmer’s habits. Even the ever-practical engineers share my sentiments. So here’s my claim: All programmers are self-taught."
- imabonehead
"I'm sure you've all heard of Node.js by now. Its popularity is increasing rapidly, which means it's a good idea to be aware of what Node.js is and especially how it differs from more traditional technology stacks. In this post, I'll try to give an easy-to-understand overview of what makes Node.js different and make it clear that it's more than just server-side JavaScript. Note that this overview is highly simplified and only meant to help people understand how Node.js works. This is definitely not a completely accurate description of the lower-level details of Node.js."
- imabonehead
from Bookmarklet
"The study found that 90 percent of their survey respondents were using open source. The top reason why? 80 percent said it saves time and money. So why contribute? Apparently it's not just about scratching the 'itch' as I firmly believe. Rather 44 percent of respondents to the Outercurve study said they contributed their stuff as open source, "... to improve their careers and credibility." That's right open source is good for your career. But hey you knew that already right? (heck without open source, I wouldn't have a career let alone one that I could improve.) Beyond that developers are also of course contributing for the 'itch' as well."
- imabonehead
from Bookmarklet
"So you've got a personal GitHub account, one for one client, one for another and you want to keep them all separate. How do you setup your box to clone private repositories based on which account you're using? Here's the simple guide on how to do this."
- imabonehead
from Bookmarklet