ENTRIES TAGGED "programming"
Flexible Layouts, Web Components, Distributed SQL Database, and Reverse-Engineering Dropbox Client
- intention.js — manipulates the DOM via HTML attributes. The methods for manipulation are placed with the elements themselves, so flexible layouts don’t seem so abstract and messy.
- F1: A Distributed SQL Database That Scales — a distributed relational database system built at Google to support the AdWords business. F1 is a hybrid database that combines high availability, the scalability of NoSQL systems like Bigtable, and the consistency and usability of traditional SQL databases. F1 is built on Spanner, which provides synchronous cross-datacenter replication and strong consistency. Synchronous replication implies higher commit latency, but we mitigate that latency by using a hierarchical schema model with structured data types and through smart application design. F1 also includes a fully functional distributed SQL query engine and automatic change tracking and publishing.
- Looking Inside The (Drop)Box (PDF) — This paper presents new and generic techniques, to reverse engineer frozen Python applications, which are not limited to just the Dropbox world. We describe a method to bypass Dropbox’s two factor authentication and hijack Dropbox accounts. Additionally, generic techniques to intercept SSL data using code injection techniques and monkey patching are presented. (via Tech Republic)
Semi-Structured Text, Bitcoin Built On, Cryptic C++, Kickstarter Wins
- textfsm — Python module which implements a template based state machine for parsing semi-formatted text. Originally developed to allow programmatic access to information returned from the command line interface (CLI) of networking devices. TextFSM was developed internally at Google and released under the Apache 2.0 licence for the benefit of the wider community.
- The Money is in the Bitcoin Protocol (Vikram Kumar) — some of the basics in this post as well as how people are thinking about using the Bitcoin protocol to do some very innovative things. MUST. READ.
- Parsing C++ is Literally Undecidable — any system with enough moving parts will generate eddies of chaotic behaviour, where the interactions between the components are unpredictable. (via Pete Warden)
- Kickstarter Raises 6x Indiegogo Money (Medium) — a reminder of the importance of network effects. Crowdfunding is the online auction side of the 2010s.
Web Broken, Android Ads, Password Cracking, and Adobe Brackets
- Bomb in the Garden (Matthew Butterick) — design excellence is inhibited by two structural flaws in the web. First flaw: the web is good at making information free, but terrible at making it expensive. So the web has had to rely largely on an advertising economy, which is weakening under the strain. Second flaw: the process of adopting and enforcing web standards, as led by the W3C, is hopelessly broken. (via Alex Dong)
- Google’s New Play Store Policies on Ads (The Next Web) — the walls of civilisation holding back the hordes of assclowns. Imagine the behaviour responsible for each of these restrictions.
- Inside Password Cracking (Wired) — how pros go about cracking your password once they have the encrypted hash. (And gosh, how those “but I used numbers and symbols!” passwords fall)
- Brackets (Github) — open source web code editor by Adobe.
Cryptanalysis Tools, Renaissance Hackers, MakerCamp Review, and Visual Regressions
- bletchley (Google Code) — Bletchley is currently in the early stages of development and consists of tools which provide: Automated token encoding detection (36 encoding variants); Passive ciphertext block length and repetition analysis; Script generator for efficient automation of HTTP requests; A flexible, multithreaded padding oracle attack library with CBC-R support.
- Hackers of the Renaissance — Four centuries ago, information was as tightly guarded by intellectuals and their wealthy patrons as it is today. But a few episodes around 1600 confirm that the Hacker Ethic and its attendant emphasis on open-source information and a “hands-on imperative” was around long before computers hit the scene. (via BoingBoing)
- Maker Camp 2013: A Look Back (YouTube) — This summer, over 1 million campers made 30 cool projects, took 6 epic field trips, and met a bunch of awesome makers.
- huxley (Github) — Watches you browse, takes screenshots, tells you when they change. Huxley is a test-like system for catching visual regressions in Web applications. (via Alex Dong)
Approximate Queries, Spreadsheet as Database, China Robot Plans, and Open Source Google App Engine
- blinkdb — The current version of BlinkDB supports a slightly constrained set of SQL-style declarative queries and provides approximate results for standard SQL aggregate queries, specifically queries involving COUNT, AVG, SUM and PERCENTILE and is being extended to support any User-Defined Functions (UDFs). Queries involving these operations can be annotated with either an error bound, or a time constraint, based on which the system selects an appropriate sample to operate on.
- China Plans to Become a Leader in Robotics (Quartz) — The ODCCC too funds high risk research initiatives through the Thousand Talent Project (TTP), a three-year term project with possible extension. The goal of the TTP is to recruit thousands of foreign researchers with strong expertise in hardware and software to help develop innovation in China. There are already more than 100 foreign researchers working in China since 2008, the year TTP started.
- AppScale (GitHub) — open source implementation of Google App Engine.
Robo Regex, Crappy Code, HTML5 Parsing, and Play v App Numbers
- frak — transforms collections of strings into regular expressions for matching those strings. The primary goal of this library is to generate regular expressions from a known set of inputs which avoid backtracking as much as possible.
- The Boolean Trap — crappy APIs where true/false don’t mean what they seem. None of this is new, but every generation has to learn it anew. (via Pete Warden)
- Gumbo — open source pure C HTML5 parser.
- All Those People With Cheap Android Phones Have Started Buying Apps (Quartz) — revenue generated by the Google Play Store, from which many Android users get their apps, has grown 67% over the past half-year. By contrast, Apple’s App Store revenue grew 15%, according to Distimo estimates, which cover the top 18 countries. That sounds less impressive if you consider that the App Store brought in twice as much revenue in absolute terms. But the numbers are shifting fast. In February, the App Store was generating three times as much revenue, and last November it out-earned Google Play by a factor of four. Google is gaining.
Retro Hackery, Etsy Ops, Distributed Identity, and lolcoders
- How Things Work: Summer Games Edition — admire the real craftsmanship in those early games. This has a great description of using raster interrupts to extend the number of sprites, and how and why double-buffering was expensive in terms of memory.
- IAMA: Etsy Ops Team (Reddit) — the Etsy ops team does an IAMA on Reddit. Everything from uptime to this sage advice about fluid data: A nice 18 year old Glenfiddich scales extremely well, especially if used in an active active configuration with a glass in each hand. The part of Scotland where Glenfiddich is located also benefits from near-permanent exposure to the Cloud (several clouds in fact). (via Nelson Minar)
- Who Learns What When You Log Into Facebook (Tim Bray) — nice breakdown of who learns what and how, part of Tim’s work raising the qualify of conversation about online federated identity.
- lolcommits — takes a photo of the programmer on each git commit. (via Nelson Minar)
Startups Class, Container Deployment, Cryptopocalypse, and Program Design
- EP245 Downloads — class materials from the Udacity “How to Build a Startup” course.
- scrz.io — easy container deployment.
- The Factoring Dead: Preparing for the Cryptopocalypse — how RSA and Diffie-Helman crypto might be useless in the next few years.
- How to Design Programs — 2ed text is a work-in-progress.
Open Hardware Designs, Kickstarting SDR, Go Best Practices, and US Code
- Tindie Launches Open Designs and Kickbacks (Tindie) — businesses can manufacture the open design as is, or create products derived from it. Those sellers can then kickback a portion of their sales back to the designer. Tindie will handle the disbursement of funds so it’s absolutely painless. For designers, there are no fees, no hosting costs, just a simple way to reap the benefits of their hard work.
- HackRF (Kickstarter) — an open source software-defined-radio platform to let you transmit or receive any radio signal from 30 MHz to 6000 MHz on USB power.
- Twelve Best Go Practices — to help you get the mindset of Go.
- US Code for Download — in XML and other formats. Waaaay after public resource showed them what needed to be done. First slow step of many fast ones, I hope.
Mobile Image Cache, Google on Net Neutrality, Future of Programming, and PSD Files in Ruby
- How to Easily Resize and Cache Images for the Mobile Web (Pete Warden) — I set up a server running the excellent ImageProxy open-source project, and then I placed a Cloudfront CDN in front of it to cache the results. (a how-to covering the tricksy bits)
- Google’s Position on Net Neutrality Changes? (Wired) — At issue is Google Fiber’s Terms of Service, which contains a broad prohibition against customers attaching “servers” to its ultrafast 1 Gbps network in Kansas City. Google wants to ban the use of servers because it plans to offer a business class offering in the future. [...] In its response [to a complaint], Google defended its sweeping ban by citing the very ISPs it opposed through the years-long fight for rules that require broadband providers to treat all packets equally.
- The Future of Programming (Bret Victor) — gorgeous slides, fascinating talk, and this advice from Alan Kay: I think the trick with knowledge is to “acquire it, and forget all except the perfume” — because it is noisy and sometimes drowns out one’s own “brain voices”. The perfume part is important because it will help find the knowledge again to help get to the destinations the inner urges pick.
- psd.rb — Ruby code for reading PSD files (MIT licensed).