 |
|

|
This script enables you to control your computer via text message. Think of it almost as a version of SSH over text message. It is designed to intelligently and quickly check unread Google voice messages. If certain parameters are passed, it runs the command you send and returns the result. Where autocorrect follies meet sysadmin nightmares.
|
|
|
|

|
Usborne's 1983 classic Introduction to Machine Code for Beginners is an astounding book, written, designed and illustrated by Naomi Reed, Graham Round and Lynne Norman. It uses beautiful infographics and clear writing to provide an introduction to 6502 and Z80 assembler, and it's no wonder that used copies go for as much as $600. How did you learn machine code?
|
|
|
|

|
C++11 feels like a new language. I write code differently now than I did in C++98. The C++11 code is shorter, simpler, and usually more efficient than what I used to write. This poses challenges: How do you present C++? What techniques do you recommend? What language features and libraries do you emphasize? Presenting C++11 as a layer on top of C++98 would be as bad as representing C++98 as a layer on top of C. C++ must be presented as a whole, as the powerful tool for design and implementation that it is, rather than a set of independent features. The Fourth Edition of The C++ Programming Language attempts that and should become available in a few months. Bjarne Stroustrup's personal tour of C++11 and a preview of his book's 4th edition.
|
|
|
|

|
Most people understand that Windows is used by a variety of people who have a variety of needs, ranging from corporate server to workstation to POS terminals to home PC and beyond. Most people accept that whenever Microsoft updates Windows, it has to balance the competing requirements to find some kind of workable compromise. There is however another set of competing requirements that many do not really register, even those that call themselves power users or are IT admins. It is a conflict between developers/programmers and Microsoft itself. Developers are ultimately the ones who write applications used by users whereas Microsoft develops the OS these applications run on. A common shared goal between the two is the desire that applications previously written continue to work. Is Modern API the clean break Microsoft needed from Win32 (and Silverlight and WPF and...)?
|
|
|
|

|
As many programmers gain experience, they start to learn more and more about what happens behind the facade, about Garbage Collecting and overall memory management. Sadly, I see many programmers filled with half right knowledge and wrong conclusions especially in the field of Garbage Collection and Performance. I saw attempts to "optimize" C# code, which did, if anything, slow down the program. So let us take a closer look at the modern Garbage Collectors, how they work and what problems they want to solve. I am going to explain the specific Java implementation, but don't worry, most of them work fairly similar. If GC really worked, it would throw out most of my code.
|
|
|
|

|
Google allegedly assigns version numbers late in the process, but what is known is that this next release will implement upcoming API level 18. If you follow the progression there’s a likelihood this will be Jelly Bean MR2 (Management Release 2), where Android 4.2 was management release 1. Based on some other discussions and sources I also suspect this might be Jelly Bean MR2. All of that is really just semantics however, what really matters are what specific features are coming and which of those Google touched on during I/O. What new features do you want to see in Android?
|
|
|
|

|
Let’s try to find all possible ways to visualize a ludicrously small data set of two numbers. Afterwords, let’s try to pick the best visualization. With such a tiny dataset, you would think we would complete both exercises in less than 5 minutes. Yet, we spent more than two hours without having actually accomplished either of the two tasks. Not only was the number of possible ways to visualize two values far higher than expected, but also each single visualization method admitted multiple and interesting variations and opened new questions and discussions. The unit, meaning, interpretation and context of the values often determines the best visualization.
|
|
|
|

|
Three months ago, celebrated video game publisher Valve did something completely out of character: it fired up to 25 workers, in what one employee dubbed the "great cleansing." At the time, co-founder Gabe Newell quickly reassured gamers that the company wouldn't be canceling any projects, but it just so happens that one project managed to get away. Valve was secretly working on a pair of augmented reality glasses... and those glasses are still being built by two Valve employees who lost their jobs that day. Jeri Ellsworth and Rick Johnson created Technical Illusions to make illusions reality.
|
|
|
|

|
With WWDC just a few weeks away, I thought it’d be beneficial to the Internet at large to compile a working list of everything that is expected of Apple during their Keynote and subsequent “State of the Union” addresses in order to appease the Internet. Failure to introduce each and every one of these features and updates will result in another stock price plummet, calls for Tim Cook’s ouster and an infinite amount of comments on tech blogs decrying that Android is superior to Apple’s iOS. 50 serious suggestions for improving Mac/iOS development. What would you ask for?
|
|
|
|

|
A $15m computer that uses "quantum physics" effects to boost its speed is to be installed at a Nasa facility. It will be shared by Google, Nasa, and other scientists, providing access to a machine said to be up to 3,600 times faster than conventional computers. Unlike standard machines, the D-Wave Two processor appears to make use of an effect called quantum tunnelling. This allows it to reach solutions to certain types of mathematical problems in fractions of a second. Effectively, it can try all possible solutions at the same time and then select the best. Some skeptics say this isn't real quantum computing. What do you think?
|
|
|
|

|
I am an ASP.NET MVP, author of an O'Reilly title "Building a Web 2.0 portal with ASP.NET 3.5". I have written 48 articles on CodeProject. In this installment we talk to Omar Al Zabir, a four time MVP legend on CodeProject.
|
|
|
|

|
In this series of articles, I'm going to go through some of the mistakes I frequently see people making who are attempting to write benchmarks in C#.... If you reward people for making a measurable improvement in memory usage, don't be surprised if time performance gets worse, and vice versa. If you reward improvement rather than achieving a goal then you can expect that they'll keep trying to make improvements even after the goal has been achieved (or worse, even if it is never achieved!) Eric Lippert thinks you're probably doing it wrong. Here's what you should be measuring.
|
|
|
|

|
A memory allocator's responsibility is to manage free blocks of memory. If you've never read a malloc implementation, you may have assumed that calling free simply causes memory to be released to the operating system. But acquiring memory from the OS has a cost, so allocators tend to keep free chunks around for a while for possible re-use before deciding to release them. Inside a very basic malloc implementation.
|
|
|
|

|
Today I got caught up reading a back and forth in twitter about a proposed assertion syntax for Ruby testing frameworks. It was interesting, but yet again it was about how to make tests 'read well.' It's hard to disagree with that, right? Well, I don't in principle, I just think about the amount of time we spend trying to warp programming syntax into English and I wonder whether it is really worth it.... The thing I wanted to blog about is the clash between this natural language style of programming and the other sorts of programming we do. The code should tell a story. Often, it's a tale of woe.
|
|
|
|

|
In this post, I’m going to show you how I made a Lisp to Javascript compiler. I really enjoy programming in Clojure but have often thought that the JVM isn’t always the best platform for scripts due to the slow JVM start-up. So, I decided to implement a simple version of Clojure that compiles to Javascript and can be run on top of nodejs. Compilers are notoriously hard to understand and therefore make for great mind-bending exercises. Exactly my idea of weekend fun. Let's compile all the things to JavaScript... the language everyone claims to hate.
|
|
|
|

|
As a die hard refactorer, but also pragmatic programmer, I often have a tough time articulating to other developers when a refactor is important and when it is gratuitous. I can imagine many people look at decisions I've made about when it is and isn't appropriate and think it's simply a whim or "when I feel like it". To clarify this for both myself and any future victims/co workers involved with refactoring decisions I may make, I submit this 10 item checklist. Note, writing test cases is a form of refactoring.
|
|
|
|

|
Google delivered some news for users of its Cloud Platform stable of services at its I/O event on Wednesday. Its Compute Engine service — which competes with Amazon Web Services — will now be available to all users, not just those willing to shell out $400 for support. But it also announced the addition of the most commonly requested feature for its App Engine platform cloud: support for the PHP programming language. I was really hoping for a COBOL to JavaScript compiler.
|
|
|
|

|
Open source software simply wouldn’t exist without the countless volunteers who give of their time to contribute to projects. These volunteers are the maintainers, contributors and advocates that make the OSS world go round.... While it may appear that its up to these contributors to take the initiative to put themselves out there, it’s important to remember that its also up to the project creators and maintainers to help pave the way. If an open source project has no contributors, how open is it?
|
|
|
|

|
The plans for Strongbox started nearly two years ago. Kevin Poulsen, investigations editor at Wired magazine, described how he built the tool with Aaron Swartz, who took on the coding for the project. Strongbox runs on the open-source DeadDrop. Through Strongbox, sources can securely and anonymously contact the New Yorker by accessing the New Yorker’s network on the Tor Project. Aaron Swartz's parting gift: safety for wistleblowers.
|
|
|
|

|
I find Google’s evolution quite intriguing. While I think there’s always a danger to judge Google (or Apple) in terms of rumors, I think it fair to try and infer their product strategy from their actions and announcements.... Here are a few thoughts from the announcements at Google IO so far. Note that I’m just going by the announcements. It may be that when these are released as actual products to the public some of my concerns may already be addressed. What do you think of Google's announcements this week?
|
|
|
|

|
Google used its biggest event of the year to reveal a major overhaul to Google Maps, an ambitious messaging initiative called Hangouts, and a redesigned Google+ filled with new features. The three-day long developer event is taking place between Wednesday, May 15th and Friday the 17th for 2013. Google has a lot in store for the event, and you can follow along here for the latest. Not even Google provides a one-stop source for all their I/O announcements.
|
|
|
|

|
CodeProject.TV interviews Zeeshan Syed, Founder of Hak Studio and one of the recent winners of AngelHack Global in San Francisco. Our coder interviews are going video! Tune in and meet Zeeshan Syed.
|
|
|
|

|
GIT works great with the new Team Foundation Service (TFSvc?). I’m an old school Tortoise guy (SVN, Hg, GIT), but I had to laugh at the little branding touch they through in when doing a pull. Notice the Visual Studio logo in ASCII art. I’ve actually been using it for some time, but I hadn’t notice that until today. The good news is that this is just GIT.
|
|
|
|

|
I watched the dotNetConf .NET Open Source Panel last week. It was a bit disappointing to hear defeatism in the voices of OSS project leaders, because .NET’s future appears to rely entirely on the success of open source software for .NET. Here are a couple reasons... It feels as if Microsoft has shifted focus away from .NET, and with the focus goes resources and innovation.
|
|
|
|

|
In order to understand Asm.js and where it fits into the browser you need to know where it came from and why it exists. Asm.js comes from a new category of JavaScript application: C/C++ applications that’ve been compiled into JavaScript. It’s a whole new genre of JavaScript application that’s been spawned by Mozilla’s Emscripten project. Emscripten takes in C/C++ code, passes it through LLVM, and converts the LLVM-generated bytecode into JavaScript (specifically, Asm.js, a subset of JavaScript). This is how we get the Unreal engine running in a browser.
|
|
|
|

|
I have had a love/hate relationship with regular expressions in the past. Reading or writing a regular expression typically made me feel like I was toying with a broken Rubiks Cube. However, after I would fiddle an expression into submission, almost by accident, and it did its job, I would become enamored with its brevity and power. It wasn't until I re-adjusted my thoughts on the nature of regular expressions that my fear of them turned into pleasure. After you read this long tutorial on regex, you could probably summarize it using regex.
|
|
|
|

|
At the end of a CMS collection its possible for some objects to not have been deleted - this is called Floating Garbage. This happens when objects become de-referenced since the initial mark. The concurrent preclean and the remark phase ensure that all live objects are marked by looking at objects which have been created, mutated or promoted. If an object has become dereferenced between the initial mark and the remark phase then it would require a complete retrace of the entire object graph in order to find all dead objects. This is obviously very expensive, and the remark phase must be kept short since its a pausing phase. This isn't necessarily a problem for users of CMS since the next run of the CMS collector will clean up this garbage. Part of a series on implementing GC in a Java app.
|
|
|
|

|
A few month back, Apple quietly slipped a very nice Objective-C to Javascript bridge into WebKit.... This new API supports straightforward embedding of the JavaScriptCore interpreter into native Objective-C projects, including reading and writing variables and object members with appropriate type coercion, calling methods on JavaScript objects, and directly binding Objective-C objects into JavaScript. It seems likely that this API is going to become public in Mac OS X 10.9 (where JavaScriptCore is already a public framework), and it might be a hint of an eventual public API on iOS. Either way, a new option for building hybrid JavaScript apps is here. The start of Apple’s evolution away from Objective-C?
|
|
|
|

|
It's often said that the web needs a bytecode.... basically the point is that people want to use various languages on the web, and they want those languages to run fast. Bytecode VMs have been very popular since Java in the 90's, and they show that multiple languages can run in a single VM while maintaining good performance, so asking for a bytecode for the web seems to make sense at first glance. JavaScript is already very close to providing what a bytecode VM is supposed to offer.
|
|
|
|

|
Writing a good README is easy. You just need to know what information is required for developers to use and understand the application. Here’s some Rails-centric information I include in the READMEs I write for The Frontier Group... [This file left intentionally blank.]
|
|
|
|

|
Google has product lines on three platforms: web, mobile, and desktop. If you’re heavily invested in its web apps, Android makes a lot of sense. Its integration with your Google account helps it do amazing things. Google Now, for example, combines your location with the wealth of data the company knows about you to, say, automatically pop up your boarding pass at the airport. Or display directions to your hotel when you land. It would be creepy were it not so helpful. (OK, maybe it is a little creepy.) Google needs to make that same impression with Chrome. Instead, there’s a divide between its desktop efforts and other aspects of the business. Two different operating systems, two different experiences. Google doesn’t offer the advantage of an integrated stack.
|
|
|
|

|
The debate to nail down the long overdue Do Not Track (DNT) standard continued at the W3C Tracking Protection Working Group face-to-face meeting in Sunnyvale last week. Despite a less hostile tone in the room, there seemed to be no clear path forward towards agreement regarding the core issue of ensuring that the standard provides users with enough privacy protection to justify its existence. With the group set to begin winding down in July, there is a lot of uncertainty about whether a consensus standard can be reached with such a short time frame, and if no consensus standard emerges, what will happen next. Users want DNT to limits collection and retention of data. But users aren't at the table...
|
|
|
|

|
There's a thought in neuroscience/psychological circles that words are much more than sounds that represent things: they are the abstraction of our higher brain function. Words are language, code is language. Restricting yourself to one or two languages is limiting your cognitive abilities. Whoa! I know kung fu.
|
|
|
|

|
Format string vulnerabilities are a pretty silly class of bug that take advantage of an easily avoidable programmer error. If the programmer passes an attacker-controlled buffer as the argument to a printf (or any of the related functions, including sprintf, fprintf, etc), the attacker can perform writes to arbitrary memory addresses. Behold, the printf of doom.
|
|
|
|

|
The problem with talking about functionality not in the current release sets expectations and distracts from marketing what’s already wonderful about what you’re selling. All you’re doing is diminishing the product you’re selling. You are also making a promise to your customers that you may need to break down the road if priorities change (or Apple implements new OS features that force your hand). Bonus: 5 tips on the right way to run a software company.
|
|
|
|

|
In the dark old days of the late 1990s and early 2000s, debates would rage about whether open source software is as good as proprietary software. And it was all a matter of opinion. Then, in 2006, the Department of Homeland Security partnered with a software code analysis company called Coverity to examine open source code for security vulnerabilities and software defects. Each year since, Coverity has published a report on the quality of open source code.... But the latest report, published on Wednesday, found something new: the code quality of open source projects tends to suffer when they surpass 1 million lines of code, whereas proprietary code bases continue improve when they pass that mark. Next question: who really needs 1 million lines of code?
|
|
|
|

|
With a nod to Vivek Gite and his popular 20 Linux System Monitoring Tools Every SysAdmin Should Know article, we present "20 Windows Tools Every SysAdmin Should Know". Many of the programs listed below are included with Windows and provide all kinds of information about what is happening on the computer. Some you've probably heard of, and hopefully a few will be new to you. What other tools are part of your essential sysadmin toolbox?
|
|
|
|

|
[I] recently came upon magazine called "Video Games", published between 1982 and 1983. Within a lot of these issues were well written articles on a lot of things at the time -- and they're absolutely fascinating. Being around before and after the crash makes it quite unique. Starting off with Issue 8, March 1983 - Welcome to the Club! An amazing article written by Ann Kreuger about the role of Women in developing video games. Here’s a good start: "In my research, I turned up 15 women in positions that are not related to promotion, publicity or advertising." In the article she talks with Dona Bailey, one of the creators of Centipede, Sue Forner, an artist on Professor Pac-Man, Janice Hendricks who designed the art for Joust, Lynda Avarett, Sue Currier and Roberta Williams. Fascinating! It's 2013 and women are still starting to make their presence felt in the game industry.
|
|
|
|

|
Anyone who uses Skype has consented to the company reading everything they write. The H's associates in Germany at heise Security have now discovered that the Microsoft subsidiary does in fact make use of this privilege in practice. Shortly after sending HTTPS URLs over the instant messaging service, those URLs receive an unannounced visit from Microsoft HQ in Redmond. Searched for your protection.
|
|
|
|

|
Big data! If you don’t have it, you better get yourself some. Your competition has it, after all. Bottom line: If your data is little, your rivals are going to kick sand in your face and steal your girlfriend. There are many problems with the assumptions behind the “big data” narrative (above, in a reductive form) being pushed, primarily, by consultants and IT firms that want to sell businesses the next big thing. Fortunately, honest practitioners of big data—aka data scientists—are by nature highly skeptical, and they’ve provided us with a litany of reasons to be weary of many of the claims made for this field. You don't need lots of data. You just need the right data.
|
|
|
|

|
Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 million concurrent connections using techniques that are as radical as they may be unfamiliar. The kernel isn’t the solution. The kernel is the problem. Don't make it do all the work.
|
|
|
|

|
As many expected and hoped, Microsoft is going to make the coming Windows Blue update to Windows 8 free for existing Windows 8 and Windows RT users. Microsoft's Windows Chief Financial Officer Tami Reller, during an appearance at the May 14 JP Morgan Technology, Media & Telecom Conference, shared the pricing news. Reller also acknowledged what those who've downloaded leaked builds of Blue have known for a while: Windows Blue is Windows 8.1. This is for those who won't update until SP1.
|
|
|
|

|
Details of the availability and pricing for Windows 8.1 are out[^].
|
|
|
|

|
XSS protection: check! No SQL injection: check! Proper use of HTTPS: check! Clickjacking defences: uh, click what now?! This is one of those risks which doesn’t tend to get a lot of coverage but it can be a malicious little bugger when exploited by an attacker. Originally described by Jeremiah Grossman of WhiteHat Security fame back in 2008, a clickjacking attack relies on creating a veneer of authenticity under which lies a more sinister objective. [Insert awkward moment while you overthink clicking this link.]
|
|
|
|

|
We forget that physical objects are also just specific embodiments – or presentations – of their content and function. A paperback book and an ebook file are two embodiments of the text they each contain; the ebook isn’t descended from the paperback. They’re siblings, from different media spheres, one of which happens to have been invented more recently. The biggest intellectual stumbling-block we’re facing is the fallacy that just because physical embodiments came first, they’re also somehow canonical. Making the digital more familiar, or a failure of imagination?
|
|
|
|

|
In some recent talks I make a reference to Conway’s Law named after Melvin Conway (not to be confused with British Mathematician John Horton Conway famous for Conway’s Game of Life nor to be confused with Conway Twitty) which states: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Many interpret this as a cynical jibe at software management dysfunction. But this was not Melvin’s intent. At least it wasn’t his only intent. We should model our teams and our communication structures after the architecture we want.
|
|
|
|

|
Through Jack Pappas, the F# Software Foundation (the F# community group also known as fsharp.org) has recently made F# more readily available on FreeBSD. Some details below, taken from the discussion on the F# Open Source Google Group.... What's new is old again.
|
|
|
|

|
Entity framework is a great ORM provided by Microsoft. There are a ton of examples of how to get up and running with it really quickly. The only problem with all of them, is the get you off on the wrong foot. In all of the EF example guides, the DbContext class is typically deeply embedded into the core of your code. This of course is great for Entity framework because the effort to change will be next to impossible – speaking from experience of course here. Instead, by making some subtle changes we can integrate Entity framework in a separate layer in case at some later date you wish to replace it. And by "done right" we mean "so you can undo it later."
|
|
|
|

|
You probably haven’t heard of HD Moore, but up to a few weeks ago every Internet device in the world, perhaps including some in your own home, was contacted roughly three times a day by a stack of computers that sit overheating his spare room. “I have a lot of cooling equipment to make sure my house doesn’t catch on fire,” says Moore, who leads research at computer security company Rapid7. In February last year he decided to carry out a personal census of every device on the Internet as a hobby. “This is not my day job; it’s what I do for fun,” he says. He knocked on all the doors. Many of them were unlocked.
modified 13 May '13 - 18:48.
|
|
|
|
 |