C++ containers that save memory and time
The latest news from Google on open source releases, major projects, events, and student outreach programs.
The latest news from Google on open source releases, major projects, events, and student outreach programs.
USB sticks are traditionally formatted with FAT 32, because this file system is implemented by almost every operating system and device. Unfortunately, it sucks, as it cannot use more than 2 TiB, store files larger than 2 GiB or store symbolic links for…
Jumsoft: > After a rather frantic month of dealing with the unfortunate iCloud sync, we made an always-difficult decision: to do a U-turn. (Via Michael Tsai. You should subscribe to his feed.) I almost never worry about the future of Apple — but, when I…
Patrick Hughes says Down with Magic Strings! on Cocoa Is My Girlfriend. And provides the necessary Python.
Preparing for my talk for Percona MySQL University in Raleigh,NC, Tuesday 29th of January I have created the outline of improvements available in MySQL 5.6 which I thought was worth sharing to give a feel for how massive work have been done for this…
⚡️Five things you can do to make HTML5 perform better During the last few weeks we were busy helping developers to convert their HTML5 apps from platforms like WebOS and ChromeOS to FirefoxOS and the target hardware this operation system is right now…
Today I gave a presentation on “Read/Write Splitting with PHP” for Percona Webinars. If you missed it, you can still register to view the recording and my slides. Thanks to everyone who attended, and especially to folks who asked the great questions. I…
Improving the overall code quality is a challenge. You work really hard at writing quality code, but bugs still slip in and code isn’t quite up to standards each and every time. It’s frustrating to you that there’s not a way to catch some or all of these…
I’ll be presenting a webinar next Wednesday, January 23 at 10 a.m. (Pacific Time), about issues application developers should think about for scaling out read-query traffic using multiple MySQL instances in a replication pair. Specifically, about the care…
If you manipulate photographs, create graphics, or otherwise work with images, you’ve probably used Adobe Photoshop. And if you edit video, you’ve likely incorporated still images into your video projects. Final Cut Pro X works with all kinds of image…
Scoped style sheets are a feature from HTML 5 (or the HTML Standard, if you prefer) that allows the effect of a style sheet to be limited to a subtree of the document. By placing a scoped attribute on a element, the style sheet applies only to elements…
When working on an app, iOS developers don't just code, they also have to prep their app for the App Store submission process. One time-consuming step is gathering all the app screenshots that are needed for the App Store listing. It's not too bad if you…
When I was first starting out in development, I thought that writing code was pretty easy. It took me a while (and a long learning process) before I realized that writing code is harder than it looks. Looking back on some of that first code, I wonder how…
One of the most common causes of a poor Sphinx search performance I find our customers face is misuse of search filters. In this article I will cover how Sphinx attributes (which are normally used for filtering) work, when they are a good idea to use and…
1Password on iOS is the best way I've found to manage secure passwords, but the 4.0 version did not make it easy to search for passwords straight from Safari, iCab or another browser (well, not Chrome, which doesn't support bookmarklets). The recent 4.1…
App designers (and Apple), take note! Designer Craig Dennis has an excellent article on Codrops about designing empty space in your app. These are pages with no data, such as an empty mail inbox or a folder barren of any documents. Dennis argues that no…
Use Spotlight in partnership with a cheap handheld scanner, plus some OCR software, and you can achieve the "paperless office" dream with remarkably little effort. I explain more about this on my blog, but here are the basic steps. I use the excellent…
On the Debug podcast (which I adore), Craig Hockenberry (whom I adore) mentioned that my code formatting style is crazy. He may be right. I’ll let you judge. Here’s a simple example from a view controller’s init method: - (id)initWithAccount:(GBAccount…
Apple: Programming with Objective-C: Conventions: > Your own classes should use three letter prefixes. This is news to me. (Via Colin Wheeler.) I call BS.
I recently spent some time looking at a number of iPhone apps in the App Store to see how well they were implementing SSL. It was a little surprising to see how many big-name apps ignored SSL errors and even more surprising to see some that didn’t use SSL…
While we do have many blog posts on replication on our blog, such as on replication being single-threaded, on semi-synchronous replication or on estimating replication capacity, I don’t think we have one that covers the very basics of how MySQL replication…
Tech recruiting is big business. Hire the right developers and you have the next big thing; hire the wrong developers and you have a team full of egos, problems, and headaches. I've gotten a fair share of recruiter emails over the past five years and,…
Press2ToContinue writes "I came across this page that asks the question, 'what are the unwritten rules of deleting code?' It made me realize that I have seen no references to generally-accepted best-practice documents regarding code modification,…
If the number 1 rule for making faster websites is to "Minimize HTTP Requests", then, let's try it. On this site, almost all pages are served entirely from memcache. Django renders the template with the database content and the generated HTML is cached.…
If you’re not already a crash log master, you will learn something from Demystifying iOS Application Crash Logs.
Doug Russell writes about using performSelector:withObject:afterDelay: to coalesce multiple calls into one. I’ve done similar coalescing, but by using an NSTimer. I haven’t gone to the trouble of writing a category for this (but I should). Here’s what I…
Mike Hay’s Debugging Tips video is up on Vimeo. You’ll learn something useful, I bet. Unless you’re Mike Hay. (Via @pgor.)
How do you build and test a new web browser when nobody in the world -- outside of the tiny development team -- is allowed to know of its existence? Very carefully, according to Safari engineer Don Melton, who detailed some of the finer points of covert…
Collin Donnell created a TextExpander snippet for wrapping a string with an NSLocalizedString macro. I constantly forget that TextExpander works in Xcode. I use it everywhere else — I should use it in Xcode too.
Tim Bray links to an article on functional programming that explains why it’s important. I’m not sure I get functional programming yet — though I’m curious. I also suspect that I may already be using functional programming principles. My parents taught me…
llamafirst writes "As the year flipped to 2013, we learned that Adobe and Apple don't test for "forward date" bugs. Adobe prevented any copy of FrameMaker 10 from launching and Apple broke Do Not Disturb for the first week of 2013. Surely some more…
Paul Goracke: UITableViewCell Is Not a Controller, But…: > I’ve been down a number of UITableViewCell paths that bit me in the end, many of which Brent seems to have experienced as well, but I have ended up settling on creating UITableViewCell subclasses…
In a previous post I wrote that passing model objects to a UITableViewCell subclass is a bad practice. Some people asked me why, so I’ll explain. WHAT I MEAN BY MODEL OBJECT By model object I don’t mean NSStrings, numbers, and so on. I mean the thing that…
Copyright © 2019 - K Harrison Privacy and Cookies Terms of Use, I have for some time been suffering a minor (but it seems not uncommon) annoyance with the “Open With” menu when I right click on a document in the Finder. Over time a number of old and…
Ash Furrow in Seven Deadly Sins of Modern Objective-C makes good points. I especially like his reminder to use NSInteger and friends: > Yeah, that’s right: every time I need a integer in Objective-C, I use NSInteger. If I need it to be unsigned, I use…
NSHipster published a nice set of reader submissions. My favorite is the reminder about Xcode snippets — I keep forgetting that feature exists. (Though I do wish we also had the ability to write scripts. I miss that feature from Xcode 3.)
Somehow I missed Ole Begemann’s well-done research into remote view controllers when he posted it in October. Fascinating and tantalizing.
Yesterday, I was messing around building shared NSLayoutConstraint code to be used across iOS and OS X. I put in a few #if TARGET_OS_MAC directives, assuming they'd just work. They didn't. Turns out that you should always check for TARGET_OS_IPHONE first,…
I've talked about this previously, but let me state it again before I introduce the tools. One of the most common issue I witness in web applications out there is their inability to cope with backend issues. For example, if you are using a MySQL database,…
There are plenty of iPhone apps that improve or expand on the basic camera built into the iPhone and iPad. You can think of BlueStone Pond's SetMyCamMx 1.0.3, on the other hand, as a $4 app designed to replace the old-fashioned depth of field calculation…
One of the nicest developments in the cloud arena is the increasing adoption of standards. This, of course, will impact on maturity and market confidence on such technologies. Amazon, as one of the pioneers, made a good choice on their offering design by…
For jobs other than technology jobs, applying for a job and creating a resume hasn't changed much in the past decade; if you're a tech person, however, recruiting developers certainly has changed. Some prospective employers advertise on LinkedIn or…
Emptying an array is a common JavaScript task but too often I see the task performed in the incorrect way. Many times developers will create a new array: myArray = []; // bad That isn't the optimal way to get a fresh array; to truncate an array, and…
"Gamification is the use of game-thinking and game mechanics in non-game contexts in order to engage users and solve problems" -- wikipedia Gamification sneaks into a software developer's life whether he/she likes it or not. Some work for me, some don't.…
I’ve been looking around for a possible way to connect to the IPv6 internet for some time now and given the fact my provider didn’t allow me to run IPv6 natively I had to find an alternative solution. Hurricane Electrics (HE) provides (for free) five…
We previously looked at how to peek inside app bundles to get an inside look at how they might be handling data. Another important element to an app’s security is how they handle data externally. You can read through Terms of Service and Privacy Policy,…
The main concept behind Getting Things GNOME is that everything, absolutely everything is a task. Writing a book is a task. Developing an operating system is a task. Climbing mount Everest is task. Taking out the trash is a task. Everything. I agree. It's…
Why you should say HTML classes, CSS class selectors, or CSS pseudo-classes, but not CSS classes Search the web for "CSS classes" and you'll find numerous well intentioned references which are imprecise at best, and misleading or incorrect at worst.…
Here is a quick idea about making mediaqueries not only apply styles according to certain criteria being met, but also loading the resources needed on demand. You can check a quick and dirty screencast with the idea or just read on. Mediaqueries are very,…
Annunciata la finalizzazione delle funzionalita' che faranno parte del web di "nuova generazione". Tempo un altro paio d'anni e lo standard sara' standard per davvero. Poi verra' HTML5.1
Siri can already be used to complete some pretty nifty tasks, including fetching sports scores or directions across town, but having the virtual assistant manipulate things in your physical space is something entirely different. As Hack A Day reports, by…
If you're interested in high-availability you typically want to use some kind of load-balancer, to divide traffic between a pool of machines. A simpler approach can be to have a pair of hosts each of which is prepared to take over a single virtual IP…
I’ve sorta dabbled in using code coverage off and on, but it never really grabbed me as super useful and fit well within my workflow. When hacking on open source I want to try out patches, run tests against them, whether automatic unit tests or manually…
6Wunderkinder's Wunderlist 2 is now available on desktops (as a native app and a web app) and iOS devices to make personal productivity more connected, more social and more informative than ever before. To-do lists are probably the most commonly…
Maybe you struggle with object oriented code, understanding it and writing it. Perhaps you’re tired of having to rewrite code that doesn’t pass code review or introduces a bug you didn’t expect. Maybe you’d like to impress your boss by improving your…
CSS is a complete conundrum; we all appreciate CSS because of its simplicity but always yearn for the language to do just a bit more. CSS has evolved to accommodate placeholders, animations, and even click events. One problem we always thought we'd have…
In the wake of some high-profile outages affecting its iCloud, iMessage and other online services, Apple has rolled out a new design for its system status web page. The new page offers a more detailed report on the current health of 32 different…
Prior to version 5.0, MySQL could only use one index per table in a given query without any exceptions; folks that didn’t understand this limitation would often have tables with lots of single-column indexes on columns which commonly appeared in their…
With the well-hyped release of the new Google Maps app came the quieter announcement that the company is also releasing a Google Maps SDK for iOS. The SDK allows app developers to prefer in-app Google Maps instead of Apple's iOS 6 maps. The SDK will also…
In addition to releasing its own Google Maps app for iOS, Google is now offering up its improved, vector-based maps to iOS developers looking for an alternative to Apple's at-times flawed data. Developers can essentially replace Apple's native MapKit APIs…
The very best basketball free throw shooters can sink the ball about 90 percent of the time. What would it take to get to 95 percent? WIRED's Robbie Gonzalez steps up to the foul line with top shooter Steve Nash to find out.
Linus has released the 3.7 kernel. "Anyway, it's been a somewhat drawn out release despite the 3.7 merge window having otherwise appeared pretty straightforward, and none of the rc's were all that big either. But we're done, and this means that the merge…
Over the last couple of weeks, I’ve been playing with a Jenkins installation at jenkins.openismus.com, building some of the Openismus projects. Here are some notes about my experience. This runs on an Amazon EC2 instance. Initial installation was…
Building Resilient Systems on AWS: Learn how to design and implement a resilient, highly available, fault-tolerant infrastructure on AWS. One of my favorite social APIs was the Open Graph API adopted by Facebook. Adding just a few META tags to each page…
The very best basketball free throw shooters can sink the ball about 90 percent of the time. What would it take to get to 95 percent? WIRED's Robbie Gonzalez steps up to the foul line with top shooter Steve Nash to find out.
Michael Ross writes "Since its introduction in 1994, JavaScript has largely been utilized within web browsers, which limited JavaScript programmers to client-side development. Yet with the recent introduction of Node.js, those programmers can leverage…
Since version 1.0, UpShot supports using your own custom domain name to share your screenshots via Dropbox. However, you have to do some work on the server side to make it happen. Here are two ways to point your own, custom domain at your public Dropbox…
On Friday I arrived back from Berlin where I had the pleasure to work with my great colleague Danimo and our friends from Woboq, Markus and Olivier, in the Woboq Headquarter in Berlin Kreuzberg for a week. We thought that it might be fun to work together…
One of the most repeated questions I get when talking about HTML5 is the following: “How can I protect an HTML5 app from being copied?” Most of the time the question is not that direct to the point but that’s the gist of it. An example is in the Q&A of…
The previous post introduced readers to the concept of VDEVs with ZFS. This post continues the topic discusing the RAIDZ VDEVs in great detail. STANDARDS PARITY RAID To understand RAIDZ, you first need to understand parity-based RAID levels, such as RAID-5…
The very best basketball free throw shooters can sink the ball about 90 percent of the time. What would it take to get to 95 percent? WIRED's Robbie Gonzalez steps up to the foul line with top shooter Steve Nash to find out.
The very best basketball free throw shooters can sink the ball about 90 percent of the time. What would it take to get to 95 percent? WIRED's Robbie Gonzalez steps up to the foul line with top shooter Steve Nash to find out.
I had a customer recently who needed to reduce their database size on disk quickly without a lot of messy schema redesign and application recoding. They didn’t want to drop any actual data, and their index usage was fairly high, so we decided to look for…
Il dizionario dei "destrutti". Un mondo dove cresce il disprezzo. Per il Cavaliere gli ex socialisti Cicchitto, Brunetta e Sacconi sono "incapaci inutili ...storie correlate * "Liste pulite", l'impegno di Cancellieri "Decreto operativo per elezioni…
It took me a while to build a complete WordPress blog with all the things I needed, from modifying the default Twenty Eleven theme to broadcasting my posts directly on Twitter. WordPress has a nice selection of plugins and given the fact I spent a few days…
On the occasion of the large scale usability test of the LibreOffice Writer icons, this article explains how subjective and objective measurements can help to understand the quality of an icon-term relationship. A picture says more than 1000 words. On top…
Due to popular request, I’m putting up a polished version of the backup script that we’ve been using over the years at Lanedo to backup our systems remotely. This script uses a special feature of rsync(1) v2.6.4 for the creation of backups which share…
After I recently wrote about how I often set up new Macs from scratch rather than taking advantage of migration, many people asked me to share my action logs. While I can't do that specifically because (1) my logs are extremely long and cryptic and (2)…
If you've ever tried to deal with binary data in JavaScript you know it isn't much fun and you usually resort to using strings lots of charCodeAt and related functions. Typed arrays are supposed to solve this though! The typed array API consists of…
Notice the result of the NOW() function in the following query. The query was run on a real database server and I didn’t change the clock of the server or change anything in the database configuration settings. You may proceed to party like it is 1999. …
One interesting CSS pseudo selector is :target. The target pseudo selector provides styling capabilities for an element whose ID matches the window location's hash. Let's have a quick look at how the CSS target pseudo selector works! Assume there are…
I wanted to find out how long a certain background process had been running. There's a column for CPU Time in Activity Monitor, but that's not real clock time. It turns out you can get this information with ps, via the etime keyword. So to get a list of…
After a nice relaxing thanksgiving week, with almost no e-mail to read (I can’t stress enough how nice this was) - I’m incredibly excited to start my first day at Firebase tomorrow! If you haven’t heard of them before, it’s because they’re a startup :) And…
angry tapir writes "A Web security policy mechanism that promises to make HTTPS-enabled websites more resilient to various types of attacks has been approved and released as an Internet standard — but despite support from some high-profile websites,…
Earlier this week, Cédric blogged about how easy we can get confused between a covering index and a full index scan in the EXPLAIN output. While a covering index (seen with EXPLAIN as Extra: Using index) is a very interesting performance optimization, a…
I recently posted in the newsgroups about a concern over super-review. In some cases patches that seem to meet the policy aren’t getting super-reviewed. Part of the problem here is that the policy is a little ambiguous. It says that any API or pseudo-API…
If you're looking for something to do this weekend that doesn't involve fighting your way through massive crowds of holiday shoppers, you can work on bumping the graphics on your website up to Retina quality. Designer Chris Spooner took a look at his…
If you love Parse, you'll be happy to hear that the company just released an OS X SDK. Parse helps you store, sync and push data, enabling you to build server-based apps in the cloud without having to bring your own infrastructure. The new OS X API…
We've posted before about Codea, an iPad app that allows you to code and create LUA scripts. And now here's a new iPhone app called Python 3.2 that, as you might imagine, allows coders to write Python scripts through iOS. The app runs Python 3.2.3 and…
Last week I wrote about combining Selenium and py.test and I promised to also talk about my function find_elements_by_jquery(). Selenium by default can find elements by id, CSS selector and XPath, but I often find I already know the query as a jQuery…
I have a pleasure to deliver Webinar on Industrial-Strength MySQL Applications Using Percona and Continuent together with Robert Hodges next week, Nov 28. We will talk about how you can use technologies from Percona and Continuent to build Highly…
Google have recently announced version 3 of their YouTube API. This is great news for libgdata: it means we can have access to all the same functionality as before, just with a JSON flavour, rather than Atom. Sarcasm aside, the last few years of working…
There are two ways to create animations with pure CSS: CSS animations and CSS transitions. CSS transitions provide a simple method for animation one or multiple properties from one value to another. CSS transitions do not require @keyframes -- simply…
In October, Linus Torvalds expressed concerns that udev was making "...changes that were known to be problematic, and are pure and utter stupidity." Several Gentoo developers were also concerned about the removal of features and uncooperative nature of…
CowboyRobot writes "Adobe today confirmed that one of its databases has been breached by a hacker and that it had temporarily taken offline the affected Connectusers.com website. The hacker, who also goes by Adam Hima, told Dark Reading that the server…
In the innocent days of our computing youth, many of us had to memorize just one password—the one we used to send and retrieve our email over a glacially slow dial-up connection. User-account passwords? For geeks. Shopping-site passwords? What shopping…