Fork Yeah! The Rise and Development of illumos
Bryan Cantrill’s famous rant about oracle.

As you know people, as you learn about things, you realize that these generalizations we have are, virtually to a generalization, false. Well, except for this one, as it turns out. What you think of Oracle, is even truer than you think it is. There has been no entity in human history with less complexity or nuance to it than Oracle. And I gotta say, as someone who has seen that complexity for my entire life, it's very hard to get used to that idea. It's like, 'surely this is more complicated!' but it's like: Wow, this is really simple! This company is very straightforward, in its defense. This company is about one man, his alter-ego, and what he wants to inflict upon humanity -- that's it! ...Ship mediocrity, inflict misery, lie our asses off, screw our customers, and make a whole shitload of money. Yeah... you talk to Oracle, it's like, 'no, we don't fucking make dreams happen -- we make money!' ...You need to think of Larry Ellison the way you think of a lawnmower. You don't anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it'll chop it off, the end. You don't think 'oh, the lawnmower hates me' -- lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower. Don't fall into that trap about Oracle.
BryanCantrill  oracle  opensource  sun  solaris  business  culture  video 
7 hours ago
on terminal control
Detailed explanation of ascii escape codes and controlling text in terminals.
terminal  programming  tutorial  documentation 
16 hours ago
How Elixir’s Ecto differs from Ruby’s ActiveRecord
It’s interesting how much lazy evaluation hurts ActiveRecord. This is another case where “explicit is better than implicit”.

I didn’t know ActiveRecord held onto database connections for so long.

Changesets and validations are where Ecto really shines.
elixir  ecto  ruby  activerecord  database  performance  sql 
20 hours ago
Electrode | Universal React and Node.js Application Platform @WalmartLabs Powered
Interesting project from Walmart. Project template and framework for Node and React apps
javascript  node.js  react  framework 
yesterday
"Rosie Pattern Language: Improving on 50-Year Old Regular Expression Technology" by Jamie Jennings
Intro to Rosie. A new language for matching patterns. It looks way nicer to use than regex.
regex  sysadmin  c  python 
2 days ago
Are athletes really getting faster, better, stronger? | David Epstein
Wow. Athletic performance is driven by economic selection and technology _around_ the sport (like track surfaces and aerodynamic bicycles). Eye opening.
sports  health  ted  video  biology  evolution  technology 
2 days ago
"The Hard Parts of Open Source" by Evan Czaplicki
Great talk. About Freedom, Engagement, and Community. A bit of a book report but he brings it all together nicely and provides sources for his insights. Surprisingly funny in places. Evan is becoming an even better public speaker.

Less importantly, the slides were beautifully designed at the macro and micro level.
opensource  culture  communication  programming  media  psychology  video  strangeloop  elm 
2 days ago
"Shaping our children's education in computing" by Simon Peyton Jones
Great talk about how to integrate computer science into school curriculums. I liked his emphasis on core principles and comparisons to physics and biology.
education  programming  ComputerScience  video  strangeloop 
2 days ago
A familiar HTTP Service Framework — responder 0.0.1 documentation
The primary concept here is to bring the nicities that are brought forth from both Flask and Falcon and unify them into a single framework, along with some new ideas I have. I also wanted to take some of the API primitives that are instilled in the Requests library and put them into a web framework. So, you’ll find a lot of parallels here with Requests.
python  web  framework 
3 days ago
scale.bythebay.io: Rob Norris, Functional Programming with Effects
Overview of the math behind functional programming and category theory. Uses Scala for the examples.
FunctionalProgramming  math  video  scala 
3 days ago
Twitter
Duolingo just tweeted about how we achieved a 50% female ratio of new engineering college graduate hires. We're ver…
from twitter_favs
4 days ago
RailsConf 2017: Keynote by Justin Searls
Title: how to program. The Searls-Briggs Talk

About metacognition and the mechanics of how Justin has improved his practice over time. Good stuff about organizing your code as a tree, making code disposable, and wrapping dependencies.

I originally saw this talk at DeconstructConf, but this version is much more polished.
programming  career  productivity  video  psychology  metacognition  design  patterns  testing 
4 days ago
Twitter
RT : At some point, we are going to have to all recognize that software is built by people and is fallible, and that the…
from twitter
5 days ago
Leaked Transcript of Private Meeting Contradicts Google’s Official Story on China
At what point does Google pivot to just being evil liars? Don’t be evil, indeed. Their willingness to lie on the record is staggering.
google  business  china  privacy  censorship 
5 days ago
[unknown title]
Some days the hardest part of my job is walking emails from "Listen here, you ignorant fuck" to so…
from twitter_favs
5 days ago
Twitter
The original sketches for what would ultimately become one of the greatest logos in sports history.

For the full…
from twitter_favs
5 days ago
Google Exposed Data of Half a Million Users Until March but Didn’t Disclose It Because They Feared ‘Regulatory Interest’ — Pixel Envy
Companies are many things. Brave isn’t one of them. This also explains why Google’s CEO didn’t testify before congress with the rest of the oligarchs during the Cambridge Analytica scandal.

Google exposed the private data of hundreds of thousands of users of the Google+ social network and then opted not to disclose the issue this past spring, in part because of fears that doing so would draw regulatory scrutiny and cause reputational damage, according to people briefed on the incident and documents reviewed by The Wall Street Journal.
google  business  privacy  regulation  monopoly 
6 days ago
A little tagging automation
Nice tutorial for using macOS file system tags and smart folders.
macos  filesystem  productivity  tutorial  tags  python  AppleScript 
6 days ago
Twitter
RT : Better documentation helps us all! We're delighted to be sponsors of the upcoming Melbourne conferenc…
from twitter
6 days ago
Twitter
This is what I was talking about in my talk: You don't need VC. You don't need Silicon Valley. You…
from twitter_favs
6 days ago
The Cubs Aren’t a Dynasty and That’s Okay
Some perspective on the Cubs current performance. The perfect antidote to the inane, predictable dummies who want “change”, but aren’t sure what. Like firing Joe Maddon.

It’s okay to be disappointed about the way the season ended this year. It’s okay to be upset about falling short a year ago. That’s what fandom is. Rooting for the victory necessarily translates to some sadness in defeat. What it doesn’t mean is that the Cubs have failed these last two years, that the club isn’t on the right track, or that wholesale changes are necessary.
cubs  sports  baseball 
7 days ago
Exceptional: Freedom from {:error}s – The Monad Nomad – Medium
Another take on error handling using monads in Elixir. This time using maps instead of tagged tulples. It embraces the context that exceptions provide, yet is still compatible with tagged tuples.
elixir  programming  monad  tutorial 
8 days ago
SMS Text Message Login Codes Autofill in iOS 12 and Mojave, But Remain Insecure - TidBITS
Good layman explanation of sim-splitting attack.

Sites originally chose to use SMS-based code validation for 2FA to lower the barriers to 2FA—more people understand SMS than authentication apps. And, regardless of the vulnerabilities of SMS, it’s far better to use a second factor than not, because it deters wholesale attacks against accounts. Even if an attacker gained access to all the decrypted passwords for a service, every account with 2FA enabled would still be able to resist unauthorized logins. But SMS-based 2FA is vulnerable to targeted attacks and identity theft.
security  osx  ios  2fa  authentication  mobile 
8 days ago
Twitter
It’s disconcerting how many seemingly smart people misunderstand the difference between knowledge, experience, and…
from twitter_favs
9 days ago
Errors are not exceptional
A case for using Error types in Elixir. Uses the OK module as an example.
elixir  programming  FunctionalProgramming  monads 
10 days ago
We’re (still) not being alarmist enough about climate change
New Yorkers are coming to grips with how climate change will affect them.

Living in New York City, the one fantasy sport that everybody plays is real estate; we all like to imagine what it would be like to be able to afford to buy a place. And sometime over the last year or two, I realized that, even if I won the lottery and could afford to buy a home in my preferred neighborhood (the Lower East Side), I probably wouldn’t get one in most of the places I'd want to live. Because I think over the 30-year term of that mortgage, our neighborhood will be significantly destabilized by climate change.

It was a bit of a shock for me to come to this realization, because the logic is extremely straightforward, but I hadn’t really considered the implications at that visceral level.

A sober view, but he’s still optimistic.

This year, it's wildfires and hurricanes and typhoons and floods and every single one is a record breaker — until next year. I don't know how to say it to make people understand, this isn't about "this year". This is the rest of our lives. I don't even think it makes sense to talk about preventing climate disruption now. The question is how we move on to preparing for it, for building resiliency into all the institutions and infrastructures that will need to evolve, and how we care for those who are most vulnerable as we keep moving down the path we've chosen.
climate  nyc  policy  environment 
10 days ago
Short-lived Branches – Corey Haines
I've worked in this style with Corey. It's eye-opening and I enjoyed it.
git  scm  vcs  build  programming  productivity 
10 days ago
Stacked Diffs Versus Pull Requests | Jackson Gabbard's Blog
Phabricator used the Stack Diff approach, compared to GitHub's Pull Requests. This is pretty compatible to Trunk Based Development.

On creating multiple branches off of master for a change with dependent pieces broken up into their own PR's.

For Case #1, what happens when someone requests changes to V? Simple, right? You make those changes in branch V and push them, updating your PR. Then you switch to W and rebase. Then you switch to X and rebase. Then you switch to Y and rebase. And when you’re done, you go to the orthopedist to get a walker because you’re literally elderly now. You’ve wasted your best years rebasing branches, but hey — the commit history is clean AF.

Thoughtless Commits Are Bad Commits
Every single commit that hits a codebase means more shit to trawl through trying to fix a production bug while your system is melting. Every merge commit. Every junk mid-PR commit that still doesn’t build but kinda gets your change closer to working. Every time you smashed two or three extra things into the PR because it was too much bother to create a separate PR. These things add up. These things make a codebase harder to wrangle, month after month, engineer after engineer.

On thinking of changes as a queue...
The fundamental shift that the Stacked Diff workflow enables is moving from the idea that every change is a branch of off master and to a world where your work is actually a queue of changes ahead of master. If you’re a productive engineer, you’ll pretty much always have five or more changes out for review. They’ll get reviewed in some order and commited in some order. With Pull Requests, the work queue is hidden behind the cruft of juggling branches and trying to treat each change like a clean room separated from your other work. With Stacked Diffs, the queue is obvious — it’s a stack of commits ahead of master. You put new work on the end of the queue. Work that is ready to land gets bumped to the front of the queue and landed onto master. It’s a much, much simpler mental model than a tangle of dependent branches and much more flexible than moving every change into the clean room of a new branch.
git  codereview  vcs  phabricator  dvcs  scm 
11 days ago
The Big Hack: How China Used a Tiny Chip to Infiltrate U.S. Companies - Bloomberg

During the ensuing top-secret probe, which remains open more than three years later, investigators determined that the chips allowed the attackers to create a stealth doorway into any network that included the altered machines. Multiple people familiar with the matter say investigators found that the chips had been inserted at factories run by manufacturing subcontractors in China.
This attack was something graver than the software-based incidents the world has grown accustomed to seeing. Hardware hacks are more difficult to pull off and potentially more devastating, promising the kind of long-term, stealth access that spy agencies are willing to invest millions of dollars and many years to get.
security  china  amazon  hardware  hacking  espionage 
11 days ago
Long-Lived macOS

The Mac has a vast array of hidden menus, useful keyboard shortcuts, and forgotten features; there are so many it would be absurd to try to cover them all in this piece. The reason these are forgotten, hidden, and yet still useful is simple: there are so many things that it’s easy to forget all but the most basic ones. If it’s not widely used, a feature can quickly be forgotten — “fossilize,” as it were.
macos  history  software  os  evolution 
11 days ago
Software Design Decoded | The MIT Press
What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software.
book  software  design  architecture  programming  patterns 
12 days ago
SRE: The Biggest Lie Since Kanban

SRE (and Kanban) aren’t bad, but they are easy to “pretend to do” in some minimal, cargo cult-ey way that gets you little of the benefits. And if you think spinning up an ops team and calling it SRE is “an implementation of DevOps” you’ve swallowed the worst poison pill the DevOps talk circuit can deal to you.
devops  sre  sysadmin  kanban  agile 
12 days ago
Twitter
I still really like Sequel. The docs just the things that it can do. And it does the things that I want it to do. A…
from twitter_favs
12 days ago
Twitter
"SRE (and Kanban) aren’t bad, but they are easy to “pretend to do” in some minimal, cargo cult-ey way that gets you…
from twitter_favs
12 days ago
When to use Elixir language?
Elixir’s ecosystem is growing. There are a lot of things it’s becoming good at.
elixir  programming 
14 days ago
DBMS Musings: NewSQL database systems are failing to guarantee consistency, and I blame Spanner
I hadn’t heard about Calvin and FaunaDB before.

There are other differences between Calvin-style systems and Spanner-style systems that I’ve talked about in the past. In this post we focused on perhaps the most consequential difference: global consensus vs. partitioned consensus. As with any architectural decision, there are tradeoffs between these two options. For the vast majority of applications, exceeding 500,000 transactions a second is beyond their wildest dreams. If so, then the decision is clear. Global consensus is probably the better choice.
database  distributed  cap  research  concurrency 
14 days ago
Solid
Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles. Solid is modular and extensible and it relies as much as possible on existing W3C standards and protocols.
web  decentralized  distributed  data  privacy 
14 days ago
Twitter
Increasingly I believe that "career goals" are for people in their 20s and early 30s. These days every time I get a…
from twitter_favs
14 days ago
Solving My Email Problem
Cool idea and implementation. Rather than implement a blacklist, use a whitelist, and a kind of gray list using a quarantine.
email  programming  productivity  spam 
15 days ago
Twitter
THREAD: You may be wondering why only people on the left are worked up about Kavanaugh’s obvious lies. I mean, do p…
from twitter_favs
15 days ago
Twitter
A treasure trove of advice on how to evolve a large system. In this case how to upgrade a 10 year old app to a new…
from twitter
16 days ago
Upgrading GitHub from Rails 3.2 to 5.2
File under: software evolution. The incremental, gradual approach is the winning strategy.

This post has some good advice on how to approach work like this.

Each time we got a minor version of Rails green we’d make the CI job required for all pushes to the GitHub application and start work on the next version. While we worked on Rails 4.1 a CI job would run on every push for 3.2 and 4.0. When 4.1 was green we’d swap out 4.1 for 4.0 and get to work on 4.2. This allowed us to prevent regressions once a version of Rails was green, and time for engineers to get used to writing code that worked in multiple versions of Rails.

Why did it take over a year to upgrade?

Another reason is the GitHub codebase is 10 years old. Over the years technical debt builds and there’s bound to be gremlins lurking in the codebase. If you’re on an old version of Rails, your engineers will need to add more monkey patches or implement features that exist upstream.

How should you resource a big change like this?

Lastly, when we started it wasn’t clear what resources were needed to support the upgrade and since most of us had never done a Rails upgrade before, we were learning as we went. The project originally began with 1 full-time engineer and a small army of volunteers. We grew that team to 4 full-time engineers plus the volunteers. Each version bump meant we learned more and the next version went even faster.
github  software  evolution  programming 
16 days ago
Twitter
There is no limit to how dirty, scammy and criminal is crypto-land. The Wolf of Wall Street is a saint compared to…
from twitter_favs
16 days ago
Twitter
Every six months, culinary engineers figure out how to double the amount of cabbage we’re able to mix with salad dr…
from twitter_favs
17 days ago
Marzipan - Benjamin Mayo

Functionally, they are a win. These apps make the Mac do things it couldn’t before. That shouldn’t excuse them from blame, though. These are mediocre, bordering on bad, experiences. It’s not a good poster child for the future of the Mac. The Mac — heck Apple as a whole — is about delighting users with good-to-great experiences. What drew me to Apple was never how many bullet points they checked off the feature list.
macos  marzipan  apple  software  quality 
17 days ago
Twitter
Merrick Garland waited 293 days for a hearing and didn’t ever get one, not for a credible allegation of sexual assa…
from twitter_favs
17 days ago
Twitter
Has anyone come up with a pro-Bitcoin argument that’s not founded on the world collapsing, Hitler coming back from…
from twitter_favs
18 days ago
taiansu/pipe_to: The enhanced elixir pipe operator which can specify the target position
The enhanced pipe operator which can specify the target position. This macro can provide a nice workaround to the lack of a thread-last operator in Elixir.
elixir  FunctionalProgramming 
18 days ago
Proposal: Pipe End operator |>> - Discussions - Elixir Forum
Elixir, like all small language communities, are complete dicks about good ideas from somewhere else. Like introducing a pipe-last operator similar to Clojure's tread-last macro.
It gets suggested every 6 months or so. Unless this brings something new to those discussions I’m probably going to suggest we lock the thread so we can avoid just having the same conversation again.
elixir  programming  FunctionalProgramming 
18 days ago
Apple News is giving the media everything it wants—except money.
Apple News is becoming more popular.

Launched to rather tepid fanfare three years ago, Apple’s mobile news app has recently surged in popularity and influence, if publishers’ traffic figures are any indication. Sources at several news outlets say they’ve seen their audience on Apple News multiply in 2018 alone. Some now say it has become one of their top traffic sources, alongside Facebook and Google. At Slate, which disclosed its data for this story, page views on Apple News have roughly tripled since September 2017, and the app recently surpassed Facebook as a driver of readership.

But right now, the publishers aren’t making a share of revenue for the increased readership.

An audience development director at another midsize publication agreed with Schieffer’s diagnosis: “It’s hard to monetize in any way.” Apple did pay BuzzFeed to premiere three documentary videos on Apple News before other platforms, but such arrangements are not the norm at this point. The norm is that Apple—the world’s most valuable company—is getting news stories for free from publishers, many of which are struggling to make ends meet, and giving them little to no money in return.

Some inside baseball on how Apples human curation works. Fascinating.

How Apple News decides what stories to feature in each user’s app is a bit murky. Several sources confirmed to Slate a February report from the Information that Apple has set up Slack channels in which editors at major publications can pitch stories for it to feature. BBC News has one, as does Slate. Apple News also sometimes rewrites headlines on the articles it picks for its featured sections, and uses its Slack channels to make sure those changes are accurate.
apple  journalism  business  advertising  publishing 
18 days ago
Exclusive: WhatsApp Cofounder Brian Acton Gives The Inside Story On #DeleteFacebook And Why He Left $850 Million Behind

It’s also a story any idealistic entrepreneur can identify with: What happens when you build something incredible and then sell it to someone with far different plans for your baby? “At the end of the day, I sold my company,” Acton says. “I sold my users’ privacy to a larger benefit. I made a choice and a compromise. And I live with that every day.”
facebook  whatsapp  business  privacy  advertising  entrepreneurship  startups 
18 days ago
Twitter
RT : Anyone looking to make changes to how online platforms police speech should learn lessons from the failures of usin…
from twitter
18 days ago
nccgroup/sobelow: Security-focused static analysis for the Phoenix Framework
Sobelow is a security-focused static analysis tool for the Phoenix framework. For security researchers, it is a useful tool for getting a quick view of points-of-interest. For project maintainers, it can be used to prevent the introduction of a number of common vulnerabilities.
security  elixir  phoenix 
19 days ago
A quick look at UIKit on macOS · kirbblog
An early investigation into how Marzipan works. Really good investigative work.
macos  ios  marzipan  apple  os  virtualization 
19 days ago
Rockford Lhotka - Blockchain is today what XML was in 1998
It seems to me that blockchain today is where XML was at the beginning. A low level building block on which people are constructing massive hopes and dreams, mentally bypassing the massive amounts of work necessary to get from there to the goals.

I think blockchain is in the same position today. It is a distributed, append-only, reliable database. It doesn't define what goes in the database, just that whatever you put in there can't be altered or removed. So in that regard it is a lot like XML, which defined an encoding structure for data, but didn't define any semantics around that data.
blockchain  history  xml 
19 days ago
Twitter
"For the entrepreneur, a VC path sacrifices ownership, control, and optionality for speed, scale, and expertise. Yo…
from twitter_favs
20 days ago
Twitter
Producer: Pitch me.
Me: It's an ensemble sitcom about a lovable, goofball DevOps team that works for a startup in…
from twitter_favs
20 days ago
Bryan Cantrill: The Summer of RUST - YouTube
Bryan Cantrill on his history as a systems programmer, and why he’s learning rust.
BryanCantrill  rust  programming  history  os 
22 days ago
The Book of Graham
Hilarious. A satire on Paul Graham and YC.

“Paul Graham says prestige is for suckers,” he emailed back within 2 minutes. “Paul Graham says I should follow my passion.”

Congratulations, Paul.

The legacy infrastructure to snatch young talent was built on the basic human desire of greed. But you, you leverage a much deeper insight. In constructing your 2%-10% value capture contraption, you’ve utilized something that didn’t even cross our minds in banking. You’re able to drive people to risk their lives and work long hours on your behalf with no Seamless account, no black car, all under the guise that it’s their idea. And to achieve this, you play upon a much more powerful human emotion, one that every successful campaign to delude America’s youth and lasting institution throughout history has had at its core:

Hope.
humor  business  satire  finance  ycombinator  PaulGraham  vc 
22 days ago
The Little Typer | The MIT Press

An introduction to dependent types, demonstrating the most beautiful aspects, one step at a time.
books  FunctionalProgramming  math  programming  tutorial 
22 days ago
Bálint's extended musings | Chrome is a Google Service that happens to include a Browser Engine

So what changed with Chrome 69? From that version, any time someone using Chrome logs into a Google service or site, they are also logged into Chrome-as-a-browser with that user account. Any time someone logs out of a Google service, they are also logged out of the browser. Before Chrome 69, Chrome users could decline to be logged into Chrome entirely, skipping the use of Sync and other features that are tied to the login and they could use Chrome in a logged-out state while still making use of GMail for example.

Just to spell it out: this means Google logins for Chrome are now de-facto mandatory if you ever login to a Google site.
google  monopoly  browser  privacy 
22 days ago
Twitter
ask for specific feedback
from twitter_favs
23 days ago
Twitter
Re: I got laid off at Telltale

None of my sleepless nights or long hours on weekends trying to ship a game on time…
from twitter_favs
23 days ago
Pulumi. Cloud Native Infrastructure as Code
Deliver Cloud Native Infrastructure as Code on any cloud with real programming languages and a consistent programming model.

A real programming language? Instead of programming in a markup language like Terraform? Color me interested.
cloud  deployment  configurationmanagement  programming  language 
23 days ago
GitHub - cfenollosa/os-tutorial: How to create an OS from scratch

Inspired by this document and the OSDev wiki, I'll try to make short step-by-step READMEs and code samples for anybody to follow. Honestly, this tutorial is basically the first document but split into smaller pieces and without the theory.

os  programming  tutorial  kernel 
24 days ago
Twitter
Kareem and Wilt. This photo is damn near perfect. Skill, athleticism, finesse. Maybe my favorite hoops action shot.
from twitter_favs
24 days ago
« earlier      
advertising aggregator agile algorithms amazon android ansible apache api apple architecture audio authentication aws backup banking bash blog blogging book books browser build business c c++ career cheatsheet chef chicago climate clojure cloud communication compiler computerscience concurrency conference configuration configurationmanagement continuousintegration cpu cryptography csharp css culture data database debian debugging deployment design development devops distributed django dns docker documentation dvcs economics editor education emacs email encryption energy entrepreneurship environment erlang extension facebook filesystem finance financialcrisis2008 firefox food framework freebsd functionalprogramming git github golang google government graphics gtd hardware health hiring history hosting html http humor ide internet interview investing ios iphone java javascript journalism kernel keyboard language learning legal linux lisp logging mac machinelearning management marketing math media mercurial microsoft mobile monitoring monopoly movies mozilla music nagios network networking nsa objective-c oop opensource os osx packaging password patterns performance perl plugin policy politics privacy productivity programming psychology publishing python quality rails reference regulation releasemanagement research rss ruby scalability science scm search security shell shopping social software solaris space sports ssg ssh ssl startup startups staticanalysis statistics storage subversion surveillance swift sysadmin tdd tea technology television testing trading travel tutorial twitter ubuntu unix video vim virtualization visualization web webdesign webdev webmaster windows work writing xkcd xml

Copy this bookmark:



description:


tags: