"programming" entries

Four short links: 2 September 2015

Four short links: 2 September 2015

Hard Problems in Distributed Systems, Engineering Bootcamp, Scripted TV, and C Guidelines

  1. There Are Only Two Hard Problems in Distributed Systems — the best tweet ever. (via Tim Bray)
  2. Building LinkedIn’s New Engineering Bootcamp — transmitting cultural and practical knowledge in a structured format.
  3. Soul-Searching in TV Land Over the Challenges of a New Golden Age (NY Times) — The number of scripted shows produced by networks, cable networks and online services ballooned to 371 last year, according to statistics compiled by FX. Mr. Landgraf believes that figure will pass 400 this year, which would nearly double the 211 shows made in 2009. […] predicted that the number of shows would slowly return to about 325 over the next few years, in large part because scripted television is expensive.
  4. C Programming Substance GuidelinesThis document is mainly about avoiding problems specific to the C programming language.
Comment
Four short links: 1 September 2015

Four short links: 1 September 2015

People Detection, Ratings Patterns, Inspection Bias, and Cloud Filesystem

  1. End-to-End People Detection in Crowded Scenes — research paper and code. When parsing the title, bind “end-to-end” to “scenes” not “people”.
  2. Statistical Patterns in Movie Ratings (PLOSone) — We find that the distribution of votes presents scale-free behavior over several orders of magnitude, with an exponent very close to 3/2, with exponential cutoff. It is remarkable that this pattern emerges independently of movie attributes such as average rating, age and genre, with the exception of a few genres and of high-budget films.
  3. The Inspection Bias is EverywhereIn 1991, Scott Feld presented the “friendship paradox”: the observation that most people have fewer friends than their friends have. He studied real-life friends, but the same effect appears in online networks: if you choose a random Facebook user, and then choose one of their friends at random, the chance is about 80% that the friend has more friends. The friendship paradox is a form of the inspection paradox. When you choose a random user, every user is equally likely. But when you choose one of their friends, you are more likely to choose someone with a lot of friends. Specifically, someone with x friends is overrepresented by a factor of x.
  4. s3qla file system that stores all its data online using storage services like Google Storage, Amazon S3, or OpenStack. S3QL effectively provides a hard disk of dynamic, infinite capacity that can be accessed from any computer with internet access running Linux, FreeBSD or OS-X. (GPLv3)
Comment

Everyone is a beginner at something

Becoming confident with the fundamentals.

lost_lake

Choose your Learning Path. Our new Learning Paths will help you get where you want to go, whether it’s learning a programming language, developing new skills, or getting started with something entirely new.

I’ve noticed a curious thing about the term “beginner.” It’s acquired a sort of stigma — we seem to most often identify ourselves by what we’re an expert in, as if our burgeoning interests/talents have less value. An experienced PHP person who is just starting Python, for example, would rarely describe herself as a “Python Beginner” on a conference badge or biography. There are exceptions, of course, people eager to talk about what they’re learning; but, on the whole, it’s not something we see much.

I work on the Head First content, and first noticed it there. You suggest to a Java developer looking to learn Ruby that she check out our Head First Ruby. “But I know programming,” she’s likely to reply, “I’m not a beginner, I just need to learn Ruby.” People, by and large, buy into the stigma of being a “beginner,” which is, frankly, silly. Everyone is a beginner at something.

Read more…

Comment
Four short links: 25 August 2015

Four short links: 25 August 2015

Microservices Anti-Patterns, Reverse Engineering Course, Graph Language, and Automation Research

  1. Seven Microservices Anti-PatternsOne common mistake people made with SOA was misunderstanding how to achieve the reusability of services. Teams mostly focused on technical cohesion rather than functional regarding reusability. For example, several services functioned as a data access layer (ORM) to expose tables as services; they thought it would be highly reusable. This created an artificial physical layer managed by a horizontal team, which caused delivery dependency. Any service created should be highly autonomous – meaning independent of each other.
  2. CSCI 4974 / 6974 Hardware Reverse Engineering — RPI CS course in reverse engineering.
  3. The Gremlin Graph Traversal Language (Slideshare) — preso on a language for navigating graph data structures, which is part of the Apache TinkerPop (“Open Source Graph Computing”) suite.
  4. Why Are There Still So Many Jobs? The History and Future of Workplace Automation (PDF) — paper about the history of technology and labour. The issue is not that middle-class workers are doomed by automation and technology, but instead that human capital investment must be at the heart of any long-term strategy for producing skills that are complemented by rather than substituted for by technological change. Found via Scott Santens’s comprehensive rebuttal.
Comment
Four short links: 24 August 2015

Four short links: 24 August 2015

Real World Security, Car Hacking, News Designs, and Graphs in Shared Memory

  1. This World of Ours (PDF) — funny and accurate skewering of the modern security researcher. In the real world, threat models are much simpler (see Figure 1). Basically, you’re either dealing with Mossad or not-Mossad. If your adversary is not-Mossad, then you’ll probably be fine if you pick a good password and don’t respond to emails from ChEaPestPAiNPi11s@virus-basket.biz.ru. If your adversary is the Mossad, YOU’RE GONNA DIE AND THERE’S NOTHING THAT YOU CAN DO ABOUT IT. The Mossad is not intimidated by the fact that you employ https://.
  2. Highway to Hack: Why We’re Just at the Beginning of the Auto Hacking Era (Ars Technica) — detailed article covering the state of in-car networks and the security risks therein. (via BoingBoing)
  3. 64 Ways to Think about a News Homepage — design and content ideas.
  4. Ligraa lightweight graph processing framework for shared memory. It is particularly suited for implementing parallel graph traversal algorithms where only a subset of the vertices are processed in an iteration.
Comment
Four short links: 7 August 2015

Four short links: 7 August 2015

Dating Culture, Resilient Go Services, Engineering Managers, and Ads Up

  1. Tinder and Hook-Up Culture (Vanity Fair) — “There have been two major transitions” in heterosexual mating “in the last four million years,” he says. “The first was around 10,000 to 15,000 years ago, in the agricultural revolution, when we became less migratory and more settled,” leading to the establishment of marriage as a cultural contract. “And the second major transition is with the rise of the Internet.”
  2. Building Resilient Services with Go — case study of building a Go app to survive the real world.
  3. 90-Day Plan for New Engineering Managers — so much truth, from empathy to giving up coding.
  4. Networks Increasing Ad StuffingTV audiences (as determined by Nielsen C3 measurements: TV watched both live and three days after the show was first aired on catch-up services) are down 9% year on year, yet ad loads on some networks are up as much as 10% on last year. The dinosaurs are hungry.
Comment: 1
Four short links: 5 August 2015

Four short links: 5 August 2015

Facebook Video, Lost Links, Regulatory Push, and LLVM Teases

  1. Theft, Lies, and Facebook Video (Medium) — inexcusable that Facebook, a company with a market cap of $260 BILLION, launched their video platform with no system to protect independent rights holders. It wouldn’t be surprising if Facebook was working on a solution now, which they can roll out conveniently after having made their initial claims at being the biggest, most important thing in video. In the words of Gillian Welch, “I wanna do right, but not right now.
  2. The Web We Have to SaveNearly every social network now treats a link just the same as it treats any other object — the same as a photo, or a piece of text — instead of seeing it as a way to make that text richer. You’re encouraged to post one single hyperlink and expose it to a quasi-democratic process of liking and plussing and hearting: Adding several links to a piece of text is usually not allowed. Hyperlinks are objectivized, isolated, stripped of their powers.
  3. California Regulator Pushing for All Cars to be Electric (Bloomberg) — Nichols really does intend to force au­tomakers to eventually sell nothing but electrics. In an interview in June at her agency’s heavy-duty-truck laboratory in downtown Los Angeles, it becomes clear that Nichols, at age 70, is pushing regulations today that could by midcentury all but banish the internal combustion engine from California’s famous highways. “If we’re going to get our transportation system off petroleum,” she says, “we’ve got to get people used to a zero-emissions world, not just a little-bit-better version of the world they have now.” How long until the same article is written, but about driverless cars?
  4. LLVM for Grad Students — fast intro to why LLVM is interesting. LLVM is a great compiler, but who cares if you don’t do compilers research? A compiler infrastructure is useful whenever you need to do stuff with programs.
Comment
Four short links: 4 August 2015

Four short links: 4 August 2015

Data-Flow Graphing, Realtime Predictions, Robot Hotel, and Open-Source RE

  1. Data-flow Graphing in Python (Matt Keeter) — not shared because data-flow graphing is sexy new hot topic that’s gonna set the world on fire (though, I bet that’d make Matt’s day), but because there are entire categories of engineering and operations migraines that are caused by not knowing where your data came from or goes to, when, how, and why. Remember Wirth’s “algorithms + data structures = programs”? Data flows seem like a different slice of “programs.” Perhaps “data flow + typos = programs”?
  2. Machine Learning for Sports and Real-time Predictions (Robohub) — podcast interview for your commute. Real time is gold.
  3. Japan’s Robot Hotel is Serious Business (Engadget) — hotel was architected to suit robots: For the porter robots, we designed the hotel to include wide paths.” Two paths slope around the hotel lobby: one inches up to the second floor, while another follows a gentle decline to guide first-floor guests (slowly, but with their baggage) all the way to their room. Makes sense: at Solid, I spoke to a chap working on robots for existing hotels, and there’s an entire engineering challenge in navigating an elevator that you wouldn’t believe.
  4. bokken — GUI to help open source reverse engineering for code.
Comment
Four short links: 3 August 2015

Four short links: 3 August 2015

Engineering Management, Smartphone Holograms, Multi-Protocol Server, and Collaborative CS

  1. A Conversation with Michael LoppMy job is to my get myself out of a job. I’m aggressively pushing things I think I could be really good at and should actually maybe own to someone else who’s gonna get a B at it, but they’re gonna get the opportunity to go do that. […] Delegation is helping someone else to learn. I’m all about the humans. If I don’t have happy, productive, growing engineers, I have exactly no job. That investment in the growth, in the happiness, the engineers being productive, that’s like my primary job.
  2. 3D Hologram Projector for Smartphone (BoingBoing) — is in hardware hack stage now, but OKYOUWIN maybe it’s the future.
  3. serve2dserve2 allows you to serve multiple protocols on a single socket. Example handlers include proxy, HTTP, TLS (through which HTTPS is handled), ECHO and DISCARD. More can easily be added, as long as the protocol sends some data that can be recognized. The proxy handler allows you to redirect the connection to external services, such as OpenSSH or Nginx, in case you don’t want or can’t use a Go implementation.
  4. GitXivIn recent years, a highly interesting pattern has emerged: Computer scientists release new research findings on arXiv and just days later, developers release an open-source implementation on GitHub. This pattern is immensely powerful. One could call it collaborative open computer science (COCS). GitXiv is a space to share collaborative open computer science projects. Countless Github and arXiv links are floating around the Web. It’s hard to keep track of these gems. GitXiv attempts to solve this problem by offering a collaboratively curated feed of projects. Each project is conveniently presented as arXiv + Github + Links + Discussion
Comment
Four short links: 31 July 2015

Four short links: 31 July 2015

Robot Swarms, Google Datacenters, VR Ecosystem, and DeepDream Visualised

  1. Buzz: An Extensible Programming Language for Self-Organizing Heterogeneous Robot Swarms (arXiv) — Swarm-based primitives allow for the dynamic management of robot teams, and for sharing information globally across the swarm. Self-organization stems from the completely decentralized mechanisms upon which the Buzz run-time platform is based. The language can be extended to add new primitives (thus supporting heterogeneous robot swarms), and its run-time platform is designed to be laid on top of other frameworks, such as Robot Operating System.
  2. Jupiter Rising: A Decade of Clos Topologies and Centralized Control in Google’s Datacenter Network (PDF) — Our datacenter networks run at dozens of sites across the planet, scaling in capacity by 100x over 10 years to more than 1Pbps of bisection bandwidth. Wow, their Wi-Fi must be AMAZING!
  3. Nokia’s VR Ambitions Could Restore Its Tech Lustre (Bloomberg) — the VR ecosystem map is super-interesting.
  4. Visualising GoogleNet Classes — fascinating to see squirrel monkeys and basset hounds emerge from nothing. It’s so tempting to say, “this is what the machine sees in its mind when it thinks of basset hounds,” even though Boring Brain says, “that’s bollocks and you know it!”
Comment