John Cox

Blogs · @wyome · Now · Shelf

Interesting

My Bootstrap Site

A demo page built from Twitter Bootstrap's "Basic marketing site" starter template, updated to Bootstrap 2.0.2, and used as a hub for a small tutorial series. It links to a setup guide on organizing and linking markup, CSS, and JavaScript, and to a navbar guide covering three configurations: fixed-top, static full-width, and static inside a container. A section on tabs and pills is listed as coming soon, so the page itself holds little substance beyond these pointers.

Permalink

How Do You Structure JavaScript? The Module Pattern Edition | CSS-Tricks

Chris Coyier lays out the Module Pattern for organizing JavaScript, since the language imposes no structure of its own. He builds a news widget as a single capitalized object with a settings block holding numbers and cached DOM nodes, a shared `s` variable pointing at those settings, a consistent `init` entry point, and a `bindUIActions` function that only wires events to small, named sub-functions. He ties the approach to readability, keeping future code consistent, and testability, and says CodePen has used it from the start. He also shows how modules get concatenated into a global.js (via the Rails asset pipeline, in CodePen's case) and kicked off together, and points to Addy Osmani's free book on JavaScript design patterns for deeper reading.

Permalink

HTML's New Template Tag: standardizing client-side templating - HTML5 Rocks

This is the landing page for web.dev's "Learn" section, a set of free courses on web design and development, each written by an industry expert with help from the Chrome team. It lists nine courses: HTML, CSS, AI for web developers, Performance, Privacy, Images, responsive Design, Forms, and Progressive Web Apps. Modules can be followed in order or picked by topic. It's useful as an index of the series rather than as an argument, and the page itself has no lesson content.

Permalink

Typeplate » A typographic starter kit encouraging great type on the Web

The saved page contains almost no article text. What came through is a site header with a teaser line ("Alpine.js is an alternative to jQuery"), a few truncated blurbs about frontend work, software architecture, and web development goals, and a long run of sponsored casino-partner ads for sites in Portugal, Australia, Japan, and the Czech Republic. There's no actual argument or reporting to recover, so if you wanted the Alpine.js-versus-jQuery piece, it's worth re-saving from the original URL, since this capture only holds the page's navigation and ad clutter.

Permalink

Bootstrap 2.3.1 released · Bootstrap Blog

Announcement from Mark Otto (March 1, 2013) of Bootstrap 2.3.1, a small patch release that fixes lingering JavaScript bugs: a missing event type in the dropdown plugin, delegated data-attrs for popover/tooltip, the carousel not actually pausing when you click cycle, a jshint reference in the makefile, and an error removing a backdrop when none is set. It stresses that Bootstrap 3 is still in development and that 2.3.1 is effectively the end of the 2.x line, with later bugs fixed only in 3.0 or left alone. That makes it a useful marker for what the final 2.x fixes were and for the project's stance on support going into the 3.0 transition.

Permalink

Messenger - Alerts for the 21st Century

This is the documentation for Messenger, a JavaScript library for showing notification messages in a web app. Its distinguishing features are that posted messages can be updated in place, actions and DOM events can be bound to them, and a themeable "tray" container can cap how many appear at once. Most of the page covers the API: `Messenger().post` and its options, `run`/`ajax`/`expectPromise` for wrapping async requests with progress, success, error and retry messages, a Backbone.js sync hook, the CSS classes for theming, and support for multiple trays.

Permalink

Untitled (http://www.cultofmac.com/216792/youre-going-to-want-to-get-these-gorgeous-wallpapers-for-your-apple-devices-gallery/)

A short roundup post pointing to a set of minimalist wallpapers by designer Kyle Gray, collected by Merek Davis and available for download in Apple-friendly resolutions from his site. The writer likes them because they're simple enough to recede behind your icons instead of distracting, and the six named options are Aperture, Graphite, Rock Salt, Elation, Mulberry, and Trinity.

Permalink

DocPad - Streamlined Web Development

นี่คือเนื้อหาโฆษณาโปรโมตเว็บสล็อตออนไลน์ VTH888 ที่เขียนในรูปแบบรีวิว โดยอ้างว่าเป็น "เว็บตรง" ไม่ผ่านเอเย่นต์ จ่ายจริงไม่อั้น ฝากถอนด้วย TrueMoney Wallet ได้ตั้งแต่ 1 บาท และมีโหมดทดลองเล่นฟรี แต่ไม่มีหลักฐานหรือข้อมูลที่ตรวจสอบได้รองรับคำกล่าวอ้างเหล่านี้ ส่วนหลักของบทความคือการแนะนำเกมเด่น 6 เกมจากค่าย PG และ Pragmatic Play เช่น Fortune Rabbit, Big Bass Bonanza และ Legend of Perseus พร้อมระบุค่า RTP ราว 96.7–96.9% และเปรียบเทียบ Mahjong Ways 2 กับ Fortune Tiger 2 ที่จบด้วยการชวนสมัครสมาชิก ถ้าเก็บไว้เพื่อใช้อ้างอิงข้อมูลจริง ควรระวัง เพราะเป็นการตลาดการพนันที่ชูคำว่า "แตกบ่อย" และ "ทำเงิน" โดยไม่พูดถึงความเ

Permalink

Pickadate.js

This is the project page for pickadate.js, a jQuery plugin that adds date and time pickers to text inputs through simple calls like `.pickadate()` and `.pickatime()`. It stresses a small footprint, touch and keyboard support, ARIA/WCAG 2.0 compliance (added in v3.4), translations for over 40 languages, and customization through a rich API. Technical notes include jQuery 1.7+ support, IE8+ compatibility with a legacy.js file, LESS stylesheets, a Grunt build, and a requirement to wrap the input in a `position: relative` div when using the classic theme. It's MIT-licensed and developed openly on GitHub, with contributions and donations invited.

Permalink

Why I loved building Basecamp for iPhone in RubyMotion by Nick of 37signals

A 37signals developer reflects on shipping the Basecamp iPhone app with RubyMotion after earlier failed attempts at mobile development with Eclipse, Corona, and Objective-C/Xcode. He argues that RubyMotion worked because it kept his Ruby, rake-based workflow intact. His practical lessons: build the interface in code with iOS6 Auto Layout's visual format strings instead of Interface Builder, and write in Objective-C naming style rather than mixing it with Ruby idioms. He also recommends dropping in the BubbleWrap gem for HTTP, notifications, and persistence, testing on real devices early, and shipping beta builds through TestFlight with a rake task. He laments that dependency vendoring on iOS is far worse than in the Ruby world, even with CocoaPods, and ends bullish on RubyMotion's future.

Permalink

Quick Tip: Chrome Extensions that make GitHub rock - Brett Terpstra

A roundup of the Chrome extensions that make GitHub more useful for a developer who left Safari over bugs and stayed for the extension ecosystem. The nine picks cover in-page Gist and commit diffs, extra comparison options for tags and branches, rendered HTML previews, Markdown preview in text fields, a drop-down repository tree in the URL bar, and in-repo search. Two others suggest repositories based on stars, and the author flags one of those as slightly obtrusive. It ends by asking readers to share their own extensions and userscripts.

Permalink

iTunes match issues: Apple Support Communities

A troubleshooting guide for iTunes Match hanging at Step 2 or 3, which the writer attributes mainly to mixed audio formats: files that aren't 256 kbps AAC (older pre-2011 m4a files, protected m4p files, MP3s) can stall the matching process instead of being marked "Not eligible." The fix is to find the offending files via Activity Monitor's Open Files and Ports or a smart playlist for bit rate under 256k, convert them, delete the originals from the library, disk, and iCloud, then re-run Match. If Step 3 still sticks, the likely culprit is a blocked upload port, which you can spot in that same trace and fix in your broadband modem's firewall settings.

Permalink

Getting Started with WebRTC - HTML5 Rocks

This is a broad introduction to WebRTC, the browser standard for plugin-free real-time video, audio, and data exchange. It traces the project's origins in Google's acquisition of GIPS and open-sourcing of its codecs, then walks through the three core APIs: MediaStream/getUserMedia for capture, RTCPeerConnection for streaming, and RTCDataChannel for arbitrary peer-to-peer data. The most useful parts are the explanation of signaling (offer/answer via SDP and ICE candidates, with the signaling channel left up to the developer), how STUN and TURN servers handle NAT and firewall traversal, and annotated code for an Alice-and-Bob connection plus the appr.tc demo. It closes with security features (mandatory encryption, browser sandbox, explicit camera permissions), a list of resources, and browser support notes.

Permalink