 |

|
You may think that making an OS kernel is easy if you've ever programmed before. Think again. You don't have an established API or library to program with; You have to start from scratch. In this tutorial, we are going to learn about bootloaders and linkers and the basics of programming a simple Operating System. If you have never programmed before, I suggest you read some tutorials and try a few smaller projects first. Why buy (or download) an OS when you can just write one?
|
|
|
|

|
Java performance has the reputation of being something of a Dark Art. Partly this is due to the sophistication of the platform, which makes it hard to reason about in many cases. However, there has historically also been a trend for Java performance techniques to consist of a body of folk wisdom rather than applied statistics and empirical reasoning. In this article, I hope to address some of the most egregious of these technical fairytales. "Sophisticated platform" typically means "I have no idea how it works."
|
|
|
|

|
The kind of testing that Visual Studio 2012 provides for UIs isn't going to help here. That testing is intended to prove that the code behind the UI is working correctly. With the kind of testing that Visual Studio supports, "correct" means that the UI is working the way you intended it to work. Unfortunately, the only judges of a UI's correctness are the actual users drawn from the population represented by your personas. Because usability testing involves end users, it can be confused with "end-user testing." You should use end-user testing to test your code because users are cheap and available, and because users have some understanding of the business. PEBCAK is an excuse, not a solution.
|
|
|
|

|
PHP is the language everyone loves to hate. It's filled with design mistakes and inconsistencies.... The goals for this competition is to write a small and portable language with few dependencies. It needs to be very easy to build and install on a web server. Let's do better than PHP! Can you write a better PHP than PHP?
|
|
|
|

|
As Google hires all of the world’s good software engineers and my friends with startup companies fight over the scraps I am left to wonder how everyone could have been so wrong in predicting that the world would be glutted with good programmers and sysadmins by now.... With the rise of the worldwide Internet, open-source, and inexpensive microprocessors, it seemed inevitable that the world would be glutted with technically skilled people. Learning to program is only the first step on a lifetime journey.
|
|
|
|

|
I recently got asked by a friend and former co-worker how I write SQL. At first this caught me by surprise and I assumed there was nothing different, but after a few additional comments on it, it became clear most people have no concept for creating clean readable SQL. So without further adieu here’s how I write SQL, with a built up example query. An older response to a timeless query.
|
|
|
|

|
“When you start at Bitly, you go through this emotional cycle. Where first you go, ‘Oh my God, this data is amazing.’ But then you start looking at it and you conclude that humanity is completely doomed.” She gives a wary laugh. “Because what people read is cats and Bieber and celebrity gossip and that stuff.” A look into the data science behind Bitly's success.
|
|
|
|

|
A famous computer assisted proof (or perhaps "proof") is the Kepler Conjecture. In 1998 Thomas Hale claims to have proven it. The proof involved rather complex computer calculations. The referees say they are 99% sure its true. Here's hoping an easier proof is found. Computer assisted proofs may become more common. I just hope we still know WHY things are true. Was Appel-Haken the first use of computer assisted proofs? I doubt it, but it was likely the first one to have an impact. It was important to know that this kind of proof could be done. If you can test the code, you can test the proof.
|
|
|
|

|
The locomotive of technological innovation has yet to be derailed, but it’s come to a point where we must find particular uses and integrations for all of these advancements. Looking at how companies like Microsoft and Samsung are approaching the future of touchscreen technology may be the surest clues we can get. Talking with visionaries like Bill Buxton, one of the pioneers of touchscreen technology who now works as one of the principle researchers Microsoft Research, doesn't hurt either. It may be impossible to accurately gauge the future of touch, but that won't stop Ars from trying. "If you're aware there's a computer there, we've failed."
|
|
|
|

|
This morning we released the v2.0 update of the Windows Azure SDK for .NET. This is a major refresh of the Windows Azure SDK with some really great new features and enhancements.... All of these SDK enhancements are now available to start using immediately and the SDK can now be downloaded from the Windows Azure .NET Developer Center. Like all of the other Windows Azure SDKs we provide, the Windows Azure SDK for .NET is a fully open source project (Apache 2 license) hosted on GitHub. Visual Studio enhancement for publishing and much more. Read on for details.
|
|
|
|
 |
Message Automatically Removed
|
|
|
|

|
There are lots of tutorials on doing things in WinForms. It has been the primary GUI development for the .NET developer for years and years. Like any technology people want more from it. More options, faster processing, greater flexibility, more compatibility with other devices. Thus Windows Presentation Foundation was born. WinForms is not dead. I don't expect it to even be retired for years.... There is a bit of a learning curve for the WinForms developer making the transition. I hope this tutorial helps reduce that curve for you and make that transition a little easier. How I Learned to Stop Worrying and Love the XAML.
|
|
|
|

|
Does the thought of doing mathematics give you cold sweats? Are you ready to give up on your career as a budding game developer because the math just doesn’t make any sense to you? Don’t fret – math can be fun, and this cool 2-part game tutorial will back up that claim! Here’s a little secret: as an app developer, you don’t really need to know a lot of math. If you can add or multiply two numbers together, you’re already halfway there. You, Pythagoras and Cocoa2d build a cool game together.
|
|
|
|

|
This book tells the story of how Cristobal Viedma and I created the platform that powers Viki: a video site focused on international content and community-driven subtitle translations. Our push to production proved to be an enlightening experience. I constantly found myself looking forward to the day's challenges while reflecting on the experiences and lessons I've accumulated in an otherwise unremarkable career. It was a strange but pleasant mix. A journey, I hope, which you'll find worth reading about. It was to be a rewrite. It had to be fast.... With a great deal of enthusiasm, we started to code.
|
|
|
|

|
My main concerns with flat UI - are that while it is gorgeous, its not familiar. We live in a world of multiple dimensions - and we get visual cues from those dimensions. Even a newspaper or magazine may have a flat UI for content - but have 3D UI for navigating between pages. I think that flat UI in it's current growth is mostly being mis-used, and overused. Designers must give more consideration to function over style. Just because something looks good, doesn't mean its easy to use, or useable at all.
|
|
|
|

|
Making a game for a C64 and on PC is super simple and tons of fun! But Making a game on a real C64 is something else! One false move and BAH! your game is gone! There are no drives inside C64, everything that you are working on will die once you flip the power button. Moreover, there is no memory protection, so you can accidentally wipe out your code while it’s executing... Let's go to the tape... cassette tape.
|
|
|
|

|
The idea is compelling, but it also grossly simplifies the flow of data inside the internet of things. For example, it assumes all sensor data must be processed in “real time.” It also assumes all the data must be processed. Both of these are untrue, especially in the early days of the internet of things. But IBM is looking ahead.... It’s the same exaflood of data that telephone companies were so fearful of a decade ago. And like the telephone companies, IBM is hoping to cash in on these fears — with its box. An Arduino can do this, but no one was ever fired for buying IBM.
|
|
|
|

|
Kids these days! Why, back when I was a kid we had to use, you know, our imaginations when playing with toys. Now, thanks to robotics, toys can spring to life and react intelligently to a child's input. The latest example of that is IXI-Play, an owl-like robot that can dance, make sounds, and interact with children.... So what's inside the IXI-Play, and what can it do? Based on the Android operating system, the IXI-Play will use a variety of apps to interact and play games. ...and, of course, it can be hacked. I can't wait.
|
|
|
|

|
The WorldWideWeb (W3) is a wide-area hypermedia information retrieval initiative aiming to give universal access to a large universe of documents. Everything there is online about W3 is linked directly or indirectly to this document, including an executive summary of the project, Mailing lists , Policy , November's W3 news , Frequently Asked Questions.... The first page on the web is back online.
|
|
|
|

|
Software as a service (SaaS) is one of the great innovations of Web 2.0. SaaS enables flexibility and customized solutions. It reduces costs — the cost of entry, the cost of overhead, and as a result, the cost of experimentation. In doing so, it’s been instrumental in spurring innovation. So, what if you were to apply the principles of SaaS to science? Perhaps we can facilitate scientific progress by streamlining the process. Science as a service (SciAAS?) will enable researchers to save time and money without compromising quality. Making specialized resources and institutional expertise available for hire gives researchers more flexibility. Core facilities that own equipment can rent it out during down time, helping to reduce their own costs. People worry about Facebook stealing photos, but research in the cloud is just fine?
|
|
|
|

|
BlackBerry (BBRY) Chief Executive Officer Thorsten Heins said he sees a limited future for tablet computers, an indication he may shelve plans to build a follow- up to the smartphone maker’s ill-fated PlayBook device. “In five years I don’t think there’ll be a reason to have a tablet anymore,” Heins said in an interview yesterday at the Milken Institute conference in Los Angeles. “Maybe a big screen in your workspace, but not a tablet as such. Tablets themselves are not a good business model.” When all you've got is a PlayBook, everything looks like a, um...
|
|
|
|

|
So what’s the risk of a device connecting to the Pineapple (or any similar equipment – it’s not the only one) without knowing it? It means that every single byte of data that passes through that connection and is not encrypted can be read or changed by an attacker. Passwords, personal information, photos, videos and anything else not properly protected by the website can be intercepted. Links to secure login pages, documents, emails and even banking websites can be manipulated when that protection doesn’t exist. More Wifi Pineapple tricks... that could cause you a lot of trouble.
|
|
|
|

|
My job was to write the software in 6502 assembly. Unfortunately, there wasn't an assembler and the KIM-1 just had a hex keypad and small display. So, it meant writing the code by hand, hand assembling and typing it in. The code looked like this... Running code in your head is perhaps the most crucial of all skills for a software developer.
|
|
|
|

|
This page is a collection of obscure C++ features, gathered over the years as I've explored different corners of the language. C++ is very big and I'm always learning more about it. Hopefully you'll learn something from this page even if you already know C++ pretty well. The features below are roughly ordered from least to most obscure. Are these really that obscure? What else should be on this list?
|
|
|
|

|
In the last few years, we see the advent of highly distributed systems. Systems that have clusters with lots of servers are no longer the sole realm of the googles’ and facebooks’ of the world and we begin to see multi-node and big data systems in enterprises.... So now that large(r) clusters are more prevalent, I thought it would be a good time to reflect on the fallacies of distributed computing and how/if they are relevant; should they be changed. Mo' instances, mo' problems.
|
|
|
|

|
There is a perception in some tech circles that older programmers aren’t able to keep pace with rapidly changing technology, and that they are discriminated against in the software field. But a new study from North Carolina State University indicates that the knowledge and skills of programmers actually improve over time – and that older programmers know as much (or more) than their younger peers when it comes to recent software platforms. It's worth noting that, in this study, 37 is old. Get off my lawn.
|
|
|
|

|
When we released our very first game, Game Dev Tycoon yesterday, we did something unusual and as far as I know unique. We released a cracked version of the game ourselves, minutes after opening our Store.... The cracked version is nearly identical to the real thing except for one detail... Slowly their in-game funds dwindle, and new games they create have a high chance to be pirated until their virtual game development company goes bankrupt. Predictably, they complain.
|
|
|
|

|
Like any language — English, for example — management-speak can be used “to deflect blame, complicate simple ideas, obscure problems, and perpetuate power relations.” But that is a function of language. And make no mistake: bureaucratese is its own language. Or, to be more precise, its own idiom. Idioms evolve organically among the members of a group sharing common interests and concerns to better communicate those very interests and concerns.... These all necessarily exclude people outside the in-group, but this does not need to be a sinister thing. Try to follow a conversation among particle physicists in the Cal Tech lunchroom one day if you doubt me. Going forward, impactful asks for stakeholders will drill down.
|
|
|
|

|
You follow a link to a blog post and if you are lucky the post is there, just as it was the day the author created it. But just as likely, the link is broken and goes nowhere. Or the author has changed the contents (or at least the presentation) or simply moved it to a different place. Blogs are abandoned, services go out of business or are aquired, authors lose interest, lose faith, and sometimes simply die. And although the URL, that universally unique permutation of characters, remains, the content it pointed to is lost. This is only going to get worse. What's the best way to archive the web?
|
|
|
|

|
For the past few months we have seen a gradual increase in server-level compromises. In fact, every week it seems we’re handling half a dozen or so and it continues to increase. It’s one of the reasons that I have started including this as a trend in my most recent Website Security presentations. Just last week we talked about some very sneaky hacks that targeted the Apache binaries directly in the place of the modules, contrary to what we had been seeing. Fortunately, the more sophisticated attack are still far and few in between leaving us to deal with rogue modules more often than not. Now they're going directory for the Apache binaries. Here's how to stay safe.
|
|
|
|

|
The password creation process on different websites can be a bit like visiting foreign countries with unfamiliar social customs. This one requires eight characters; that one lets you have up to 64. This one allows letters and numbers only; that one allows hyphens. This one allows underscores; that one allows @#$&%, but not ^*()[]!—and heaven forbid you try to put a period in there. Sometimes passwords must have a number and at least one capital letter, but no, don’t start the password with the number... Many successful password attacks have little to do with the content of the password itself.
|
|
|
|

|
It seems funny to call the software our conference runs on a "platform" as that sounds very "enterprisey" and official. In the past we've done aspConf and mvcConf with sponsors who helped pay for things. We used Channel 9 and had a studio and streamed either from Seattle or using Live Meeting. However, this year we wanted to do it on the cheap and more distributed. We wanted speakers from ALL over in all time zones. How cheap? About USD$10ish we figure. I'll get a complete bill later, but we basically wanted to scale up, do the talks and scale down. How to organize your own conference for the price of a take-out lunch.
|
|
|
|

|
Staying in shape as a programmer can be difficult, but recent studies have shown that even if you’re among those in our profession who do work out regularly, sitting for long periods of time at work is detrimental to your health. To be a bit more dramatic about it, sitting is killing you (see Phil Haack’s blog post on this from last year). So, how can we combat this risk while continuing to get our work done (and, if you’re like me, keep on doing the thing you love)? How do you balance coding and keeping in shape?
|
|
|
|

|
The size of Linux's waistline has long been the focus of recurring attention here in the Linux blogosphere, even drawing occasional criticism from Linus Torvalds himself. Recently, however, a fresh weight-related complaint was made -- not about the kernel itself, but about today's Linux distros. "Linux fatware? These distros need to slim down" was the title of the InfoWorld piece that got the conversational ball rolling, and it's sparked quite a lively discourse. The nice thing about Linux distros: there's a flavor to suit just about anyone.
|
|
|
|

|
The PlayStation 4 is due out this fall, and its technical specifications have been largely under wraps -- till now. While the company gave a presentation at GDC, the system's lead architect, Mark Cerny, hasn't talked publicly in any great depth about the platform since its unveiling this February.... What follows is a total breakdown of the hardware from a developer's perspective: the chips on the board, and what they're capable of. Replacing CELL with a much more straightforward architecture for developers.
|
|
|
|

|
IIS7 was revolutionary in opening the IIS web server platform for public extensibility. Prior to that, few software vendors wrote extensions for IIS, using the native ISAPI Filter and Extension APIs. IIS7 completely changed this, creating a public extensibility model on top of which the web server itself was implemented, and opening it for managed development via the familiar ASP.NET API. Here are a couple things you can do only with native modules, and why you will probably never have to do them. In the beginning, there was ISAPI and it was... well, let's move along....
|
|
|
|

|
Compiler warnings are one of the most helpful tools for developers. The compiler can not only warn you about obvious mistakes (such as a method you forgot to implement); it also identifies many code patterns that, though syntactically correct, are potentially dangerous (like signed/unsigned conversion) or just plain wrong (such as mismatched format specifiers in a format string). Both the Clang compiler frontend and Apple’s default Xcode project templates have a default set of warnings enabled, designed to warn you about many probable errors in your code but not annoy you with tons of false positives.... They are not the best choice for new projects, though. Instead, you should strive to switch on as many warnings as possible. Which warnings should you enable? All of them, most of the time.
|
|
|
|

|
Here's my review after having Google Glass for two weeks: 1. I will never live a day of my life from now on without it (or a competitor). It's that significant. 2. The success of this totally depends on price.... This is the most interesting new product since the iPhone and I don't say that lightly. At what price does Google Glass become interesting to you?
|
|
|
|

|
Let's say the rumors are true, and that Microsoft does in fact bring back the Start button and a boot-to-desktop option to address longstanding user complaints. Can that fix what's ailing Windows 8? Perhaps, eventually — but Microsoft is still treating the symptom rather than the disease. The problem is the PC itself, not the operating system that runs it. And that's what Microsoft (and, secondarily, its Wintel partner Intel) really needs to transform. The PC is not dying. It's just becoming a niche product with niche needs.
|
|
|
|

|
Smartphones can check e-mail, record videos and even stream NPR. Now NASA has discovered they make pretty decent satellites, too. Three smart phones launched into space this past Sunday are orbiting above us even now, transmitting data and images back to Earth. The PhoneSats, which cost just a few thousand dollars each, could usher in big changes for the satellite industry. Pay-as-you-go SIMs are perfect for tight space exploration budgets.
|
|
|
|

|
When exactly did the enterprise stop being a place that ran only Windows? It was probably in the second half of 2010 when employees started asking IT to install their work email on their new iPads.... IT departments must also keep managing PC-based Windows 7, Windows XP and, to a smaller extent, Windows Vista and Mac OS. While Windows 8 remains missing in action in the enterprise, Windows 7 adoption has surpassed XP use, which is good timing given that Microsoft will end XP support in April 2014. Some key data points on the evolving enterprise OS landscape.
|
|
|
|

|
At a smaller scale, the code you write every day and its experience matters. Did you write some awesomely complicated code that only Neo would understand? Great! Clean up the API, make it testable, expressive, and ask the intern if he “gets it”. If everyone on the team is scared to code review your code because you make them feel dumb, you’re doing it wrong. If you’re writing code for others to use, please consider the experience of those using it.
|
|
|
|

|
One of the common misconceptions I’ve encountered when developers first start using the Task Parallel Library is that they think Tasks are just fancy threads. This is easy to assume because in a common case, calling Task.Run(…), it actually does run the Task activity on a thread from the thread pool. But as Stephen Toub wrote: "The Task-based Async Pattern (TAP) isn’t just about asynchronous operations that you initiate and then asynchronously wait for to complete. More generally, tasks can be used to represent all sorts of happenings, enabling you to await for any matter of condition to occur." Tasks can await all sorts of things, but they aren't necessarily on a thread.
|
|
|
|

|
In recent years, I "learned" new programming languages by reading books on the subject. And I have noticed an interesting phenomenon: when having a choice between using these languages in a day-to-day basis or using another language I am already comfortable with, I go for the language I am comfortable with. This, despite my inner desire to use the hot new thing, or try out new ways of solving problems. I believe the reason this is happening is that most of the texts I have read that introduce these languages are written by hackers and not by teachers. What I mean by this is that these books are great at describing and exposing every feature of the language and have some clever examples shown to you, but none of these actually force you to write code in the language. Practice makes perfect.
|
|
|
|

|
When the company was much younger, we used to pre-announce releases with a fair amount of notice. As with any project, best laid plans get changed, and release dates get missed. Recently we’ve been a lot more disciplined in how we plan our releases. It’s a popular myth that apps are “easy” to make and I thought I’d talk about the compromises and decisions we have to make every day when building apps. The Iron Triangle of shipping: projects enter... and hopefully leave on time.
|
|
|
|

|
Salt started life as a remote execution system: a class of software applications written to address concerns of the form, “I have this command I want to run across 1,000 servers. I want the command to run on all of those systems within a five second window. It failed on three of them, and I need to know which three.” Other systems were designed to do this, of course, but they failed in several ways.... Salt's approach was far simpler. Salt leverages the ZeroMQ message bus, a lightweight library that serves as a concurrency framework. It establishes persistent TCP connections between the Salt master and the various clients, over which communication takes place. A good intro to Salt if you're responsible for setting up servers and VMs.
|
|
|
|

|
An Apple 13-inch MacBook Pro is the "best performing" Windows laptop? Yes, says a PC services company that has done "frustration analytics" on some of the best-selling PCs. The MacBook Pro won out over established PC makers like Dell, Acer, and Lenovo, according to Soluto, which was quick to explain its finding: "A main factor in this machine's metrics is the fact that every Windows installation on it is clean. With PC manufacturers loading so much crapware on new laptops, this is a bit of an unfair competition. But, on the other hand, PC makers should look at this data and aspire to ship PCs that perform just as well as a cleanly installed MacBook Pro." Bonus: they come with Mac OS (and Unix... sort of).
|
|
|
|

|
The tech news has been awash with Twitter shut-downs lately. I'm sure that my company makes more revenue than some of those whose API access has been shut off to the outraged fanfare of onlooking technorati. Unlike those other companies, I don't have a leg to stand on. I'm directly cannibalizing Twitter's Ads revenue model and doing so on their very own platform. A clever business niche, or playing with fire?
|
|
|
|

|
The stable release of Ubuntu 13.04 became available for download today, with Canonical promising performance and graphical improvements to help prepare the operating system for convergence across PCs, phones, and tablets. "Performance on lightweight systems was a core focus for this cycle, as a prelude to Ubuntu’s release on a range of mobile form factors," Canonical said in an announcement today. "As a result 13.04 delivers significantly faster response times in casual use, and a reduced memory footprint that benefits all users." This is the year of Linux on the tablet.
|
|
|
|

|
The next Xbox is based on the "Core" (base) version of Windows 8. This suggests a common apps platform or at least one that is similar to that used by Windows 8. It also suggests that Microsoft could open up this platform to enthusiast developers. (That last bit is supposition on my part.) ... Microsoft originally planned to offer both a “full” version of the next Xbox (with video game playing capabilities) and a lower-end entertainment-oriented version, code-named “Yuma,” that didn't provide gaming capabilities. But plans for Yuma are on hold, and no pure entertainment version of the next Xbox will appear in 2013 (or possibly ever). Is a gaming console still relevant in an era of cheap, always connected mobile devices?
|
|
|
|

|
As the executive chairman of one of the biggest tech companies on the planet, Eric Schmidt seems well-placed to do some crystal ball gazing. So what does he think will be major trends in the future? Self-driving cars, Google Glass and mobile operating systems named after desserts? Not quite. In the run up to the launch of his new book ‘The New Digital Age’, co-authored by Google Ideas director Jared Cohen, the two Googlers gave CNN a few predictions about what would be big news in the world of tech for years to come. They stressed that the technology means nothing unless it is adopted by people, and how they use it will make all the difference. Bonus prediction: an important update will begin just when you need to do something else.
|
|
|
|
 |