Tanguy Ortolo: Using the UDF as a successor of FAT for USB sticks

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…

Removing Core Data iCloud Syncing

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…

Image Management

Patrick Hughes says Down with Magic Strings! on Cocoa Is My Girlfriend. And provides the necessary Python.

MySQL 5.6: Improvements in the Nutshell

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

⚡️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…

Read/Write Splitting with PHP Webinar Questions Followup

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…

How To Make Your Team’s Code Better

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…

Webinar on Read/Write Splitting with PHP

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…

How to use Photoshop images in Final Cut Pro X

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

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…

Coding trick automates iOS and Mac app screenshots

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…

Five Ways To Write Better Code

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…

Sphinx search performance optimization: attribute-based filters

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…

Safari-to-1Password search bookmarklet for iOS

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…

The proper way to design an empty space in your app

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…

A paperless office workflow

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…

Code Formatting Style

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…

Three Letters

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.

iPhone Apps Accepting Self-Signed SSL Certificates

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…

How does MySQL Replication really work?

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 Recruiter Do’s and Don’ts

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,…

What Are the Unwritten Rules of Deleting Code?

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,…

All your images are belong to data uris

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.…

Deciphering Crashes

If you’re not already a crash log master, you will learn something from Demystifying iOS Application Crash Logs.

On Coalescing Calls

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’s Debugging Tips

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 Apple's Safari was kept a secret

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…

TextExpander + Xcode

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.

Functional Programming

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…

Adobe and Apple Didn't Unit Test For "Forward Date" Bugs. Do You?

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 on UITableViewCell

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…

UITableViewCell Is Not a Controller

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…

Open With Menu Duplicates

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…

Coders in the Hands of an Angry God

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…

Reader Tips

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.)

UIRemoteViewController

Somehow I missed Ole Begemann’s well-done research into remote view controllers when he posted it in October. Fascinating and tantalizing.

Testing for OS X vs iOS

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,…

Improve your web app backends connections

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,…

Rudy Godoy: s3tools – Simple Storage Service for non-Amazon providers

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…

4 Creative Ways to Recruit Web Developers

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…

Empty an Array with JavaScript

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 for me as a software developer

"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.…

Andrea Veri: IPv6 tunneling with Hurricane Electrics

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…

Simple Security

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,…

Changing the world, one task at a time

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…

Conditional loading of resources with mediaqueries

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,…

W3C: HTML5 e' standard. In beta

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

Use Siri and a Raspberry Pi to open your garage door with your voice

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…

Virtual IP addresses with ucarp, for high-availability

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…

git-coverage: Useful code coverage

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…

Wunderlist 2 goes native, adds many new features to beautiful, free app

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…

Improve Your PHP Development Skills

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 calc

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…

Apple launches more detailed online services status page

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…

The Optimization That (Often) Isn’t: Index Merge Intersection

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…

Google Maps SDK lets iOS devs use Google's maps in apps

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…

Google lets iOS developers replace Apple map data with its own

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…

Google Pins Gmail Outage on 'Routine Update' Gone Wrong

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 3.7 kernel is 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…

Openismus running jenkins for continuous integration

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…

How to Create a Twitter Card

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…

GitHub's Tips for Building Faster Websites

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.

Book Review: Sams Teach Yourself Node.js In 24 Hours

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…

2 Ways to Use a Custom Domain with Dropbox

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…

A week for csync

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…

On protecting HTML5 apps

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…

Aaron Toponce: ZFS Administration, Part II- RAIDZ

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…

NoSQL: The Love Child of Google, Amazon and ... Lotus Notes

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.

Add an HTML5 Webcam to Your Site With Photobooth.js

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.

Quickly finding unused indexes (and estimating their size)

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…

Andrea Veri: My favorite WordPress Plugins

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…

Methodology of Testing Icons

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…

Sayebackup.sh – deduplicating backups with rsync

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…

Setting up Mountain Lion: 12 geek setup tips

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)…

JavaScript typed arrays pain

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…

Replication of the NOW() function (also, time travel)

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. …

CSS :target

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…

See how long a given process has been running

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…

A new beginning

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…

HTTP Strict Transport Security Becomes Internet Standard

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,…

Full table scan vs full index scan performance

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…

What is an API?

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…

Create Retina-ready graphics for your website

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…

DevJuice: Parse jumps to OS X Mountain Lion

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…

Python 3.2 lets you write Python on the iPhone

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…

Extending Selenium with jQuery

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…

Webinar: Looking for Painless MySQL High Availability ?

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…

Web APIs: a moving target

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…

CSS Transitions

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…

Gentoo Developers Fork udev

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…

Hacker Grabs 150k Adobe User Accounts Via SQL Injection

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…

How to manage passwords with Keychain Access

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…