Skip to content

Instantly share code, notes, and snippets.

@0xadada
Last active November 5, 2020 21:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0xadada/f29a1a52ac28421fb4abd2d792ed1b69 to your computer and use it in GitHub Desktop.
Save 0xadada/f29a1a52ac28421fb4abd2d792ed1b69 to your computer and use it in GitHub Desktop.
every sentence i've published
Before Trump takes office, I want to create a picture of the high-water mark, something I can point to and say “That was how it was” without the fog of time, or the distortions of propaganda and ideology.
I was inspired by Sarah Kendzior: Fellow Americans, I have a favor to ask you.
Today is November 18, 2016.
I want you to write about who you are, what you have experienced, and what you have endured.
Write down what you value; what standards you hold for yourself and for others.
Write about your dreams for the future and your hopes for your children.
Write about the struggle of your ancestors and how the hardship they overcame shaped the person you are today.
Write your biography, write down your memories.
Because if you do not do it now, you may forget.
Write a list of things you would never do.
Because it is possible that in the next year, you will do them.
Write a list of things you would never believe.
Because it is possible that in the next year, you will either believe them or be forced to say you believe them.
Sarah Kendzior[1] The Spectacle of 2016 The 2016 election was a farce and a tipping point where politics have finally become an extension of what Guy Debord called “The Spectacle”[2].
Both “viable” candidates offered the same neoliberal flavor of poison.
It was a false choice between “Coke vs Pepsi.” Clinton campaigned on a platform powered by a misplaced faith[3] in Big Data[4].
She spoke in a language of clinical rhetoric to nobody except Wall Street.
She was a status quo candidate that lacked vision, offering nothing except a hedge against the fascism of Trump.
Her speeches were empty, dispassionate and simply disengaged from reality.
Her campaign and the DNC were corrupt from the start, and they didn’t try to hide it.
In my view, Trump is an angsty teenager who uses knee-jerk reactions and emotion to speak to those disgusted, disenfranchised, and ignored by the Washington Consensus.
The Republican party nearly destroyed itself by failing to field a status quo candidate from their own ranks.
This opened a gap which Trump was able to fill by speaking directly to the middle class fear of sliding into the lower classes.
This fear has been stoked by mainstream media after the economic crisis that started in 2008 and has continued up to today.
The candidates lie, and we know they’re lying, and they know we know they’re lying.
It doesn’t matter because there is no longer an alternative vision for the future and there is no longer any accountability for those in power.
If one thing is clear from this election, it is the contradictions inherent in the policies that Trump wishes to enact, as well as the contradictions inherent in Neoliberal Capitalism: - Trump believes that government regulation is preventing economic growth in the US and wishes to deregulate.
Yet regulation is the people’s best means to prevent corporate abuses of power: It can be used to prevent job flight abroad, as well as prevent tax-shelters, and incentivize hiring and manufacturing at home.
- Trump says he is against war abroad, and yet wants to deploy more troops to Iraq and Afghanistan.
- An inability to account for economic contradictions such as “overproduction relative to demand”, with unemployment due to automation and a shrinking of discretionary spending in the middle class.
- Military contradictions including rising tensions between the US, NATO, and its military allies, as shown with the recent spying scandals revealed by Edward Snowden; along with the increasing economic unsustainability of war.
- Cultural contradictions including tensions between U.S.A.
Judeo-Christianity, Islam, and other minorities as we see a rising trend of anti-Muslim sentiment growing in the “Alt-Right”.
- Social contradictions encompassing the increasing gulf between the so-called ‘American Dream’, the belief that everyone can prosper in America through hard work, and the reality of American life (the fact that more and more people can’t).
It seems Trump could actually be a less “hawkish” president than Clinton (who just wants to go to more wars to fill the coffers of companies involved with the military industrial complex).
Trump instead seems to want to “do business” with Russia and China.
The fear I have for Trump is not the “Hawkish Empire” that Hillary Clinton would’ve brought with her, but instead a form of “Corporate Fascism” where he pours fuel on the fire of trans-national capitalism, while funding the NSA/FBI/CIA to go after those who dissent against a corporate-sponsored deep-state.
In such a Intellio fascist nightmare, the U.S.A.
uses it military might to act as the private security arm of Boeing, Microsoft, Google, Facebook, Chase & JP Morgan.
We will see a deeper criminalization of copyright infringement, boycotting, and more forced-purchase agreements like the current “Mandatory Health Insurance” programs that force taxpayers to use their income to buy big-corporate services.
At the same time, we will see a gutting of “commonwealth” programs like the ACA, and Planned Parenthood.
These programs will not be abolished, but will instead be privatized much in the same way vast portions of the Russian national state was privatized after 1989.
In its wake we will see the rise of a new corporate oligarchy.
This election I made a conscious decision not to debate my coworkers, friends and family over the candidates or “the issues”.
The 2016 campaign pitted two candidates against each other in a way that drastically simplified and framed discourse in moral absolutes.
These absolutes were curated and made digestible for mainstream media and social media.
Only the ignorant deal in moal absolutes.
Debate isn’t debate when “the issues” are carefully curated to frame the dialog as a decision between choosing evils when they’re both evil.
Taking sides can only end in animosity towards each other, and creates wedges in the very communities we need to be building for when the time comes to fight against corporate-fascism.
Most importantly, we lose sight of the bigger picture when the majority is split across artificially imposed lines.
Now is the time we should be gathering forces in our local communities with the friends, coworkers and families that actually impact our daily lives.
Think global; act local is a cliche, but it works, and it’s our best defense against the shitstorm to come.
At Present I can freely drive from home to any state in the US, without interference from the police or border patrol.
Border patrol thinks they can have their way with folks along the border, but it’s just a hassle.
TSA wastes time with security theater at airports, but I can travel to any country without problem.
Be polite, say as little as possible, and the headache goes away.
When planes fly overhead, I sometimes look to the sky and wonder where those travellers are going.
I don’t worry about drone strikes at home.
When I hear police sirens, I typically don’t even notice, its probably a traffic infraction.
Don’t talk to the police, but be polite and the headache (usually) goes away.
I don’t believe that immigrants are rapists, killers and drug dealers.
I believe immigrants today are no different than the immigrants that built this country; they’re just people trying to take the opportunity to improve their lives.
I don’t believe that terrorists want to fight us because they “hate our freedoms” but instead they want to fight to protect their own way of life.
I believe terrorism is caused by a reaction to U.S.
policies in the middle east funding the (primarily) Saudi Arabian royal family.
The royal family receives military equipment to oppress its own people and extract local natural resources (oil) at the expense of its own people.
The royal family also sends money to the Salafi movement, an ultra-conservative regressive form of Islam that is destabilizing the middle east and is the root of Al-Queda, ISIL and the current war in Syria.
In exchange for a market for Saudi oil and military supplies, the U.S.
indirectly empowers the wider Salafi movement to fight against the West while companies like Boeing, Lockheed Martin, Pratt & Whitney, KBR, General Electric, Honeywell, Raytheon, General Dynamics, Northrop Grumann profit from demand generated by continual wars.
I refuse to succumb to divide and conquer tactics; when the oppressor uses arbitrary difference to separate humanity and then pit them against one another by granting one side rights and denying those rights to the other.
These are apartheid tactics.
Separation, isolation, and alienation are inhumane tactics that serve the interests of authority and power.
The differences used to separate can be based on race, nationality, religion, gender, sexuality, class, political party, and merit.
These differences should be embraced and celebrated, not used to divide us.
We are all 99% similar, and the differences are what make us unique.
If they attack our minorities, they attack us all.
Our strength lies in unity against bigotry, hatred, and fear.
We are united as one people for the good of all.
I refuse to engage in consumerist activism.
I wont be buying Che Guevara t-shirts to lend my personal brand more progressive looking street-cred.
I wont be cheering for corporations making donations to political causes when it serves their bottom line.I’ve collected a few examples of this type of behavior Performative Anti-Trump Activism in a Twitter Moment.
These types of activism are counterproductive as they subjugate real social activism via personal relationships into a relationship mediated by physical goods and associations to brands.
I refuse to acknowledge the DHS, CBP as necessary or helpful to US national security, as defenders of the constitution or more generally as upkeepers of the rule of law.
At their worst, they’re oppressive thugs for a racist deep state.
I will express my opinions and disagreements with the U.S.A government as I always have.
I will continue to be anti-war, anti-drone, anti-neoliberal, anti-imperialist, anti-capitalist, and violently anti-fascist (if the fascists seek to impose oppressive rule here in the U.S.A.) Censorship isn’t political in the U.S.A.
We address censorship as a market opportunity.
When folks are pirating movies, companies address that gap by providing a (relatively) cheap service to make it convenient to pay for the movie.
The rhetoric of alarm around “Fake News” is alarming however.
It’s beginning to sound eerily similar to the rationale the Chinese government is using to censor social media, the “danger of rumors” causing fractures in social cohesion.
I’m worried the Trump administration will take a similar path.
I will oppose the reappropriation of language.
I will not use terms they redefine, nor use new terms they make.
Terms like Bigly, Fake News, etc.
We must preserve the true meaning of words, and reconsider the use of language to simplify discourse and bias our perspectives.
The media, press, bloggers and social media are free to criticize the political establishment; it’s a national pastime.
The Daily Show and Colbert Report are built on getting laughs from the deep cynicism of the Left.
I post my criticism to my site, twitter, etc.
and don’t expect the police to visit my house, my work, or to worry about them asking about the post the next time I get pulled over for a traffic infringement or at border control.
I’m relaxed when expressing my views, I go to protests and engage in local politics.
I consider these acts to be part of my civic duty and expect the government to NOT ask about my activities.
An expectation otherwise would result in the erosion of civic activity due to self-censorship- the most pernicious form of censorship because the censorship has become internalized.
My associations with friends, family, coworkers and neighbors are private, and I expect them to remain private.
I worry about my peers, who continue to divulge the nature of their personal relationships and love-lives to social media companies.
This is the slow commodification of relationships.
I worry that these companies (Facebook, Tinder, etc) are increasingly mediating cherished relationships between people.
Obama deported more undocumented migrants than any previous administration, he unilaterally dropped ~26,000 bombs on Syria, Libya, Afghanistan, Yemen, Iraq and other countries.
I expect this to continue.
I don’t worry about going to war, either at home or abroad.
War has been a venture for the Washington Consensus to control foreign access and control to natural resources and access to markets for our trans-national corporate interests.
This impacts the poor, those who volunteer to fight, and immigrants who see a path to citizenship.
The Consensus seems wise enough to know the majority is war-fatigued, and fear protest or resistance if a draft was ever reinstated.
I don’t expect the middle class to rally behind Trumps wars, and I certainly will never support his wars.
The worst aspect of the Obama administration is that it quelled the energy of left-oriented grassroots movements.
People thought “Oh, Obama is like me, hes smart and he’s got this covered.” It kept the Left at ease, and this mindset resulting in eight years of political inaction.
The one redeeming side-effect of the Trump administration is that it will reveal the true nature of modern neoliberal power politics in the United State.
Trumps’ administration will brazenly take action without the pretenses of conciliatory compromise, or mutual respect for any existing political party or an adversarial press.
His administration will be the “Big Reveal” of the level of corruption in our body politic.
Trump will accomplish this by placing the big influencers (who, up to this point, have been outside advisors) in direct positions of power; e.g.
Instead of having Exxon Mobile acting as an external industry advisor, Trump will make him the CEO the Secretary of State.
These acts will tear down the facade of a disinterested political apparatus and reveal the true nature of politics rigged from top down to reward the biggest corporations.
This will help the Left appeal to the middle by pointing out readily apparent and brazen corrpution.
During difficult times, there is a blossoming of arts and culture in response to authoritarian oppression.
While I have no expectations for positive reform in federal politics, I have high hopes for local community action and the arts.
References 1.
Kendzior, Sarah.
“We’re heading into dark times.
This is how to be your own light in the Age of Trump”.
The Correspondent.
The Correspondent, 18 Nov.
2016.
Web.
3 Jan.
2017.
2.
Debord, Guy.
The Society of the Spectacle.
Perlman, Fredy (Translator).
Detroit: Black & Red, Print.
1983.
3.
Siegel, Eric.
How Hillary’s Campaign Is (Almost Certainly) Using Big Data.
Scientific American.
Scientific American, Web.
2016.
4.
Wagner, John.
“Clinton’s data-driven campaign relied heavily on an algorithm named Ada.
What didn’t she see?”.
The Washington Post.
The Washington Post, Web.
2016.
About the Car The goal I established for the RASpec Impreza was a cross-campaign race car capable of competing in time attack, time trial, hillclimb and wheel-to-wheel racing series up and down the East Coast.
This car was originally purchased in 2004, and gradually transformed from street car into full race car.
The build was done iteratively informed from performance metrics during race events.
RASpec Impreza 2.0 The car is a 2002 Subaru WRX “bugeye” chassis purchased in 2011 and fully restored from 2013 to 2015.
The car was built by DENT Sport Garage and German Performance Service in Massachusetts.
2019 Update This car is now owned and campaigned at Global Time Attack and other events by Bad Panda Motorsports.
“Flexo” (formerly the RASpec Impreza) v3.0 Video RASpec Impreza 1.0 at Carolina Motorsports Park, SC.
Redline Time Attack.
Video captures engine sound at wide open throttle.
James Elterman and the Takata Impreza in chase of the RASpec Impreza 1.0 during Sunday morning practice at Redline Time Attack at Englishtown Raceway.
Video by James Elterman.
Chassis The chassis is a 2002 model year, GDA/B code VIN #JF1GD29642G507991 The restoration began with a complete tear-down.
Everything not welded to the chassis was removed, tagged and inspected.
Anything not required for racing such as the interior and OEM suspension was sold.
Anything worn was cataloged, and new factory OEM replacements were ordered (such as chassis gommets and rubber window seals).
The paint and rubberized under-body weatherproofing was removed by media-blasting and sanding.
Next the chassis was fully seam-welded.
Finally the roll cage was built and the car was freshly painted white.
- WEIGHT: 2762 lbs - CAGE: SCCA multi-point rollcage - CHASSIS: The entire chassis has been seam-welded {% include image-gallery.html images=“chassis” caption=“Chassis underbody, during restoration, seam-weld and painting after media-blast” %} Engine The RASpec Impreza engine is a JDM EJ207 WRX STI 2-liter engine running the Tomei 2.2l stroker kit.
The Tomei 2.2l stroker kit was chosen as it is complete with pistons, rods and the lightened, custom journaled crankshaft.
The heads are sourced from a JDM Spec-C WRX STI that come from the factory with larger ports, and factory polished.
Engine bay.
The engine was built to tolerances provided by the team running the Cusco / Tomei / Voltex Time Attack Impreza as they use the same engine stroker kit.
The intake side has a custom fabricated front mounted intercooler (design is inspired by the Subaru Impreza WRC S10 design) pressurized by a Garrett GT3076R turbo using a TiAL GT30 turbine housing to feed the reverse mounted JDM STI intake manifold (no TGVs).
Engine intake and turbo.
Intercooler detail.
The turbo wastegate is a TiAL MR-R 44mm.
The turbo uses the TiAL V-Band Clamp and Flange System to allow full 306 degree rotation for optimal turbo positioning.
Put simply: “Its dope as fuck”.
Garett GT3076r and TiAL turbine housing with v-band clamp.
TiAL wastegate.
- ENGINE: JDM WRX STI EJ207 block - ENGINE: JDM WRX STI Spec-C heads (Ported & polished) - ENGINE: JDM s202 Spec-C valve covers (wrinkle red) - ENGINE: Tomei forged pistons 92.5x79mm (2.2l stroker kit) - ENGINE: Tomei forged rots (2.2l stroker kit) - ENGINE: Tomei balanced crankshaft (2.2l stroker kit) - ENGINE: Tomei bearings - ENGINE: ARP head studs - ENGINE: Cosworth 275 degree cam shafts - ENGINE: Spark plugs NGK BKR7E (stock #4644) - TURBO: Garrett GT3076R (A/R 0.82) - TURBO: Tial MV-R 44mm external wastegate - TURBO: TiAL GT30 Turbine Housing - OIL: Cosworth oil pump - OIL: Oil starvation baffler - OIL: Mocal oil cooler (custom) - OIL: Crawford Performance Air/Oil Separator - RADIATOR: Koyo aluminum - INTERCOOLER: Griffin custom front mount intercooler (fmic) - EXHAUST: Stainless custom by DENT Sport Garage Mocal oil cooler setup (left), mounted in the front of the car.
Front mounted intercooler and radiator also visible (right).
Transmission - TRANSMISSION: 2006 Subaru WRX STI 6MT - CLUTCH: ACT 6-puck - FLYWHEEL: ACT ProLite - AXLES: STI - HARDWARE: Cusco transmission mount brackets - HARDWARE: Cusco transmission hard mount bushings - CONTROLLER: DCCDPro Delux DCCD controller - LSD: OEM - LSD: Rear Cusro RS (1.5-way rear) - LSD: Center STI - LINKAGE: Kartboy short shifter linkage kit Suspension Stance GR+ adjustable coilovers with external resovoirs.
- COILOVERS: Stance GR+ 3-day adjustable coilovers - LINKS: Cusco 3-way adjustable rear sway bar - LINKS: Pillowball swaybar end links - LINKS: Whiteline adjustable rear lateral links - LINKS: STI Front control arms - HARDWARE: 6Gun Racing Ball joint extenders w/ tie rod ends - HARDWARE: ARP Long wheel studs - HARDWARE: Whiteline control arm anti-lift kit - WHEELS: VOLK CE28N Time Attacks (White w/red) 17" x 9" 5x114.3 +30 - BRAKES: PF Performance Friction 2-piece floating rotors w/ aluminum hats - BRAKES: PFC Brake pads (#0460.01.15.44 132mm x 61mm x 16mm) - BRAKES: Stainless steel braided brake lines Cusco 3-way adjustable rear sway bar on anodized Pillowball endlinks.
All hardware and mounts are new.
Wheel studs are the long-type.
Fuel - FUEL: SARD Fuel surge tank (trunk mounted) - ENGINE: RC Engineering 1000cc injectors SARD fuel surge tank located in the trunk.
Electronics - Vi-PEC ECU - ELECTRONICS: Ballenger Motorsports AFR500 Wideband O2 Air Fuel Ratio monitor kit Exterior The exterior is stock, with a few OEM components.
The front bumper is running the “Double Lip Combo” setup.
The upper is the 2002 Prodrive V2 lip and the lower is the 2006-2007 V-Limited lip.
{% include image-gallery.html images=“exterior” caption=“Exterior photos” %} - COLOR: “Audi R8 White” - HOOD: Scoote carbon fiber 2002 WRX hood - HOOD: Aerocatch hood pins - LIP: Prodrive “V2” 2002 WRX lower front bumper lip - LIP: 2006 Subaru STI V-Limited lower front bumper lip - FENDER: Rear wheel fenders are rolled & pulled to accommodate larger - BLINKER: STI carbon front blinker covers - HEADLIGHTS: Plasti-dipped headlights wheel/tires Interior The interior is fairly spartan and without adornment.
Only the essentials.
{% include image-gallery.html images=“interior” caption=“Interior photos” %} - STEETING: MOMO steering wheel - SEAT: BRIDE Zeta-3 (Red) - GAUGES: Defi BF-series Oil pressure, Boost pressure & Water temperature - GAUGES: Digital A/F Meter - SAFETY: Emergency battery/ignition cut-off switch - SAFETY: G-Force 6 point Cam-lock Harness - SAFETY: NASCAR Window Net (Drivers side) - SAFETY: Beat Rush trunk bulkhead panel Spare Package The car comes with additional spares, hardware and accessories.
Spare hardware.
Spare (new) Performance Friction rotors.
- BRAKES: PF Performance Friction rotors (New) - SUSPENSION: OEM STI Rear Lateral Links (New) - FUEL: 15 gal VP 109 octane race gas - WING: Origin GT Wing (plane only) History The first race car I built with the name “RASpec Impreza 1.0” began in 2004 when I started a thread on NASIOC asking for advice about building a race car.
I just just recently upgraded from a 2001 Impreza 2.5RS to the 2004 “blobeye” WRX.
Shortly after I signed up for my first track event with the BMW-CCA and was totally addicted to track events.
A month later I caged my car and began its migration from a humble street car to a battle-tested time attack machine.
The full history of the build process is available on NASIOC.
The “RASpec Impreza 1.0” racing at Summit Point in the Redline Time Attack series, 2010.
I raced the RASpec 1.0 at COM Time Trial events, the Redline Time Attack series, the BMW Sports Car Club track events, and New England Hillclimb series.
A crash at a New England Hillclimb Race Series in 2010 ended the useable life of the “RASpec Impreza 1.0”, and I began searching for a “bugeye” Impreza to use as a new chassis for the “2.0” version of the RASpec Impreza.
In 2011 I found a “bugeye” WRX that would serve as the perfect base for a new race car.
The bugeye was parted-out and stripped, and the build of my second race car began.
It was only fitting that it be called the “RASpec Impreza 2.0”.
The key features of the 2.0 version that were improvements over the 1.0 version were as follows: - Fully stripped, media-blasted, caged and seam-welded chassis in order to reduce weight and increase rigidity - Simplify turbo and intercooler setup to reduce maintenance and increase air flow The resulting product of the build is a car that is lighter, faster and easier to maintain than the first race car.
The “RASpec Impreza 2.0” is a better overall car, it takes the best aspects of the 1.0 and simplifies until there is nothing else to take away— creating a minimalist race-ready track platform.
FAQ - Frequently Asked Questions - What makes the car track-only?
Its a fully-built race car, so its been stripped to the bare essentials.
This means no headlights, no wiper bottle, no seatbelts (harness only), no OEM seat brackets, no ODB-II.
- What does it need to go racing?
I would get new tires, bleed the brakes and adjust the alignment.
Alignment should be set to your preferences for how you like the car to turn-in and rotate.
You may want to adjust the ride-height as well.
- How many track miles on it?
None.
The chassis has 0 track miles on it, and the engine has been freshly rebuilt.
The only “time” its seen is on the dyno while it was being tuned.
- How much horsepower does it make?
That depends on which ECU map you run.
Currently it’s running a conservative base map dialed for 350 wheel horse power at 20lbs of boost.
This tune was done at Synaptic3 Performance for a practice day where we were focusing on suspension setup and were not racing.
The previous tune made 400whp at 23lbs of boost.
On dyno testing its made much more at higher boost, but we’ve dialed it back to increase engine longevity.
Using the same engine parts, tolerances and turbo, Cusco / Tomei / Voltex made 500whp.
General High-Order Principles - Simplicity - The most bug-free line of code is the one you don’t have to write!
- Reusable - Create code that is portable to other sections of the site and are nestable - Extensible - Create code that lends itself to be easily extended and with low selector specificity to promote extensibility.
- One-to-many - Create classes that can be applied to many contexts - Fast - Know your selector performance basics, reduce HTTP requests - Semantic - Create CSS that speaks to the task or meaning that is being accomplished.
Good CSS class names describe our HTML elements in very semantic and specific ways - Standards Oriented - Create portable, standards-forward code (ie Don’t use hacks) - Future Proof - Write code as if you’ll never be able to edit it again - Accessible - Just as people have different capabilities with respect to vision, hearing, language or cultural understanding, devices have varying levels of memory, CPU, screen size or bandwidth - Progressive - Create a core experience for the least capable devices (legacy devices, low bandwidth, low power, small memory, small screen) and progressively enhance the experience as you detect richer capabilities - Fast to develop - Write code that is fast to create new features, extend existing features, and maintain old features - Team scalable - The code and conventions should be readily apparent to a novice developer who joins the team, and easy to adopt so he/she can quickly contribute Strive To - Separate Structure from Skin - Separate Skin from Behavior - Separate Container from Content - Create a Component Library - Use Components like legos, combining them to create rich UI widgets.
Create a reference page to see all components in a single centralized place - Separate components into generalized sub-groups: (Ordered from least to most specificity) - All - The manifest that imports all other stylesheets - Settings - Global variables, public mixins, config switches, brand colors, etc - Base - Base styles that normalizes globals, everything inherits from these defaults - Objects - “o-” OOCSS design patterns, reusable UI primitives - Components - “c-” Fully designed pieces of UI, Still only utilizes class selectors.
More expliciltly named (e.g.
products-list) - Trumps: Overrides, only affect on piece of the DOM at a time.
Usually carry !imporant.
- Your markup should be distilled from combining your component library pieces together - Minimize the amount of bespoke or one-off css-possible - Extend Components by applying abstracted classes - “Flow like water” - Be flexible, allow site to respond to content to dictate height, and screen size to dictate width.
Layout should respond proportionally - Use themes to separate ornamentation from core design - Increase portability with context-free CSS Separate Structure from Skin Focus on keeping your markup semantic.
Don’t write markup to achieve a presentation-level effect, leave that to the CSS.
Separate Skin from Behavior Use CSS to skin your markup, but further separate your CSS from behavior.
If we use an anchor tag that acts as a form-POST event, write two classes; one to describe the look of the button and another as its hint to javascript that’ll be used for attaching functionality.
Markup <a href="/action" title="Submit" class="c-button js-action-submit">Submit</a> CSS .c-button { color: green; border: 1px solid red; } JavaScript $( '.js-action-submit' ).click( function( e ) { e.preventDefault(); // do form submit } Use themes to separate ornamentation from core design Gradually tastes change like the seasons.
The design team will continue to evolve the graphic design as well as to create new design ornaments.
Rather than continually editing a large group of styles to integrate these changes, strive to limit ornamentation to a set of core “theme” classes that are applied to elements.
Avoid editing a fragile selector that includes layout and positioning properties that could potentially break the site and instead limit your changes to a specific selector that focuses on the ornamental effects of the element.
An example helps: Markup <!--Okay--> <a href="/contact" class="c-fun-button " title="contact us">Contact Us</a> <!--Better--> <a href="/contact" class="c-contact-button t-contact-button---fancy" title="contact us" >Contact Us</a > CSS /* Okay */ .c-fun-button { display: inline-block; padding: 1em 0.5em; border: 1px dashed red; } /* Better */ .c-contact-button { display: inline-block; padding: 1em 0.5em; } .t-contact-button---fancy { border: 1px dashed red; } Increase portability with context-free CSS In striving to make components and elements that are easily moved, extended and maintained; reduce the context that your css requires.
For this to work, your component must have: - A unique name (css class) that will be part of the css selector - No HTML element decendant selectors ( .menu li ) as these are inherently context-dependent Instead, use the unique name for the parent elements css selector, and separate the child elements css class names with two – hyphens, for example: Markup <ul class=" c-navmenu "> <li> <a class=" c-nav-menu–-item ">an item</a> </li> <li> <a class=" c-nav-menu–-item ">an item</a> </li> </ul> CSS .c-nav-menu { property-name: property-value; property-name: property-value; } .c-nav-menu–-item { display: inline-block; font-weight: bold; color: red; } In this example, the menu items can be moved independently to other parts of the site.
And while this example might not occur in the real-world, it would work- functionally-speaking.
If you need to extend the item to introduce a slightly different style, you duplicate the class name, but add a modifier class separated by three — hyphens.
CSS .c-navmenu-item---light { font-weight: normal; color: yellow; } Markup <li> <a class=" c-navmenu–item c-navmenu-item---light ">an item</a> </li> Extending our already-existing style by adding classes additionally gives us a reusable class that we can then use anywhere we use the original class.
Avoid: - Tag Specific selectors - Poor portability & reuse, unintended elements inherit unwanted css properties - #ID selectors - Poor selector performance & reuse, difficult to override due to high selector specificity - Alpha transparencies on top of irregular backgrounds - Poor rendering performance - Fixed “height:” Content is dynamic, changing, and heights will change.
Try to avoid height, there are many ways to avoid it - Fixed “width:” Layouts should indicate proportionality and fit accordingly inside their parent containers.
Use box-sizing - Relying on a defined HTML structure to drape your styles, markup changes over time, and requirements change, components move - Using javascript to modify css properties - don’t pollute your javascript with css Techniques - Write your CSS selectors to be as concise as possible - Write your CSS selectors to be as performant as possible, efficient as possible and even more efficient - Don’t overqualify your CSS selectors - Use the lessons learned in “Object-Oriented” CSS Every selector you write is additional complexity that will need to be maintained.
Can you generalize or abstract that selector so other components can use it?
Make use of the child selector to limit how deep your css goes.
.nav-list > li can do a lot to prevent the cascade from going too deep.
Think of the class attribute in HTML as a mounting-point for CSS classes, fixtures upon which styling is attached to markup.
This is opposed to using the markup as a skeleton on which you drape your style.
When asked to change existing code, rather than simply adding complexity with new classes or additional selectors, can you refactor or abstract existing selectors or classes to produce the desired behavior?
Look at change requests as an opportunity to refactor.
Code reuse is your friend.
The first “C” in CSS stands for Cascade.
Use the cascade to maximum advantage.
Inheritance is extremely powerful.
When adding a css property, ask yourself if you can add it higher in the cascade, and inherit it from a higher abstraction.
Write obvious code.
CSS is fragile, write code as if a novice coder would be maintaining your code in the future.
“Extent your CSS objects with class” - not with selector specificity.
Increasing selector specificity makes overrides more difficult and fragile to maintain.
Class names can always be more semantic than the generic tag names at your disposal.
Browsers actually have a very similar set of core default-styles.
Rather than obliterating the core-styles with a hard-reset css, think about the value of css normalization.
Using a normalized approach, the focus is to normalize the differences across browsers rather than eliminating all styles together.
This means you spend less time re-creating the core styles that are very useful in practice.
Create a UI Pattern and Component Library - MailChimp has a good one.
Elements that are effected by javascript behaviors should have css modified by adding or removing classes.
Keep your css in the css-file, don’t pollute the javascript with css properties when you could abstract those properties to the css file.
Elements that have multiple states should have corresponding class names that describe those states when added to the element.
The default state of the element is when it has no additional descriptors in the class attribute - the default state.
For an anchor tag button, some additional states class names could be: is-active is-disabled is-hover Adding Behavior Class names are often used to add a behavioral hint that our javascript will use to select an element and add some sort of behavior, ie: a tab control made up of an unordered list with anchor tags inside list elements.
Clicking the anchor tag results in another container element showing or hiding.
Separate the behavioral hint by using a class name that indicates its action.
js-action-apply js-action-navigate js-action-cancel js-action-next js-action-play js-action-toggle js-action-clickable js-action-draggable Avoid using these class names to apply css styles.
Normalize vs Reset CSS We have moved away from Eric Meyer’s reset.css to normalize.css for the following reasons: 1.
Normalize.css preserves useful defaults rather than “unstyling” everything.
For example, elements like sup or sub “just work” after including normalize.css (and are actually made more robust) whereas they are visually indistinguishable from normal text after including reset.css 2.
Normalize.css corrects some common bugs that are out of scope for reset.css.
It has a wider scope than reset.css, and also provides bug fixes for common problems 3.
Normalize.css doesn’t clutter your dev tools.
A common irritation when using reset.css is the large inheritance chain that is displayed in browser CSS debugging tools.
This is not such an issue with normalize.css because of the targeted stylings 4.
Normalize.css is more modular.
The project is broken down into relatively independent sections, making it easy for you to potentially remove sections (like the form normalizations) if you know they will never be needed by your website 5.
Normalize.css has better documentation.
The normalize.css code is documented inline For more reasons and rationale, check out the details About normalize.css.
To get an idea what #3 means “Normalize.css doesn’t clutter your dev tools”, as well as pollute the CSS cascade with unnecessary rulessets, checkout the following example.
In this image we compare the CSS rule chain for the “About Us” title on the left with reset.css with 18 rules.
On the right is normalize.css with 11 rules.
As you can see, the ruleset on the right is far simpler, and unnecessary complexity is always bad.
Further Reading - bem.info - Block-element-modifier approach to css class naming conventions.
- OO-CSS - “Object Oriented” CSS - Overqualifying Your Selectors- Writing efficient CSS selectors - Mozilla - Efficient CSS- Mozilla article on fast CSS performance - CSS Tricks - Efficient CSS Rendering
This essay was written by Carmen Hermosillo, 1994.
when i went into cyberspace i went into it thinking that it was a place like any other place and that it would be a human interaction like any other human interaction.
i was wrong when i thought that.
it was a terrible mistake.
the very first understanding that i had that it was not a place like any place and that the interaction would be different was when people began to talk to me as though i were a man.
when they wrote about me in the third person, they would say ‘he.’ it interested me to have people think i was ‘he’ instead of ‘she’ and so at first i did not say anything.
i grinned and let them think i was ‘he.’ this went on for a little while and it was fun but after a while i was uncomfortable.
finally i said unto them that i, humdog, was a woman and not a man.
this surprised them.
at that moment i realized that the dissolution of gender–category was something that was happening everywhere, and perhaps it was only just very obvious on the net.
this is the extent of my homage to Gender On The Net.
i suspect that cyberspace exists because it is the purest manifestation of the mass (masse) as Jean Beaudrilliard described it.
it is a black hole; it absorbs energy and personality and then re–presents it as spectacle.
people tend to express their vision of the mass as a kind of imaginary parade of blue–collar workers, their muscle–bound arms raised in defiant salute.
sometimes in this vision they are holding wrenches in their hands.
anyway, this image has its origins in Marx and it is as Romantic as a dozen long–stemmed red roses.
the mass is more like one of those faceless dolls you find in nostalgia–craft shops: limp, cute, and silent.
when i say ‘cute’ i am including its macabre and sinister aspects within my definition.
it is fashionable to suggest that cyberspace is some kind of island of the blessed where people are free to indulge and express their Individuality.
some people write about cyberspace as though it were a 60′s utopia.
in reality, this is not true.
major online services, like compuserv and america online, regular guide and censor discourse.
even some allegedly free–wheeling (albeit politically correct) boards like the WELL censor discourse.
the difference is only a matter of the method and degree.
what interests me about this, however, is that to the mass, the debate about freedom of expression exists only in terms of whether or not you can say fuck or look at sexually explicit pictures.
i have a quaint view that makes me think that discussing the ability to write ‘fuck’ or worrying about the ability to look at pictures of sexual acts constitutes The Least Of Our Problems surrounding freedom of expression.
western society has a problem with appearance and reality.
it keeps wanting to split them off from each other, make one more real than the other, invest one with more meaning than it does the other.
there are two people who have something to say about this: Nietzsche and Beaudrilliard.
i invoke their names in case somebody thinks i made this up.
Nietzsche thinks that the conflict over these ideas cannot be resolved.
Beaudrilliard thinks that it was resolved and that this is how come some people think that communities can be virtual: we prefer simulation (simulacra) to reality.
image and simulacra exert tremendous power upon culture.
and it is this tension, that informs all the debates about Real and Not–Real that infect cyberspace with regards to identity, relationship, gender, discourse, and community.
almost every discussion in cyberspace, about cyberspace, boils down to some sort of debate about Truth–In–Packaging.
cyberspace is a mostly a silent place.
in its silence it shows itself to be an expression of the mass.
one might question the idea of silence in a place where millions of user–ids parade around like angels of light, looking to see whom they might, so to speak, consume.
the silence is nonetheless present and it is most present, paradoxically at the moment that the user–id speaks.
when the user–id posts to a board, it does so while dwelling within an illusion that no one is present.
language in cyberspace is a frozen landscape.
i have seen many people spill their guts on–line, and i did so myself until, at last, i began to see that i had commodified myself.
commodification means that you turn something into a product which has a money–value.
in the nineteenth century, commodities were made in factories, which karl marx called ‘the means of production.’ capitalists were people who owned the means of production, and the commodities were made by workers who were mostly exploited.
i created my interior thoughts as a means of production for the corporation that owned the board i was posting to, and that commodity was being sold to other commodity/consumer entities as entertainment.
that means that i sold my soul like a tennis shoe and i derived no profit from the sale of my soul.
people who post frequently on boards appear to know that they are factory equipment and tennis shoes, and sometimes trade sends and email about how their contributions are not appreciated by management.
as if this were not enough, all of my words were made immortal by means of tape backups.
furthermore, i was paying two bucks an hour for the privilege of commodifying and exposing myself.
worse still, i was subjecting myself to the possibility of scrutiny by such friendly folks as the FBI: they can, and have, downloaded pretty much whatever they damn well please.
the rhetoric in cyberspace is liberation–speak.
the reality is that cyberspace is an increasingly efficient tool of surveillance with which people have a voluntary relationship.
proponents of so–called cyber–communities rarely emphasize the economic, business–mind nature of the community: many cyber–communities are businesses that rely upon the commodification of human interaction.
they market their businesses by appeal to hysterical identification and fetishism no more or less than the corporations that brought us the two hundred dollar athletic shoe.
proponents of cyber– community do not often mention that these conferencing systems are rarely culturally or ethnically diverse, although they are quick to embrace the idea of cultural and ethnic diversity.
they rarely address the whitebread demographics of cyberspace except when these demographics conflict with the upward–mobility concerns of white, middle class females under the rubric of orthodox academic Feminism.
the ideology of electronic community appears to contain three elements.
first, the idea of the social; second, eco–greenness; and lastly, the assumption that technology equals progress in a kind of nineteenth century sense.
all of these ideas break down under analysis into forms of banality.
as beaudrilliard has said, socialization is measured according to the amount of exposure to information, specifically, exposure to media.
the social itself is a dinosaur: people are withdrawing into activities that are more about consumption than anything else.
even the Evil Newt says that.
( i watched his class.) so–called electronic communities encourage participation in fragmented, mostly silent, microgroups who are primarily engaged in dialogues of self–congratulation.
in other words, most people lurk; and the ones who post, are pleased with themselves.
eco–green is a social concept that is about making people feel good.
what they feel good about is that they are getting a handle on what amounts to the trashing of planet earth by industrialists of the second industrial revolution.
it is a good and desirable feeling, especially during a time where semioticists are trying to figure out how they are going to explain radiation– waste dumps to people thirty thousand years in the future.
eco–green is also a way to re–package calvinistic values under a more palatable sign.
americans are calvinists, i am sorry to say.
they can’t help it: it arrived on the mayflower.
i also think that the idea of electronic community is a manifestation of the triumph of sign–value over worth–value.
there is nothing that goes on in electronic community that is not infested with sign– value.
if electronic community were anything other than exercise in sign–value, identity hacking, which is entirely about surface–sign, would be much more difficult.
signs proclaiming electronic technology as green abound in cyberspace: the attitude of political correctness; the ‘green’ computer, the ‘paperless’ office and the illusion that identity in cyberspace can be manipulated to obscure gender, ethnicity, and other emblems of cultural diversity; the latter of course being both the most persistent and most ridiculous.
both of these concepts, the social and the eco–green, are directly nourished by an idea of progress that would not have appeared unfamiliar to an industrialist in the nineteenth century.
i give you an example: the WELL, a conferencing system based in Sausalito, California, is often touted as an example of a ‘social cluster’ in cyberspace.
originally part of the Point Foundation, which is also associated with the Whole Earth Review and the Whole Earth Catalogues, the WELL occupies an interesting niche in the electronic–community marketplace.
it markets itself as a conferencing system for the literate, bookish and creative individual.
it markets itself as an agent for social change, and it is, in reality, calvinist and more than a little green.
the WELL is also afflicted with an old fashioned hippie aura that lead to some remarkably touching ideas about society and culture.
no one, by the way, should kid themselves that the WELL is any different than bigger services like America OnLine or Prodigy–all of these outfits are businesses and all of these services are owned by large corporations.
the WELL is just, by reason of clunky interface, a little bit less obvious about it.
in july of 1993, in a case that received national media coverage, a man’s reputation was destroyed on the WELL, by WELLpeople, because he had dared to have a relationship with more than one woman at the same time, and because he did not conform to WELL social protocol.
i will not say that he did not conform to ethical standards, because i believe that the ethic of truthfulness in cyberspace is sometimes such as to render the word ethics meaningless.
in cyberspace, for example, identity can be an art–form.
but the issues held within the topic, called News 1290,(now archived) were very complex and spoke to the heart of the problem of cyberspace: the desire to invest the simulacrum with the weight of reality.
the women involved in 1290 accepted the attention of the man simultaneously on several levels: most importantly, they believed in the reality of his sign and invested it with meaning.
they made love to his sign and there is no doubt that the relationship affected them and that they felt pain and distress when it ended badly.
at the same time it appears that the man involved did not invest their signs with the same meaning that they had his, and it is also clear that all parties did not discuss their perceptions of one another.
consequently the miscommunication that occurred was ascribed to the man’s exploitation of the women he was involved with, and a conclusion was made that he had used them as sexual objects.
the women, for their parts, were comfortable in the role of victim and so the games began.
of the hundreds of voices heard in this topic, only a very few were astute enough to express the idea that the events had been in actuality caused more by the medium than by the persons who suffered the consequences of the events.
persons of that view addressed the ideas of ‘missing cues’ like body language, tone of voice, and physical appearance.
none of this, they said, is present in cyberspace, and so people create unrealistic images of the Other.
these opinions were in the minority, though.
most people made suggestions that would have shocked the organizers of the Reign of Terror.
even the words ‘thought criminal’ were used and suggestions about lynching were made.
hysterical identification is a mental device that enables one person to take on the sufferings of a group of persons.
it is something that until the 1880′s was considered a problem of females.
in our society, many decisions about who a person is, are made through the device of hysterical identification.
in many cases, this is brought about by the miracle of commercial advertising which invests products with magical qualities, making them into fetishes.
buy the fetish, and the identification promised by the advertisement is yours.
it is tidy, easy, and requires no investment other than money.
in october of 1994, couples topic 163 was opened.
in this topic, user Z came on to discuss her marital problems, which involved a daughter who was emotionally disturbed.
it began in a very ordinary way for this type of thing, with the woman asking for and receiving advice about what to do.
in just a few days, though, the situation escalated, and the woman put another voice on the wire, who was alleged to be her daughter, X.
the alleged daughter exposed her problems and expressed her feelings about them, and the problems appeared to be life–threatening.
this seemed to set something off within the conference, and a real orgy began as voices began to appear to express their identification with the mysterious and troubled daughter X.
the nature of the identifications and the tone of the posts became stranger and stranger and finally user Z set the frightening crown upon the whole situation by posting a twistedly lyrical monologue of maternal comfort and consolation directed at the virtual Inner Children who had appeared to take refuge within her soft, enveloping arms.
the more that the Inner Children wept, the more that the Virtual Mommy lyricized and comforted.
this spectacle, which horrified more than one trained mental health professional who read it on the WELL, went on and on for several days and was discussed privately in several places in disbelieving tones.
when the topic imploded, the Virtual Mommy withdrew reluctantly insisting that only a barbarian would believe that she would commodify her own tragedy.
one of the interesting things about both of these incidents, to me, is that they were expunged from the record.
News1290 exists in archive.
that means that it is stored in an electronic cabinet, sort of like what the Vatican did with the transcripts of the trial of Galileo.
it’s there, but you have to look for it, and mention of 1290 makes WELLpeople nervous.
Couples 163 was killed.
that means it was destroyed, and does not exist at all anymore, except on back– up tape or in the hard disks of those persons (like me) who downloaded it for their own reasons.
what i am getting at here is that electronic community is a commercial enterprise that dovetails nicely with the increasing trend towards dehumanization in our society: it wants to commodify human interaction, enjoy the spectacle regardless of the human cost.
if and when the spectacle proves incovenient or alarming, it engages in creative history like, like any good banana republic.
this, however, should not surprise anybody.
aesthetically, electronic community of the kind likely to be extolled in the gentle, new–age press, contains both elements of the modernist resistance to depth and appeal to surface combined with the postmodern aesthetic of fragment.
the electronic community leaves a permanent record which is open to scrutiny while maintaining an illusion of transience.
in doing this, it somehow manages to satisfy the needs of the orwellian and the psycho–archeologist.
people can talk about cyberspace as a Utopian community only because it is literature, and therefore subject to editorial revision.
these two events plus another where a woman’s death was choreographed as spectacle online, made me think about what electronic community was, and how it probably really did not exist, except like i said, as a kind of market for the consumption of sign–value.
increasingly, consumption is micro–managed, as the great marxists alvin and heidi toffler suggest when they talk about ‘de–massing.’ so–called electronic community may be seen as a kind of micro–marketing of the social to a self–selected elite.
this denies the possibility of human relationship, from which all authentic community proceeds.
if one exists merely as sign–value, as a series of white letters, as a subset, then of course it is perfectly fine and we can talk about a community of signs, nicely boxed, categorized and inventoried, ready for consumption.
many times in cyberspace, i felt it necessary to say that i was human.
once, i was told that i existed primarily as a voice in somebody’s head.
lots of times, i need to see handwriting on paper or a photograph or a phone conversation to confirm the humanity of the voice, but that is the way that i am.
i resist being boxed and inventoried and i guess i take william gibson seriously when he writes about machine intelligence and constructs.
i do not like it.
i suspect that my words have been extracted and that when this essay shows up, they will be extracted some more.
when i left cyberspace, i left early one morning and forgot to take out the trash.
two friends called me on the phone afterwards and said, hummie your directory is still there.
and i said OH.
and they knew and i knew, that it was possible that people had been entertaining themselves with the contents of my directories.
the amusement never ends, as peter gabriel wrote.
maybe sometime i will rant again if something interesting comes up.
in the meantime, give my love to the FBI.
Carmen Hermosillo (known by her screen name humdog), was a community manager/research analyst, essayist, and poet, best known for her 1994 essay “Pandora’s Vox: On Community in Cyberspace”, a widely cited critical account of virtual communities.
This article was originally published in 1994.
2019 has been a great year for Ember so far, so while my peers are focused on setting direction for the framework for the rest of 2019, I wanted to take stock of the existing addons ecosystem.
In this article I’d like to present a list of Ember addons that I use in most of my projects.
I’ve been using Ember for the last few years as my go–to framework for developing web applications, and many of these addons make appearances in nearly all of them.
Ember addons generally fall into one (or more) category of functionality I’ll be referring to throughout this guide: - Build-time Build-time addons provide command-line tools that help developers during the creation of the application.
An example is ember-cli-eslint which provides code linting, or ember-cli-typescript which adds a build pipeline for transforming TypeScript files into JavaScript files.
These addons don’t ship features to your deployed application.
These addons typically start with the prefix ember-cli-.
- Runtime Runtime addons provide features that will be present in the final application, these include Ember components like ember-power-select and ember-svg-jar these addons increase the payload of the deployed application.
These addons typically start with the prefix ember- - Infrastructure Infrastructure addons provide features that aren’t shipped with the payload of your application, but provide functionality that improves the development ergonomics or deployment of the project.
For example ember-cli-fastboot provides a backend Node.js server for rendering Ember apps serverside.
- Quality Assurance Quality assurance addons provide tools for improving quality of code over time, and improving the developer experience of writing and testing code.
These addons typically provide functionality that is used at build and test time, but isn’t shipped to your deployed application.
qunit-dom, coveralls, and ember-test-selectors are examples of quality assurance addons.
Some of these addons are included by default by ember new <project-name> but I’ll elaborate on their use a bit more.
Finally, before diving into the addon list, I won’t be discussing many standard JavaScript packages.
There are a bunch of JavaScript packages that I often use (ramda, lodash, etc) but these are outside of the scope of this article.
Contents - General Purpose Addons - ember-a11y-testing - ember-auto-import - ember-cli-update - ember-cli-code-coverage - ember-cli-dependency-lint - ember-cli-deprecation-workflow - ember-cli-document-title - ember-cli-dotenv - ember-cli-template-lint - ember-test-selectors - ember-truth-helpers - eslint-plugin-ember - eslint-plugin-prettier - prettier - qunit-dom - Specific Usecase Addons - ember-cli-addon-docs - ember-cli-bundle-analyzer - ember-cli-deploy - ember-cli-mirage - ember-cli-page-object - ember-cli-release - ember-cli-typescript - ember-cli-fastboot - ember-cli-fastboot-testing - ember-concurrency - ember-css-modules - ember-intl - ember-intl-analyzer - ember-fetch - ember-power-select - ember-simple-auth - ember-svg-jar - Conclusion General Purpose Addons These addons are used in nearly all my projects, I often install and configure them right after I’ve created a new project.
ember-a11y-testing ember-a11y-testing is a quality assurance addon that integrates into the existing Ember test framework, adding tests that check for accessibility problems.
The addon leverages the wonderful axe-core library to test for form labels, high contrast colors, ARIA attributes and much more.
ember-auto-import Ember apps can import standard NPM libraries, but it wasn’t straightforward, until now.
ember-auto-import is included with the new Ember Octane edition.
It is a build time addon with optional runtime lazy-loading that enables developers to use import statements from standard NPM packages without having to wrap it in an Ember addon or manually wire it into the build by adding it to ember-cli-build.js Now we can just: $ ember install ember-auto-import $ yarn add -D lodash-es and in your code: import { capitalize } from 'lodash-es'; let nameUpper = capitalize('edward faulkner'); // Edward Faulkner ember-cli-update ember-cli-update is a build time addon that adds the update sub-command to the Ember CLI.
This command incrementally updates your app or addon to the latest Ember CLI version.
It does this by fetching the latest version and comparing it to your project’s Ember CLI version.
It then applies a diff of the changes from the latest version to your project.
It will only modify the files if there are changes between your project’s version and the latest version, and it will only change the section necessary, not the entire file.
This tool gets regular use over the lifecycle of all the Ember apps I maintain.
ember-cli-code-coverage ember-cli-code-coverage is a quality assurance addon that runs at test time.
The addon introspects the code running during tests and analyses which code branches were run and how often.
It generates a report showing your source code and which branches are covered by tests.
This allows you to write test code that covers all code branches.
The report looks something like this: 3x export function asset(param) { 8x const rootURL = config.rootURL ?
config.rootURL : ''; 8x return `${rootURL}${param}`; } Coveralls is a code-coverage-report-as-a-service provider that tracks your projects code coverage over time.
The tool auto-uploads your coverage report after tests are run.
ember-cli-dependency-lint ember-cli-dependency-lint is a build time addon that will lint your app’s addon dependencies, making sure your app or addon has only one version of any dependency.
If your app has multiple versions, which is actually packaged in the final build?
This situation can lead to anything from hard exceptions to subtle behavioral bugs.
my-app ├─┬ ember-modal-dialog │ └── ember-wormhole@0.3.6 └─┬ ember-power-select └─┬ ember-basic-dropdown └── ember-wormhole@0.5.1 This addon will throw a build error until the developer explicitly resolves the dependency either by pinning the dependency with a resolution, or updating the addon with the outdated dependency.
ember-cli-deprecation-workflow ember-cli-deprecation-workflow is a runtime addon that comes in handy whenever you are updating Ember.js or Ember Data, you’ll eventually get deprecation warnings that need to resolved.
In the meantime the console is filled with deprecation warning noise.
The addon listens for deprecation warnings in the console, and adds each to a list.
It allows you to add each deprecation warning to a config file where you can work through resolving the deprecations one-by-one.
ember-cli-document-title ember-cli-document-title is a runtime addon that lets you update the document <title> on a per-route basis.
It lets you define the title directly on a title field on any route: // app/routes/post.js export default Ember.Route.extend({ title: 'A fresh new post 🥖' }); This addon should probably be part of Ember core.
ember-cli-dotenv ember-cli-dotenv is an addon that allows your app to consume environment variables at build time, as defined in a .env file: API_HOST=https://api.webapp.dev API_TOKEN=CHANGEME API_SECRET=CHANGEME This addon reads these variables and exposes them through the built-in config/environment.js that you can then import in your app wherever you need them.
You might want to make your API endpoint URL, port, or any secrets configured as environment variables.
ember-cli-template-lint ember-cli-template-lint adds lint tooling for handlebars templates to the ember-cli.
The lint rules are also automatically added to the test runner so the rules are tested against during ember test runs.
This addon was recently integrated into Ember core as a default addon.
ember-test-selectors ember-test-selectors helps you write tests that look more semantic, and with less churn between refactors.
This is because the pattern leads you do bind your tests to a test selector that shouldn’t change during a refactor (instead of directly to an HTML tag).
If your component produces HTML markup like this: <!-- before ember-test-selectors --> <h1>{{post.title}}</h1> <!-- after ember-test-selectors --> <h1 data-test-heading>{{post.title}}</h1> You’d change your testing patters to something like this: // without ember-test-selectors assert.dom('h1').hasText('Example text'); /* you've explicitly tied the test harness * to an HTML tag <h1>.
*/ // with ember-test-selectors assert.dom('[data-test-heading]').hasText('Example text') /* Now you're free to change * the HTML tag under test to * anything, and the test * assertion is less context * dependent.
*/ The test hooks, bindings, and data are removed from production builds leaving your live code running quickly, and clean of any test artifacts.
ember-truth-helpers ember-truth-helpers is a runtime addon adding a set of useful handlebars template helpers for additional truth logic, useful in if statements: eq not-eq not and or xor gt gte lt lte is-array is-empty is-equal.
qunit-dom One of my favorites, qunit-dom is a quality assurance addon that makes for more elegant test assertions against DOM elements.
Given the following rendered Ember component: <div class="ember-view"> <p class="copy">This is great</p> </div> and some example test code, before and after: // before qunit-dom assert.equal(this.element.querySelector('.copy').textContent.trim(), 'This is great'); // after qunit-dom assert.dom('.copy').hasText('This is great'); Combining qunit-dom with ember-test-selectors makes for even more powerful test assertions that are independent of the DOM, and all test artifacts are stripped from production builds.
<div class="ember-view"> <p class="copy" data-test-copy>This is great</p> </div> // combining qunit-dom and ember-test-selectors assert.dom('[data-test-copy]').hasText('This is great') eslint-plugin-ember eslint-plugin-ember adds Ember-specific ESLint rules to your ember app, and comes with a great set of recommended defaults that are updated as the community coalesces around best practices.
This addon will keep your app code looking clean and tidy, and nudges the code along a path of best practices.
This addon was integrated into the core as a default addon in Ember 2.18.
eslint-plugin-prettier Prettier is an opinionated code formatter, and eslint-plugin-prettier runs the format rules as an ESLint rule; it reports differences as errors or warnings as ESLint issues.
This allows you to catch formatting discrepancies in your editor as well as in CI builds.
Prettier rules can be applied automatically in your editor, or by ESLint using eslint --fix.
prettier Prettier is not an Ember addon, but a package I use in all my Ember projects.
Prettier is a code formatter that can automatically format the code in your editor (vim, VS Code, etc all have plugins) as well as detecting formatting issues test time.
Super useful for teams trying to maintain a consistent looking codebase.
Specific Usecase Addons The following addons may not be generally applicable to all applications.
I may not use them in all my projects but, when I need the capabilities they offer, then I will reach for them.
For example, if I need to authenticate users with an OAuth provider like Facebook or Twitter, I use ember-simple-auth.
ember-cli-addon-docs ember-cli-addon-docs is a build time addon that creates an interactive sandbox for versioned addon documentation.
This tools is wonderful for addon (and app developers!) who need to maintain versioned documentation.
This addon lets the developers write their code and not have to think about how the documentation is presented, generated, versioned.
The addon has its own code syntax highlighting, interactive live demos, and more.
ember-cli-bundle-analyzer ember-cli-bundle-analyzer is a build-time tool that creates a visualization chart allowing you to view the size and contents of an app’s bundled output, with their relative and overall sizes.
This tool is essential for determining which packages have the largest impact on the deployment size of your application payload.
ember-cli-deploy ember-cli-deploy is a build time addon that implements a deployment pipeline to upload and activate your Ember app on a variety of hosting providers.
It uses a plugin architecture allowing you to find a plugin to deploy to AWS, GCP, and many many more.
ember-cli-mirage ember-cli-mirage is an addon for mocking backend API responses on the client.
It runs in both development mode and testing mode to help you write, test, and prototype your app without forcing you to write the backend parts first.
The killer feature is how it unlocks your ability to do FDD (frontend driven development)— you can build frontend features that don’t depend on a backend by mocking the backend in mirage.
You can continue modifying mirage requests alongside your frontend feature.
Then when the frontend is feature complete, you have established a set of clear patterns you can then implement on the backend of your choice.
Mirage is also used during testing, intercepting and mocking API requests instantly so the tests can run more quickly, without making any external network requests.
ember-cli-page-object ember-cli-page-object is a test-time addon making it easy to follow the page-object pattern by Martin Fowler.
Page objects allow you to define the shape of a DOM page in an Ember acceptance test or integration test.
They tell your code what to interact with, but do not make assertions about those objects.
Your tests then reuse this object.
This reduces duplication of DOM selectors in your tests, making your test code less fragile and much easier to refactor.
ember-cli-release ember-cli-release provides a CLI for building your package, auto-incrementing version numbers, and publishing the packages to a package repository.
This is more useful for Ember addons that typically conform to semver conventions, but can be used for engines and applications equally.
ember-cli-typescript ember-cli-typescript is a build time addon enabling you to write TypeScript in your Ember apps.
It hooks into the build pipeline and transpiles TypeScript to JavaScript, and also supplies many of the type definitions for the Ember source code.
ember-cli-fastboot ember-cli-fastboot is an infrastructure addon.
It enables server side rendering of your Ember application.
FastBoot runs your application in Node.js so when a user visits your site, they are delivered a fully rendered static HTML page, and only after the content has loaded do they start downloading JavaScript.
Once finished, your Ember app takes over, delivering a typical SPA experience.
The best of both worlds, but not without complexity.
ember-cli-fastboot-testing ember-cli-fastboot-testing is a quality assurance addon that allows you to write tests against your Ember app running in the Node.js server context.
Since FastBoot runs Ember not in the browser but in a Node.js process, the standard Ember testing tools don’t apply.
This addon lets you write acceptance tests that can excersise code running on the FastBoot server.
ember-concurrency ember-concurrency is a runtime addon that makes it easier to write asynchronus code that support cancelation, restarting, expose their internal state, and much more.
This addon makes the difficulty of managing state transitions much easier.
ember-css-modules ember-css-modules is a built time addon enabling you to write component-oriented CSS.
Your styles become private to a component, route, or controller, with explicity features to allow style sharing and composition.
It works by making each CSS file its own isolated namespace by transforming class names to ensure they’re unique.
Your .css files are now peers of your component .hbs and .js files.
ember-intl ember-intl is a runtime addon for building internationalized Ember apps, has helpers for tranforming strings into multiple locales, formatting for messages, date/time formats, number, and relative time manipulation.
Provides translations using the ICU Message Syntax standard with pluralization support.
ember-intl-analyzer ember-intl-analyzer is a quality assurance addon providing tools to help you analyze an internationalized app and will locate unused translations.
ember-fetch ember-fetch is a runtime addon providing an alternative to AJAX requests.
It allows the app to make network requests.
ember-fetch is useful for applications needing to support network requests in both a browser and FastBoot context, and do not need to depend on jQuery.
ember-power-select ember-power-select is a runtime addon providing a powerful, and extensible <select> dropdown component that is highly customizable.
ember-simple-auth ember-simple-auth is a runtime addon for implementing authentication and authorization.
It maintains an authenticated client side session, authorizes network requests, and provides helpers in authentication flows like OAuth.
ember-svg-jar ember-svg-jar is both a build and runtime addon that improves the developer ergonomics around working with SVG assets.
It adds a build-time pipeline that discovers SVG files in the project repo and packages them as Ember templates.
These are then inlined into your app with an Ember template helper <SvgJar "[ASSET_NAME]"> that embeds the SVG directly into the markup of your page, without an additional network request.
It also has a beautiful visual directory route displaying all the SVG assets in your app.
Conclusion The above addons should cover most of your Ember needs.
I have only listed addons with good documentation, test coverage, and that continue to be maintained.
If you need anything more or want to take a general look at some of the addons that have are available I recommend starting with emberobserver.com.
Mt.
Isolation NH, USA.
Introduction Hikikomori (Jap.
引きこもり) and otaku (Jap.
おたく) are considered today’s most prominent social problems.
Hikikomori refers to the recent state of middle and high school students who drop out of school, and withdraw completely from society.
Otaku are the deeply obsessed fans of a particular subject who commit their free time (and sometimes lives) to the complete memorization of their obsession.
In both cases these groups are extreme exaggerations of common Japanese social tendencies.
The media in Japan is currently attacking these groups as harbingers of social chaos, and portrays them as a new group of outcast who will destroy society (at least kill many people).
This portrayal is not only accepted by the media, but by the society as well.
History has shown the Japanese social tendency to create outcast groups, isolate them, and then blame current social problems on that group.
These groups are then used as examples of “The Other”, a group that is in opposition to the main Japanese society.
This “Other” is used to construct a national and cultural identity by comparing it in opposition to the norm.
What defines a person as Japanese?
If you asked a Japanese person today that same question, they would have an easy time answering that question with a quick “A Japanese person is a person from Japan.” This answer does not consider people of foreign heritage born in Japan, such as Koreans, or children born from migrant workers.
If you want to be Japanese, you must look, speak, act, and most importantly be by-blood, Japanese.
“In short, while it is possible-though not particularly easy-for a foreigner to acquire Japanese citizenship, it is not possible for an immigrant or the children of immigrants to”become Japanese" the way such people can “become American.” The way you get to be Japanese is the same way you get to be Zulu or Shona in Africa: you have to be born into the tribe.
For that is what the people of Japan-or at least more than 97 percent of them-really are: members of a single great tribe united not just by common citizenship or common language but by common bloodlines, common racial memory and common tribal codes, so of which stretch back into prehistory." Christopher, Robert C., 51[2] Japanese society distinguishes itself from other cultures based on in-groups and out-groups.
The groups that are not Japanese, not local, and different are considered the out-groups.
Local groups, family groups, and traditional groups are considered Japanese.
To define oneself as Japanese you must simply define yourself as a member of the in-group, and others as members of the out-group.
This phenomenon has created an unconscious system of creating out-groups with each generation in order to achieve national self-identity.
The Past Looking into the past, we find a long tradition of an outcast system that has continued right up until today’s modern society.
With outcast groups such as the Hinin (Jap.
非人) class starting in the Heian period, which evolved into present-day Burakumin (Jap.
部落民), or Buraku.
Later, Westerners were seen as the new group of outsiders, bearing prosperity, change and new evils.
Later still we find the in surge of Koreans to fill the immediate need for industrial labor.
In the last few decades, the outsiders haven’t been literally from the outside of Japan, or from outside of the caste system, but instead from inside the deeper parts of the society, the seemingly average citizen.
These people are deemed socially inept, different, and therefore put to the outside.
The Buraku has existed since the 11th century, originally with such names as eta and Hinin.
They first were considered members of a class outside of the traditional caste system of Feudal Japan.
Today they characterize many of the same ways of life as they have in the past.
Most of these people work in the so-called Buraku industries of shoe making, dyeing, slaughtering animals and handling their skins, providing laborers for crematory or graveyard work, and scrap collection of all kinds.
Buraku also participate in unskilled low-level construction, garbage collection, street cleaning, as well as leather working.
Beginning with the Spanish and Portuguese seafarers in the mid-sixteenth century, westerners were easily identified as the largest group of strangers, or outsiders to the Japanese.
While these people were easily identified as outsiders because of their foreign origins, they were also outsiders because of the way they were seen and accepted by society.
“At the same time however, outsiders themselves were ambiguous figures, for usually they were believed to possess both beneficent and malevolent powers.
The stranger our outsider might have skills pleasing or valuable to the community and be the harbinger of good fortune in general, but he or she could equally well be the bringer of calamity, the bearer of evil.” Dower, John., 234[3] Koreans have been a largely disenfranchised group of Japanese society since Korea was colonized in 1910.
The situation of Koreans in Japan is that many were brought into the nation as migrant unskilled laborers for the immediate needs of the industrial revolution.
The problem arises when considering the consequences of a large group of foreign people who are thought of as never being able to assimilate into a homogeneous society.
Japan today doesn’t allow Japanese-born Koreans to become citizens despite the fact that their families have lived in Japan for up to three generations.
The Korean population is largely located in Osaka.
There is currently a movement to promote full citizenship to all resident Koreans, and equal status as a Japanese citizen.
The Present Koreans and Buraku are still considered out-groups in Japan today, however, they aren’t nearly as publicly discriminated against as the more recent groups that have been so popular in the media.
Recently there has been a surge of discrimination against groups of Japanese peoples within Japanese society.
These groups consist of socially divergent individuals who sometimes identify themselves as members of a specific group.
Such groups are the religious cults, otaku and most recently the hikikomori.
The cult phenomenon in Japan has ties with the traditional Japanese connection with self-identification with a specific group.
These values go back to the small villages that primarily grew crops, and survived as a group by trading produce and services within the small-encapsulated society.
These villages would be self-sufficient and reluctant to welcome strangers into the group.
The cult phenomenon is similar in many ways.
In the last fifteen years, cults have grown in size as well as numbers, the most prominent being the Aum Shinrikyo (Jap.
オ ウム真理教).
These cults are isolated from the rest of society, its’ members are not allowed to communicate with the outside world.
With the acts of terrorism in 1995 by this cult, cults are now seen as outsiders by the majority of Japanese society.
Otaku (Jap.
おたく) have arisen out of the early 1980s as a new group of mostly teenage and twenty-something year olds who share a common obsession.
The term Otaku is derived from its ancient meaning of addressing someone from another household, and implies that you are unconcerned with the details of the other persons family and circumstances.
It prevented the discovery that there were differences between ‘I’ and ‘You’.
Smith, 80-81[4] Today the term is used to mean “I am not interested in you or your inner life.
I share with you only a narrow interest.” Usually the obsession is about an obscure topic such as a dead rock star, a video game, an animated (anime) cartoon series, computers or internet.
These groups are seen as strange people who try to learn everything they can about an obscure topic, and therefore are different, and should be avoided.
The Hikikomori are the most recent group of deviants whom are shown in the media as the most troubled, and enigmatic.
Similar to otaku in certain ways, these people frequently have an obsession, but not always.
Loosely translated as “social withdrawal”, it refers to the state of anomie in which an increasing number of young Japanese seem to fall into.
These people typically refuse to go to school (Jap.
不登校), lock themselves in their bedrooms, and refuse outside contact with society.
This group is currently being scapegoated for a variety of social issues from school stabbings, and general violence.
The Victims Otaku can appear to be anyone, they could be your standard citizen, however with a few peculiarities.
To be an otaku means much more than to have an extreme obsession or passion.
Weather his/her specific knowledge pertains to a particular field, such an anime, manga, networking computers, realistic military models, or even daytime soap opera; or a more specific field such as a long-run Japanese anime series such as “Neon Genesis Evangelion”, or the character traits of every pokemon monster; all otaku strive for the same thing which is to fully immerse themselves into every minute detail of their object of obsession.
Although otaku frequently identify themselves with people with the same obsession, this is merely a superficial connection.
Most otaku never actually meet each other, but instead communicate through the Internet.
Otaku acknowledge the inability or futility to achieve the intimacy of ‘authentic’ human interaction.
They draw a protective barrier around themselves, and use their obsession as the bricks in the wall.
Communication between otaku of the same obsession at it peak would be chatting, face-lessly over the internet, safe behind their monitors in their own homes.
Otaku spend their time obsessively memorizing and analyzing facts.
If they love computers, then they will read everything and anything about computers they can find, from how to install a strange operating system-to designing their own robots.
If they obsess over the latest daytime drama, then they will memorize the characters lines, and perhaps write stories involving the characters in different situations.
This act in itself is an act of perseverance and conformity to the education system that he/she was brought up in.
Both of these qualities are seen as having ‘virtue’ in Japanese society, but when brought to extremes can have serious social implications.
“This is the purest imaginable display of the narcissism inherent in Japanese society.
The otaku desires both an idealized union and an impregnable independence-the classic drives of the narcissist.
He seems postmodern and marginal but is deeply traditional in his rejection of the unfamiliar.
Students in the ancient schools of tea ceremony were like otaku.
Every member had to be a mirror of every other member.
The otaku represent rebellion as parodic conformity.” Smith, 81[4] The media have recently jumped on the rash of violent activities of a few otaku and have made the group into monsters.
The rate of teenage violent acts of crime has not increased dramatically in post-bubble years, however the media now has a scapegoat to points its finger at.
Now whenever a violent crime occurs, the media jumps to cover the latest details, and point the finger at violent otaku as the culprits.
One such incident was the seventeen-year-old boy who bludgeoned passengers at a Tokyo subway station with a baseball bat.
A very well known incident was the Kobe murders of a child whose head was placed on the wall of the schoolyard.
The teenage culprit was deemed an otaku.
The media jumped on the case of man who had kidnapped, raped and murdered young girls, and kept them in his house, which was full of hentai manga, or erotic comics, the media then labeled this collection as “obvious signs” of an otaku.
Hikikomori are the latest addition to outcast groups in Japanese society.
Some hikikomori are school dropouts whom refuse to subject themselves to Japan’s educational regime.
These children fail to become a part of the in-group of the school system, in both academics and more importantly with their peers.
Bullying and isolation are usually the major reasons for these people to leave school.
A feeling of individuality can cause them to feel different, and therefore wrong (Note: The Japanese word Chigaimasu (Jap.
違います) means both to be different and to be wrong).
Hikikomori can feel that they have failed society, or that society has failed them.
By withdrawing from society and denying its existence, they can concentrate on themselves by escaping to a fantasy society such as television, or the internet, a place where nobody can put one under the eyes of scrutiny.
There are an estimated one million hikikomori in Japan today.
Hikikomori for whatever reasons feel isolated and therefore different, this leads them to remove themselvse from society, and withdraw into themselves.
Dropping out of school is the major step in becoming a hikikomori.
Instead of going to school, most of these children spend all of their time in their bedrooms playing video games, watching television, and participating in and other forms of self-satisfaction.
Hikikomori are different from otaku in the way they consume these forms of media.
Otaku devour the media as a form of knowledge and as a way to make themselves part of a group.
Hikikomori on the other hand use this media as a form of escapism.
Television allows them to see the outside world without them being observed or tested.
Video games are a way to interact without personal attachment, or true human interaction.
Many hikikomori will use the Internet to communicate, a form of communication that involves no direct human contact whatsoever.
Japanese media and society has recently begun to concern itself with these children.
It is caught in a paradox where it cares about these children, but at the same time praises devices like the Sony Playstation 2, which contains an Internet terminal, and a DVD player, both which can be used by a hikikomori to isolate themselves.
These devices allow for entertainment, but at the same time the ability to conduct commercial transactions online, without stepping out of the house.
It fixes people into their individual space.
The Causes What causes these people to become they way they do?
The Japanese education system is ideal for a state that means to create people who will work well in industrialized society, and contribute to the state by being a productive individual who works towards the common goal of prosperity for the nation.
“Pupils are taught not to think but to accumulate immense piles of disparate facts that can be repeated on command but cannot be connected.
This is not an accident or a lapse.
Rote learning is the child’s next lesson is dependence.
To think is an act of autonomy; to memorize the given is to rely upon authority.” Smith, 78[4] This type of education system, rote learning, is measured by intense examinations that will judge if you have conformed, as well as if you have memorized the facts presented to you.
The subject will either pass or fail; this does not judge individual achievement, or critical thinking, but instead to rewards the most conformist individual with entrance to industrial society.
“Savage competition and force-fed information without the cultivation of critical thought go far to explain the character of Japanese graduates.
The system’s demands-years in exam hell, every other student an adversary-produce not exploring intellects but the narrow, machinelike people we assume the Japanese to be by nature.
Wholly focused on achieving the highest possible place in the hierarchy, they are unable to form healthy ties with equals-horizontal relationships.
They are indifferent to most public issues because they are unnaturally inward-looking and (by official design) ignorant of large patches of their own history.
Outside of a few conventional settings-karaoke bars are one-they display little sense of autonomy”.
Smith, 79[4] Otaku are the direct result of this type of education system.
They are an extreme example of an authoritarian and militaristic rote learning system gone horribly wrong, an overextention of the education system.
While these people consciously rebel against the society that has created them, they simultaneously conform to and exhibit the same tendencies and characteristics that the system has instilled in them.
This paradox has created a people who are extreme examples of “The perfect Citizen”.
One who unquestionably lives, works, and only thinks about the topic given to him/her.
This phenomenon is concrete, as you would find it increasingly difficult to find an example of otaku outside the realm of the academic system.
“There is no doubt that Japan’s educational system produces a dedicated workforce, and that these”corporate warriors" are the engine behind Japan’s tremendous industrial strength.
Obedience to authority, instilled in people from the time they are small children, makes Japanese society work very smoothly, with far less of the social turmoil and violent crime that have plagued other countries.
All this is on the plus side of the balance.
But there is a minus side, which, like so many other modern Japanese problems, has to do with once-good ideas carried too far." Kerr, 285[6] Hikikomori, on the other hand, also exhibit symptoms rooting from problems within the education system.
These problems are from a different issue entirely.
The Japanese education system is built upon the concept of the individual as a contributor to the society.
“Standardized textbooks, uniforms, school rules, marching in lockstep around the school grounds, bowing in unison-these regimens were able to achieve what 350 years of isolation could not: a triumph over regionalism and individuality.
It was probably Japan’s single most serious modern maladaptation.” Kerr, 282[6] When children start schooling in kindergarten, the teacher assigns the students into “kumi” or groups.
These groups will stay together until graduation; they play together, eat lunch together and study together.
The kumi system builds a strong basis for an “us” and a “them”.
A popular phrase develops from this group orientation called “nakama hazure” or to be cut off from the group.
The children forge a special bond from their group, and don’t want to be cut off from the group, or they will feel rejected.
Hikikomori have often been rejected from their kumi, and have chosen either because of a feeling of failure, or a feeling of rejection, to withdraw.
This kumi system is a major catalyst for the budding hikikomori, and most current information shows that these children had problems with being accepted into such groups.
School bullying, or ijime is a major issue contributing to the problem of hikikomori facing the Japanese education system.
Ijime arises from the fact that accepting your role in a conformist society is one of the major issues growing up in Japan.
Accepting your role as a member of a cohesive group is troubling for youngsters in the system.
Due to the intense pressure to conform from kindergarten onward, many students resort to ijime.
Any sort of difference is a target for ijime, from a difference in speech, or appearance, even excelling in a specific course is reason enough.
Many times students who excel at a particular class will perform poorly so as not to stand out.
There isn’t much a student can do against this style of bullying as the one who is bullied is considered the one to be at fault.
Teachers indirectly encourage it, to emphasize obedience within the group.
Students who have studied abroad are obvious targets of ijime.
So different is their upbringing that their classmates have coined a new word for them; kikokushijo or “Returnees”.
Often times these students have to attend special schools to be indoctrinated back into Japanese society.
An interesting phenomenon in Japan is the way the class teaches itself, from after-school study groups, in class help, and self-assigned roles of class-representative, etc.
This also involves some children trying to unconsciously involve the others into the group.
If a child is expressing his or her own opinion, has her own aspirations, or doesn’t exactly fit into the group, she or he will be ostracized.
With all of these separate issues combined, the issue of continuing to be an individual becomes increasingly difficult.
Hikikomori are the result of the unconscious rebellion against a system that creates robots.
These children do not want to be part of a society that has no individual thought.
Since they have no contact with school, they also loose sight of education, and complete social maturation.
Here they fall in between the social requirements needed to live in Japan, but also lack the individuality to become an autonomous person.
Results Now that the Japanese have a new out-group, the finger of blame can be directed as the source of an assortment of social problems.
Japan is now looking at these “fringe-groups” as the source of the problems, instead of examining the make up of society and the educational system as the root of the issue.
The media continues to pounce on every opportunity it gets to portray just how sinister and deplorable members assigned to this group are.
Until Japanese society begins to examine its own social psychological processes, it will continue to persist an environment that continually defines its own identity by reference to out-groups that it creates and reinforces.
References 1.
De Vos, George A.
Social Cohesions and Alienation: Minorities in the United States and Japan.
Boulder, Colorado: Westview Press, Inc.
Print.
1992.
2.
Christopher, Robert C.
The Japanese Mind.
New York: Fawcett Columbine.
Print.
1983.
3.
Dower, John.
War without mercy: Race and power in the pacific War.
“The Demonic Other” New York: Pantheon Books.
Print.
1986.
4.
Smith, Patrick L.
Japan: A Reinterpretation.
New York: Vintage Books.
Print.
1998.
5.
Murakami, Ryu.
Japan’s Lost Generation 1 New York: Time, Inc.
Web.
2000.
6.
Kerr, Alex.
Dogs and Demons: Tales from the Dark Side of Japan.
New York: Hill and Wang.
Print.
2001.
Photo of Mt.
Isolation by the Author.
Lets face it, Do Not Track (DNT) is dying a slow death.
Content providers are either ignoring the setting, or giving lip service to DNT while taking no action behind the scenes.
Worse yet, if users are able to find the browser preference, they don’t understand its purpose or value.
Enabling the feature is confusing, and quite inconsistent between browser vendors.
Goggle Chrome hides the feature behind an “Advanced” barrier.
Features and settings are typically placed behind this type of barrier when the feature could cause problems for novice users, or as a catch-all for rarely used features.
Features labelled “Advanced” intimidate many users from activation.
Chrome labels the feature: Send a “Do Not Track” request with your browsing traffic which is misleading; an additional request is not sent, instead a header is included in requests made to the server.
Chrome further discourages activation with a confirmation dialog containing a wall of legalese when the user clicks the check box.
see video illustration Google Chrome hides the Do Not Track feature behind a wall of legalese Mozilla Firefox features the DNT setting more prominently at the top of the Privacy tab.
While the wording is simple and clear, it offers little contextual explanation, and provides no incentives to encourage activation.
Firefox provides no incentives to activate the DNT feature.
Apple Safari is the most confusing, it labels the DNT feature with the text “Website tracking” followed by a check box.
This construction misleads users into thinking that enabling the feature will act as an explicit opt-in to website tracking.
Ask websites not to track me is a request to opt-in to a negative; this requires a moment of mental aerobics many users trip over.
This of course, discourages users from enabling the setting.
The Safari setting misleads users into thinking that enabling DNT will be an opt-in to website tracking.
Microsoft made a bold choice by choosing to enable DNT on by default in Internet Explorer 10.
A great example to set, and good for their user privacy.
The wording of the feature label could use some clarification however.
Again, the wording here misleads users into thinking that additional requests are made to sites they visit.
Internet Explorer 10 enables DNT by default.
DNT is not a technical problem At its core, this is a social problem, not a technical problem.
There are four stakeholders involved, all their interests need to be aligned in order for this project to succeed.
The user needs to understand the value of DNT to their everyday privacy.
The browser vendor needs to be encouraged to implement DNT that best serves their interests: acquiring & maintaining users, and accommodating content providers.
If DNT is going to succeed, the approach needs to give incentives to both browser users as well as content providers.
The Approach The most effective way to promote the adoption of DNT is to appeal to peoples emotions.
Lets first consider the appeal to fear.
An appeal to fear will result in web browsers who are afraid of marketing companies building “Shadow Profiles” behind their backs and black-masked hackers around every corner looking to steal their identities.
An appeal to fear will result in content-providers fearing the day search engines begin punishing them for failing to honor DNT.
The alternate approach is to appeal to positive emotions.
Highlight the user benefits of DNT as a browser feature that promotes privacy, while highlighting the business benefits of DNT to content providers, search engines and browser vendors.
- Reward users by showcasing what they gain by enabling DNT.
- Reward browser vendors who implement DNT in a user-friendly way.
- Reward content providers that honor DNT with increased search engine position.
- Reward search providers by increasing or maintaining user return rate Users Users will be empowered when they’re given tools to control their online privacy.
This is initially an emotional feeling when their browser displays a message in the UI indicating their privacy is more protected, but more long term it maintains free agency with ones interaction with the web.
Browser Vendors Browser vendors will be motivated to increase user acquisition and maintenance as users switch to the browser with more simple and easy to-use privacy-centric functionality.
Browser vendors should increase DNT usage by defaulting to DNT=1 when the user enables privacy mode.
Content Providers Sites offering pro-DNT content and services will acquire more visits with higher search engine placement; once Search providers begin rewarding sites that honor DNT.
Search Providers As users migrate to search providers that offer pro-privacy services, these providers will see an uptick in user acquisition.
There is an emerging privacy market, and those with pro-privacy offerings will eventually be the ones who win — as marketing surveillance becomes more ubiquitous and users wise-up to its encroachments on privacy.
Updates January 2019: Apple Safari browser has removed support for the expired Do Not Track standard to prevent potential use as a fingerprinting variable.
Tracking Protection Working Group has been closed.
------------------------------------------------------------------------ Resources - Mozilla DNT Usage Metrics Dashboard - W3C Unofficial Draft Proposal - W3C Tracking Preference Expression (DNT) - FTC Comment on DNT - Do Not Track Field Guide (Mozilla) - Do Not Track Implementation Cookbook Thanks Thanks to [@MickD](https://twitter.com/@mickd) for informing me that Microsoft IE10 comes with DNT enabled by default.
------------------------------------------------------------------------ This article was originally published on Medium.com
Take a moment to count the number of unique scrollbar widget types there are in Adobe Photoshop.
You may be surprised.
“You can measure software maturity by the number of UI toolkits it implements.” I’ve counted four in Adobe Photoshop CS5.
Photoshop Scollbars
It seems fitting that I write this article on #HumanRightsDay Privacy is a fundamental human right.
It is the right to control to whom and to what information is shared with others.
Privacy protects the criteria used to determine how information is deemed private.
Simply put, it’s ones right to keep or share information they themselves deem as private; something is private when one deems it thus.
Since the advent of the first banner-ads on the web, advertising has grown to become the most popular business model, and with the growth of advertising there has been an equal expansion of tracking techniques.
These techniques include tracking users clicks, the duration of site visits, metrics about device capabilities, the variety of sites visited, and the frequency of these visits are only the bare-minimum for todaysʼ tracking analytics.
What is considered “business as usual” today includes a plethora of intrusive techniques that were previously considered to be spyware.
This includes techniques such as mouse movement recording, keylogging, geolocation tracking, and even video recording of what the user does on every web site they visit.
Current tracking practices are intrinsically based on a disrespect of peoplesʼ personal and private data.
Tracking companies business models are based on the presumption that 1.
You forfeits your right to privacy in exchange for ad-subsidized content, and 2.
Your personal data belongs to them.
These conditions are not sustainable in the long-term if we wish to maintain the right to privacy in the future.
Privacy will continue to be erroded for all classes of society, but will especially impact the poor, who cannot afford to opt-out of ads in exchange for a subscription.
Overview of Web Advertising Tracking practices arose from the last twenty five years of the web, during a time when the vast majority of web content was subsidized by banner ad-based business models.
These models naively depended on the collection of increasingly intrusive metrics in order to precisely target consumers.
As ad markets became more efficient over time, metrics needed to become more precise in order to keep advertising conversion results positive.
Itʼs an arms race between the ad-networks competing to deliver ads with better and better conversion rates.
This model of increased tracking and surveillance in exchange for optimized return on investment has been called “Surveillance Capitalism”.
Ad-networks are middlemen who facilitate a “triangle trade” between content-providers, advertisers, and users.
In this system, a content provider (e.g.
The Wall Street Journal) wishes to publish a news story to their readers.
Their costs include paying reporters, hosting the website, and they wish to be paid by an advertiser.
The advertiser (e.g.
Chase Bank) wishes to get attention to their product (e.g.
a new savings account), by placing an ad in front of users likely to open a savings account.
The advertisers costs include designing an ad, and paying the ad-network to place the ad on sites within the ad-network (i.e.
ad-networks have many sites, one of which is wsj.com).
The user wishes to read the latest news (preferably for free).
The ad-network is a match-making company, they (via tracking analytics) are able to see which users visit the sites in their network of content-providers, and are able to instantly place an ad for the Chase savings account to the user of the Wall Street Journal who has a metrics profile most similar to other users who have opened a new savings account recently.
The ad-network matches advertisers to the users most likely to buy something from the advertiser.
When the ad is placed, the user sees the ad, the ad-network is able to inform both Chase bank and the Wall Street Journal that the ad was seen.
Finally, the ad-network is paid by Chase, and the Wall Street Journal is paid by the ad-network for hosting the ad.
Users “pay” for the websites they visit in hidden ways.
They pay by implicitly allowing ad-networks to build a marketing profile about themselves.
Their browser automatically sends information to the ad-networks about their browsing behaviors.
This happens without users consent or knowledge.
This data is shared between the ad-networks, then aggregated and combined to create detailed profiles containing lists of sites users have visited over time, including what theyʼve done on those sites.
This profile is then used to efficiently advertise products and services to the user.
Users also pay for the amount of data ads consume on their smartphone data plans.
For example, on TMZ.com[1] there are 47 different trackers, 42 different cookies, and a single page request to the homepage takes 10.02 megabytes of data across 262 requests.
This request averages 52 seconds to load.
The user-experience is slow, and the homepage doesn’t allow the user to read a single article.
With an ad-blocker installed, the site payload was only 3.87 megabytes of data across 104 HTTP requests, averaging 9.76 seconds to load.
This is a significant speed and data improvement, and showcases the reduced data savings.
Up to 50% of a users mobile-phone data plan is used for serving ads, each ad taking ~5 seconds to load, and decreasing overall phone battery life by ~20%.
The top 1-million sites use an average of 25-30 trackers.
Users “pay” for content with their security as well.
In 2016 malware being served via ad-networks was up 132%[2].
The problem with current tracking practices is that users are not empowered to make consensual decisions around how their online behavior is collected and aggregated.
Users are unaware of the sacrifices they’re making to view content online.
Do Not Track (DNT) Do Not Track is a technology and legal framework that enables users to opt out of tracking by ad-networks, analytics services, and social platforms.
DNT empowers users with a choice they currently don’t have.
It’s a feature in web browsers that allows users to express their preference for not being tracked to the web sites and services they use every day.
A new set of laws including the EU GDPR and California AB 370 provide a legal regime to enforce the respect of this new browser preference.
Combined, the technology and law provide a viable path forward to reclaim the right to privacy on the web.
DNT is a user making an explicit feature request, I do not want to be tracked.
It is a better version of the Do Not Call registry.
DNT is a user preference that forces the browser to send an HTTP request to the server explicitly telling that server not to track user behaviors.
Privacy is a Feature People (generally) don’t care about privacy until they’re affected by its’ loss.
A few examples; people provide their email addresses to get a receipt at a brick-and-mortar store after a transaction, but hate when they receive spam.
People use credit cards on sketchy websites, but hate when they see fraudulent charges.
People reuse the same weak passwords on multiple websites, but hate when they get hacked.
The problem is an expectation of privacy when they’ve taken actions that undermine their privacy.
DNT and the laws that enforce respect for DNT enable users to take action to express their right to privacy.
Web companies and services that respect it have an opportunity to benefit.
Companies like Apple are setting a good example of this mindset towards privacy by building pro-privacy features and services.
Privacy marketing will be an important value-add for Internet commerce.
It will be a terrific way to gain market share at the expense of the competition – or to lose much of your market share, if you find yourself on the wrong end of a privacy campaign —Nick Szabo Organizations that respect and offer a straightforward choice around tracking to their customers will earn their trust and loyalty.
“great experiences don’t have to come at the expense of your privacy and security.
Instead, they can support them.” —Apple Apple seems to have wised-up to selling privacy as a component of a luxury product.
They have marketed features like TouchID, ApplePay, encryption and differential privacy as privacy-securing features.
At the same time they have undermined privacy in numerous ways.
The EU GDPR and AB 370 Browsers and servers today can implement technological support for DNT, but until recently, ad-networks had no incentives to honor DNT.
The ad-networks continue to ignore the DNT request, and continue tracking users either explicitly or implicitly.
They had clear disincentives to ignore the user-preference.
California law AB 370 makes it more difficult to continue to ignore DNT without explicitly excluding Californian residents.
The law, (regardless of where the website is hosted) modifies the California Online Privacy Act.
Under SECTION 1, Section 22575 requires a site to disclose how it responds to the Do Not Track preference.
SECTION 1.
Section 22575 (5) Disclose how the operator responds to Web browser “do not track” signals or other mechanisms that provide consumers the ability to exercise choice regarding the collection of personally identifiable information about an individual consumer’s online activities over time and across third-party Web sites or online services, if the operator engages in that collection.
(6) Disclose whether other parties may collect personally identifiable information about an individual consumer’s online activities over time and across different Web sites when a consumer uses the operator’s Web site or service (7) An operator may satisfy the requirement of paragraph (5) by providing a clear and conspicuous hyperlink in the operator’s privacy policy to an online location containing a description, including the effects, of any program or protocol the operator follows that offers the consumer that choice.
This means sites need to explicitly say whether they honor or do not honor the user expression of DNT.
This doesn’t go far enough to incentivize companies to actually honor DNT, it merely incentivizes them to disclose how they address the preference.
Ultimately this will not empower users in any practical way.
EU General Data Protection Regulation (GDPR) was designed to harmonize data privacy laws across Europe, to protect and empower all EU citizens data privacy and to reshape the way organizations across the region approach data privacy.
It was approved by the EU Parliament on April 14, 2016 and entered in force on May 25, 2018 - at which time those organizations in non-compliance could face heavy fines.
You may have already seen the preemptive effects of the EU GDPR in the wild, such as the “cookie disclosure” notice on many sites in the EU and UK: “Yes, I accept cookies”.
The EU GDPR law goes much farther in that it gives users actual choice rather than just disclosure.
To summarize the law, it applies to all companies processing the personal data of data subjects residing in the EU, regardless of the company’s location.
It also applies to a controller or processor not established in the EU, where the activities relate to: offering goods or services or monitoring of behavior of EU citizens.
Non-EU businesses processing the data of EU citizens will also have to appoint a representative in the EU.
Organizations in breach of GDPR can be fined up to 4% of annual global turnover or €20 Million (whichever is greater) of the previous year.
Most serious infringements are not having sufficient customer consent to process data, or violating the core of Privacy by Design concepts.
Companies will no longer be able to use legalese terms and conditions, that is to say, request for consent must be in plain language.
Any data collection and processing must be directly attached to the point where consent is given.
Companies can’t just collect information for any purpose, the purpose must be clearly limited and stated.
Finally it must be as easy for consumers to withdraw consent as it is to give it.
The GDPR includes the “Right to be Forgotten”, also known as “Data Erasure”.
It entitles the user to have the data controller erase personal data upon demand as well as cease further dissemination of the data.
It also forces third parties to halt processing of the data.
“Data Portability” is the right for a user to receive the personal data concerning them, which they have previously provided.
It must be in a “commonly used and machine readable format”.
The user has the right to transmit that data to another controller of their choosing.
A major component of the GDPR is companies can no longer “Collect it all now, use it later”.
Under Recital 39, it notes that “specific purposes for which personal data are processed should be explicit and legitimate and determined at the time of the collection…” Recital 32 notes that “When the processing has multiple purposes, consent should be given for all of them…” If the data is later to be used outside the scope of original purpose, user must receive an explicit opt-out opportunity accoding to GDPR, Article 6, paragraph 4, Recital 50.
The language of the original purpose must be in clear, plain language (not legalese) according to GDPR, Article 13, paragraph 1, c.
These regulations together provide a much more user-centric set of rights that were previously impossible for users to exert over data collectors.
Together with the DNT feature, users can finally push back against online tracking.
Technology Pushes Back Against Tracking DNT and anti-tracking technologies are making the previously hidden practices of web tracking visible to the end-users.
This technology will (hopefully) help shine light on the seedy underbelly of intrusive advertising.
It’ll make the invisible visible.
These changes will empower users to make informed decisions that were either technically difficult, or outright hidden.
Safari web browser has a new feature called “Intelligent Tracking Protection” or ITP, which purges third-party cookies that are determined to be able to track users across sites.
After 24 hours, the third-party cookies can only be used for log-in purposes if the user visits that site as a top-level domain.
All cookies are purged after 30 days.
The software utilizes a machine learning model to classify which top privately-controlled domains have the ability to track the user cross-site, and those determined to be trackers will be deleted from the browser.
Firefox will soon allow users to prevent tracking cookies in the “Tracking Protection” feature.
Eventually, cookies set without explicit DNT consent will be blocked if the user has enabled Tracking Protection.
It remains to be seen if this feature will be enabled by default.
Firefox 57 introduced a change to how the browser loads scripts matching domains in their Tracking Protection database.
This has the effect of reducing the perceptual page load time for the 1st-party site, and making tracking ads load more slowly.
Google Chrome will begin filtering obtrusive ads by default in early 2018.
Chrome filtering will work by the Google search engine conducting an “ad experience review”.
Reviews are periodic, and result in a “passing”, “warning” or “failing” grade for the site under review.
The ad review engine crawls a subset of site pages, conducts “user-like” interactions, and compares ad experiences to their “better ads standards”.
If the site detects violations of the standard, the report will result in a “failure”.
Sites with ads with a failing Ad Experience Report will have their ads filtered in Chrome.
It remains to be seen if this feature will be enabled by default.
Chrome ad filtering is controversial because Google has a direct conflict of interest in that its ad filtering will punish the ad-networks that are in direct competition to the Google-owned Doubleclick ad-network.
It is in Googles’ best interests to filter ads from their competition, such that it incentivizes advertisers to use the Doubleclick network since Chrome would be filtering ads outside the Doubleclick network.
This could result in monopolistic behavior on the part of Google.
A new player in the browser market is the Brave Browser.
Brave is founded by Mozilla founder and creator of JavaScript Brendan Eich.
Brave provides an “ad-less” web experience.
It enables a direct monetary relationship between the content-provider, advertisers, and their user audience (replacing existing ad-networks).
Brave browser will include a new cryptocurrency called the Basic Attention Token (BAT) that facilitates a marketplace directly connecting content-providers, advertisers and users.
Users can opt to directly pay the content-provider for content using the BAT token.
Alternatively, users can be paid BAT tokens in exchange for seeing ads placed by the advertisers participating in the Brave ad-network.
These BAT tokens can be used to pay for content created by content-providers.
Brave has been tight-lipped about how exactly users privacy will be better protected on their ad-network compared to existing ad-networks.
Another recent entrant into the browser space is Better, a browser built according to Ethical Design concepts.
This browser eschews “better ads” standards that companies like Google, Brave, Ghostery, and AdBlock Plus are promoting.
Instead, it offers a product thats’ interests are aligned directly with consumer interests because they are paid directly by its’ users, and the business model doesnʼt rely on surveillance capitalism in order to make money.
Preparing for the Future There is potential for the changes described above to have wide impacts on the advertising industry, and I have some recommendations for organizations that wish to get ahead of these changes in order to reduce risk and lower the force of the impact.
- Design with privacy as a guiding principal.
It’s far easier to handle privacy considerations in the design phase rather than having to backtrack a product once built.
- Design humane technology that respects users privacy.
- Consider where users privacy is placed at risk.
- Design features that achieve a goal with a smaller or no privacy impact.
- Design data collection features that ask for informed, explicit consent.
- Differentiate your organization by highlighting a privacy-respecting approach to data collection.
- Be a good corporate citizen by empowering your users with choice around how their data is collected.
- Allow users to both export their data, and delete their accounts from the product.
- Honor the DNT browser setting according to the EFF DNT Guide.
- Describe in plain language how users data is collected and used.
- Reduce the amount of metrics stored internally to the minimum possible, and purging that data whenever possible.
With technology and law moving forward in lockstep, I see a positive path forward for the protection of the right to privacy online.
This article is adapted from a series of talks given at Nara Logics in 2015, and later at Cinch Financial in 2017.
0xADADA (name redacted) is a software engineer and consultant.
He speaks about the intersection of technology, privacy, law, and cryptocurrencies.
You can find him online by the pseudonym “0xADADA”.
References 1.
TMZ.com homepage as of December 2nd, 2017.
2.
Online Tracking: A 1-million-site Measurement and Analysis.
Englehardt, Steven and Narayanan, Arvind.
Princeton: ACM CCS 2016.
2016.
This is a guest post by Stephen Shellenberger.
Read more of his work at Boston Apothecary.
We are clearly in a divided country, but what is the nature of the divide?
Each side keeps placing the other in numerous rhetorically charged categories that obscure the root of their separation.
Are we divided by geography being coastal elites or fly over states, or are we merely parties like Dems or GOP?
It is more likely that we are merely optimists and pessimists.
It is also likely that pessimists who take power can never flip and create optimism.
Peeling back the rhetoric, our divide is near the root of our value system where we decide to believe whether people are inherently good or bad.
Always the optimist and running on a platform of hope, Obama, frequently said very plainly he believes people are inherently good.
A recent NYTimes op-ed quotes an astute baptist minister from the other camp who says: “The difference between Republicans and Democrats is that Republicans believe people are fundamentally bad, while Democrats see people as fundamentally good,”.
Believing someone to be inherently good or bad has profound impact on policy.
Pessimists, often religious, do not think all people are bad, but all are bad until they are saved or reborn.
If you are not saved, you do not deserve a safety net.
To walk among the unsaved, you need a gun at all time in any space.
Pessimism often runs with paranoia and can give way to resentment and vindictive policy where integrity and constitutional beliefs are too easily sacrificed to punish the other camp.
Common sense says that the economy is more likely to grow under optimism than pessimism, but what is the resource democrats draw their strength from and is it geographically concentrated?
Optimism is supported by the philosophical and economic concept of the public good.
Philosophically, the public good is rights like the freedom of speech while economically it is resources like a properly funded public school system.
The concepts are seldom explicitly taught even among economic schools, but have been well outlined by thinkers like John Ralston Saul.
Due to the nature of the parties, blue states have more of it and red states less.
Whether you practice or not, without even knowing it, we are first introduced to the public good via religion.
The stories of the Koran, the Bible, and the Torah all strive to codify the public good.
When religions overlap to reveal universal truths, that is the philosophical arm of the public good.
Gandhi said all religions are true because all religions strive to have a relationship with the public good.
If an ancient religious text seems dated and not to be taken literally, that is because what is good is in flux and constantly needs progressive revision and the removal of interests.
Adamantly promoting an outdated, unreflected upon version of the public good to support an interest creates pessimism.
The next great codification of the public good (and recognition of its fragility) that we are exposed to is the United States Constitution.
The document is set up to prevent erosion or deliberate destruction of the public good by outlining checks and balances to government bodies as well as containing a strong bill of rights.
The document can also be officially amended to reflect the public good so it does not become as easily dated as a religious text.
But how does this all relate to the current divide within the country?
Times of American growth and prosperity have taken place during periods where a vast majority have optimistically believed other people were inherently good without being hyper conscious of it.
Prosperity has also coincided with policy that strengthened the resources of the public good so that they could be drawn upon for optimism.
Economically, the public good is a vast network of resources holding immense hard to quantify wealth so it has become a major target for kleptocracy and looting.
The public good is hard to notice and outline so that it becomes hard to defend when it is stolen from such as the privatization of prisons or privatization of essential services like fire departments.
We are currently seeing efforts to privatize public schools which may be the public good’s single greatest resource for optimism.
It is important to recognize what should be public and what should be private and to understand the benefits of both because they feed each other and help us find balance.
Private for profit institutions can never have the full goals of public institutions and therefore cannot generate the same optimism that drives prosperity.
Public resources such as research are integral to business optimism and make it easier for competitive private enterprises to start and grow.
Due to externalities, production often has costs not factored into the price of a good.
Protections from public institutions like the EPA create and maintain optimism by assuring the public will not foot the bill down the road for the accumulated destructive behavior of a corporation.
The pessimists have always been in this country, but they have never recently been so strong.
Previously, pessimism was mainly the product of religion, particularly fire and brimstone versions of Christianity, but atheists and agnostics also have to form a value system and need to see the public good to become optimists.
Optimism is harder when you are geographically further away from the resources of the public good which is disproportionately concentrated in cities due to high population density.
Numerous catalysts for pessimism exist and a very significant driver has been terrorism created by economic unrest in unstable regions that have very weak public institutions and resources.
The priest sex abuse scandals have also been very significant in destroying trust in a large institution that, whether you are religious or not, still plays a large role in the public good.
McLuhan-esque changes to media have also weakened optimism and challenged the resolve of all our public resources.
Social media is more like algorithmic media and nth degree negative stories get promoted to the fore generating pessimism and paranoia.
Due to the algorithmic promotion of stories, many people believe crime is increasing while in actuality statistics show it to be decreasing.
Optimism and pessimism profoundly impacts policing.
Who is more likely to shoot an unarmed black man pulled over for a simple traffic violation, an officer that believes people are inherently good or an officer that believes people are inherently bad?
Proper funding for public institutions like police departments are integral to maintaining the public good which carries optimism.
The funding for these institutions has been ravaged by globalism via the inability to raise taxes.
The source of funding changes a municipal police department’s place in the public good.
Forcing officers to fund themselves from one by one ticketing creates downward spiral of pessimism with consequences of series social unrest.
Gun rights can be looked at in the context of the inherently good or bad construct.
Citizens successfully move about coastal cities with optimism not carrying guns by holding the belief other people are inherently good while many rural dwellers (to pick a category name) do not believe they can visit the city without a gun.
They believe people are inherently bad, or work on a sliding scale where some easy to recognize people are inherently bad.
To hold an other saved, they have to be vetted personally.
Coastal cities benefit economically from an upward spiral of optimism generated by creativity that results from pursuing diversity and inclusion.
This is all made possible by believing people are inherently good.
Strong optimism correlated to key features of the public good helps coastal cities to easily weather storms that directly effect their locals such as terror attacks in New York or Boston.
Distant pessimist locals are disproportionately shook despite their distant location.
The current GOP, believing people are inherently bad, is a dead end and cannot create optimism once they take power.
The economic arm of public good holds immense wealth and instead of keeping size in check, while recognizing its importance, ideology has taken hold with a goal of destroying any optimism supporting public good not tied down.
Private business growth within GOP ideology comes from the looting of the public good.
Public institutions that should remain public are privatized and protections are removed which create externalities that will have to be paid for later by the public.
Current GOP policy does not create original prosperity, but rather only a transfer from the public good to private hands.
This inherently good versus bad, optimism versus pessimism construct lies beneath the rhetoric and hopefully is helpful to put a finger on exactly how we differ within this divided country.
The relation of the public good to optimism and its associated prosperity hopefully can constructively guide policy to narrowing the divide.
Rural areas need the resources of the public good that urban areas have been able to draw from if they are to conquer their pessimism.
Believing people are inherently good is a hard road to walk and there will be bruising if not scares, but it is the true American way and path to sustained prosperity.
Stephen is a self-taught beverage technologist and technical historian.
This article originally published at Boston Apothecary on January 30, 2017.
I came across an interesting interview question, along the lines of “How would you make this work?” add(2, 5); > 7 add(2)(5); > 7 I thought this was a very interesting question, so took some time last night to play with it.
Heres what I got: A solution to the invocation one isn’t tough, theres just the tricky bit to coerce the arguments into an Array, and to handle the case when nothing is passed in.
let sum = function() { let args = Array.prototype.slice.call(arguments.length ?
arguments : [0]); return args.reduce((acc, i) => (acc += i)); }; Now, to get chained invocation to work, I used bind to generate a new function that would be returned to the caller, allowing for chained invocation.
The tricky bit is to set the valueOf function to return the sum, so when checked for a value, the function returns a number.
I also changed the way i convert arguments into an array by using the spread ...
operator.
Thus: let sumChainable = function() { let sum = [0, ...arguments].reduce((acc, i) => (acc += i)); // see (a) let f = sumChainable.bind(null, sum); // see (b) f.valueOf = () => sum; // see (c) return f; }; /* (a) * [0, ...arguments] will convert arguments to an Array * to allow the `reduce`.
It will also create an initial item * `0` to handle the case no arguments are passed in.
Thus * making `sumChainable()` possible.
* * (b) * Generate a nested function that will be returned, and pass * the sum to it.
This allows the return value of the function * to be invoked in a chain, each changed invocation passing * the sum of its caller.
Thus `sumChainable()()` is possible.
* * (c) * Setting the `valueOf()` function on the returned function to * return the sum allows the comparison operator `==` to check * the value of the function against a number.
Thus making * `sumChainable() == 0` possible.
*/ added some sanity tests: /* some tests: */ console.log( `typeof sumChainable(1) == 'function'`, typeof sumChainable(1) == `function` ?
'passed' : 'failed' ); console.log( `sumChainable() == 0`, sumChainable() == 0 ?
'passed' : 'failed' ); console.log( `sumChainable(1) == 1`, sumChainable(1) == 1 ?
'passed' : 'failed' ); console.log( `sumChainable(1) !== 1`, sumChainable(1) !== 1 ?
'passed' : 'failed' ); console.log( `x = sumChainable(1), x.valueOf() === 1`, (x = sumChainable(1), x.valueOf() === 1) ?
'passed' : 'failed' ); console.log( `sumChainable(1,2) == 3`, sumChainable(1,2) == 3 ?
'passed' : 'failed' ); console.log( `sumChainable(1,2,3) == 6`, sumChainable(1,2,3) == 6 ?
'passed' : 'failed' ); console.log( `sumChainable()() == 0`, sumChainable()() == 0 ?
'passed' : 'failed' ); console.log( `sumChainable(0)(1)`, sumChainable(0)(1) == 1 ?
'passed' : 'failed' ); console.log( `sumChainable(1,2)(3)`, sumChainable(1,2)(3) == 6 ?
'passed' : 'failed' ); console.log( `sumChainable(1,2,3)(4)(5)`, sumChainable(1,2,3)(4)(5) == 15 ?
'passed' : 'failed' ); console.log( `sumChainable(1,2,3)(4,5)(6)`, sumChainable(1,2,3)(4,5)(6) == 21 ?
'passed' : 'failed' ); viola!
In the style of Michael Chladek, I thought it would be useful to my future-self and others, if I wrote up a summary of installing Arch Linux on Apple MacBook hardware.
Of course there are other guides out there, but this one is specific to the needs of someone looking for a minimalist, reproducible, secure, performance oriented installation of Arch Linux.
In following this guide, I’ve made some decisions that are entirely based on my own (subjective) opinions.
These opinions are based on my experiences with other operating systems and distros, and a number of window managers I’ve tried.
My decisions (take them or leave them): - Distribution: Arch Linux - Full disk encryption: On - Window Manager: Awesome - Typography: infinality-bundle with the “Free” preset This article assumes you’re currently running on a MacBook Pro between generation 7,1 (Mid-2010), 8,2 (Early-2011) or 11,3 (Late-2013).
It assumes you’re running OS X and already have some experience with Linux commands, disk partitions and GNU/Linux.
I’ve tested this guide on both of the above generations, but I’m assuming it’ll work on anything in between.
However, I make no guarantees.
If you just want to get on to the installation, skip to this link: Installing Arch.
Contents: - Background - Why Apple?
- Why Arch?
- Why Awesome?
- Preparing to Install Arch - Getting the Installation Media - Preparing the Installation USB Drive - Installing Arch - Test Internet and Set the System Clock - Partition the Hard Drive - Configuring Drive Encryption and LVM - Select a Mirror - Install the Base System - Generate the fstab - Configure The System - Boot Loader - Reboot into New Installation - Configuring Arch - Install an Arch User Repository Package Manager - Configure Sound - Install X and Video Drivers - Some GUI Applications - Improved Typography - Window Manager Awesome - Touchpad Support - Configuring Wireless - Done!
- Fine Tuning - Display Color Profile - Display Color Correction - Power Management - Laptop Mode Tools - acpid - CPU Frequency Scaling - Temperature Management - Fan Control - Apple Keyboard - Apple Trackpad - Conclusion - References - Footnotes This article will be installing Arch Linux alongside OS X, dual-booting such that you can easily boot into either.
I recommend this, even if you’re not going to be using OS X at all, because right now (and likely for the foreseeable future) the only way to get firmware updates installed on your machine will be via OS X.
There have been Linux kernel–MacBook Pro firmware compatibility issues in the past that have been fixed by OS X updates that installed firmware fixes.
I assume you have already repartitioned your drive giving you plenty of free space for Arch.
On my 500GB drive, I left 80GB for OS X (probably much more than really necessary) and the rest I left free for Arch.
Conventions For commands typed as the normal user, I will not prefix them: uname -a For commands that need to be executed as a root account, i will prefix them with a hash-mark: # # uname -a Background Why Apple I’ve been using OS X as my primary OS since 2011 when I bought my first Apple product, the 15" MacBook Pro 8,2− which I still use today (March 2016, on which I’m writing this article).
This alone is a testament to its’ longevity as a computing platform.
The industrial design of the hardware is a pleasure to the eyes and is much imitated.
The hardware feels wonderful to the touch.
I’ve disassembled a few of them, and despite the security screws, they’re fairly easy to repair or upgrade.
Only recently had I felt that its’ age was starting to show, so last week I doubled the ram from 8GB to 16GB and upgraded the hard drive to a 512GB SSD.
This should provide at least another two years of life for this hardware.
Recently however, Apple has changed their hardware design philosophy from a fairly open platform to a more proprietary and disposable one.
They’ve eliminated the ability to change or upgrade components.
The 3rd generation MacBooks have a battery that is glued in place, the memory is soldered directly to the logic board.
Later models would come with the hard drive soldered down as well.
Lyle Wiens of iFixIt, said it best in 2012 When Apple dropped the MacBook Air to $999 in 2010 to match the price point of the MacBook, they gave users a clear choice: the thin, light, and un-upgradeable MacBook Air or the heavier, longer lasting, [upgradable], more rugged, and more powerful MacBook.
Same price, two very different products.
At the time, I wasn’t very happy with the non-upgradeable RAM on the MacBook Air, but I respected that Apple had given their users a choice.
It was up to us: Did we want a machine that would be stuck with 2GB of RAM forever?
Would we support laptops that required replacement every year or two as applications required more memory and batteries atrophied?
Consumers overwhelmingly voted yes, and the Air grew to take 40 percent of Apple’s notebook sales by the end of 2010.
This sort of vendor-lock down and planned-obsolecence has bothered me to such an extent that the next laptop I buy won’t be Apple hardware.
Meanwhile, Apple has secured an oligopoly in the market, they have such a dominant position with hardware manufacturers that they seem to be squeezing competitors out of getting access to top-quality components (or their competitors don’t care about quality).
These manufacturers seem to be building computers with “Apples’ scraps and leftovers”.
Put simply; I don’t see any manufacturers building laptops at the same level of quality that Apple does, and yet, I can’t buy a product[1] that is so tightly controlled.
Finally, I refuse to buy a product that is designed to be obsolete in two years.
Why Arch?
I first started using Linux in 1997 when I bought a shrink-wrapped box of RedHat Linux 5.2.
At the time, my internet connection was fast but not reliable enough to download the ISO image over a 1-day dial-up session.
Since then I’ve tried Slackware, SuSE, Mandrake, Debian, Fedora, Ubuntu, CentOS, and Mint.
I customized the hell out of my distros, I performance tweaked, secured and customized the GUI.
Back then, information was hard to come by, the community was still small and poorly documented, and that hardly mattered when I couldn’t access the internet because my ethernet card drivers wouldn’t compile.
Jen Andre sums it up best You kids these days.
You have it easy.
It was enjoyable for a while, but I got very busy and eventually came to the conclusion that “Linux is free if your time is worth nothing” and stuck with OS X.
I would occasionally install and try a different distro just to see if the OSS operating system world had changed, but that was about it.
Arch is different however.
Arch gets it, Arch gets it right.
Arch is what I was searching for all those years.
1.
A rolling release cycle keeps everything fresh 2.
I’m a huge advocate for their KISS Principal: Keep it Simple… 3.
The documentation is widely regarded as the best source of info on GNU/linux 4.
The Core package repository is very well maintained and trusted 5.
The User package repository is great at providing pretty much everything you could need or want 6.
Its designed for people who want to understand and build a system from the ground up.
Install only what you know, only what you understand.
It doesn’t hide anything behind assumptions, scripts or fancy installers.
Arch is like a sandbox, they provide the box and a source of sand (the Core and User package repos), but it’s up to you to fill it and build your castle.
Why Awesome?
Like the topic of GNU/Linux distros, I could spend an entire post talking about why I settled on Awesome.
I’ve tried GNOME, KDE, even Enlightenment.
They all are trying to do more than I need, are too influenced by the design of the Big Desktop players and pander to novices at the expense of the power users.
All I really need is a quick way to switch between windows and resize them as needed and for it to be fast.
The focus of the window manager is the application contents, not the chrome eye-candy around the edges of the window.
Awesome was designed for this.
So, this guide is going to install Awesome as it’s window manager.
Feel free to switch it out for whatever you prefer.
i3, xmonad and DWM are all similar in design.
Preparing to Install Arch When doing this article, I found many other articles very useful.
They are listed in References.
Please refer to them if needed.
I will attempt to both update and condense these articles to a single “Be-all End-all Guide” to MacBook installation.
Getting the Installation Media First, we need to get Arch Linux ISO from Arch Linux, Go here to download it I usually go with the torrent option.
It’s the fastest.
Next, we’re just going to make sure the download wasn’t corrupted or tampered with in transit.
To make this possible, the Arch Linux ISO publisher has posted a cryptographic hash of the ISO.
We can compare the hash of the ISO they published against the hash of the ISO we downloaded.
If the hash is identical, we know the contents are exactly the same.
Start the terminal and run the following: sha1sum <FILE>.iso Next, we want to make sure the the ISO we’ve downloaded is provably supplied by the Arch Linux team.
We can do this by verifying the cryptographic signature they provided with the ISO.
The Arch team cryptographically signs their ISO images using public-key cryptography.
This ensures that the ISO file we’ve downloaded is verifiably provided by the Arch Linux team, and not an impostor.
This assumes you have GnuPG installed on your system (brew install gnupg).
On the ISO download page, there is a link under “Checksums” to get the PGP signature as a .sig file.
Download that into the same directory as your Arch ISO.
Then run the following, replacing the filename (here i use archlinux-2016-02-01-dual.iso) with the name of the files you’ve downloaded: gpg --verify \ archlinux-2016.02.01-dual.iso.sig \ archlinux-2016.02.01-dual.iso 2>&1 | \ grep 'key ID' | \ gpg --recv-keys 2>&1 `awk '{print $NF}'` && \ gpg --verify archlinux-2016.02.01-dual.iso.sig \ archlinux-2016.02.01-dual.iso 2>&1 | grep 'signature from' This will first attempt to verify the signature, and if you don’t have the signers key, it’ll retrieve it.
It’ll then try to verify it again, and should print out “Good signature” if it succeeds.
If you get “Bad signature” this means the ISO has either been forged by an impostor pretending to be the Arch linux team, or someone has tampered with the ISO stored on their servers or in transit.
If thats the case, you need to find an alternate source to download the ISO.
Preparing the Installation USB Drive This installation method will first create a bootable USB stick, which is used to boot into a “Live” Arch Linux session.
From there, we use the Live Arch Linux to install Arch onto your MacBook hard drive, then make that partition bootable.
If you’re currently running a GNU/Linux system, follow the instructions in Part A.
If you’re running OS X, jump one section ahead to Part B.
Part A - Preparing the Installation USB Drive for Linux If you’re already on a GNU/Linux system, use these instructions to create USB bootable Arch Linux live system.
Now we’re ready to get that ISO onto a USB drive so we can boot the computer from it.
Before inserting the thumb drive, run lsblk and take note of the drives listed.
Insert the drive and run lsblk again.
Take note of the new letter in the sdX list of drives.
Replace the X with the letter on your system.
Be sure to unmount the new drive.
umount /dev/sdX Next, run the following command, it reads the ISO file you downloaded earlier and writes the contents directly to the USB drive, without the operating system buffering the writes.
Replace the X with the letter of the USB stick you took note of earlier, and ARCHLINUX with the name of the image file you downloaded.
dd if=ARCHLINUX.iso of=/dev/sdX bs=4M After that’s run, the USB drive should be ready to boot from.
Part B - Preparing the Installation USB Drive for OSX Now we’re ready to get that ISO onto a USB drive so we can boot the computer from it.
Before inserting the thumb drive, run diskutil list and take note of the drives listed.
You should see output similar to this: /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 500.1 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_CoreStorage 399.5 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 5: Apple_Boot Boot OS X 134.2 MB disk0s5 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS MacOSX 399.2 GB disk1 Insert the drive and run diskutil list again.
Take note of the new letter in the sdX list of drives.
/dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 500.1 GB disk0 1: EFI 209.7 MB disk0s1 2: Apple_CoreStorage 399.5 GB disk0s2 3: Apple_Boot Recovery HD 650.0 MB disk0s3 5: Apple_Boot Boot OS X 134.2 MB disk0s5 /dev/disk1 #: TYPE NAME SIZE IDENTIFIER 0: Apple_HFS MacOSX 399.2 GB disk1 /dev/diskX #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 2.0 GB disk2 1: Microsoft Basic Data UNTITLED 1 2.0 GB disk2s1 Note /dev/diskX has appeared (‘X’ will be a number on your system), this new disk is the USB thumb drive.
Important take note of the number of this drive.
We’re going to remove the existing partitions and erase all the data so its clean for our Arch Linux installer.
This will delete all the data on the USB drive.
Make sure to substitute /dev/diskX for the drive number you noted above.
diskutil partitionDisk /dev/diskX 1 "Free Space" "unused" "100%" Now[4] we can write the iso file to the USB drive.
Note We use /dev/rdisk* instead of /dev/disk because it provides Raw disk access without the typical buffering the operating systemprovides.
Substitute DESTINATION with the name of the iso file you downloaded earlier, and substitute the X with the number of the drive.
dd if=DESTINATION.iso of=/dev/rdiskX bs=1m The dd command does not show any output before it has finished the copy process, so be patient and wait for it to complete, it can take around 1 - 5 minutes.
When the command does complete OS X will try to mount the drive and fail as it won’t recognize the formatting.
Click ignore.
Installing Arch With the USB drive plugged in, restart the MacBook and press+hold down the left option/alt key when you hear the startup chime.
Hold the option key down until the drive screen appears.
The USB drive should be one of the options.
Pick it along with the first option the following boot screen lists.
Now you should be at the Arch live install prompt and it’ll look like this: Arch Linux 3.17.6-1-ARCH (tty1) archiso login: root (automatic login) root@archiso ~ # You are now running a “Live” session of Arch Linux from the USB stick.
If you’re on a HiDPI / “Retina” display MacBook, the prompt is really small.
Increase the font-size using setfont sun12x22.
Test Internet You’ll need a working Internet connection to do the post-install.
My MacBook Pro 7,1 and 8,2 both have Ethernet ports, but some of you will have later models without one.
You should get a USB-Ethernet adapter.
Its much easier than fiddling with wireless drivers as it works out of the box.
We’ll setup the wireless drivers later in this article.
First, we need to get an IP address from your router: dhcpcd With the adapter plugged in and an IP address, make sure internet is flowing by pinging Google: ping -c 3 www.google.com You should get a response that all three packets were sent and received.
Set the System Clock The system clock should be just fine.
The general Arch wiki recommends ensuring the system clock is accurate, and I’ve found it doesn’t seem to break anything.
So, I run it: timedatectl set-ntp true Partition the Hard Drive A partition is basically a box on the hard drive to put files into.
OS X has a box for its files, and we’re going to create box(es) for GNU/Linux.
Partitioning the hard drive takes existing data on the drive and moves or erases it to make space available for other file systems.
This part is the trickiest because it can erase data on the disk, so take care.
Apple uses the GUID Partition Table (GPT), and we’re going to keep that partition table.
In order to proceed you’ll need to know the drive mapping scheme, we’ll use fdisk to check the scheme: fdisk -l This lists the existing partitions.
If you created two partitions when preparing the MacBook, you should see a partition with a Type of Apple HFS/HFS+ with a size that matches the size you set aside for Arch.
In my case this was /dev/sda5.
All the partitioning commands below will use /dev/sda5, you should substitute the designation for your drive.
Lets use cgdisk to view the partition table on the attached devices: Replace the Y with the drive you’ll be using to install Arch Linux.
cgdisk /dev/sdY At the end of the partition table should be the free space you set aside for installing Arch.
With that space, we’re going to create a new partition.
You just need to make one partition; we’re going to break it into sub-partitions later; after encryption is setup.
I added 128MB between the last partition and my new partition because of this explanation by Apple.
Note: We leave free space after each partition to make it easier for future system software to manipulate the partition map in ways that we can’t anticipate currently.
Begin by deleting the HFS partition created when you set aside space in OS X for Arch Linux.
In order to leave additional space, just type +128M when you create the new partition, and it’ll set the starting sector at a point 128M away from the ending sector of the partition before it.
You’ll want to use Linux LVM (8e00) as the partition type id.
The final partition table will look something like this: Part.
# Size Partition Type Partition Name ---------------------------------------------------------------- 3.0 KiB free space 1 200.0 MiB EFI System EFI System Partition 2 74.5 GiB Apple HFS/HFS+ Macintosh HD 128.0 MiB free space 3 391.1 GiB Linux LVM ArchLinux Then use the utility to select Write and then confirm that you want to overwrite the disk.
Once the display returns you can Quit.
Running fdisk -l again should show your new partition scheme.
If it doesn’t look like you want or expected, repeat the cgdisk process to fix things until you’re satisfied.
Configuring Drive Encryption and LVM You’ll want to make note of the partition number you just created.
For me it’s partition 5, and the drive is sda, so my Arch Linux partition can be found at /dev/sda5.
I’ll be using that as an example going forward, but you should substitute your own drive path.
We’re going to encrypt /dev/sda5 using DM-Crypt and then the LVM partitions are going to be created over that LUKS encryption layer.
This system is called “LVM on LUKS.” Both LUKS encryption and LVM support are provided by the GNU/Linux kernel.
Note This will just encrypt the system / and /home directories.
The /boot directory will not be encrypted because we’re going to keep the existing /boot partition: That’s /dev/sda1 in my partition table above.
If you want to use custom ciphers, there are some great notes available on GitHub.
You can also use the following command for speed benchmarking to help determine which ciphers and key-sizes are fast enough for your particular use case: cryptsetup benchmark Time to pick the encryption flavors!
The default values for the cipher and key sizes were a bit too light for my tastes (in light of the NSA spying scandal).
I’ve increased these numbers above the defaults, I’ve chosen to balance my principals for privacy and security with practical usability and speed.
Feel free to read more on these settings.
cryptsetup --cipher aes-xts-plain64 \ --key-size 512 \ --hash sha256 \ --iter-time 3000 \ --use-random \ --verify-passphrase \ luksFormat /dev/sda5 Enter in a good passphrase (twice), and we should be good to go.
Now with the encryption setup, we’re going to create the necessary volumes and filesystems within the LVM.
First, let’s open up our encrypted partition: cryptsetup luksOpen /dev/sda5 lvm This is going to map our encrypted device (/dev/sda5 in my case) to /dev/mapper/lvm.
Now we’re going to create the physical and logical volumes for the / and /home directories.
I gave the / directory 40GB (hopefully enough for all my programs.
As of writing this, and with a full install, I’m using 10GB on my / directory.
So, I think I’m good.
Create the physical volume: pvcreate /dev/mapper/lvm Now create the volume with the name vgcrypt: vgcreate vgcrypt /dev/mapper/lvm We’re ready to create the logical volumes now, 40GB for root and the rest for users’ home, change 40GB accordingly: lvcreate --size 40G --name root vgcrypt lvcreate --extents +100%FREE --name home vgcrypt We now have our two volumes vgcrypt-root and vgcrypt-home.
They need to be formatted to a particular filesystem.
I’ve been happy with the ext4 filesystem.
mkfs.ext4 /dev/mapper/vgcrypt-root mkfs.ext4 /dev/mapper/vgcrypt-home We can now mount these new partitions.
Make sure to mount the root partition first so we can create the /home directory inside of it for the home partition: mount /dev/mapper/vgcrypt-root /mnt mkdir -p /mnt/home mount /dev/mapper/vgcrypt-home /mnt/home Lets also mount our boot partition, while we’re here.
This is required so our bootable initramfs can be written to the boot drive: mkdir -p /mnt/boot mount /dev/sda1 /mnt/boot If you’re interested in swap partition schemes, check this script out − although I’m fine without swap partitions (Its faster with enough RAM).
And with that, Arch is now ready to be installed on the disk.
Select a Mirror This step can optionally be skipped, but I prefer to choose a US server just in case it may be faster.
Open up the mirrorlist: vi /etc/pacman.d/mirrorlist Delete or comment out all the servers except one or two near you that seem good.
Install the Base System Actually installing Arch Linux onto the drive is the easiest part: pacstrap -i /mnt base base-devel terminus-font The -i flag asks for confirmation before installing packages.
I like using it just so I can see what’s being installed.
(After all that’s part of the reason for using GNU/Linux, right?
To know what’s being installed on your system.) This installation includes terminus-font, which we’ll configure to be the default console font later on.
Generate the fstab If all went according to plan, Arch has been written to the hard drive and is now installed.
Before rebooting into our installation, though, we need to tell the system where to find the filesystems we created earlier for root and home directories.
While it’s normally a good idea to use UUIDs to find disks, we’re going to use labels.
This is because our encryption setup generates random IDs for the disks when they’re decrypted.
Let’s create the fstab file: genfstab -L -p /mnt >> /mnt/etc/fstab The -L flag will generate the fstab file with labels instead of UUIDs.
The -p flag prevents pseudo-filesystems from being added.
Always check the generated fstab: cat /mnt/etc/fstab It should look something like this: # # /etc/fstab: static file system information # # <file system> <dir><type><options> <dump><pass> # /dev/mapper/vgcrypt-root /dev/mapper/vgcrypt-root / ext4 discard,rw,relatime,data=ordered 0 1 # /dev/mapper/vgcrypt-home /dev/mapper/vgcrypt-home /home ext4 discard,rw,relatime,data=ordered 0 2 Note If your hard drive is a solid-state drive (SSD) and the discard option isn’t there, edit the fstab file and add it.
It’s used for optimizing for the speed of SSDs.
Configure The System We’re now ready to configure our new system.
Let’s change root into it: arch-chroot /mnt /bin/bash Set our system locale.
I’m in the US, so I’ll only uncomment that locale from /etc/locale.gen: ...
en_US.UTF-8 UTF-8 en_US ISO-8859-1 ...
Now generate the locales: locale-gen Make English UTF-8 the default: echo LANG=en_US.UTF-8 > /etc/locale.conf The default font in the virtual console is not very readable, so lets use one that is far more readable.
We’re going to use the typeface “Terminus” in size 18 that we installed with the base system earlier.
ter-118n basically means “Terminus latin-1 size 18 Normal”.
There are other sizes available: 12, 14, 16, 20, 22, 24, 28, 32 as well as support for multiple non-English code pages.
echo FONT=ter-118n > /etc/vconsole.conf Set the timezone accordingly.
(I live on the east coast): ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime And set the time to the standard UTC: hwclock --systohc --utc Because we’ve encrypted our root disk, we need to make sure the kernel loads the proper modules to decrypt it on startup.
Otherwise we won’t be able to boot from the unencrypted drive.
We’re also going to tell the boot-sequence to load our custom font and keyboard module so we can type our passwords during boot.
Edit /etc/mkinitcpio.conf and add the hooks consolefont keyboard encrypt lvm2 BEFORE filesystems so the HOOKS line looks like this: HOOKS="base udev autodetect modconf block consolefont keyboard usbinput encrypt lvm2 filesystems fsck" Now we need to regenerate the initramfs image: mkinitcpio -p linux So that Internet will work on reboot, we need to enable the dhcpcd service.
We’re going to keep using the ethernet-USB adapter for right now.
We’ll get wireless setup later.
Get the name of the ethernet interface: ip link It should be enp-something.
With that, enable the service, make sure you replace INTERFACE with your interfaces name.
systemctl enable dhcpcd@INTERFACE.service Finally, let’s configure the machine’s hostname.
You can change macbook to whatever you’d like: echo macbook > /etc/hostname Add this hostname to the list of hosts.
Edit /etc/hosts and edit so it looks something like this: # # /etc/hosts: static lookup table for host names # #<ip-address> <hostname.domain.org> <hostname> 127.0.0.1 localhost.localdomain localhost macbook ::1 localhost.localdomain localhost macbook Set a root password: passwd Create a non-root user for yourself and set the user’s password, replace USER with the username of your choosing: useradd --create-home --groups wheel --shell /bin/bash USER passwd USER This will create the user, add it to the group wheel (traditional group of users who can run sudo commands), create a home directory under /home/USER/ and make his default shell bash then set a default password for the user.
Don’t switch to the new user yet, because we’e added USER to the group wheel, lets grant the wheel group sudo privileges.
Run: visudo And uncomment the following line so it looks like so: %wheel ALL=(ALL) ALL Boot Loader Now we need to let the boot loader know where to find our new Arch Linux installation.
systemd (was recently renamed, was Gummiboot) is a nice, simple boot loader.
# pacman -S systemd # May be systemd-boot, included in core?
mkdir -p /boot/loader/entries Setup the loader to default to arch and set the number of seconds to timeout in the file /boot/loader/loader.conf: default arch timeout 3 Make sure the correct boot partition (/dev/sda1 in my case) is mounted on /boot by running: findmnt /boot ------------------------- TARGET SOURCE FSTYPE OPTIONS /boot /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,err Now we’re going to create an entry called /boot/loader/entries/arch.conf that looks like this: # /boot/loader/entries/arch.conf title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options cryptdevice=/dev/sdaX:vgcrypt:allow-discards root=/dev/mapper/vgcrypt-root rw Note:[7] On the options line, make sure you replace /dev/sdaX with the path to the encrypted linux partition we previously created on your device (It was /dev/sda5 in this guide).
Additionally, if your drive is not a SSD, make sure to remove :allow-discards.
Note:[9] Its been reported by some users that when booting to USB, the USB drive is assigned device id /dev/sda and the hard drive to /dev/sdb.
When rebooting without USB drive (boot to new encrypted linux drive partition), the hard drive is reassigned to device id /dev/sda which may invalidate the above arch.conf boot loader entry.
In this case, the encrypted linux partition will not boot because the boot loader config arch.conf is configured to boot from /dev/sdb.
In this case you can reboot to USB again, and edit the options line in arch.conf to read /dev/sdaX.
Replace X with your partition id.
Check the boot tree with tree /boot/ (If tree isn’t installed, install it with pacman -S tree).
It should look something like this: /boot/ ├── EFI │ ├── APPLE │ │ └── EXTENSIONS │ │ └── Firmware.scap │ ├── Boot │ │ └── BOOTX64.EFI │ └── gummiboot │ └── gummibootx64.efi ├── initramfs-linux-fallback.img ├── initramfs-linux.img ├── loader │ ├── entries │ │ └── arch.conf │ └── loader.conf └── vmlinuz-linux Note: At this point, you may want to enable suspend-to-disk (No power consumption aka “Hibernate” mode).
I’ve chosen not to enable this functionality, but if you’re interested, you can read about it here.
Now we can have the bootloader write the initramfs onto the boot partition using bootctl, part of the systemd-boot package.
bootctl install Reboot into New Installation Let’s leave the chroot environment we used for the install: exit You can umount and close the encrypted volume: umount -R /mnt cryptsetup close vgcrypt It’s not a bad idea to just double check the encryption to make sure it opens and mounts properly: cryptsetup open /dev/sda5 vgcrypt mount /dev/mapper/vgcrypt /mnt If all goes accordingly, you can unmount and close the encryption again.
And finally… reboot On reboot you should be greeted with the boot menu.
After selecting Arch (or waiting for it to timeout), you should be prompted for your password to decrypt the drive, and then it should boot into the console.
Configuring Arch You should now be running Arch Linux!
Lets customize it and make it more useful.
Install an Arch User Repository Package Manager Now we’re about to dive deep into customizing Arch Linux installation with the utilities and application we’ll be using on a day-to-day basis.
To facilitate installing packages from the wider Arch User Repository (AUR), we’ll install a utility named yaourt.
You can (of course) maintain AUR package installations manually, but I like a helper to help me manage them.
yaourt is like the Homebrew of Arch Linux.
I use yaourt because it’s easy to install, takes the same optional flags as pacman, and works well.
You need to use the “official” and manual way of installing AUR packages to get yaourt installed.
It also requires package-query from the AUR, so we’re going to install that first.
Now we’re going to download the package-query AUR package, unarchive it, and use pacman to build and install the package.
This allows us to manage the package as if it was installed with pacman, although we’re manually installing it.
$ cd ~ $ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package-query.tar.gz $ tar -xvzf package-query.tar.gz $ cd package-query Within the packages’ folder, we’re going to run the following to build it: $ makepkg -s This will run as your regular user only asking you for your root password if necessary.
With the package made, we can install it via pacman: # pacman -U package-query-1.6.2-1-x86_64.pkg.tar.xz Now we’ll do the same for yaourt: $ cd ~ $ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/yaourt.tar.gz $ tar -xvzf yaourt.tar.gz $ cd yaourt $ makepkg -s # pacman -U yaourt-1.6-1-any.pkg.tar.xz From now on you can use pacman and yaourt interchangeably… for the most part.
yaourt will install Arch repository packages and AUR packages.
pacman, though, will continue to only install Arch repository packages.
Configure Sound ALSA works out of the box with Macs so install it via: # pacman -S alsa-utils Then use: alsamixer to control the speakers.
Make sure to disable channels for speakers you don’t have.
Test your speakers with: speaker-test -c 2 where 2 is the number of speakers.
Install X and Video Drivers As this is going to be a graphical interface, we need are graphics card up and running with the proper drivers.
Luckily this machine uses Intel graphics, and Intel is pretty good about providing Linux (and sometimes open-source) drivers.
For Macbookpro 7,1 (Mid-2010 or 8,2 (Early-2011): # pacman -S xf86-video-intel mesa-libgl libva-intel-driver libva For Macbookpro 11,3 (Late-2013)[8] # pacman -S nvidia mesa-libgl libva-intel-driver libva The -S flag tells pacman to install the subsequent packages listed.
(Again, you can use yaourt if you’d like.) This will install the Intel video driver, the Mesa OpenGL graphics library, and video acceleration API for Intel graphics chipsets.
It’ll likely ask you to install additional dependencies.
Get all the dependencies!
With the necessary drivers installed, we can get Xorg (or the X Window System) installed.
# pacman -S xorg-server xorg-server-utils xorg-xinit xterm I like to install the Xorg utilities, too, because there are at least a couple I’ll use later (either in this guide or another) that are helpful in improving HiDPI support for the MacBook’s HiDPI Retina display.
Some GUI Applications Next we’ll install a browser.
This will install some typeface dependencies and font- rendering libraries that we’ll be tweaking later.
# pacman -S firefox Improved Typography Update[10] It appears the package maintainer for Infinality has gone dark.
Skip this section and continue to the next until there is a solution for better typography on the linux desktop.
If you use the web and appreciate typography, you’ll want to install a set of decent fonts.
Infinality is a package group that has been meticulously crafted from the ground-up to provide beautifully rendered typography to the Linux platform.
The package maintainer spent a ton of time tearing down the existing font stack, and carefully rebuilding it to provide fast-rendering fonts that more faithfully present the typography than either Windows, OS X or Ubuntu systems.
It also provides a set of preset-configurations that allow the user to switch to a Windows-like or OS X-like configuration.
I highly recommend reading the documentation if you’d like to know more about typography rendering on GNU/Linux.
First add the following package repositories to /etc/pacman.conf.
[infinality-bundle] Server = http://bohoomil.com/repo/$arch [infinality-bundle-fonts] Server = http://bohoomil.com/repo/fonts Next we’ll add the package maintainers PGP key to the package database, update the package database and install the packages.
# pacman-key -r 962DDE58 # pacman-key --lsign-key 962DDE58 # pacman -Syyu # pacman -S infinality-bundle # pacman -S infinality-bundle-fonts Make sure to select the option fontconfig-infinality-ultimate as that configuration is the most clean, efficient and looks the best out of the box.
The installation may ask to use the Infinality packages in place of the dependencies installed by Firefox.
Choose the Infinality packages.
To enable selection of predefined font substitution styles and antialiasing settings, apart from the rendering settings of the engine itself.
After doing so, you can select the font style (win7, winxp, osx, linux, …) with: # fc-presets set Window Manager Awesome Awesome is a tiling window manager for the user that prefers keyboard commands to mouse or touchpad, and treats window chrome as needless ornamentation.
Your application content is king, and efficiency is the goal.
Its quick and light.
Lets install the window manager (WM), awesome.
To install: # pacman -S awesome Added this[5] to run awesome when x starts: echo exec awesome > .xinitrc Touchpad Support You’ll probably want to use your MacBook’s touchpad when you have a GUI.
The simplest driver is the synaptics driver: # pacman -S xf86-input-synaptics The following config at /usr/share/X11/xorg.conf.d/70-synaptics.conf works well for me, it uses the same “Natural Motion” that OS X does.
Copy that file to the following location /etc/X11/xorg.conf.d/70-synaptics.conf and add the options between the START and END comments.
Section "InputClass" MatchIsTouchpad "on" Identifier "touchpad catchall" Driver "synaptics" # START: Add these options # 1 = left, 2 = right, 3 = middle Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" # Palm detection Option "PalmDetect" "1" # Horizontal scrolling Option "HorizTwoFingerScroll" "1" Option "VertTwoFingerScroll" "on" # Natural Scrolling (and speed) Option "VertScrollDelta" "-450" Option "HorizScrollDelta" "-450" # END EndSection Configuring Wireless Before rebooting into our lovely new GUI, let’s get wireless setup to work when we reboot.
This particular machine has the Broadcom BCM4360 wireless chipset.
Broadcom has been pretty mixed in the FLOSS support it seems.
The BCM4360 is not supported by the kernel itself, so we’ll need to use Broadcom’s non-free, non-open driver: broadcom-wl.
I actually don’t think this even officially supports the BCM4360 chipset, but it works well enough.
We’ll need to install the AUR package: $ yaourt -S broadcom-wl dialog wpa_supplicant And activate the kernel module: # modprobe wl Note: If you update to a newer kernel in the future, you may need to uninstall and reinstall the broadcom-wl package so it updates with the new linux-header.
We need to stop the dhcpcd service we were using for the ethernet and start the wifi-menu[1] utility.
Keeping both running can cause conflicts.
# systemctl disable dhcpcd.service # wifi-menu This will create and enable a systemd service that will start when the computer boots.
Changes to the profile file will not propagate to the service file automatically.
After such changes, it is necessary to reenable the profile: # netctl reenable PROFILE After enabling a profile, it will be started at next boot.
Finally, if you find your wireless is dropping connections, you may find turning off Wi-Fi power management.
Simply create this as an executable ( chmod +x /etc/pm/wireless and add the following contents: #!/bin/sh iwconfig wlp2s0 power off Done!
Now when you reboot, you should be all set to go start customizing to your heart’s content, adding applications as you’d like, and playing around with your new Arch Linux box with Awesome.s Fine Tuning Power settings took quite a bit of tweaking.
Without these setting, the laptop ran very hot, and drained battery life very fast.
I would recommend following these steps to improve battery life.
There still may be room for improvement, though.
One more thing: If you search “MacBook Pro and Arch Linux” you’ll probably read some things about disabling ACPI interrupts that were causing overheating and high CPU usage.
If you have updated to the latest version of OS X 10.10 “Yosemite” then you should be OK to skip.
Display Color Profile I noticed that colors seemed washed-out in Arch Linux, so this task will attempt to color-correct the display.
Luckily a utility xcalib exists that can load color profiles from OS X as X options.
This should give you true color-parity between operating systems.
First, boot into OS X and copy the color profiles located in /Library/ColorSync/Profiles/Displays to somewhere so you can boot into GNU/Linux and copy them into your home directory.
I created a directory named ~/.colorprofiles for these files.
Second, install the xcalib package from the Arch AUR.
yaourt -S xcalib Finally you can activate it by running: xcalib ~/.colorprofiles/FILENAME.icc Where FILENAME is the path to your color profile file.
To load this color profile when X starts, I also added this command to the .xinitrc file in my home directory.
Just make sure you replace FILENAME with the name of your color-profile .icc file exported from OS X.
if [ `type -P xcalib` ]; then # Use the color profile xcalib ~/.colorprofiles/FILENAME.icc fi; Display Color Correction If you spend as many hours looking at the display as I do, you’ll quickly appreciate a display that adapts its colors to the time of day.
F.lux adjusts monitor color temperature adaptively to ease eye strain.
yaourt -S xfluxd Then edit /etc/xfluxd.conf to set your rough lat/long coordinates (in decimal format) in order to correctly shift the color correction with the sunrise and sunset.
Finally, enable and start the xfluxd service.
Note you should run this as your normal user, not as root.
systemctl enable --user xfluxd systemctl start --user xfluxd Power Management The power management from Arch out of the box is not very good.
There are a few good tools out there, but PowerTOP is nice because of its benchmarking utilities[2].
PowerTOP is a tool provided by Intel to enable various powersaving modes in userspace, kernel and hardware.
It is possible to monitor processes and show which of them are utilizing the CPU and wake it from its Idle-States, allowing you to identify applications with particular high power demands.
yaourt -S powertop You may want to put your laptop on battery power and calibrate powertop: # powertop --calibrate That’ll cause the screen to blackout from time to time.
Just let it run.
It takes a few minutes then your screen will come back on.
You can create a systemd service that will launch powertop’s autotune settings on startup.
# /etc/systemd/system/powertop.service [Unit] Description=Powertop tunings [Service] Type=oneshot ExecStart=/usr/bin/powertop --auto-tune [Install] WantedBy=multi-user.target And enable it to automatically start at boot time, then start it for your current boot session.
# systemctl enable powertop.service # systemctl start powertop.service Laptop Mode Tools Laptop Mode Tools[6] is a laptop power saving package for Linux systems.
It is the primary way to enable the Laptop Mode feature of the Linux kernel, which allows you to tweak a number of other power-related settings using a simple configuration file.
Combined with acpid and CPU frequency scaling, LMT provides a complete notebook power management suite.
$ yaourt -S laptop-mode-tools If you want to enable laptop mode even on AC power, because you run the laptop attached to an external keyboard and monitor, edit: # /etc/laptop-mode/laptop-mode.conf`: ...
ENABLE_LAPTOP_MODE_ON_AC=1 ...
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1 We’re going to disable LMT from handling CPU frequency scaling since we’ve setup cpupower to handle that: # /etc/laptop-mode/conf.d/cpufreq.conf ...
# CONTROL_CPU_FREQUENCY="AUTO" CONTROL_CPU_FREQUENCY=0 and disable Intel pstate handling as well: # /etc/laptop-mode/conf.d/intel_pstate.conf # CONTROL_INTEL_PSTATE="auto" CONTROL_INTEL_PSTATE=0 Finally, enable and start the systemd service: # systemctl enable laptop-mode.service # systemctl start laptop-mode.service acpid A very useful tool is from the acpi package, which provides battery information using the command acpi -v.
To install: # pacman -S acpi acpid is an extensible daemon for handling ACPI events.
It can run commands when the laptop lid is closed, etc.
# pacman -S acpid # systemctl enable acpid.service # systemctl start acpid.service CPU Frequency Scaling Another utility that will help with CPU frequency scaling is cpupower, it provides useful CLI utilities and a systemd service to change the CPU governor at boot.
$ yaourt -S cpupower # systemctl enable cpupower # systemctl start cpupower I use cpupower to modulate the CPU’s speeds.
This keeps CPU in check from maxing out at all times.
My cpupower config file at /etc/default/cpupower has the following line changed: governor='powersave' You should adjust this setting to your own needs.
Temperature Management Intel provides a daemon that will keep tabs on the CPUs’ temperature and adjust settings to keep it from getting too hot, its called thermald.
$ yaourt -S thermald # systemctl enable thermald.service # systemctl start thermald.service Fan Control Finally, the kernel doesn’t seem to have very fine control over the MacBook’s fan.
The following script helps add fine-tuning for the fan that will increase its baseline speed and ramp it up gently, so it’s not an all-or-nothing kind of setup.
$ yaourt -S mbpfan-git # systemctl enable mbpfan.service # systemctl start mbpfan.service By default the service runs in verbose mode which adds tons of output to the system journal.
It basically works by measuring the CPU temp, adjusting the fan speed accordingly, and then sleeping for a given number of seconds.
With verbose mode on, it logs its wakeup every few seconds.
That means a lot of writing to the journal.
So I changed the service under /usr/lib/systemd/system/mbpfan.service so the following line reads like so: ExecStart=/usr/sbin/mbpfan -f Apple Keyboard To get the fn keys working in X, we will install xbindkeys which helps bind keyboard keys to commands.
We will bind keys for volume, keyboard and display brightness.
```bash # pacman -S xbindkeys yaourt -S xorg-xbacklight kbdlight ``` Create your configuration file for xbindkeys: .xbindkeysrc # Increase volume 5% with Apple volume up "amixer set Master playback 5%+" m:0x0 + c:123 XF86AudioRaiseVolume # Increase volume 5% with F12 "amixer set Master playback 5%+" m:0x0 + c:96 # Decrease volume 5% with Apple volume down "amixer set Master playback 5%-" m:0x0 + c:122 XF86AudioLowerVolume # Decrease volume 5% with F11 "amixer set Master playback 5%-" m:0x0 + c:95 # Mute with Apple mute "amixer set Master toggle" m:0x0 + c:121 XF86AudioMute # Mute with F10 "amixer set Master toggle" m:0x0 + c:76 # Suspend system "systemctl suspend" m:0x0 + Mod4 + c:107 Mod4 + XF86Eject # Dim keyboard "kbdlight down" m:0x0 + c:237 XF86KbdBrightnessUp # Brighten keyboard "kbdlight up" m:0x0 + c:238 XF86KbdBrightnessDown Next we’ll auto-start xbindkeys when X starts, add this to your .xinitrc file: if [ `type -P xbindkeys` ]; then # Load custom keyboard key bindings xbindkeys fi; Apple Trackpad Finally[3], we’ll setup a Bluetooth Apple Trackpad.
To do this, we’ll install some bluetooth core utilities # pacman -S bluez bluez-utils # modprobe btusb # Make sure bluetooth kernel module is loaded # systemctl enable bluetooth.service # Start bluetooth on reboot # systemctl start bluetooth.service To actually connect to the Trackpad, we’ll use the bluetoothctl interactive utility to scan-for, discover, pair and connect to the Trackpad.
(If your Trackpad is already paired with another device, make sure to turn it off, then long-hold the power button until the LED flashes.) $ bluetoothctl > power on > scan on > agent on > devices # You should see the MAC address of your Trackpad appear if its in discoverable mode > pair mac 28:37:37:2B:42:7A > connect 28:37:37:2B:42:7A Then we’ll setup some udev rules so USB Bluetooth is activated and loade when the system boots up.
# /etc/udev/rules.d/10-local.rules # Set bluetooth power up ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up" Conclusion Wrapping up, I have nothing to add other than what you do with your system is up to you.
References The following articles were very useful in providing some help and inspiration.
- Installing Arch Linux on a MacBook Pro - Michael Chladek - Introductory MacBook Arch Guide - Zanshin - Arch Linux on MacBook Pro Retina 2014 with DM-Crypt, LVM and suspend to disk - Loïc Pefferkorn - ArchWiki MacBook - ArchWiki MacBookPro11,x - Arch Linux Running on my MacBook - Phil Plückthun - My personal fight against the modern laptop A talk discussing our decreasing ability to change our hardware to suit our needs.
Footnotes Any changes to this article will be annotated with a footnote and explained here.
1.
March 6, 2016: Previously used NetworkManager to detect and connect to WiFi networks, but have changed to use netctl and wifi-menu as these commands are more low-level and have fewer dependencies.
2.
March 8, 2016: Previously omitted the -S option in yaourt, fixed.
3.
March 8, 2016: Added a section covering the Apple Trackpad.
4.
March 14, 2016: Thanks Fr0gm4n for suggestions simplifying the writing of iso images to USB.
5.
March 18, 2016: Changed references to .Xinitrc to the correct filename, .xinitrc.
6.
March 24, 2016: Added two new sections documenting Laptop Mode Tools and acpid.
7.
April 2, 2016: Thanks Perceptes for helping to clarify the text explaining how to configure the bootloader.
8.
July 28, 2016: Updated to support Macbookpro 11,3 devices with NVidia cards.
This device uses NVIDIA GeForce GT 750M (Codename NVE7/GK107).
9.
December 2, 2016: Thanks to Joshua Brown for clarifications to writing the bootloader line.
10.
February 6, 2017: If anyone has a solution to the loss of Infinality bundle typography, please drop me a line.
The Laughing Man 笑(わらい) い 男(おとこ) (warai otoko) is a fictional character in the anime series Ghost in the Shell: Stand Alone Complex.
This lil’ project is an animated SVG using CSS transforms to rotate the text.
I thought what I’d do was, I’d pretend I was one of those deaf-mutes The Laughing Man logo is an animated image of a smiling figure wearing a cap, with circling text quoting a line from Salinger’s novel The Catcher in the Rye, which reads: “I thought what I’d do was, I’d pretend I was one of those deaf-mutes.” This character deeply resonates with me; he/she is a corporate hacktivist infiltrating micromachine manufacturing corporations that hide an inexpensive cure to a debilitating disease in order to profit from their more expensive but proprietary micromachine treatment.
They are able to hide their physical presence by editing themselves out of video feeds and surveillance systems in real-time by by superimposing the animated logo over their face.
The Laughing Man logo has been co-opted by pop culture in advocacy for the Electronic Frontier Foundation and the loose hacktivist collective Anonymous (using the latter’s motto We are Anonymous.
We are Legion.
We do not forgive.
We do not forget.
Expect us.
Turned the 男おとこ (laughing man/warai otoko) animated logo into a camera filter, great for @zoom_us meetings that are now a regular part of daily life pic.twitter.com/QvcQGE8EAj — 0xADADA 🏴🇭🇰 (@0xADADA) March 24, 2020 Code is up on github
Garbage truck in Torino, Italy In 2011 I wrote: Travel opens my mind to new perspectives and allows me to recontextualize existing systems of thought.
While true for me at that time, for that trip; there is nothing magical about travel itself that opens the mind to new perspectives nor helps to “recontextualize existing systems of thought”.
One must be ready and “in the mood” to open ones mind and experience life from a new perspective.
The distance travelled is of no importance when the most distant places on Earth can be connected to within a 24-hour period and a few short layovers.
The travel doesn’t even begin until you have arrived at your destination.
Perhaps it’s how the distances are percieved that really matters.
If ones perception of 2,400 miles is two mediocre movies and a few bad in-flight meals, perhaps it’s not really “travel”.
After travelling through Croatia in 2014, I wrote: I most enjoyed the activities where we weren’t charged an entry fee.
- Riding a scooter through the countryside of Hvar - Swimming off the coast of the island of Vis, free to explore the coves and rock formations - Aimlessly wandering the streets of ancient Croatian cities When an entrance fee is charged, I felt a certain manicured, restricted, and “ushered” experience.
Krka National Park— while attempting to showcase the natural beauty of the region, it failed because the experience was limited to a short walk along a wooden boardwalk.
A long queue of tourists snaked around the park, each one experiencing the same thing, taking photographs on cue from the designated “Scenic Vista” points along the way.
It was a nature park that offered a menu of canned experiences devoid of anything approaching natural.
Entry fees and queues are a good sign that more authentic experiences can probably be found elsewhere.
Freely wandering without a guide, without a destination, and without expectation can get you very far.
Its October 2016.
I have the privilege of quitting my job at an Artificial Intelligence startup in Cambridge that I’ve been helping to build for the last four and a half years.
I’m ready for some serious alone-time, away from computers, the internet, and people.
I need time to myself, time to have unstructured thought, time to get outside my own skull.
I’ve got a little more than two weeks of unscheduled time to tramp around from Italy into Switzerland.
Looking northeast up the Italian side of the Val Ferret, to Switzerland This trip was about actually travelling between places on my own feet.
Navigating terra incognita by push my own limits- setting a goal on the horizon and getting there by any means.
My goal was to hike across the border from italy into Switzerland via the Italian/Swiss Alps.
Looking southwest from the Col Val Ferret into Italy Importantly, this trip wasn’t about setting off on a “Hero’s Journey”, to return home a changed man, but to spend time alone to better understand myself.
It was a journey inwards.
More than anything else, I had ample time to myself, whole days went by without talking to anyone.
I learned to be kind & gentle with myself, to calm my own anxieties when stressed, to assess reality with facts and realize only my actions will have any impact on the outcomes.
To foster a feeling of contentment with what is, not what could or may be.
These are things I discovered not out on the road, or on a mountain path, but within myself.
These learnings are not discoverable by going farther, or hiking higher, but by allocating time and opening oneself to finding them.
One has to both open the door, but then be willing to walk through the doorway.
The ridge of the Augstmatthorn, Interlaken Switzerland Travel is just a big distraction of novelty and the remarkable.
It’s easy to forget everything and be immersed in the distraction.
In a world where we all become hyperspecialized in our careers, travel lets you multiply your experiences of life, hopefully getting a taste of other possible lives so you can tell yourself what it would’ve been like.
Travel becomes the yearly experience people remember, the marker we live by when our lives become banal.
Tourism, human circulation considered as consumption, a by-product of the circulation of commodities, is fundamentally nothing more than the leisure of going to see what has become banal.
The economic organization of visits to different places is already in itself the guarantee of their equivalence.
Guy Debord[1] So if you are looking for something inwards, be prepared to focus on whats inside, not whats outside.
Travel can be an escape from oneself or ones responsibilities, an escape more powerful than other forms of escape.
The north face of the Eiger In the end, travel for self-improvement is snake-oil just as any other form of organized, packaged, advertised and productized self-improvement (e.g.
self-help books, expensive Yoga classes, meditation get-aways, therapy sessions, magical potions and boner pills).
The real work can’t be bought, it must be practiced- and you don’t need to leave the house to do it.
Travel doesn’t change personal growth any more than puzzels improve intellectual growth.
Home, the journey inwards References 1.
Debord, Guy.
The Society of the Spectacle.
Trans.
Fredy Perlman.
Detroit: Black & Red, Print.
1983.
1
This articles describes the difference between how component invocation differs when using curlies {​{...}}, angle brackets <...> or an (...) s-expression in Ember templates.
Ember has three methods for invoking components and helpers in a template, either of the three can be used to invoke both classic and modern glimmer components.
The “classic” syntax in the form that uses curly braces {​{...}}, e.g.
{​{user-profile firstName="Dan" lastName="F."}} The “angle bracket” syntax that uses a HTML-like form <...
/>, e.g.: <UserProfile @firstName="Dan" @lastName="F." /> Finally the s-expression (for sub-expression) form used inside curly and angle bracket syntax to invoke a sub component or helper.
This takes the form (concat a " " b), thus: {​{user-profile name=(concat firstName " " lastName)}} and <UserProfile @classNames={​{concat "sticky " (if this.isActive "is-active")}} /> Angle Brackets Similar to the vanilla DOM APIs that distinguish between JS properties from HTML attributes, angle bracket component invocations have two different namespaces you’re operating against.
You are probably most familiar with HTML attributes, which tell the browser how to draw an HTML element.
These attributes can do things like defining the alt text on an image <img alt="A bird"> or the URL on an anchor tag <a href="https://example.com">.
Angle bracket syntax implements attributes in a similar way, allowing the developer to apply these attributes to a DOM node somewhere in the component’s template.
<!-- parent.hbs --> <UserProfile class="abc" @tagName="figure" /> The ...attributes syntax determines where the attributes passed into a component from an angle bracket invocation should appear in the component’s template.
Any number of attributes and element modifiers can be specified on the user profile component now, and they will all be applied to the element that has ...attributes on it.
<!-- UserProfile.hbs --> <figure> <img ...attributes src="default.jpg" /> </figure> the resulting HTML output is: <figure> <img class="abc" src="default.jpg" /> </figure> Anything prefixed with @ is an “argument”, is passed to the component by its caller, is accessible to the class backing the component, and can be any JS runtime value.
Unlike attributes, which tell the browser what to render, arguments tell your custom Ember component tag what to do.
<!-- parent.hbs --> <UserProfile @name="Dan F." /> This template invokes the <UserProfile> component, which expects one argument: @name, the value we pass is the hardcoded string “Dan F.”.
In the backing component class, arguments are namespaced on the this.args object, which is immutable.
You can access this argument as: // user-profile.js this.args.name; // "Dan F." To illustrate the differences, here is an invocation of an angle bracket component using both arguments and attributes: <Foo @bar={​{123}} @baz={​{hash a="1" b="hi"}} class="hello" data-fizz="ok" /> In the above, bar and baz would be arguments with the values 123 and { a: 1, b: 'hi' } respectively, while class and data-fizz would be attributes that could be applied to a DOM node somewhere in the component’s template.
Curly and s-expression Syntax Ember curly (also called “classic”) component invocation only have one namespace: the argument, everything is treated as an argument, as if you implicitly included @ in front of each one.
Historically, this was compensated for by automatically applying the value of the class argument to the class attribute of a component’s root element (if it had one), and this behavior could be extended to other attributes using the Ember classic attributeBindings API.
<!-- parent.hbs --> {​{user-profile bar={​{123}} baz=(hash a=1 b='hi') class="hello" data-fizz="ok"}} In the above, bar, baz, class and data-fizz would all be treated as arguments to the receiving component, so any ...attributes in its template would be a no-op.
In Ember classic components, all of these arguments can be accessed in the backing component class using either the argument name alone, <argument name>, or using this.<argument name>, thus: // user-profile.js bar; // 123 this.bar; // 123 baz; // { a: 1, b: 'hi' } this.baz; // { a: 1, b: 'hi' } this.class; // 'hello' this["data-fizz"]; // 'ok' Usage in the template is: <!-- user-profile.hbs --> {​{bar}}<br /> {​{this.bar}}<br /> {​{baz}}<br /> {​{this.baz}}<br /> {​{this.class}}<br /> {​{data-fizz}}<br /> {​{this.data-fizz}} results in the following output: 123<br /> 123<br /> [Object]<br /> [Object]<br /> hello<br /> ok<br /> ok It’s important to note that both Ember classic and glimmer components can be invoked by either syntax: classic curly or angle brackets—and what matters is how the backing class is defined.
Thus, if the above example was implemented as a modern glimmer component, the backing class must access the argument bar with this.args.bar.
If the above example was implemented as a classic component, the backing class must access the argument with either bar or this.bar.
So What’s Missing?
For those following closely, you may have noticed that this leaves us with some kind of hole in the programming model, because there’s no angle-bracket equivalent for setting up a contextual component to pass in as an argument or yield out as a block parameter.
That’s the topic under discussion at Ember RFC issue #497.
In the meantime, <div class={​{@class}} local-class="whatever" ...attributes> will ensure that a class applied to a component will pass through correctly regardless of how it’s being invoked.
This article was adapted from a PR comment by Dan Freeman.
Thanks to James Davis for proof reading this article.
I’ve seen many articles and discussions online discussing the merits of merge and rebase when integrating parallel branches into the main branch.
It seems there are two camps arguing “which is better” when in reality, both have their own use cases.
The task we need to accomplish is to determine which workflow is right for your project.
This article will attempt to provide an overview to the different workflows, and explain when merge and rebase are the more appropriate workflow to use.
The Simplistic Branch Workflow aka the GitFlow / Branch-Merge-Merge Workflow Software development teams have a typical way of doing things, but all have a main integration branch (I’ll call it “Master” for the remainder of this article) that receives feature branches.
Feature branches originate from Master, active development is performed along the feature branch, and when the feature is complete, it’s combined back into Master.
I call this workflow the “GitFlow / Branch-Merge-Merge” workflow.
The history of events for this simplistic workflow are as follows: on Master: - commit #1 - commit #2 on Feature: - commit #a - commit #b on Master: - merge feature --no-ff This produces the following graph: Graph of a typical git workflow.
Numbered commits occur along Master.
Alphabetized commits occur along Feature.
This workflow performs well for a single developer because while the feature development occurred on the feature branch, the sequence of events occurred linearly.
Importantly, no changes occurred on Master while Feature branch was changed.
When development occurs in parallel on the upstream branch (ie.
Master), either by the developer, or a co-developer, the history gets more complicated.
For this example, we’ll pretend to be a single developer working on both branches in parallel, we use the following sequence: on Master: - commit #1 - commit #2 on Feature: - commit #a - commit #b on Master: - commit #3 - commit #4 on Master: - git merge feature --no-ff This produces the following graph: Graph of a typical git workflow.
Numbered commits occur along Master.
Alphabetized commits occur along Feature.
In the above scenario the developer runs into the problem where Feature commits #a and #b were done independently of Master commits #3, #4 and #5.
This merge will fail.
To solve this problem, the developer must first merge the upstream changes in Master into feature branch Feature.
To accomplish this, the developer must switch into the feature branch and merge in the changes from Master.
The developer must then switch back to Master and merge the changes from Feature into Master.
Use the following sequence: on Feature: - merge master on Master: - merge feature This produces the following graph: Note how the final git log interleaves the commits on Feature between commits on Master.
I call this workflow the “Branch-Merge-Merge” workflow because in the most general case — the workflow begins with a branch, requires an upstream merge into the feature branch prior to merging the feature branch back into the master branch.
Looking at the above graph, feature branch Feature has been merged successfully into Master, but the git log shows an interleaved sequence of commits between Master and Feature that make debugging complex.
In the case where branch Feature introduced a bug into the Master branch, a rollback will be difficult because of how the commits are interleaved.
In the case where the bug was introduced in Feature branch commit #b, the maintainer of Master branch would need to roll-back commits #6, #c, #5, #4 and #b.
This is a difficult roll-back because Master branch features #5 and #4 were rolled back in the effort to roll back to Feature branch feature #b.
We’ve thrown some of the baby out with the bathwater.
One way to address the problems with this particular scenario is to merge in the Feature branch as a single commit appended to the Master branch, rather than as a set of interleaved commits within the Master branch.
This brings us to the next workflow.
Branch-Merge-MergeSquash Workflow This workflow attempts to address the shortcomings of the workflow above by appending feature branches as a single commit at the end of the integration branch.
For this example, lets pretend to be a single developer working on both branches in parallel (as I did above), we use the following sequence: on Master: - commit #1 - commit #2 on Feature: - commit #a - commit #b on Master: - commit #3 - commit #4 on Feature: - merge master on Master: - git merge feature --squash This produces the following graph: The git log sequence of events shows a linear series of feature integrations.
Looking at the above graph, feature branch Feature has been merged successfully into Master (although the graph doesn’t show a merge line) at commit #5.
Importantly, the git log shows a linear sequence of commits, each indicating a complete feature integration.
The squash flag has collapsed Feature branch commit #a, #b and #c into single commit #5.
In the case where branch Feature introduced a bug into the Master branch, a rollback will be as simple as running git reset --hard HEAD^ because of how the Feature branch was a single commit appended onto Master.
In this scenario, the Master branch maintainer would tell the Feature branch maintainer to fix the problem, and they could attempt the merge once the issue was fixed.
I recommend this workflow as a best-practice in cases where the feature branch will be shared (eg.
pushed to GitHub, shared with other developers.) A potential downside of this workflow is the potential confusion caused by the origin commit of the Feature branch.
Feature branch origin is located at commit #2, and merged at commit #5.
This is additional cognitive load on the Master branch maintainer when it comes time to merge the feature branch into Master.
A simplified workflow could solve this by having the Feature branch simulate its origin commit at commit #4 prior to merging into Master.
This would reduce cognitive load on the Master branch maintainer.
Branch-Rebase-MergeSquash Workflow This workflow is popular with open source projects where the job for the Master branch maintainer involves multiple feature branch integrations on a daily basis.
This workflow is designed to make feature branch merges much simpler and easier to roll back.
The main idea is that each feature branch is a simple append to the end of the Master branch.
No merge is simpler than and append-merge.
For this example, lets pretend to be the same single developer working on both branches in parallel (again, as I did above), we use the following sequence: on Master: - commit #1 - commit #2 on Feature: - commit #a - commit #b on Master: - commit #3 - commit #4 on Feature: On the Feature branch, the graph appears after commit #2 prior to rebase.
- rebase master After rebase, Feature branch commits #a and #b originate from parent commit #4 We have now changed the origin commit of branch Feature to commit #4.
This sets up future merges of the Feature branch to append directly to the end of Master branch.
on Master: - merge feature --squash We’ve now switched to the Master branch, and merged in the rebased Feature branch, appending a single commit #5 to the end of the Master branch containing all of the Feature branch.
This produces the final graph: After merging the Feature into Master, commit #5 containing the final result of all Feature branch commits #a and #b.
The final sequence of events on the Master branch read cleanly, showcasing only past feature branch integrations.
Each feature branch originated directly from the latest commit, making it seem like the feature is a simple fast-forward append onto the latest commit.
It’s worth pointing out the Branch-Merge-MergeSquash and Branch-Rebase-MergeSquash workflows both result in the same final sequence of commits.
The major benefit of the Branch-Rebase-MergeSquash workflow is that its’ branch origin appears much later in the history, reducing cognitive load on Master branch integrations.
I recommend this workflow as a best-practice when the developer is working alone on a feature branch, as well as just-prior to merging the feature branch into the master branch.
The downside of this workflow is when sharing a feature branch after a rebase.
Pushing to GitHub will require the --force flag, and anyone else working on the feature branch will see changes to the branch history when they pull an update.
This is why I don’t recommend this workflow for shared feature branches.
Conclusion I see huge benefits in collapsing feature branch commits into the master branch with — — squash, both for simplicity sake, clarity, and reduces cognitive load when the master branch maintainer needs to merge in big features.
Additionally it makes the use of git bisect much easier.
I love the advantages to using git rebase to merge in upstream changes while working on a feature branch, but it seems people need to use the workflow in practice before they can understand its benefits.
Give it a shot, you might like it.
All three workflows have been published to GitHub - Branch-Merge-Merge - Branch-Merge-MergeSquash - Branch-Rebase-MergeSquash ------------------------------------------------------------------------ This article was originally published on Medium.com
From comic book stores to Facebook to message boards, it seems that the “Keep Calm and Carry On” poster is living a new life as pop-culture cool while people remix its’ message with both quirky or banal messages.
This attempt tries to speak most directly to its underlying message of consumerism, amidst the current climate of the Occupy Movement.
Application logs are useful for many reasons.
They are the primary source of troubleshooting information.
Logs are essential to forensics during any rigorous security analysis.
Web server logs are often used for analysis in order to gain insight into usage, audience, and trends.
Logging Logs are time-ordered streams: there is no beginning or end, but rather an ongoing, collated collection of events which we may wish to view in realtime as they happen.
Unix provides some excellent tools for handling streams.
There are two default output streams, stdout and stderr, available automatically to all programs.
A program which uses stdout is equipped to log in a variety of ways without adding any weight to its codebase or configuration format.
Treating your logs as streams is a form of future-proofing for your application.
Choosing to use stdout over custom-implementing a specific logging solution allows your application to change logging mechanisms with 0-code changes.
It allows you to be the most agnostic as you haven’t needed to make any decisions or implementations other than adopting a long-standard convention.
If you run them in the foreground, as is typical of development mode, you see the output right in your terminal.
This is exactly what you want.
If you run in production mode, you can redirect the output to a file, to syslog, to both, or to any other logging system that can accept an input stream.
Logging on any reasonably large distributed system will generally end up using the syslog protocol to send logs from many components to a single location.
Programs that treat logs as files are now on the wrong path: if they wish to log to syslog, each program needs to implement syslog internally - and provide yet more logging configuration options to set the various syslog fields.
Best Practices 1.
An app shouldn’t implement a custom logging solution.
Simply write to stdout and stderr.
2.
Don’t write to a log file, and don’t expect log files to be managed.
This then requires log rotation and log file maintenance.
During local development, the developer will view this stream in the foreground of their terminal to observe app behavior.
During production the runtime environment will read stdout and stderr from the app, the streams will be captured by the execution environment, collated together with all other streams from the app, and routed to one or more final destinations for viewing and long-term archival.
These archival destinations are not visible to or configurable by the app, and instead are completely managed by the execution environment.
Furthermore, the app needn’t implement any logging solution.
The event stream for an app can be rerouted to a file (if needed), or watched in a terminal.
Most significantly, the stream can be sent to a log indexing and analysis system such as Splunk.
These systems allow for great power and flexibility for introspecting an app’s behavior over time, including: - Finding specific events in the past.
- Large-scale graphing of trends (such as requests per minute).
- Active alerting according to user-defined heuristics In Practice Already using Amazon AWS?
Checkout CloudWatch, the additional advantages here are that you could have a central source of truth for all monitoring needs because such metrics as CPU, disk I/O, and network for your container instances are already available on CloudWatch.
If using Docker, Docker 1.9 announced a logging driver for CloudWatch.
Use these options to enable the awslogs Amazon AWS CloudWatch logging driver: --log-opt awslogs-region=<aws_region> --log-opt awslogs-group=<log_group_name> --log-opt awslogs-stream=<log_stream_name> Provide AWS credentials to the Docker daemon to use the awslogs logging driver.
You can provide these credentials with the AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY, and AWS_SESSION_TOKEN environment variables.
Credentials must have a policy applied that allows the logs:CreateLogStream and logs:PutLogEvents actions, as shown in the following example.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Effect": "Allow", "Resource": "*" } ] } Use containers to move logs from one container into another service using a Docker logging driver.
Docker allows configuration of container log driver: container_name: log_driver: syslog log_opt: syslog-tag: nginxproxy_nginx syslog-address: udp://MY_DOCKER_HOST Using Splunk?
Use containers to run a Splunk forwarder splunkforwarder: image: outcoldman/splunk:6.2-forwarder environment: - SPLUNK_FORWARD_SERVER=YOUR_DOCKER_HOSTNAME:9997 volumes_from: - vforwarder ports: - 514:1514/udp restart: always
★★★★★ Review of the manga “Opus” by Satoshi Kon.
“Opus” is a brilliant postmodernist introspection of the challenges of writing, creativity, and the cliches of pop culture; delivered in a manga format.
Author Satoshi Kon worked on this manga between 1995-1996 as it was serialized in “Comic Guy” manga magazine until the magazine closed abruptly in 1996.
The final 3 chapters were never finished.
Between 1996 and his death in 2010, he sketched out an abridged final chapter that was included in this book.
The brilliance of this book is how the final chapter serves as a bookend to his life, how our individual lives are stories left unfinished, and how our loved ones go on to continue those stories.
A true gem.
I love bookmarklets, those small and elegant lines of javascript that you can bookmark and which do random functions in the browser when clicked.
uri-editor.js is 1-line of HTML that’ll run a text editor in your browser.
Drag the link into your bookmarks to save it as a quick browser-based editor tool for those moments you need a quick editor nearby.
#!uri-editor.js
When introduced to someone for the first time, I stay away from asking the cliché question “so what do you do?” This seemingly benign question is steeped in the cultural heritage of the New England colonial Puritan/Protestant work-ethic.
Hard work, frugality, perseverance in the face of hardship (without complaint) is the mark of Grace and this will allow you to achieve salvation.
You are your work, and your value and place in the social hierarchy is defined by your job.
There is a built-in assumption that ones job defines ones character.
This ideology sustains the basis for capitalistic inequality.
The work-ethic creates two groups of people: those who work hard and are deserving salvation and those who do not.
In defining the qualities of a ‘Good’ person, its’ negation reveals those who are unmentionable; the ‘Bad’ person: the sinner, the lazy, the thief.
There is a third group outside of the unmentionable, the unmentioned: those too young, too old or unable to take part in work, those prevented from work, those who don’t work, and those who don’t believe in the work-ethic.
In asking the question, two assumptions are made: 1.
The other person has a job 2.
Their job describes their identity to some extent.
(For many people, this doesn’t apply.) During conversation, this question can be interpreted as a strategic move by the interrogator.
In asking first, the interrogator is positioned to answer the counter-question with a more strategic response.
This response can establish the upper hand in the contextual social hierarchy.
Much like claiming higher ground prior to battle.
It can come off as setting a stage to brag about ones job.
Those conversations tend to unfold something like this: Roy: “So what do you do?” Steve: “I work at a red-sauce joint in Brookline” (see note) Roy: [Puffs his chest] “I’m the Director of Technology at EvilCorp” When asked “what do you do?” I try to be very generic and skirt the expected response: “I read and ride bikes every day”.
For one, most people don’t care about the answer, they ask out of cultural habit.
If pressed about my job, I usually say “I make internet stuff” and explicitly leave any job title or hierarchy out of the response.
A better question to ask people in a social setting: Who do you know that I know?
This question has a goal, namely to create a real connection between people that exists beyond bullshit corporate jargon and hierarchy.
If we want to move beyond a society structured by hierarchy and class, we need to think outside our own ideology before we speak.
A browser extension adds features to a web browser.
They’re created using standard web technologies— JavaScript, HTML, and CSS.
Extensions can run JavaScript permanently in the background or can run on any page the user visits.
Extensions can also specify popup windows and options pages.
All modern browsers increasingly support a standard called the WebExtensions API.
This API provides extensions the additional functionality to add or change the core features of the browser.
Extensions developed to follow the WebExtensions API will in most cases run in Firefox, Chrome, Opera, Brave, and Edge with just a few minor differences.
An extension will typically be a composition of any or all of the architectural parts of the extensions API: [web extension architecture] - background scripts Are essentially JavaScript running in a hidden tab, loaded when the browser starts and run continually.
Background scripts are where extension authors write code that handle global browser events and respond to actions.
They maintain long-term state, or can perform long-term operations.
This code runs independently of any any particular web page or browser window.
- content scripts Are JavaScript and CSS loaded into any web page whose URL matches a specified pattern.
This code can be written to modify web pages (e.g.
AdBlockers), or add features to web pages.
- browser actions A button and icon that the extension adds to the browser’s toolbar that can trigger events.
These actions may have a popup.
- popup A popup is really just another hidden tab which is shown when the extensios toolbar icon is clicked.
The content of a popup is specified using HTML, CSS, and JavaScript.
popup.html (in blue, below) is a basic html page that is loaded into the popup window, but can also be opened in another browser tab just like any other html page (if you know the extension URL).
- page actions Similar to browser actions, but these can add menu items to the on-page context menu, and can also open a popup window.
- options pages An extension can also specify additional pages that are available as popup windows, often offering extension preference panels.
[different parts of an extension] Creating a simple extension Every extension must, by definition define a manifest.json file, which is the only file that every extension using WebExtension APIs must contain.
The manifest.json specifies basic metadata about an extension, and also resolves how the code in the extension is loaded, including content scripts, background scripts, and browser actions.
In order to work in all modern browsers, a few fields must be defined in manifest.json: - manifest_version defines the WebExtensions API level (2 is the current version) - name the extension name - version version of the addon - author name of the person or organization (required by Edge) who wrote the extension A few other key fields are optional but highly recommended: - description text displayed in the Extension UI and in the extensions app stores - icons will be shown in the browser toolbar, in the Extension manager UI, and the various extensions app stores - a 32px icon will be shown in the toolbar (resized) - a 48px icon will be shown in the Firefox Add-ons Manager and Chrome Extensions Management - a 96px icon will be shown in the Firefox Add-ons Manager (on high DPI devices with a Retina display) - a 128px icon will be shown in the Chrome Web Store To deliver the best visual experience to users with high-resolution displays, the browser will attempt to find the best matching resolution icon.
It is best practice to provide a set of icons in multiple resolutions.
This manifest.json defines a minimal browser extension that provides an icon but doesn’t do anything, but hey, its something: { "manifest_version": 2, "version": "1.0", "name": "My extension", "author": "me", "description": "My first extension", "icons": { "16": "icon-16.png", "32": "icon-32.png", "48": "icon-48.png", "96": "icon-96.png" } } Mozilla maintains a WebExtensions browser compatibility table which is helpful for getting the manifest.json working across all major browsers.
Extension Runtime Contexts Access to the complete WebExtensions API is not universally accessible from JavaScript.
There are different levels of access depending on the context in which the code is running.
There are essentially two contexts: The background context which has access to the complete WebExtensions API, but cannot access any web page DOM; and the content script context, which has access to the any web page DOM API, but doesn’t have complete access to the WebExtensions API.
The two contexts work together with a message passing API that allows them to accomplish tasks together.
Background scripts run in the context of a special hidden tab called a background page.
This gives them a window global containing parts of the standard DOM API.
Background scripts can access all of the WebExtension APIs (as long as the manifest.json has opted the extension into the necessary permissions).
Background scripts cannot access the DOM of any web page.
Background scripts can make XHR requests to any hosts (as long as the manifest.json have granted host permissions).
Background scripts do not get direct access to web pages, however, they can load content scripts into web pages and then can communicate with these content scripts using the browser.runtime.sendMessage API.
The content scripts can then access the web page DOM on behalf of the background script.
Content scripts are extension-provided scripts which run in the context of a web page.
These scripts can see and manipulate the page DOM, just like normal scripts loaded by the page.
Unlike normal page scripts, they can also make cross-domain XHR requests (when granted permission).
Content scripts have access to a more restricted subset of the overall WebExtensions API.
For example, the browser.cookies API is not available to content scripts.
Content scripts can exchange messages with their background scripts, and in this way indirectly access all the WebExtension APIs.
Web extension code communicates across contexts using either the standard DOM API window.postMessage(...): for communicate between content scripts and other scripts on the host page, or the content scripts and other page scripts can communicate with the background script using the browser.runtime.sendMessage(...) API.
The background script can additionally send messages to the content script using browser.tabs.sendMessage(...).
[extension message communication] Deploying an extension Extensions are compressed into a zip file before being uploaded to the extension app store.
Mozilla maintains a build tool for creating a zipped package that’ll work on both the Chrome Web Store and the Firefox Addons store.
This tool can also perform project linting, as well as testing and a development runner that hot-reloads extension code for Firefox.
- web-ext - Documentation Resources - Google WebExtensions API - Mozilla WebExtensions API - Brave - Microsoft
A model city Gibsons “San Francisco’s Slow-Motion Suicide” is worth reading, his take is that San Francisco has become too successful… inevitable to decline into some expensive backwater due to “the rent is too damn high”.
He paints a compelling vision of the ills of appalling levels of income inequality, the monoculture of white-male-American tech-workers, and the metastasis of the city into the “hinterlands of Antioch and Vallejo”: the resulting 3 hour-long commutes: yet all these are (in his argument) the results of a conservative set of “not in my backyard” zoning laws that haven’t kept up with the living force of the city.
Gibsons most powerful argument was wonderful: The legendary urbanist Jane Jacobs once remarked that new ideas come from old buildings, the types of places you can alter without permission because no one cares about them.
This is one reason why so many garage startups and garage bands and artists spilling paint in discarded warehouse lofts have left their mark on the world.
The true creative class can’t afford to rent expensive new studios.
Gibson alludes to the conservative zoning laws and wealthy property owners exacerbating the plight of San Francisco and similar cities: Owners want property values to rise above all other concerns.
The problem in San Francisco isn’t a lack of development, but the opposite: The lack of LIFE itself.
San Francisco has privileged the physical static object of the real-estate-object over the use of space in time.
The people owning property and businesses privilege the real estate value over use value, and the result is a static dead space where object-value dominates and eliminates the use of space for daily life.
Recently a friend of mine packed his motorcycle up with his distillation laboratory, plastic molding equipment, machine shop tools, his immense library, his formidable liquor collection, and moved down to Philadelphia, where he can have a far larger living space, workspaces are abundantly available, and where the barrier to start new businesses and develop existing vacant lots for new uses are minimal or non-existent.
The drive to urbanization is an imperative of capitalism, this drive results in “a freezing of life”— a static world devoid of spontaneity, the result of land development and bureaucratic zoning laws optimized for rent seeking and increased land valuations, devoid of nature and where its residents have no ability to change their surroundings to suit daily life.
All desire for change is eliminated in order to serve the profit generating imperative of capital, all autonomy of local residential use is therefore foreclosed, instead privileging real estate development as the only legitimate use.
The result of this is a predominance of land organized around the valuable placement of real estate objects over the living use and alteration of land by the very people who live in these spaces, people who wish to change their surroundings over time as use-patterns and ways of living change with the seasons and with time.
The philosopher Hegel explored this concept saying: “Space is the connection of the quiescent asunderness and side-by-sideness of things [objects]; Time is the connection of their vanishing or alteration… In the spatial world the question is not succession but of coexistence… As a restless Becoming [Time] is not an element of the synthetic whole.” > (G.W.F.
Hegel ; translated by A.V.
Miller.
Oxford, UK ; New York, NY : B.
Blackwell, 1986.) This is to say: the privileging of objects in space fetishizes the object and therefore sacrifices changes in time.
This creates and alienated and static space of purely fetishized structures devoid of life.
This was an excerpt from “The Society of The Spectacle: Elaborated” a forthcoming book by 0xADADA.
References Debord, Guy.
(1983).
The Society of the Spectacle.
Trans.
Fredy Perlman.
Detroit: Black & Red, Print.
Hegel, G.W.F.
(1986).
The Philosophical Propadeutic.
Trans.
A.V.
Miller.
Oxford, UK: New York, NY: B.
Blackwell, Hardcover.
This was also posted to /en/socialtheory.
0xADADA, Erik Ibsen, Chen Zhang College of Computer and Information Science Northeastern University Boston, MA Abstract This paper documents the creation and testing of a game playing artificial intelligence (AI) agent program.
The agent is designed to play a game of Connect Four by Milton-Bradley.
The game is played by dropping pieces into a game board consisting of a grid of 6x7 slots.
The object is to make a vertical, horizontal or diagonal line of four pieces before the opposing player does.
The agent designed in the current study is able to play against a human opponent or against another AI agent.
Introduction In this chapter the rules of the game Connect-Four are described, as well as the task environment.
We also introduce a naming convention used throughout this text.
The Rules of the Game Connect-Four is a game for two persons.
Both players have 21 identical pieces.
In the standard form of the game, one set of pieces is red and the other set is yellow.
The game is played on a vertical, rectangular board consisting of 7 vertical columns of 6 squares each.
If one piece is put in one of the columns, it will fall down to the lowest unoccupied square in the column.
As soon as a column contains 6 pieces, no other piece can be put in the column.
Putting a piece in one of the columns is called a move.
The players make their moves in turn.
There are no rules stating that the player with, for instance, the red pieces should start.
Since it is confusing to identify for each new game the color that started the game, we will assume that the sets of pieces are colored white and black instead of red and yellow.
Like chess and checkers (and unlike go) it is assumed that the player playing the white pieces will make the first move.
Both Players will try to get four connected pieces, horizontally, vertically or diagonally.
The first player who achieves one such group of four connected pieces wins the game.
If all 42 pieces are played and no player has achieved this goal, the game is a draw.
Diagrams 1.1, 1.2 and 1.3 show positions in which White has won the game: Diagram 1.1 Diagram 1.2 Diagram 1.3 In the position of diagram 1.1, White has made a horizontal winning group, while his winning groups were respectively vertical and diagonal in the other two diagrams.
A possible drawn position is shown in the diagram 1.4: Diagram 1.4 Task Environment The goal of this study was to create an agent to play the game Connect Four.
The rules for the game were taken from the classic game of Connect Four.
However, the environment and the agent program was created from scratch.
On the surface the program functions as a simple Connect Four game playable between two human players.
In order to make an appropriate agent design, the task environment must first be identified and described.
Table 1.1 is a PEAS description of this task environment.
The task environment can be further categorized by several other factors, such as observability, number of agents, etc.
These factors are described in Table 1.2.
------------------------------------------------------------------------ Agent Type Connect Four Playing Software Agent ------------- ---------------------------------------------------------- Performance Put four pieces adjacent or diagonal to each other, Measure prevent opponent from doing the same.
Environment Game Board, Agent’s pieces, and Opponent’s pieces.
Actuators Piece placing function.
Sensors Direct access to the state of the board.
------------------------------------------------------------------------ Table 1.1 – A PEAS description of the task environment.
---------------------------------------------------------------------------------- Environment Description Property ----------------- ---------------------------------------------------------------- Fully Observable The Connect Four environment is fully observable.
The vs.
Partially environment consists of the board, which has constant Observable dimensions, and the pieces, which belong to either the player or the opponent.
The agent has access to all of this information.
Deterministic This environment could be considered deterministic, as there are vs.
Stochastic no random elements at work here.
The only unknown is the actions of the opponent.
Therefore, the environment can be classified as strategic.
Episodic The environment could be either episodic or sequential, vs.
Sequential depending on the algorithm the agent uses.
If the algorithm calls for random placement of a piece, then the environment is episodic.
However, if the algorithm is more sophisticated, calling for prediction of the opponent’s moves, then the environment is sequential.
Static This environment is fully static.
Time is not a factor in making vs.
Dynamic the decision as to where to place pieces.
Once it is the agent’s turn, the state cannot be changed until it makes its move.
The agent is also not penalized as a function of decision time.
Discrete Connect Four is a fairly simple game with a finite, albeit vs.
Continuous large, number of different states.
Therefore, the environment is decidedly discrete.
Single agent In this game, there are two agents at work.
From the point of vs.
multi-agent view of the AI agent, there is itself, and another agent.
The other agent can either be a human player or another AI agent, which may or may not use the same algorithm.
Since both agents (be they human or otherwise) are out to maximize their own performance measure and minimize their opponent’s, the environment is classified as competitive multi-agent.
---------------------------------------------------------------------------------- Table 1.2 – Detailed description of the task environment properties Naming Convention In order to be able to talk about a position, it is useful to give each square a name.
We have chosen to use a convention as used by chess players.
The 7 columns are labeled ‘a’ through ‘g’ while the rows are numbered 1 through 6.
In this way the lowest square in the middle column is called d1.
It is now possible to make a list of the moves made during a game.
For the game diagram 1.1 this could have been: 1.
d1, d2 2.
c1, d3 3.
e1, b1 4.
f1, White wins.
It is also easy to use the names of the squares to show where the winning group was created.
In diagram 1.1 the winning group was on squares c1, d1, e1 and f1.
Since the squares must lie on a straight line, it is enough to specify the two endpoints of the group.
In this case the group can be identified with c1-f1.
In general the notation will be used to identify all squares on the line with sqaure1 and square2 as endpoints.
Complexity Analysis In this chapter we show why a brute force approach will not be successful at this time.
Complexity of the Game In order to get an idea about the complexity of the game an estimate is presented of the number of different positions that can be achieved, if the game is played according to the rules.
A position that can occur during a game is called a legal position, while a position that cannot be achieved is called illegal.
Each square can be in one of three states: empty, white or black.
Therefore it is easy to see that the number of possible positions is at most 342 (≥ 1020).
This upper bound is a very crude one, and can be brought into better proportions.
If the total number of occupied squares in a given position is odd, the number of white pieces is one more than the numbers of black pieces.
If the total of occupied squares is even, these numbers are equal.
Furthermore, if a column contains an empty square, all squares higher than this square are also empty.
If a position contains four connected pieces, the position concludes a game.
Since the last move ended the game, at least one of the four squares in the connected group must be the highest filled square in its column.
If this is not the case, or both players have connected four pieces, the position is illegal.
If one player has more than one connected group this position can only be legal if these groups share a square that contains the last piece played.
In the calculations we are going to make, we do not rule out positions in which are illegal for the reasons mentioned above.
We also do not rule out positions that are not legal, because they cannot be achieved, during normal play.
Diagram 2.1 shows such a position.
Diagram 2.1 Although the position looks perfectly normal, it is clear that Black has made the first move.
Therefore it is not legal simply because white is supposed to move first according to the rules.
We have calculated the number of different positions, including all illegal positions which contain too many connected groups of four pieces, and illegal positions as shown in diagram 2.1.
For the standard 7 x 6 board, an upper bound of 7.1 x 1013 is found.
To determine the amount of memory needed to construct a database for Connect-Four this upper bound is useful.
In order to show that such a construction takes too much memory, we need a lower bound instead of an upper bound.
If we want to find a good lower bound of the number of possible positions, we have to make sure that each position we count is legal.
Therefore all positions which cannot be achieved during normal play, e.g.
diagram 2.1, should be ruled out.
Diagram 2.2 illustrates the difficulties we are faced with in determining if a position is legal.
Diagram 2.2 The position of diagram 2.2 is a draw.
Although at first sight it might look like a normal position, it cannot be achieved during normal play.
This can be seen as follows: the first move White made must have been d1.
If Black played as his first move one of b1, d2 and f1, there is no possible second move for White.
Therefore Black’s second move was one of a1, c1, e1 and g1.
Suppose Black played a1, White then must have played a2 as second move, giving the position of diagram 2.3: Diagram 2.3 Now Black still cannot have played b1, d2 or f1, for the same reason as before.
The move on a3 is not possible either.
Therefore Black must have played one of the remaining c1, e1 or g1.
After one of these, and after White’s answer to it, the position did not get any better.
The furthest we can get with this game is shown in diagram 2.4.
Diagram 2.4 In this position Black has to move.
For all seven columns, the lower two squares should be filled by black pieces.
Therefore after the next move of Black there is no move White can make that will eventually result in the position shown in diagram 2.2.
Therefore that position is illegal.
This diagram shows that it can be rather difficult to detect if a position is illegal.
It is equally difficult to show which of the positions are not legal because more than one group of four connected pieces is present.
We therefore assume that a database should contain a large number of illegal positions.
We believe that in that case the order of magnitude of the upper bound presented before, is a good estimate for the magnitude of the database.
This number is by far too big to think seriously about making a database for Connect-Four.
To see this, we have to consider the number of positions that must be stored at the same time when we build the database.
When a retrograde analysis is applied, as has been done for many endgames in chess, we need not necessarily store the positions consisting of, say, 20 pieces, as long as we have not yet determined the value of all positions of 21 pieces.
When we have determined the value of these positions, we no longer need the positions consisting of 22 pieces or more.
Therefore we only need to be able to store all positions of n and n+1 pieces at the same time.
For the 7 x 6 board, this means that we must be able to hold all positions of 36 and 37 pieces at the same time, a total over 1.6 x 1013 positions.
We can store the value of a position in 2 bits, since we have 4 possible states: win for White, win for Black, draw or not checked (we can use the address of the 2 bits as identification for the position).
This way we need at least 4 Terabyte.
Therefore making a database does not yet seem realistic.
Development Interface The interface of the game program consists of two parts, the menu, and the game board.
The menu gives the user access to the game controls, such as setting which AI algorithm to use, and which players will be controlled by humans and which by AI agents.
One interesting feature of this particular design is that one can begin a game with two human players, and set up the board any way they like.
Then one or both of the players can be switched to AI agents, in order to see how they react to different initial configurations of the board.
Once the players are set, the user can begin a new game.
The game board is set to the initial configuration of all empty squares.
Players then take turns dropping pieces into the 7 columns of the game board.
Human players make moves by clicking the button above the desired row.
This design was favored over other interfaces, such as clicking directly on the game board, partially because of time restraints, and partially because it more closely approximates the way the real game is played, by dropping pieces into the top of the board.
The AI agents, of course, automatically make their moves, so their pieces appear very soon after the opponent makes their move.
Since the AI agents are very fast at making their decisions, AI vs.
AI games of Connect Four are for the most part very short.
When the game is over, a window pops up that notifies the user of the outcome.
If the game results in a win for some player, the message states that that player has won.
However, if the game ends in a draw, then this message is relayed to the user instead.
From that point, the user can either quit or begin a new game.
As a side note, in early versions of the program, there was one other form of interface present.
The list of moves in sequential order was output to a text window, along with system messages such as which player was victorious.
This list of moves proved very valuable for the debugging process.
At one point, when pitting AI agents against each other, the program became stuck in an infinite loop.
It was very beneficial to be able to see what moves led up to the loop and what moves the AI was trying to make during the loop.
Design This design is both intuitive and minimal.
The GUI was written in Java/Swing, a toolkit provided by Java, as seen below in diagram 3.1.
Diagram 3.1 Artificial Intelligence The computer AI opponent of the program is configurable to different difficulty levels.
Each difficulty level represents a different algorithm.
There are four different difficulty levels in this version of the program; Random (easy), Defensive, Aggressive, and Minimax (difficult).
Random AI The Random AI algorithm simply places pieces randomly each turn.
This algorithm can be defeated easily by human players and by the other AI algorithms.
It is also the only one that is non-deterministic.
Since it randomly places pieces, the move progression will be different each time this algorithm plays.
As described below, the Random algorithm is the only one with this characteristic.
Defensive AI The defensive AI algorithm uses a heuristic function to determine what the next move should be.
It looks at the current state of the board and assigns a value to each of the available moves.
The higher this value is, the more dangerous it is not to move there.
For instance, if the opponent has three pieces in a row, a value of 8 is given to the space that would complete the opponent’s four-in-a-row.
If the opponent has two pieces in a row, a value of four might be given to the adjacent square.
The point of this algorithm is to block the opponent from getting four in a row at all costs.
Aggressive AI The Aggressive AI algorithm uses the same type of heuristic function used by the defensive algorithm, with one key difference.
The defensive algorithm only applies the heuristic function to the opponent’s pieces on the board.
The aggressive algorithm applies it to both the opponent’s pieces and its own pieces.
Thus it simultaneously defends against potentially losing situations by blocking the opponent from winning, and makes offensive moves maximizing the number of pieces it has in a row.
Skilled human players are still able to defeat this algorithm fairly easily, however, since it does not look very far ahead in the game tree.
Minimax AI This algorithm was initially going to use the minimax algorithm (as implemented in Artificial Intelligence: A Modern Approach) to search the game tree for the optimal move.
However, the tree proved to be too massive to search in this way, due to computational limitations.
One possible solution to this problem was the alpha-beta pruning algorithm, in which game subtrees are eliminated to cut down on the number of computations.
However, this idea was passed over for a simplified version of the minimax algorithm.
Instead of searching the entire game tree, the algorithm used in the final version of the program only searches the tree up to a certain point.
So, in effect, the algorithm is looking four moves ahead and making the best move based on that knowledge.
The decision to limit the lookahead to four levels was made because it is about equal to the number of moves a skilled player can look ahead, and it is a good match for the current power of processing technology.
Thus the Minimax AI is a good match for a skilled human player.
Results One of the primary functions of this study was to learn about how the different AI algorithms perform against one another.
Due to the short length of the matches played between to AI players, many trials were able to be conducted.
Table 5.1 is a brief summary of how the different algorithms interact.
------------------------------------------------------------------------------------- Condition Winner (most Comments often) ---------------- ------------ ------------------------------------------------------- Random vs.
Any Any other Since random play is seldom successful, Random AI is Other most often defeated.
However, it can and sometimes does win against stronger AI.
Defensive Draw It was hypothesized that whichever player went first vs.
Defensive, would win most often.
However, more often than not the Aggressive game ended in a draw.
For those games that did not end vs.
Aggressive in a draw, no player won significantly more than the other.
Defensive Aggressive Since Aggressive AI takes into account more of the vs.
Aggressive state than the Defensive, Aggressive will always prevail.
Defensive or Minimax Since Minimax is able to look ahead four moves, it will Aggressive usually defeat both Defensive and Aggressive.
There are vs.
Minimax some instances where the game will end in a draw.
Minimax Player 2 For some coincidental reason, when Minimax is pitted vs.
Minimax against itself, the second player always wins, and the same game is always played.
This may be due to the fact that the entire game tree is not searched, so the algorithm is not perfect.
------------------------------------------------------------------------------------- Table 5.1 – A summary of the results of AI vs.
AI games.
Conclusion Above all else, this study was designed so that the authors could learn more about AI.
This goal was successfully accomplished.
The specific area in which the most experience was gained is that of computer game playing agent design.
While the algorithm best suited to success may be impossible to execute with current technology, other algorithms are just as suitable to make for an interesting playing experience.
This is an important game design concept, because more often than not, people want to win games they play.
Therefore, if the computer AI always wins because the algorithm is perfect, the game will suffer from lack of human interest.
Heuristic algorithms like the Defensive and Aggressive algorithms outlined in this study are very well suited to solve this problem.
Since they do not always win, but sometimes trick a human player, they retain a human player’s interest.
As long as no one programs a heuristic algorithm to become frustrated at losing, they will remain one of the best solutions to a computer game-playing problem.
References 1.
Russell, S., Norvig, P.
Artificial Intelligence, A Modern Approach.
Third Edition Pearson Education, Inc.
Prentice Hall.
Print.
2003.
2.
Flanagan, D.
Java in a Nutshell.
Third Edition.
O’Reilly & Associates, Inc.
Print.
1999.
3.
Knudsen, J.
Java 2D Graphics.
O’Reilly & Associates, Inc.
Print.
1999.
4.
Milton-Bradley, Inc.
Connect Four Game, Hasbro, Inc.
Appendix All source code is available at GitHub.
Alleyway in Bologna, Italy Travel opens my mind to new perspectives and allows me to recontextualize existing systems of thought.
I had casually studied Roman history over the course of a few years, prior to my travels to Italy.
My understanding was built upon a small collection of books and two excellent podcast series.
While one can learn a great deal from books, podcasts, and other media, that knowledge is divorced from its original context — i.e.
we musn’t mistake a map for the territory.
A museum - by its very nature - strips the subject of its contextual time and place (arguably the time, and sometimes place have been lost to time).
A museum succeeds if it is able to recreate the context of the subject in both time and place, within the mind of the museum visitor.
This leads to a more delightful understanding and appreciation of the subject.
When I travel, I seek to create new understanding - a recontextualization of the artifacts of knowledge I grasp on the subject.
From facts and anecdotes taken from books, images and perspectives gathered from museums — all mashed together again, and then reformed within the milieu of their original spatial context.
Its important to note that this is a passive activity, simply walking around Rome was enough to ignite this recontextualization.
Characters take on new roles, events have more (or less) relevance, and places are imbued with life, color and motion.
Understanding becomes alive.
Travel seems to make me step outside the world, so that I can look back upon it with new eyes.
And when I return home, my new eyes are the eyes with which I’ve always viewed the world.
This is the first set mixed in nearly 12 years.
Working in an open office space means many hours of my day are spent listening to music with headphones on, cranking away at software code.
For me, this means listening to music that doesn’t distract from the task of writing and problem solving.
This set was designed in the spirit of musicForProgramming.net.
This set was heavily inspired by sci-fi movies that use long scenes to showcase the vast, open, and cold expanses of space: Solaris, Interstellar, and Gravity all come to mind.
Set List - Tim Hecker - Harmony in Blue I - Tim Hecker - Harmony in Blue II - Nine Inch Nails - Harmony in Blue I - Overand - Autechre - Oscar See Through Red Eye - Boards of Canada - Wolf Cub - Burial & Four Tet - Zauberberg 6 - Gas - Maybe You’re My Puppet - Cliff Martinez (Solaris) - Wormhole - Cliff Martinez (Solaris) - The Wormhole - Hans Zimmer (Interstellar) - A Stop at the Chord Cascades - Tim Hecker - Xerrox Helm Transphaser - Alva Noto - Lonely Void - Mica Levi (Under the Skin) - The Lisbon Maru - Fuck Buttons - Along - Oneohtrix Point Never - See on See - Autechre - Hatred of Music I - Tim Hecker - Hatred of Music II - Tim Hecker - Carrying Glass - Ryuichi Sakamoto & Alva Noto
A cop Fascism is an expensive to maintain state-of-siege by the capitalist economy attempting to defend itself by an irrational means.
Fascism rallies to the defense of the conservative bourgeois ideology of the family, private property, the moral order, and patriotic nationalism.
It unites the petty-bourgeois, the unemployed who have been hurt by the crisis or disappointed by the impotence of the socialist revolution‒ it is not by its nature fundamentally ideological, but may exhibit ideology to suit its needs.
Its strength is how it presents itself truthfully as a violent resurrection of mythic past origins‒ to claim the past as a “Golden Age” and a return to the success of this golden past.
It demands participation in a community held together by mythical archaic pseudo-values: race, blood, and the leader.
Fascism is a cult of the archaic fitted out by modern technology.
It revives and recreates its myth (both past and present) through the spectacle using speeches, television, radio, internet, and pop culture.
It is a major factor in the formation of the modern spectacle.
The false mythology of this “Golden Age” is one of the fundamental factors of contemporary society, and was a primary factor in the destruction of the workers movements of the past.
Fascism however, is the most costly means of preserving a capitalist order due to the scale and effort required of the state to enforce the authoritarian rule of a minority with a police state apparatus.
Fascism is unsustainable in the long-term, and must be pushed aside by a more efficient and rational form of power; neoconservative or neoliberal representational democracy being examples.
This was an excerpt from “The Society of The Spectacle: Unpacked” a forthcoming book by 0xADADA.
Photo by Alec Favale on Unsplash This was also posted to /en/socialtheory.
References Debord, G.
(1983).
The society of the spectacle.
Trans.
Fredy Perlman.
Detroit: Black & Red, Print.
Debord, G.
(1994).
The society of the spectacle.
New York: Zone Books.
Debord, G.
& Knabb, K.
(2014).
The Society of the spectacle.
Berkeley, CA: Bureau of Public Secrets.
Released a tiny npm package today: [@0xadada/random-emoji](https://0xadada.pub/random-emoji/), a javascript random emoji function with zero dependencies.
$ yarn add @0xadada/random-emoji $ node > const random = require('@0xadada/random-emoji'); > random() '😁' let a = random(); // defaults to 'emoticons' let b = random('emoticons'); let c = random('food'); let d = random('animals'); let e = random('expressions'); console.log(a, b, c, d, e); // 😍 🙄 🍗 🐥 🤢 Small, fun.
This is a guest post by Aral Balkan.
Mark Zuckerberg has released a manifesto titled Building Global Community in which he details how he – one of the top 8 billionaires in the world – and his byzantine American/multinational corporation, Facebook Incorporated, are going to solve all of the world’s problems.
In his grand vision for humanity, Mark keeps returning to how Facebook fundamentally “brings us closer together” by “connecting friends and families.” What Mark fails to mention is that Facebook does not connect people together; Facebook connects people to Facebook, Inc.
Facebook’s business model is to be the man in the middle; to track every move you, your family, and your friends make, to store all that information indefinitely, and continuously analyse it to understand you better in order to exploit you by manipulating you for financial and political gain.
Facebook isn’t a social network, it is a scanner that digitises human beings.
It is, for all intents and purposes, the camera that captures your soul.
Facebook’s business is to simulate you and to own and control your simulation, thereby owning and controlling you.
Where Mark asks you to trust him to be a benevolent king, I say let us build a world without kings.
I call the business model of Facebook, Google, and the venture-capital-funded long tail of Silicon Valley startups “people farming”.
Facebook is a factory farm for human beings.
And Mark’s manifesto is nothing more than a panicked billionaire’s latest sophomoric attempt to decorate an unpalatable business model grounded in the abuse of human rights with faux moral purpose to stave off regulation and justify what is unabashedly a colonial desire: to create a global fiefdom by connecting all of us to Facebook, Inc.
Avoiding a Global Colony Mark’s manifesto isn’t about building a global community, it is about building a global colony – with himself as king and with his corporation and the Silicon Valley oligarchy as the court.
Facebook wants us to think that it is a park when it’s actually a shopping mall.
It is not the job of a corporation to “develop the social infrastructure for community” as Mark wants to do.
Social infrastructure must belong to the commons, not to giant monopolistic corporations like Facebook.
The reason we find ourselves in this mess with ubiquitous surveillance, filter bubbles, and fake news (propaganda) is precisely due to the utter and complete destruction of the public sphere by an oligopoly of private infrastructure that poses as public space.
Facebook wants us to think that it is a park when it’s actually a shopping mall.
The last thing we need is more privately owned centralised digital infrastructure to solve the problems created by an unprecedented concentration of power, wealth, and control in a tiny number of hands.
It’s way past time we started funding and building the digital equivalents of parks in the digital age instead of building ever-larger shopping malls.
Others have written detailed critiques of Mark’s manifesto.
I will not repeat their efforts here.
Instead, I want to focus on how we can build a world that stands in stark contrast to the one in Mark’s vision.
A world in which we – individuals – instead of corporations, have ownership and control of our selves.
In other words, where we have individual sovereignty.
Where Mark asks you to trust him to be a benevolent king, I say let us build a world without kings.
Where Mark’s vision is rooted in colonialism and the perpetuation of centralised power and control, mine is based on individual sovereignty and a healthy, distributed commons.
Individual Sovereignty and the Cyborg Self We can no longer afford the luxury of not understanding the nature of the self in the digital age.
The very existence of our freedoms and democracy depend on it.
We are (and we have been for a while now) cyborgs.
We must resist any attempt to reduce people to property with the greatest of fervour.
In that, I don’t mean to conjure up the stereotypical representation of cyborgs as prevalent in science fiction wherein technology is implanted within biological tissue.
Instead, I offer a more general definition in which the term applies to any extension of our minds and our biological selves using technology.
While technological implants are certainly feasible, possible, and demonstrable, the main way in which we extend ourselves with technology today is not through implants but explants.
We are sharded beings; the sum total of our various aspects as contained within our biological beings as well as the myriad of technologies that we use to extend our biological abilities.
Once we understand this, it follows that we must extend the protections of the self beyond our biological borders to encompass those technologies by which we extend our selves.
Wherefore, any attempt to own, control, and trade in these technologies by third parties is an attempt to own, control, and trade in the constitutional elements of people.
It is, in short, an attempt to own, control, and trade in people.
Needless to say, we must resist any attempt to reduce people to property with the greatest of fervour.
For to not do so is to give our tacit consent to a new slavery: one in which we do not trade in the biological aspects of human beings but their digital aspects.
The two, of course, do not exist apart and are not truly separable when manipulation of one necessarily affects the other.
Beyond Surveillance Capitalism Once we understand that our relationship to technology is not one of master/butler but cyborg/organ; once we understand that we extend our selves with technology and that our technology and data lie within the boundaries of the self, then we must insist that the constitutional protections of the self that we have enshrined within the Universal Declaration of Human Rights and implemented within our myriad of national laws are extended to protect the cyborg self.
It also follows, then, that any attempt to violate the boundaries of the self must be considered an assault on the cyborg self.
It is exactly this abuse that constitutes the everyday business model of Facebook, Google, and mainstream Silicon Valley-inspired technology today.
In this model, which Shoshana Zuboff calls surveillance capitalism, what we have lost is individual sovereignty.
People have once again become property – albeit in digital, not biological, form.
To counter this, we must build new infrastructure to enable people to regain individual sovereignty.
Those aspects of the infrastructure that concern the world around us must belong to the commons and those parts that concern people – that make up the organs of our cyborg selves – must be owned and controlled by individuals.
So, for example, smart city architecture must be in the commons and data about the world around us (“data about rocks”) must belong to the commons, while your smart car, smart phone, smart watch, smart teddy bear, etc., and the data they collect (“data about people”) must belong to you.
An Internet of people Imagine a world where everyone has their own space on the Internet, funded from the commons.
This is a private space (an organ of the cyborg self) that all our so-called smart devices (also organs) link into.
Instead of thinking of this space as a personal cloud, we must consider it a special, permanent node within a peer-to-peer structure wherein all our various devices (organs) connect to one another.
Pragmatically, this permanent node is used to guarantee findability (initially using domain names) and availability (as it is hosted/always on) as we transition from the client/server architecture of the current Web to the peer-to-peer architecture of the next generation Internet.
The infrastructure we build must be funded from the commons, belong to the commons, and be interoperable.
The services themselves must be constructed and hosted by a plethora of individual organisations – not governments or corporate behemoths – working with interoperable protocols and competing to provide the best service possible to the people they serve.
Not coincidentally, this severely limited scope of corporate function marks the entirety of a corporation’s role within a democracy as I see it.
The sole purpose of a corporation should be to compete with other organisations to provide the best service to the people it serves.
This is in stark contrast to the wide remit corporations have today to attract people (whom they call “users”) under false pretences (free services wherein they are the product being sold) only to addict them, entrap them with lock-in using proprietary technology, farm them, manipulate their behaviour, and exploit them for financial and political gain.
In the corporatocracy of today, we – individuals – serve corporations.
In the democracy of tomorrow, corporations must serve us.
The service providers must, of course, be free to extend the capabilities of the system as long as they share their improvements back into the commons (“share alike”), thus avoiding lock-in.
For providing services above and beyond the core services funded from the commons, individual organisations may set prices for and charge for value-added services.
In this way, we can build a healthy economy of competition on top of an ethically sound core instead of the system of monopolies we have today on top of an ethically rotten core.
And we can do so without embroiling the whole system in convoluted government bureaucracy that would stifle experimentation, competition, and the organic, decentralised evolution of the system.
Interoperability, free (as in freedom) technology with “share alike” licenses, a peer-to-peer architecture (as opposed to client/server), and a commons-funded core are the fundamental safeguards for preventing this new system from decaying into a new version of the monopolistic surveillance web we have today.
They are how we avoid economies of scale and break the feedback loop between the accumulation of information and wealth that is the core driver of surveillance capitalism.
To be perfectly clear, we are not talking about a system that can flourish under the dictates of late-stage surveillance capitalism.
It is a system, however, that can be constructed under present conditions to act as the bridge from that status quo to a sustainable, post-capitalist world.
Building the world you want to live in In a talk I gave at a European Commission event in Rome recently, I told the audience that we must “build the world we want to live in.” For me, that is not a world owned and controlled by a handful of Silicon Valley oligarchs.
It is a world with a healthy commons wherein we – as a community – collectively own and control those aspects of our existence that belong to us all and where we – as individuals – individually own and control those aspects of our existence that belong to our selves.
Imagine a world where you (and those you love) have democratic agency; where we all enjoy basic welfare, rights, and freedoms befitting cyborg dignity.
Imagine a sustainable world freed of the destructive short-term greed of capitalism where we no longer reward sociopaths for finding ever more ruthless and destructive ways to accumulate wealth and power at the expense of everyone else.
Imagine a free world removed from the feedback loop of manufactured fear and ubiquitous surveillance that has us spiralling deeper into a fresh vortex of fascism.
Imagine a world where we grant ourselves the mercy of an intellectually rewarding existence where we are free to explore the potential of our species among the stars.
That is the world that I wake up every day to work towards.
Not because it is charitable.
Not because I’m a philanthropist.
In fact, for no reason at all other than because that is the world that I want to live in.
Aral Balkan is an activist, designer, and developer.
He’s ⅓ of Ind.ie, a tiny social enterprise working for social justice in the digital age.
This article was originally published at Aral Balkan on February 18, 2017.
Docker is getting a lot of hype these days, for good reason.
There are plenty of articles touting the merits of Docker but most are written without context and are limited to examining the the benefits of Docker independently of its’ practical everyday use in a software development project lifecycle.
This article aims to examine the benefits of Docker within the context of a software company with multiple developers working on multiple projects, having to manage these projects deployed in a cloud production environment.
In this context the benefits of Docker become more readily apparent.
With the rise of cloud computing, the number of systems that need to be maintained has exploded.
Manual provisioning of an increasingly large number of systems becomes impossible for a small team, given platforms like Amazon EC2 provide auto-scaling when additional load is detected.
Tools like Ansible, Chef, Puppet and Salt are great solutions towards achieving automated provisioning of virtual machines.
The industry has responded by quickly adopting these tools, but even more agility and performance can be achieved by using Docker containers.
Combining Docker with a deployment tool like AWS Elastic Beanstalk can provide even greater efficiencies for developing and deploying cloud applications.
Dockdj [Dockdj] This article will be using Dockdj to illustrate using Docker and Elastic Beanstalk in the context of a real-world web project.
Dockdj is a recipe for building 12-factor Python / Django web apps with multi-container Docker and deploying to Amazon AWS using Elastic Beanstalk.
Dockdj is available on GitHub.
Manual Provisioning The naive approach is manual provisioning: the developer installs Apache and associated system libraries directly on the local development machine, configure it according to the WordPress documentation.
These manual steps will need to be repeated for every additional member of the development team, and again for the production web server.
When provisioned software is updated or configurations change.
All members of the development team and the production systems need to be updated accordingly.
Larger teams inevitably begin experiencing the “works on my machine” problems between developers when some developers haven’t updated their configurations to match coworkers who have.
Manual provisioning quickly becomes a frequent and resource-intensive process, with the side-effect of prolonging the deployment of important vendor bug fixes and security patches across both development and productions systems.
Additionally, when increased traffic hits productions systems, new systems need to be allocated and scaled horizontally to support the new traffic.
All the provisioning needs to repeated.
This system doesn’t scale as more production servers are added to serve additional traffic load.
Even worse is when differences between developer-systems and production-systems result in hard-to-reproduce bugs once the app is deployed from development into production.
Automated Provisioning An improvement over manual provisioning is automated provisioning using a configuration management tool like Ansible, Chef, Puppet, Salt, etc.
These tools have been developed to address the problems of provisioning at large scale.
The aim of these tools are: 1.
Initialize and start virtual machines 2.
Automate the provisioning process in a repeatable way 3.
Manage changes to provisioning in a version control system 4.
Establishing and maintaining consistency of system dependencies and configuration throughout an applications life Configuration management tools are wonderful for automated provisioning, but in practice[1] they tend to split management of the stack-app into two parts: 1.
the software Stack - Operating system - System libraries - Provisioned software - Configuration 1.
the Application - Source code & binaries - Dependencies - Runtime environment The result is that the stack (#1) is initially allocated and provisioned using one of the configuration management tools.
The application (#2) is then deployed on the stack— resulting in a running application.
When subsequent application versions (#2) are released and deployed, they are deployed onto the (unchanged) stack.
The problem with this model is that the stack and the application are managed independently.
Changes to the stack are managed as a unit separate from changes to the application.
No data is recorded that describes the compatibility of the integrated whole.
This results in increased complexity during rollbacks or simultaneous updates to both stack and application.
More importantly version numbers of the application are not tied to versions of the stack.
Under this model, the stack version and application version aren’t coupled— which increases the likelihood of integration failures.
An example will illustrate where this model will fail: Our production web server is provisioned with Apache 3.3.0 and the application (WordPress) was at version 0.7.0 last week, and have just released version 0.8.0 this past week.
Apache announces a security vulnerability fix at version 3.3.1.
Under the (typical) automated provisioning model, the configuration management tool would be updated to provision the new version of Apache.
The tool runs against all production server systems.
Here the application doesn’t change, it simply rides on top of the Apache stack without change.
No problems occur with the rollout of the new Apache release.
Next the application updates and releases a new version for deployment- 0.9.0.
The deploy process runs, and for some reason the application fails, it isn’t compatible with version 3.3.1 of Apache.
The decision is made to rollback the application to 0.8.0, which runs successfully with Apache 3.3.1.
The system is working again.
A critical security vulnerability is discovered in application 0.8.0 and the decision is made to roll application back to version 0.7.0.
(Keep in mind the previous app version 0.7.0 was running Apache 3.3.0, and the stack is currently 3.3.1).
The application fails— because 0.7.0 was never integration tested against Apache 3.3.1.
What do you do?
In this example the devops team failed to remember to rollback Apache, simply because the integrated dependencies were not internally coupled.
The compatible coupling existed only as institutional knowledge outside the scope of the configuration management system, as Stack and Application were managed separately.
Docker for Configuration Management One major advantage of Docker is that it does not necessitate running a unique VM [2] for every project a team works on.
If developers work on multiple projects, each with its own customized VM, switching between projects becomes a time-consuming context shift for developers.
Docker containers run directly on the Linux operating system and yet each container is isolated.
This eliminates the slowness of booting and the overhead of a VM.
Docker containers start up as quickly as running a normal process, and eliminate VM “booting” for every Docker project the developer works on.
Deploying changes to the environment for every developer working on the project is as easy as publishing a new Docker image.
Next time a developer starts the container, he/she will get the new image.
Another advantage of Docker over an automated configuration management tool is that it does not bifurcate the stack and the application into independent segments.
A stack using Docker containers has the same benefit of configuration management, but can couple the stack and the application into a single managed component.
The application is deployed along with its stack— and the complete stack-app component is deployed together as a single Docker image or a bundle of Docker images that have already been integration tested at least on a developers machine.
As opposed the the “automated provisioning” model, the Docker model of the stack-app looks more like this: 1.
Set of Docker images - Operating system (the software Stack) - Provisioned software (the software Stack) - Configuration (the software Stack) - System libraries (the software Stack) - Source code & binaries (Application) - Dependencies (Application) - Runtime environment (Application) With every deployment, the entire stack-app (1) will be deployed.
Docker uses hashes (like Git) to minimize the amount of data that will be downloaded for any update.
This means only the differences are downloaded rather than the entire stack.
The greatest advantage of using Docker is that developers can run the application in the very same environment as production.
According to Twelve-Factor Methodology this is called achieving “Dev/Prod Parity”.
This is a huge benefit in that it eliminates an entire class of bugs that result from differences between developers-and-developers as well as bugs that result from differences between developers-and-production.
Elastic Beanstalk for Deployment If you know Heroku, than Amazons’ Elastic Beanstalk will be extremely familiar.
EB borrows many ideas from Heroku, but the killer feature is its’ ability to dynamically run, deploy and scale Docker containers on a cluster of servers.
It handles hardware allocation, network configuration, load balancing, auto-scaling, health monitoring and rolling deployments.
EB doesn’t do everything, but it’s good enough to adopt early and use until your team understands its deployment use-cases more clearly and understands limitations of EB and its trade-offs.
Django specific structure The core structure of the Docker / Elastic Beanstalk app can be explained by describing the directory structure.
These comments describe the application-specific file structure: .dockerignore .ebextensions/ 01_envvars.config .ebignore .elasticbeanstalk/ Dockerrun.aws.json .gitignore # Describes which files git ignores .bowerrc # Configures where web frontend dependencies live .csslintrc.json # Describes CSS syntax rules .jshintrc # Describes JavaScript syntax rules bower.json # Describes web frontend dependencies gulpfile.js # Describes app build and dev tasks package.json # Describes NPM dependencies app/ # Our python app apps/* # python app modules project/* # App-specific settings dist/* # App static assets (served via Nginx) bin/* docker/ django/ dev/ docker-compose.yml Dockerfile prod/ docker-compose.yml Dockerfile gunicorn.conf.py # Settings for production app-server start.sh # Script to start app-server nginx/* # Nginx config files environments/ # Environment-specific settings dev/ # Development-only environment settings .env # Actual environment vars (Excluded from git) .env.example # Example environment vars Procfile # Configures how Honcho starts app-servers requirements.txt # Describes dev Python dependencies prod/ # Development-only environment settings .env # Actual environment vars (Excluded from git) .env.example # Example environment vars Procfile # Configures how Honcho starts app-servers requirements.txt # Describes prod Python dependencies Some of these directories and files are described in more depth below: .gitignore environments/*/.env node_modules .elasticbeanstalk/* !.elasticbeanstalk/*.cfg.yml !.elasticbeanstalk/*.global.yml # Built testing and static asset artifacts app/dist Files matching the name environments/*/.env contain sensitive information (usernames, passwords, etc) about per-deployment environments that shouldn’t be included in version control.
The node_modules directory and will be created when the developer installs NPM packages.
These are dependencies and should not be committed into the source code repository.
The .elasticbeanstalk/* directory is excluded from Git because it contains files that are generated by EB command-line during environment creation and version deployment that shouldn’t be written to the repository.
It also contains temporary configuration files (written by the EB cli).
Both !.elasticbeanstalk/*.cfg.yml and !.elasticbeanstalk/*.global.yml entries use the “NOT” operator to re- include themselves into the repo.
These files can be useful to have in version control, as they contain useful environment configuration settings.
bower.json Bower is a web frontend package management system.
The application declares its frontend dependencies in this file.
During docker image creation, these dependencies are installed.
gulpfile.js Gulp.js is a task runner for Node.js.
gulpfile.js defines common tasks and utilities related to this application: - Running code Syntax checking & automated testing - SASS and CSS compilation and minification - Frontend asset building package.json NPM is a package management system for Node.js applications.
package.json The application declares its Node.js dependencies in this file.
app/ The app/ directory contains all source code related to the Django python web application.
docker/django/prod/gunicorn.conf.py This project uses two application servers, runserver_plus during development and gunicorn in production.
These are settings related to the Gunicorn application server.
In production, a more performant application is used, requiring this configuration file.
docker/nginx/sites-enabled.conf On production systems, where nginx acts as a reverse-proxy for the Gunicorn web application, we use Docker links to connect the two containers together.
This configuration is best for reducing latency.
Inside our nginx config file, we can use a named entry for the proxy_pass value to reference our Django application server running in another container on port 8080.
# ...
location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://django:8080; # ...
docker/django/start.sh cd /var/app # ...
honcho --procfile "environments/$ENV_NAME/Procfile" \ --env "environments/$ENV_NAME/.env" start start.sh is used during both development and production as a single task to bootstrap the application server.
It uses the honcho task runner to start the server according to a set of tasks in a Procfile for development and another for production.
The --env parameter is used to pass environment variables sourced from the environments subdirectory.
At runtime, the $ENV_NAME variable will be set: dev for development and prod for production.
This way a separate Procfile and separate set of environment variables are available to configure the modes independently.
environments/dev/Procfile # The webserver: Python webserver: cd app && ./manage.py runserver_plus 0.0.0.0:8080 # The CDN assets emulation server cdnserver: cd /var/app/app/dist && python -m http.server 8010 During development, the Django runserver_plus application server interprets Python, while a simple HTTP server serves assets (images, CSS, etc).
environments/prod/Procfile webserver: cd app && gunicorn \ -c /etc/gunicorn/gunicorn.conf.py project.wsgi:application In production, we use Gunicorn to serve the python application, so the only task run is the gunicorn app server.
Static assets aren’t handled here because Nginx will be reverse-proxying the application and also serving static assets.
This decision was made because Nginx is optimized to serve static assets and it will reduce load on the application server.
environments/[dev | prod]/.env.example Both environments/dev/.env.example and environments/prod/.env.example are committed into git to provide hints to developers that they should create a .env file in the same directory as a place to store environment variables that are passed into the application.
The .env file is excluded from the git repository as it contains sensitive usernames passwords and cryptographic information.
environments/[dev | prod]/requirements.txt The python utility pip is a package management utility.
It uses a file named requirements.txt to install all package dependencies.
The development environment adds some useful debugging utilities that shouldn’t be included on production systems, so production has its own file.
During docker image creation, these dependencies are installed.
Docker specific structure .dockerignore # Describes which files Docker ignores .ebextensions/ 01_envvars.config .ebignore .elasticbeanstalk/ Dockerrun.aws.json .gitignore .bowerrc .csslintrc.json .jshintrc bower.json gulpfile.js package.json app/ apps/* project/* dist/* bin/* # Scripts for Docker, build and deployment docker/ # Configuration files required by docker django/ # Django related settings dev/ # Development-only settings docker-compose.yml # Orchestrates dev containers Dockerfile # Builds dev Docker image prod/ # Production-only settings docker-compose.yml # Orchestrates prod containers Dockerfile # Builds prod Docker image gunicorn.conf.py start.sh nginx/* environments/ dev/ .env .env.example Procfile requirements.txt prod/ .env .env.example Procfile requirements.txt .dockerignore The .dockerignore file specifies a list of patterns to exclude from the build context during creation of the Docker image.
These files are not required by the execution of the container, and should be removed to reduce the size of the final image.
.coverage .ebextensions/* .elasticbeanstalk/* .ebignore .dockerignore .git .gitignore .DS_Store node_modules app/dist docs htmlcov README.md ghostdriver.log Some notable entries are described below: The node_modules directory and will be created when the developer installs NPM packages.
If the developer is using on OS X, packages compiled on OS X will not work when the container is running in the Linux VM, so this entry ensures that node modules are installed on the host OS independently from the container OS.
.ebextensions/*, .elasticbeanstalk/* and .ebignore are required by the Elastic Beanstalk deploy process, and are outside the scope of execution of the Docker container, and are not required.
The app/dist directory contains frontend assets served by both Django and Nginx, and are required by both Django and Nginx containers.
Because Amazon ECS cannot (currently) directly mount a single volume from one container into another container, we need these files to be deployed directly on the host OS.
Docker can mount the directory on both Django and Nginx containers as a shared volume.
This directory will be deployed by EB, and is thus excluded from Docker.
bin/image bin/image is a shell script that wraps common Docker commands used to create Docker images.
There are three major subcommands: build, destroy and update all take a single argument, the name of the environment subdirectory of the environments/ directory.
This will spawn Docker and build, delete or rebuild the image as specified by the Dockerfile in the directory corresponding to the final argument.
bin/stevedore bin/stevedore is a shell script that wraps common Docker commands used to start and stop Docker containers.
There are many subcommands, but the most useful are: start, stop and either of the two build commands.
All subcommands take take a single argument, the name of the environment subdirectory of the environments/ directory.
This will spawn Docker and start, stop or run the corresponding build process.
docker/django/dev/docker-compose.yml This file provides configuration for Docker to orchestrate the management of the development Docker container for the local dev environment.
django: build: ../../..
dockerfile: docker/django/dev/Dockerfile env_file: ../../../environments/dev/.env volumes: - "../../../app/apps:/var/app/app/apps" - "../../../app/dist:/var/app/app/dist" - "../../../app/project:/var/app/app/project" - "../../../app/manage.py:/var/app/app/manage.py" - "../../../environments:/var/app/environments" - "../../../gulpfile.js:/var/app/gulpfile.js" ports: - "80:8080" - "8010:8010" It defines one container “django”, specifying a path to the build-context as well as a path to load the Dockerfile.
env_file specifies the path the a file containing all environment variables.
A set of volumes to share from the host OS to the container are listed in volumes.
Finally ports tells Docker which ports on the host to map to the container.
docker/django/dev/Dockerfile The Dockerfile is a set of instructions for Docker to execute in order to produce a Docker image— a file used to create a Docker container running your application code.
# ...
# Install apt, Python then NodeJS dependencies.
RUN apt-get update && \ curl -sL https://deb.nodesource.com/setup_0.12 | bash - && \ apt-get install -y nodejs && \ pip install --upgrade pip && \ pip install -r \ environments/dev/requirements.txt && \ npm update && \ npm install -g gulp && \ npm install && \ gulp # Add our initialization script to the image and run it upon startup.
ADD docker/django/start.sh / CMD ["/start.sh"] In the development Dockerfile, pip and npm commands install the necessary dependencies from the environments/dev folder.
Finally start.sh is called to start the Django application server.
docker/django/prod/docker-compose.yml This file provides configuration for Docker to orchestrate the management of the production Docker containers.
This configuration can be used for testing locally prior to deployment to Amazon AWS.
django: build: ../../..
dockerfile: docker/django/prod/Dockerfile env_file: ../../../environments/prod/.env volumes: - "../../../docker/django/prod/gunicorn.conf.py:/etc/gunicorn/gunicorn.conf.py:ro" - "/var/app/app/dist" nginx: image: nginx links: - django volumes: - "../../../docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro" - "../../../docker/nginx/sites-enabled.conf:/etc/nginx/conf.d/default.conf:ro" volumes_from: - django ports: - "80:80" It defines two containers “django” and “nginx”.
“Django” is configured quite similar to the development setup, but doesn’t map as many volumes from the host OS to the container.
In this configuration “django” doesn’t need to expose a port externally, as the “nginx” container will expose port 80 externally.
Importantly, the “nginx” container uses links to connect the “django” container to “nginx”.
This way nginx config files can refer to “django” as-if it was another host on the same network with the name “nginx”.
Finally, the “nginx” container will mount all volumes from the “django” container with the volumes_from directive, and expose port 80 to the host OS.
docker/django/prod/Dockerfile The major difference between the development Dockerfile and the production version is: - It exposes port 8080 for other containers - It runs gulp build during image creation This Dockerfile also installs production-only Python pip dependencies in requirements.txt.
# Install apt, Python then NodeJS dependencies.
RUN apt-get update && \ curl -sL https://deb.nodesource.com/setup_0.12 | bash - && \ apt-get install -y nodejs && \ pip install --upgrade pip && \ pip install -r \ environments/prod/requirements.txt && \ npm update && \ npm install -g gulp && \ npm install && \ gulp build # Exposes port 8080 EXPOSE 8080 When Docker runs the image build, it runs gulp build, which runs code-quality, unit tests and produces production-ready web frontend assets.
This allows for testing prior to deployment, and gives the team an opportunity to fix errors before they go into the wild.
Elastic Beanstalk specific structure Finally, these comments describe files related to Amazons’ Elastic Beanstalk: .dockerignore .ebextensions/ # Describes how EB builds environments 01_envvars.config # Describes env vars for AWS Docker containers .ebignore # Describes how Amazon EB ignores some files .elasticbeanstalk/ # Location Amazon EB stores its cli settings Dockerrun.aws.json # Describes how to run our containers in AWS .gitignore .bowerrc .csslintrc.json .jshintrc bower.json gulpfile.js package.json app/ apps/* project/* dist/* bin/* docker/ django/ dev/ docker-compose.yml Dockerfile prod/ docker-compose.yml Dockerfile gunicorn.conf.py start.sh nginx/* environments/ dev/ .env .env.example Procfile requirements.txt prod/ .env .env.example Procfile requirements.txt .ebextensions/01_envvars.config This file is used by the Elastic Beanstalk command line utilities to pass key-value parameters to Amazon EC2 and ECS.
This file is used to store all production environment variables that are provided to running containers.
This variables often vary between deployments.
.ebignore When Elastic Beanstalk does a deployment, it creates a zip file of the current directory, uploads it to Amazon S3, and deploys the files to running EC2 instances.
Since this project is using Docker images to package the app, we can ignore most files; with the exception of the app/dist directory— which both “Django” and “Nginx” containers will need access too.
The .ebignore file is used to ignore certain files in a project directory.
This file works like a .gitignore file.
# Ignore everything!
* # Except for these exclusion patterns required by Amazon ECS !Dockerrun.aws.json !.ebextensions/*.config !.elasticbeanstalk/*.cfg.yml !.elasticbeanstalk/*.global.yml !app/dist/** !docker/** The only files our EB package should contain are those required by Docker, Elastic Beanstalk itself, or any files shared between both containers (such as the app/dist directory).
When you deploy your project directory to Elastic Beanstalk and create a new application version, the EB CLI will not include files specified by the .ebignore in the source bundle that it creates.
This is useful for creating smaller packages by excluding files that aren’t required for running production-only code.
.elasticbeanstalk/ Elastic Beanstalk uses this directory to store temp files and configuration information about the current AWS account, EB Application name and IAM credentials to utilize.
Dockerrun.aws.json Dockerrun.aws.json is a proprietary Amazon-specific JSON format called a “Task Definition” used to configure how to manage Docker containers running on Amazon EC2 Container Service (ECS) platform.
"containerDefinitions": [ { "name": "django", "image": "0xadada/dockdj:latest", "essential": true, "memory": 512, "mountPoints": [ { "sourceVolume": "gunicorn-conf", "containerPath": "/etc/gunicorn/gunicorn.conf.py", "readOnly": true } ] } The JSON format is very similar to the docker-compose Yaml format, having a nearly 1-to-1 mapping of image, mountPoints to volumes and ports all defined.
This file is functionally identical to docker/prod/docker-compose.yml in that it runs, configures and connects the “Django” and “Nginx” Docker containers.
As such, changes to the docker-compose.yml file should be mirrored in the Dockerrun.aws.json file.
Lifecycle New developers to this project simply clone the project from GitHub, install Docker (and boot2docker/docker-machine on OS X) and can begin running the app.
There is no need to setup a developer environment or create (yet) another VM.
Development When the developer starts working on the project from scratch, the only requirement is Docker and a machine capable of running Docker containers (Linux 3+ or boot2docker/docker-machine).
Once an organization or developer has adopted Docker for a single project, startup time for other docker projects is drastically reduced as this core requirement has already been met.
From that point forward, the projects themselves can define and provision their own dependencies.
For this project, the next steps required of the developer are as follows: git clone <PROJECT> <create .env file> .bin/stevedore dev start The developer is now running the app.
Any internal OS configuration, system libraries, software dependencies and provisioning are all handled by the project and Docker— transparently to the developer.
Subsequent context-switches between other projects and this project have been reduced to a single command: .bin/stevedore dev start The developer doesn’t need to boot up a VM, nor does she/he need to understand or start any internal processes or run any commands internal to the VM.
In development, Docker can be used to lower cognitive load on developers switching between multiple projects.
QA In this particular project, QA tests are run during build of the the production Docker image via the gulp build task.
See the production Dockerfile to view how it calls the gulp task.
In effect, this will prevent developers or continuous Integration systems from publishing a production Docker image to Docker Hub, as the build will trigger a Docker image build failure.
More generally, development teams could create different tags for “production” releases and “development” Docker image releases.
Lets say “prod” vs “dev”.
Development teams could publish images tagged with “dev”, to Docker Hub.
Other developers on the team or members of the QA team could docker pull that tagged image and run their suite of tests on it.
Using Docker in this manner, dev and QA teams no longer have to keep VM configurations synchronized, as the OS and other dependencies have been pushed down from VM directly into dependencies within the scope of the project.
This has the effect of reducing manual synchronization and de-necessitating out-of-channel communication between development and QA teams about the state of the runtime environment.
This allows for faster, less-error-prone iteration of the runtime environment.
Production Developers have iterated on functionality, QA has run tests against the code, and the projects is ready for deployment to production.
At this point, a working Docker image has been run on developers local machines, and QA has passed.
These three phases could’ve gone through multiple iterations while bugs were identified and fixed.
The end result is a working Docker image exists that has been deemed “ready” for production.
Either manually or as part of a continuous integration tool, the production-ready Docker image can now be tagged with a release version and published to Docker Hub (or other compatible Docker image repository).
Finally, the deploy process needs to update the production servers running our working application stack and run the latest application code.
These tasks are handled by our bin/deploy script, a wrapper for Docker, Git and Elastic Beanstalk.
It will tag the latest Docker image, publish the tag to Docker Hub, tag the publish the tags to GitHub and use Elastic Beanstalk to deploy both the latest stack and application code: (Lets use 1.2.3 as an arbitrary version number for this example) bin/deploy release 1.2.3 # Create a release branch and tag the image bin/deploy publish 1.2.3 # Publish the Docker image and git branch # to Docker Hub and GitHub bin/deploy deploy 1.2.3 # Use EB to deploy the latest release The deploy script is a light bash wrapper that automates Git, Docker and Elastic Beanstalk commands in an easy-to-reproduce set of short commands.
Once complete, the Amazon environment will be running your latest application code, as well as any new changes to the container OS, system libraries and dependencies.
Most importantly, any changes in provisioning to the stack have been deployed along with the Docker image, thus enabling seamless roll-backs.
Rolling back the application version will also rollback the stack version.
The application and stack are deployed together.
Happy cloud computing!
Terms - Auto-scaling A method of setting a threshold that detects when the load on a server cluster necessitates adding or removing servers in order to optimize the number of servers servicing that load.
Auto-scaling allows an organization to decrease operating costs by running the minimum number of servers required to service its load, and eliminating the need to accurately predict future traffic patterns.
- Configuration Management Software tools that are designed to automatically start, provision and configure software on virtual machines rather than have engineers run these steps manually on each server.
These tools can be used both locally to create development VMs (virtual machines) as well as in the cloud to create staging and production VMs.
- Docker image A docker image is like an executable program binary.
It takes source files and other assets and bundles them together, and the resulting bundle can be run/executed as a single process on a Linux machine.
- Docker container A docker container is like a running executable program.
It is a running instance of a docker image.
Like a running program, it has a PID, and it is appropriate to call it a process.
It can be started and stopped.
One docker image can be run many times on one or more machines.
- Provisioning The installation and configuration of software needed to run an application.
E.g.
Installing and configuring Apache and its system libraries in order to run WordPress.
- Task definition A proprietary JSON format for describing how Docker containers are run within the Amazon EC2 Cloud Service.
Read more about Amazon ECS Task Definitions.
Docker uses the docker-compose Yaml file to do the same thing.
Footnotes 1.
Configuration management tools can be used to couple both Stack and Application, but experience has has shown that over time, these tools are not strongly opinionated, and therefore Stack-App decoupling occurs organically over the lifetime of a project.
2.
Docker runs on Linux version 3.
In the case where the developer is using OS X, Windows or another non-Linux OS, they’ll need to run a Linux VM in order to use Docker.
However, this single VM will be able to run all Docker containers for all Docker projects they use.
Tools like Docker Machine make working with the Docker VM much simpler.
An exhibition open to Instagram users from October 6th 2016 until it completes in 2017 (free admission).
First picture in the series #isotsp is currently on display, on Instagram.
“In societies where modern conditions of production prevail, all of life presents itself as an immense accumulation of spectacles.
Everything that was directly lived has moved away into representation.” Guy Debord[1] “The Spectacle is not a collection of images, but a social relation among people, mediated by images.” Guy Debord[1] Debord observed that the spectacle actively alters human interactions and relationships.
Images influence our lives and beliefs on a daily basis; advertising manufactures new desires and aspirations.
The media interprets (and reduces) the world for us with the use of simple narratives.
Photography and film collapses time and geographic distance — providing the illusion of universal connectivity.
New products transform the way we live[2].
Debord’s notions can be applied to our present-day reliance on technology.
When you search for a spot to spend the night out with friends, Yelp nudges your group to search for the new bar selling great craft cocktails.
What do you do when you get lost in a foreign city?
Do you ask a passer-by for directions, or consult Google Maps?
Perhaps Siri can help.
When planning that upcoming vacation, do the apps we use help us search for places and sights free to explore, or where to get hotels and restaurants where we will conduct business transactions?
Such technology is incredibly useful, but it also subtly engineers our behavior.
It reduces our lives into a daily series of commodity exchanges[2].
Debord would not be surprised (and yet horrified) by companies such as Facebook, Google and Twitter gradually changing us all into brand ambassadors, monetize our friendships, opinions and emotions (further mediated through images of Emoji 🤷).
Our internal thoughts and experiences are increasingly becoming commodifiable assets and “engagements” to be touted at board meetings.
The spectacle, which is driven by economic interest and profit, replaces lived reality with the “contemplation of the spectacle.” Being is replaced by having, and having is replaced by appearing.
We no longer live.
We aspire.
We work to get richer.
Paradoxically, we find ourselves working in order to have a “vacation.” We can’t seem to actually live without working.
Capitalism has thus completely occupied social life[2].
“The more his life is now his [brand or] product, the more he is separated from his life.” Guy Debord[1] The proliferation of images and desires alienates us, not only from ourselves, but from each other.
References 1.
Debord, Guy.
The Society of the Spectacle.
Trans.
Fredy Perlman.
Detroit: Black & Red, Print.
1983.
1, 2 2.
Tiernan Morgan & Lauren Purje.
An Illustrated Guide to Guy Debord’s ‘The Society of the Spectacle’ 1.
Hyperallergic.
Hyperallergic Media, Inc.
Web.
2016.
In early 2015, I was working at an artificial intelligence startup.
My team was planning to build a web application to connect to our neural network platform.
The team as a whole had experience (on the AI–side) with Python, and the web team had a lot of experience using Django.
We’d implemented a hybrid-app in Cordova using Backbone.js the previous year.
My task was to evaluate the state-of-the-art in the frontend development landscape.
I included React, Angular and Ember to the list of contenders for comparison.
We read the docs, implemented ToDo MVC apps, prototypes, and reviewed the community.
We produced comparison spreadsheets and went to local meetups.
We reviewed design docs and discussed the merits of each approach.
Finally, we discussed our findings.
Both Ember’s FastBoot and React’s server-side pipeline were not yet ready for production.
The Angular community was in flames from the v2 rewrite.
Angular 4 was yet another rewrite that was shaping up to look disastrous.
The core Angular team had abandoned ship.
Instead of making a final decision on a framework, the team wanted to wait until we understood more of our applications use cases.
TL;DR: We decided to defer the decision.
Instead we wrote the app with a “NOJS-first” approach.
The implementation was simple, using HTML forms.
Using progressive enhancement, we could add a richer frontend in the future.
The experience investigating Ember stuck with me.
Ember was using web-standards and best practices.
Convention-over-configuration came from Ruby on Rails.
It borrowed performance UI rendering strategies from React.
It had a first-class testing and documentation story much like Django.
Ember was distilling the best ideas and practices and placing them at the core of their project.
A year later, our decision was working out well, and the project was humming along.
It was well-tested, performant, and had frequent new feature additions.
I decided a change of pace would be fun and challenging.
The app was in good hands.
When starting my job search, I focused on companies that were using Ember.
One of the major considerations for my next job was getting my hands deep into Ember.
In November 2016, I joined a startup using Ember to build a personal finance application.
Almost a year of working in Ember, I’d like to summarize my thoughts about what makes it a great framework.
There are a million articles comparing the big JS frameworks; this isn’t one of those.
This article focuses on what keeps me happy about the decision to continue using Ember.
Ember feels familiar to anyone coming from developing basic HTML/JS/CSS sites, WordPress, Ruby on Rails apps, or even Django apps.
You have template files, you have JavaScript files, and you have CSS.
You’re not writing markup, JavaScript or CSS in JS files.
The templates are much like Mustache.
It feels like you’re writing code for the web.
You spend little time in configuration relative to building application features.
The framework defaults work well.
Ember’s architecture is better known as “convention-over-configuration”.
The core team dedicates time and resources to understand how the community uses the framework.
This helps them bake-in best practices as the defaults.
There is a single “Ember way” of doing things with the framework.
This aspect of Ember is one of its biggest benefits.
When the community grapples with problems that span applications, the core team distills common solutions by defining well-crafted abstractions.
It’s amazing how quickly an opinionated framework can help you see patterns in your project, and solve problems using framework abstractions.
These abstractions also make it easier to follow best practices without thinking about it.
Good examples of these are the build system, the pluggable deployments system, and routing.
In the end, developers focus on building features rather than making many small decisions around 3rd party libraries and app configuration.
Ember has a bigger learning curve than React, but smaller than Angular.
This statement is misleading because Ember is solving more problems than React.
React is only the ‘V’ in MVC, while Ember is solving the problem of building complete applications.
A fair comparison would be between the learning curve of Ember vs React with Redux, Apollo, React Router, Koa, Relay, and Webpack.
Ember provides a solution as well as a converging ecosystem for building modern web applications.
Ember’s design is to solve application-level problems.
This means no liabilities around custom code that wires libraries together.
This design eliminates a class of problems where library bounderies don’t connect.
Worse even, is when inconsistencies get introduced because libraries have overlapping concerns.
Web standards are important in the Ember community.
The core team adds new features with an eye towards standards organizations such as the W3C and ECMAScript TC39.
Features are first adopted in an Ember-specific way (i.e.
Ember.RSVP); allowing developers to use these features before the standard has landed.
Eventually these “welcome mats” get replaced with the final standards-based implementations.
This ensures that the framework will not only keep pace with, but stay ahead of and influence the standardization process.
This also adds a degree of future-proofing into the framework.
Ember makes it easier to stay up to date with the latest and greatest framework features.
With an all-in-one architecture, everything is well tested, and works together as versions move ahead.
Addon authors can use packages like ember-try to test against various versions.
Finally, the Ember team takes a responsible approach as it moves along the roadmap (it has a roadmap!).
The project has a long-term vision, and the core libraries align their roadmaps on a 6-week release cycle.
The release team flags deprecated features and wrapping new ones in feature flags.
This allows developers to safely test out new APIs and responsibly sunset deprecated ones.
CSS organization becomes trivial if you let the CSS follow Ember routes and components.
Pair any page-oriented CSS with the route-template, and pair the majority of your CSS with components.
Combine this with a solid CSS framework like Bootstrap, Foundation, Bulma- and you’ve made long-term CSS maintenance easier.
After a year of working in Ember, attending EmberConf 2017, visiting meetup groups, and talking with folks in Slack, I’m sold.
It’s a pleasure to work in, and the roadmap ahead points to a bright future.
Tree-shaking and improvements in static analysis are shaping up to help break the app into smaller pieces for faster delivery over the wire.
I look forward to the next year using Ember.
Not too long ago, there was a great debate between two sides of the web.
The “Responsive” web vs the “m.” web.
One pushing for a single codebase that responds to user-context and another pushing for a second, mobile-only approach (typically using a subdomain starting with m.) It’s clear now, the responsive web has won.
A Retrospective — Responsive Design The mark of a master woodworker is his/her ability to work with the grain.
The grain gives the wood its natural identity and subtly tells the craftsman the best way to work it.
Work with the grain and save effort.
Work with the grain and maximize flexibility.
Work with the grain and maintain strength.
Work against the grain at the expense of additional effort on the part of the craftsman as well as reduced flexibility and strength in the wood.
The same can be said for crafting products on the web.
The raw materials are HTTP requests, HTML, text, CSS, Javascript, images, and motion.
To go with the flow of the web-grain is to deliver content quickly, with vertically-variable content-flow.
Reduce HTTP requests and add complex functionality using progressive enhancement.
The tools that we design should be user-centric and our metric of success is when our user puts our tools down.
In the end, we want our users to be engaged with the people and world around them, not fumbling with a tool.
The tools are a means, not an end.
s/Techn/Method/{ology} Server-side web frameworks like Django, Ruby on Rails, Express all have excellent technologies to define explicit dependencies (e.g., pip with requirements.txt, gem with Gemfile, and npm with package.json.) Configuration management tools like Chef, Puppet, Ansible and Docker are making the server-environment both easier to define implicit dependencies and help automate the task of creating homogeneous development and production environments.
Together, these tools can build a reproducible execution environment where the code can be more fully tested in a space with less far less entropy than the web environment.
The execution environment of the web is extremely heterogeneous: it operates on a fractured multitude of devices within a dozen of browser of various capability.
Bandwidth, CPU speed & memory, screen size & pixel density are just a few of the multitude of variables web developers need to manage.
This diversity of environment makes for some very complex problem-solving, but that very heterogeneity is the grain of the web, it’s what gives it resilience and staying-power; it’s the power of decentralization at work.
Responsive design was born out of the complexity and diversity of the web.
It is not a technology but a methodology used to cope with the diversity of environments a web product needs to operate within.
We use this methodology to engage in conversation that is optimized for each of our users.
We do this by taking device-capability, user attention-levels and context into account; and designing specifically for these variables.
This is opposed to the familiar approach where we send a canned “one-for-all” solution to everyone (and yet no-one in particular.) “It’s important to note the different between support and optimization.
Optimizing for every web-enabled device on earth is impossible, so eventually you need to make the strategic (read: business) decision of what target devices and browsers for which to optimize.” —Brad Frost If we bifurcate our web experiences into arbitrary “web” and “mobile” buckets, we will then be forced to decide which bucket any new device best fits in.
Can we really continue to commit to supporting each new device (as the market continues to fracture) with a bespoke experience?
Doubtful.
Instead we should shift our thinking: How can our designs best-adapt and flow into the context and environment in which our users operate; in order to best serve the goals of the user?
“The control which designers know in the print medium, and often desire in the web medium, is simply a function of the limitation of the printed page.
We should embrace the fact that the web doesn’t have the same constraints, and design for this flexibility.
But first, we must ‘accept the ebb and flow of things’.” -John Allsopp, “A Dao of Web Design” Up front we should make an important distinction between “responsive design” and “web design”; namely that experience design is about purpose, while web design is about graphic aesthetics.
(Most often, “web design” is just a reference to a picture, a design comp.) While the design comp can refer to the aesthetics of the product, it doesn’t communicate its essences of motion, interaction, performance or scalability.
Often times this communication exists completely outside the comp (in a discussion or meeting), or alongside it.
The evidence of this gap in communication is the reliance on design-document annotations using the following words: - “Fades” - “Jumps” - “Flips” - “Shrinks” - “Collapses” That said, when considering whether or not to implement experience design into business strategy, a major trade-off to keep in mind is that marketing and graphic design stakeholders will be relinquishing control to other stakeholders.
An experience-oriented approach can make the marketing team out feel like they’ve been taken out of the driver’s seat.
The graphic design team needs to be ready for a challenge, amicable to iteration and prototyping as well as forgiving about variability in the final outcome.
In order to advocate for the grain of the web, our job must become political and inclusive.
We need to use sensitivity, language and organizational politics to get all stakeholders to reach consensus.
“Like celebrities on the cover of a magazine, ‘pixel-perfect’ execution on the web is only ever achieved in Photoshop.” What “Responsive design” Is - A process - A relinquishing of the false sense of comfort we get when designing for a “design comp” - An experience-first / MVP friendly approach to building dynamic, consistent and importantly a complete experience that adapts to users context - A conduit for the flow of of communication, and much much like water, it flows into different browsers & devices, flows into robot search engine crawlers, flows into RSS feeds, flows into meta-data (hReview) parsers, flows into printers, flows into read-later tools like Web Clippings, Pocket, Instapaper and FlipBoard Responsive Design as a catalyst for organizational change Responsive design is more of an organizational challenge than a technical challenge.
The challenge for teams structured traditionally into Business, Product, UX, Design, Development, QA is that they operate in a waterfall process, with little-to-no feedback cycle and a lack of cross-disiplinary team member involvement.
Accountability to the result moves top-down and never bottom-up.
Product has little push-back on business, UX has little weight to affect product decision, and then down the waterfall, design has little affect on the UX decisions.
Once in development, the dev-team has little affect backwards up the chain.
This always guarantees last-minute compromise and needless wasted effort.
The Waterfall Process.
Guaranteed to fail(tm).
As the workflow gets closer to Launch, changes to the design become more and more expensive.
This creates an expensive, rigid and compromised final product.
Most importantly, the end-users aren’t impressed and team members are annoyed with all the compromises made.
Nobody is happy.
Using a cross-disciplinary, phased collaborative approach, we benefit from deliverables that can validate our decisions much earlier in the process, and importantly- those decisions are less complex (read: less expensive) to change.
This process is called the Spiral Model Process and it goes hand-in-hand with Responsive Design Methodology.
All team members are involved in the development of the product early and often.
Team members feel like they have more input on a wider aspect of the product, and this results in higher levels of personal responsibility and acts as an intrinsic motivator for all team members.
The Responsive Methodology, and example of the Spiral Process Model lifecycle.
Just remember, Responsive Design isn’t a set of CSS features, a technology stack or a set of tools.
Its when an organization decides to collaborate around a process; with accountability to the user first, to each other second, and to solve the technology last, once all important decisions have been made.
More reading on “Responsive Design” and organizational change - Upstatement & Filament Group discusses their approach to the redesign of the Boston Globe - Matt Andrews on the responsive redesign at the Guardian UK
Colleges of Computer Science and Cognitive Psychology, Northeastern UniversityTopics Concerning Japanese and English Bilinguals A Literature Review ------------------------------------------------------------------------ The purpose of this paper is to provide an overview of the existing literature concerning speech segmentation, categorical perception, and some other issues concerning bilinguals of English and Japanese.
It will touch on some of the differences in the two languages and how they affect learning the L2.
The paper will start by providing background information about some of the two languages and some of the current issues involved in speech processing.
The paper will then delve into the most current research, what the issues are, how it was done, and the results they have found.
It will then go on to discuss the possible future directions of this research and end with references.
------------------------------------------------------------------------ I.
Introduction People trying to learn a second language always have a difficult task ahead of them.
Learning a new grammar and lexicon takes both time and practice.
Some languages are diverse enough that on top of a new lexicon and grammar, there is also an entirely new segmentation system to be learned.
Japanese and English are diverse in the way the speech streams are segmented into parts, with Japanese using the mora as the basic unit of perception (McQueen, Otake & Cutler, 2001) and English using stress (Cutler & Butterfield, 1992).
Along with learning a new lexicon, grammar, and segmentation system is the problems with categorical perception.
How can bilinguals learn new sounds that aren’t in their native language?
Another important issue is if there are multiple segmentation cues, can there be universal segmentation cues besides the rhythm-based mora, syllable and stress-based processes?
This paper will try to uncover these questions.
Background When participating in conversation the listener must do a myriad of tasks to comprehend what the other speaker is saying.
On the physical side of things, the comprehended must process the sound waves from the air into electrical signals into the brain.
From there he/she must then begin the process of turning sound signals into words, phrases, sentences, and finally into a complete dialog.
The aspect of changing the raw speech stream into words is called speech segmentation (Cutler, Hehler, Norris & Segui, 1986).
Speech segmentation is usually accomplished in different ways according to the language, the major rhythm-based segmentation types are mora in Japanese, syllable in French (Cutler, Hehler, Norris & Segui, 1986), and stress in English.
The mora is the smallest Japanese unit of perception, it is subsyllabic.
“It can be a vocalic nucleus, a nucleus plus syllable onset, or, as in the second and fourth morae of shinshinto, it can be the postvocalic portion of a syllable, i.e., the coda.” (Otake, Hatano, Cutler & Mehler, 1993).
Japanese is a “mora-timed” language, where each mora represents a rhythmic unit; in comparison to English which is “stress-timed” (Beckman, 1982).
There has been much research into the field of speech segmentation, specifically into the types listed above including stressed-base and syllable-based (Cutler, Mehler, Norris & Segui, 1986), as well as mora-based (Cutler & Otake, 1994).
There has also been a fair amount of study on phoneme discrimination of /r/ and /l/ in native speakers of Japanese and English.
One particular study (Miyawaki, Strange & Verbrugge, Liberman, Jenkins & Fujimura, 1975) used synthesized speech to compare Americans and Japanese at discriminating /ra/ and /la/.
A follow-up study a few years later reinforced previous findings that Americans can categorically discriminate the phonemes, and that Japanese are at a near-chance level of perception (Strange & Dittmann, 1984).
This study also showed that after training, the native Japanese performance on those phones increased, and therefore categorical perception is indeed possible for non-native speakers.
II.
Review of the existing literature 1.
Discrimination of /r/ and /l/ by native speakers of Japanese and English Categorical perception of speech sounds is an important aspect of speech segmentation.
Without the ability to properly hear differences in non-native speech sounds, then segmentation and comprehension will be negatively impaired.
One of the seminal research papers written comparing the abilities of English and Japanese natives to discriminate the /r/ and /l/ sound was by Miyawaki, Strange, Verbrugge, Liberman, Jenkins and Fujimura in 1975.
The research here confirms earlier findings that Japanese subjects cannot distinguish between /r/ and /l/ (Goto, 1971).
This paper investigated the effects of linguistic use on the ability to discriminate the class of liquid phones in English and Japanese natives.
They focused on the phonemes /l/ and /r/ in syllable-initial position.
The choice for the liquid /l/ and /r/ phones were made due to the fact that “the distinction between these phones is phonemic in English but not in Japnanese.” (Miyawaki et al., 1975).
The /r/ and /l/ phones don’t constitute a phonemic contrast in Japanese, and therefore would provide a good base to conduct tests on the differences in native and non-native discrimination tasks.
This research paper used a speech sound generator to create a series of sounds between two phones in order to see where and how categorical perception would occur.
The parallel-resonance synthesizer generated 15 3-formant sounds that would be used in the tests.
The third formant (F3) was varied in frequency in steps between the /ra/ and /la/ sounds.
From this set of 15 sounds, there would be two types of tests conducted on each subject group, an identification test and an oddity discrimination test.
The subjects of this research consisted of 39 native American speakers and 21 native Japanese speakers.
The discrimination task was to listen to a series of three sounds, and make note of which of the three was different.
The results showed that the Americans could easily discriminate the target sound, only getting low scores if the sounds were ambiguous as to if it was /r/ or /l/, “pairs whose members were labeled as the same phoneme was considerable less accurate, although still above the 33% chance level” (Miyawaki, et al.
1975).
The Japanese however, showed a near-chance level of discrimination.
An interesting aspect of this study was the finding that when speech sound context was not included, the two groups behaved almost identically, “we see very clearly that the Japanese do not differ from the Americans on any of the comparison pairs.
The nonspeech discrimination functions are virtually identical for the two groups of subjects.” (Miyawaki, et at., 1975).
Both groups were able to discriminate isolated F3 patterns quite accurately, which indicates that both groups are able to hear sound differences physical sub-contextual level.
A later study on the /r/ and /l/ perception task using a synthetic speech generation process similar to the above study focused on if linguistic experience had an impact on categorical perception of the /r/ and /l/ phonemes.
They were suggesting that “… native Japanese adults learning English as a second language are capable of categorical perception of /r/ and l/l.” (MacKain, et al., 1981).
This study was similar to the above, but had a few differences.
The first was how they varied the acoustic values both temporally and spectrally “to optimize the Japanese subjects’ opportunity to show perceptual differentiation of the /r/-/l/ contrast.” (MacKain, et al., 1981).
The second was the inclusion of an AXB oddity discrimination task which is thought to provide a better opportunity to let the subjects detect auditory differences.
The third was an identification task for both the American and Japanese groups.
The Americans, as expected, displayed a strong category boundary with strong identification scores.
The not-experienced Japanese subjects displayed poor categorization of the /r/ and /l/ with near chance levels in all stimuli types.
The results in the non-experienced Japanese group extended the Miyawaki results.
The experienced group “had intensive English conversation training with native American-English speakers and as a group spent a larger percentage of the average day conversing in English than did the not-experienced Japanese.” (MacKain, et at., 1981).
This group displayed similar results to the Americans on both the identification tasks and the discrimination tasks.
These results suggests “that the occurrence and abruptness of an /r/-/l/ category boundary for the experience Japanese might be related to their grater conversational English experience…” (MacKain et al., 1981).
This particular study had added the AXB oddity task because it is less memory demanding and “they could use nonphoenetic auditory memory to aid performance” (MacKain et al., 1981) in the hopes that it would allow the non-experienced Japanese to obtain better results, but this particular task did not achieve the hopes of its design intentions.
Overall, their research suggested that Japanese native speakers can obtain categorical perception of /r/ and /l/ with some practice and more experience, which is good news to aspiring bilinguals.
Research into the /r/ and /l/ phonemes is interesting particularly to Japanese because of the lack of contrast between these sounds.
Distinctive contrast in particular speech sounds allows speakers of that language to discriminate where other language speakers would not.
The above studies examined this aspect as well, but in a 1984 study by Strange and Dittmann focused on how the ability to discriminate sounds not available in the L1 can change with explicit training, “We were interested in whether we could modify the perception of AE word-initial /r/ and /l/ by adult Japanese learners of English, in the laboratory, using the psychophysical training task successfully employed by Carney et al.
(1977).” (Strange & Dittmann, 1984).
The design of this study was to test the abilities of eight female Japanese native speakers before training and then again after training to examine the effects of training on discrimination of the /r/ and /l/ series of synthetic speech sounds.
The initial pre-training tests consisted of a minimal pairs test, an identification of the rock-lock series and an oddity discrimination task.
The training was done individually over a three week period that totaled 14 to 18 sessions, it consisted of an AX discrimination task with immediate feedback.
At the end of the training the post-training tests were given, which were the same as the pre-training tests.
Pre-training results were similar to the results found in by MacKain in 1981, with near-chance levels of accuracy.
The training task performance showed “gradual improvement over session with the greatest improvement in the first several sessions” (Strange & Dittmann, 1984).
All subjects showed increased performance as the training sessions progressed.
After the training, the post-training tests showed that “pretraining versus posttraining categorical perception tests for each of the eight subjects of the rock-lock series revealed that seven of the eight subjects improved as a function of the training.” (Strange & Dittmann, 1984).
Post-training test results also showed improvement in their discrimination of cross-category pairs with over 75% correct (Strange & Dittmann, 1984).
Overall, training did indicate improvement as performance on post-training tests showed better performance results (Strange & Dittmann, 1984).
“We can thus conclude that training with a fixed-standard AX discrimination task resulted in improved (categorical) perception of the training stimuli, as tested by the (more demanding) identification and oddity discrimination tasks” (Strange & Dittmann, 1984).
This study also tested differences in sound according to acoustic properties.
They wanted to test if training in the /rock/ - /lock/ set would transfer over to good performance in a similar /rake/ - /lake/ test.
Their results showed that it was indeed the case, and training did help this test achieve improved performance, this also supports the idea that bilinguals can indeed learn to perceive new sounds in a second language.
2.
Speech segmentation using the Mora One of the major differences in a language is how it is timed, or the rhythm of the language.
Bilinguals not only have to learn a new lexicon and grammar system, but sometimes must also learn a new rhythm to speak their L2.
An example of this would be a native English speaker trying to learn Japanese or vise-versa.
English is a stress-timed language whereas Japanese is mora-timed.
Research of the mora can help lead to further understanding of how languages of different timing style can be learned more efficiently for bilinguals as well as how differences in timing can affect different aspects of speech segmentation.
In a study by Otake et al., 1993, of how Japanese words are segmented by native and non-native listeners, results found that Japanese responses were consistent with moraic segmentation, while non-native listeners responded differently.
The mora is a uniquely Japanese timing mechanism; it is smaller than a syllable, and is considered the basic unit of perception.
This study set up four experiments with native and non-native speakers to examine the effects of native timing type on Japanese words.
In the first experiment 40 native Japanese speakers were used to listen to a series of 3 to 6 words.
When a word was heard with the target letters on a printed card, the subject was to press a button.
Results showed that the native Japanese listeners responses better supported the mora hypothesis than the syllable hypotheses, confirming their initial hypothesis that Japanese speakers will segment words best with the mora-timed segmentation style.
“The pattern of results in this experiment thus appears to offer strong support for the mora hypothesis but none to the syllable hypothesis.” (Otake et al, 1993).
The second experiment tested English speaking subjects on Japanese words.
The design was similar to the previous task on the Japanese subjects, where a series of Japanese words would be played, and the subject was to press a button once the sound on the printed card was heard.
The results of this experiment are in stark contrast with that of experiment 1.
The findings in this experiment support that “we many now conclude that English listeners do not exploit mora structure in the same way.” (Otake et al., 1993) [as Japanese native listeners].
A note about experiment 1, the targets were presented on printed card in Roman text orthography, this can introduce confounds due to how Japanese naturally represent sounds with kana characters.
Experiment 3 was exactly the same design as experiment 1 with the exception that the target word was played through the headphones before the word sequence rather than being printed on a card.
Experiment 3 had 40 native Japanese speaking subjects.
The target sound was played first, followed by the sequences of test words.
The subject would press a button when they heard the target word in the sequence.
The results of experiment 3 replicated those of experiment 1.
“The replication of experiment 1’s results strongly confirms our conclusions from the preceding experiments: Japanese listeners do not naturally segment speech syllable by syllable; they do naturally segment it mora by mora.” (Otake et al., 1993).
These findings also cleared up the problem of orthography of Japanese speech sounds mentioned earlier.
Experiment 4 was identical to experiment 3 with the exception of the subjects being 33 native French speakers.
The results of experiment 4 were as expected, “the response patterns of French listeners are, as predicted, best accounted for by the syllabic hypothesis…” (Otake et al., 1993).
These results also support findings by Cutler et al., 1986.
Finally, these results support the predictions made initially, that non-native listeners will “not replicate the pattern of results shown with the same materials by native Japanese listeners” (Otake et al., 1993).
These results support that non-native listeners will try to segment the sounds of a non-native language by applying their native speech segmentation system, whether its mora-based, stress-based or syllable-based.
How could that affect learning a second language where the segmentation process is different from the native language?
Taking from some of the findings from the previous study, Cutler and Otake started a new research project in 1994 that would focus on whether subjects would apply their native segmentation processes to a foreign language.
This research could show that inappropriate use of a segmentation process could inhibit the processing of a non-native language in bilinguals.
“This suggests that segmentation procedures may indeed be highly similar to phonological categorization procedures: they effectively aid processing of the native language, but they may reduce processing efficiency for input in a foreign language.” (Cutler & Otake, 1994).
This study also hoped to further support the mora hypothesis put forth by Otake in 1993.
The first experiment was to test Japanese native speakers on if moraic targets “will be easier to detect than nonmoraic” (Cutler & Otake, 1994).
This should prove to be the case under the mora hypothesis.
This experiment will also test for whether phoneme detection “will be differentially difficult for vowels versus consonants” (Cutler & Otake, 1994).
Experiment 1 was designed with 40 native Japanese speakers, they would listen for a target sound (O or N) in a series of Japanese words, and press a response key as soon as they detected the sound.
The results from this experiment showed the same results seen in Otake (1993): “mora structure is crucially involved in the process by which Japanese listeners convert spoken input in lexically accessible representation.” (Cutler & Otake, 1993), as well as showing that quick responses to moraic input is not only restricted to CV input as seen in Otakes’ 1993 experiment.
It should be noted that there were no significant findings concerning the differences in vowel and consonant response times mentioned earlier.
Experiment 2 was conducted in the same way as experiment 1, with the exception that the subjects were 24 English native speakers.
As expected, the non-native speakers did not demonstrate the moraic effects shown in experiment 1.
Interestingly, “The main effect of vowel versus consonant target was, however, significant; consonants were detected both faster and more accurately than vowels” (Cutler & Otake, 1994).
This supports the earlier findings that native listeners apply their native segmentation procedures to a non-native language.
Experiment 3 was similar to experiment 2 except with English words as both target and sequence words.
The subjects were 24 native English speakers.
Findings in experiment 3 showed that “These findings are in line with previous failures to find significant phoneme detection differences between targets in stressed versus unstressed position with English listeners and laboratory-read speech.” (Cutler & Otake, 1994).
These results were similar to experiment 2.
Experiment 4 used the same materials as experiment 3, English words, while it used the same design, as well as the same subjects as in experiment 1, using Japanese native speakers.
Results in this experiment found the vowel sounds were much more difficult to find than the consonantal targets (Cutler & Otake, 1994).
The findings of experiment 4 also help support the mora hypothesis, namely “that mismatch between in the input and the native language phonemic repertoire plays a role in phoneme detection in a foreign language.” (Cutler & Otake, 1994).
Experiment 5 was designed with 20 native Japanese speakers listening to a played back words of native Japanese.
The procedure was that of experiment 1.
The subjects were to press a button when they heard a target phoneme in the played back word sequence.
The results of this experiment demonstrated what the experimenters had hoped for, “a new effect in Japanese phoneme-monitoring: targets in word-initial position are detected faster than targets in word-medial position.” (Cutler & Otake, 1994).
This experiment showed the mora effect was significant for all four phoneme targets.
Experiment 6 involved doing the same as experiment 5 but with English subjects.
This experiment was designed to show the English speakers advantage of detection of vowels over consonant targets, as well as observing a difference in RTs in A and O due to “phoneme repertoire mismatch” (Cutler & Otake, 1994).
This experiment used the same materials in experiment 5 with 23 native English speakers using the procedures from experiment 2.
The results of this experiment showed that “there was again a significant overall advantage for consonant over vowel targets” (Cutler & Otake, 1994).
Overall these experiments had shown that the “the moraic effect which Japanese listeners show in phoneme detection in their native language appears in world-initial well as in word-medial position and with a variety of phoneme targets.” (Cutler & Otake, 1994).
These experiments also go to explain that the consonant and vowel detection abilities of English speakers appear when listening to Japanese, due to native English segmentation process advantages in this particular task.
In terms of bilinguals, the above studies used Japanese native speakers, some of whom had some English experience.
Even with experience, it was shown that they were still applying mora segmentation to English input, as well as English speakers applying stress-based segmentation when it is inappropriate in Japanese input.
As quoted from the above study “We believe that this finding has potentially important implication for understanding the processes of acquisition of a second language.” (Cutler & Otake, 1994).
Although this research seems to cast a dim picture on those trying to learn a second language, all is not lost, in a study by Cutler et al., 1992, showed that more than one segmentation process is available, and even if not available, these rhythm based processes are heuristics for processing a non-native language, are not necessary for comprehension.
(Cutler et al., 1992).
3.
Rhythmic cues and the Lexicon An important area of study is on how rhythmic cues in the speech stream affect lexical decisions in Japanese.
A learner of Japanese would be affected by this in that many languages don’t use rhythmic cues, and so in learning Japanese, rhythmic cues may not serve as an available heuristic.
Japanese provides a good test platform to study rhythmic cues and speech segmentation because Japanese “rhythm is based neither on syllables nor on stress.
Instead, it is based on the mora, a subsyllabic unit which can be of five different types” (McQueen et al, 2001).
In a study by Cutler and Otake, examining old Japanese wood-block prints which contained a word-based joke system called “Goroawase” to examine if there existed sub-moraic information processing in the speech stream.
This joke system is used by substituting a single mora in a word with another mora to create a similar sounding word with a different meaning, thus creating a word-pun.
Their findings suggest that “mora substitution is more often than would be expected by chance in effect phoneme substitution because two words which overlap in all but a single consonant or vowel form a better target-pun pair than two words which overlap in all but a CV mora.” (Cutler & Otake, 2002).
Another experiment in the same paper uses word reconstruction.
They had subjects listen to a word with a replaced mora, and were told which mora was changed.
The subjects were then to tell which word had been intended.
This experiment would use mora as the cue to the target word, which would then be accessed via the lexicon.
45 native Japanese speaking subjects partook in this experiment and the results were as expected.
4 mora words were more easily accessed than 3 mora words.
Their results suggested that “word reconstruction was significantly easier when the initial mora had been replaced by another mora sharing with it either C or V.” (Cutler & Otake, 2002).
In their second experiment, they distorted the final mora of the word, and found that identification was faster and more accurate, which suggests “that this information can be exploited continuously rather than only on a mora-by-mora basis” (Cutler & Otake, 2002).
This indicates that lexical access can occur without complete moraic information.
In experiments 3 and 4 of their research, they tested replacing both third and fourth mora and placed a focus on consonant versus vowel replacement, they found similar results to experiment two.
“Although both the V-replacement and C-replacement condition proved easier than M-replacements, there was also a difference between the first two: Replacement of a vowel proved easier than replacement of a consonant.” (Cutler & Otake, 2002).
On their 5th experiment, they used a Yes/No type response to the design of the previous experiment, their results helped to cement their conclusion that there is continuous speech processing, even below the level of the mora.
(Cutler & Otake, 2002).
This does not suggest that there is no mora, but only that continuous speech sounds are helpful to the segmentation of the continuous speech stream (Cutler & Otake, 2002).
Their results do however suggest, and support the findings of Norris et al., in 1997, “that the contribution of rhythmic categories in word recognition is the same for all languages” (Cutler & Otake, 2002).
As rhythmic categories are universal to all languages (Norris et al., 1997), this would provide some relief to learners of Japanese a second language, as mora are not the end-all to segmentation, but a heuristic function that helps to make segmentation more efficient.
If mora and meter are both parts of speech segmentation, how can we combine the two?
A study by McQueen, Otake and Cutler in 2001 tries to answer that.
Their experiments use the PWC, or Possible Word Constraint developed by Norris et al., in 1997 to test if Japanese speakers use the PWC just as English and Dutch speakers.
The PWC is another type of heuristic function used in speech segmentation particular to the Shortlist model developed by Norris et al., (1997).
Their first experiment used 54 native Japanese speakers to listen to a native speaker of Japanese pronounce nonwords with Japanese words embedded within them.
The subjects were then to press a button and pronounce the embedded word once they heard it.
The results of the experiment showed that indeed, “listeners find it harder to spot words in impossible word contexts than in possible word contexts.
Japanese listeners therefore appear to use the PWC when segmenting speech.” (McQueen, Otake & Cutler, 2001).
Other tests done in this study all supported the PWC and show similar results done with English speakers.
(McQueen, Otake & Cutler, 2001).
The PWC suggests the speech segmentation is more universal than previously devised models.
This model suggests that words are activated and no particular lexical decision is 100% decided, until all are decided.
“The present experiments therefore support the theory of lexical segmentation that the PWC offers.
On this view, candidate words are activated by the incoming speech stream and compete with each other until a lexical parse is settled upon.” (McQueen, Otake & Cutler, 2001).
This model also allows for the rhythmic segmentation process to exist and help add to the parsing of lexical and segmental structure.
“Furthermore, just as the rhythmic structure of English or Dutch provides English and Dutch listeners with cues to the location of likely word boundaries (Cutler & Norris, 1988, Vroomen et at., 1996), so too does the characteristic rhythm of Japanese provide Japanese listeners with a segmentation cue.” (McQueen, Otake & Cutler, 2001).
Rhythmic segmentation provides another type of segmentation heuristic along with mora-based segmentation as seen in the above papers.
Although bilinguals have trouble when inappropriately applying their native language segmentation style to a non-native language, rhythmic segmentation is a universal heuristic which exists to compensate when L1 segmentation style fails to properly segment the non-native language.
4.
Segmentation in non-native languages An important area of study concerning bilingual speech segmentation is how non-native speakers segment their second language (L2).
If non-native speakers can use any of the non-native language rhythmic, prosodic, lexico-syntatic, and syntactic segmentation processes, then they will have a much easier time segmenting the L2.
The ability to learn a non-native segmentation process would be beneficial to any bilingual as it would facilitate comprehension of the L2.
Research into brain plasticity for learning non-native language processes would directly benefit the existing body of knowledge.
In a study of brain plasticity and non-native lexical and segmentation processes, Sanders et al.
in 2002 came up with interesting methods for probing non-native speakers to see if learning the L2 early in life or later in life would effect the ability to learn non-native lexical and segmentation processes.
This study would research various language subsystems such as lexico-semantic, syntactic, and prosodic information processing.
Using the earlier proposed theories that each language uses different methods of speech segmentation (English: Stress-based, French: Syllable-based, Japanese: Mora-based) they tried to find if non-native speakers used lexico-syntactic information processes when segmenting a non-native language (Sanders et al., 2002).
Four groups were obtained to study this hypothesis, a group of native English speakers as a control group (E), early English Japanese native speakers (JE), early English Spanish native speakers (SE), late English Japanese native speakers (J), and a group of late English Spanish native speakers (S).
“If non-native speakers fail to use rhythmic segmentation cues other than the rhythmic cues relevant to their L1, native speakers of Japanese (mora-timed) and Spanish (syllable-timed) would not be expected to use stress pattern as a segmentation cue when listening to English.
Alternatively, native Japanese and native Spanish speakers might differ in their abilities to use stress pattern as a segmentation cue in English.” (Sanders et al., 2002).
For this experiment they created 5 groups of 3 sentences each.
The 5 groups were “Strong stress, initial position (SI), strong stress, medial position (SM), weak stress, initial position (WI), weak stress, medial position (WM), and target absent (TA).” (Sanders et al., 2002).
Each group contained 3 sentences each of which were a semantic, syntactic or acoustic target sentence.
The semantic words were normal English sentences, the syntactic sentences replaced all open-class words with non-words, and the acoustic words only retained the original prosody.
Participants were asked to listen to a target, and then were asked to press one button if that target was heard in the beginning of the sentence, another button if it was heard in the middle, and the third button if it was not heard.
Results indicated that “the fact that both groups of late-learners were able to use the lexical information supports the hypothesis that the lexico-semantic system remains relatively plastic beyond the age of 12.” (Sanders et al., 2002).
These results support the idea that late learners can learn non-native language processes later in life, which is a reassuring fact for late-bilinguals, however “No group of non-native speakers used syntactic information to the same extent as native speakers.” (Sanders et al., 2002).
These results, as well as other indicate that syntactic information processes are not as easily learned later in life (Sanders et al., 2002).
An interesting finding was how both early and late learners of English Japanese-natives were able to use some segmentation cues that are seemingly effective in both English and Japanese; “this study could either indicate that both groups were applying a Japanese segmentation cue that happens to co-occur with stress in English or that both groups had enough exposure to English to learn a new segmentation cue.” (Sanders et al., 2002).
Overall the findings of this study show that both lexical and semantic segmentation subsystems retain the “ability to change to a greater degree than do syntactic subsystems” (Sanders et al., 2002).
In terms of bilinguals, some very reassuring findings from the above study is that some segmentation processes are still learnable later in life, and they are also interchangeable, one or more can be used when another is unavailable or not applicable.
“The findings also indicate that segmentation cues can be used flexibly by both native and non-native speakers, such that cues that are both available in the speech stream and usable by the listener are employed to a greater extent when other segmentation cues are either absent or not accessible to the listener.” (Sanders et al., 2002).
III.
Possible directions for future research In studies such as Otake (1993), findings were made that support the idea that non-native speakers segment a foreign language using their native segmentation processes.
Future research could focus on bilinguals learning an L2 that has a totally different segmentation process.
An example would be how a Japanese learning English or an American learning French begins to learn a new segmentation style, and how specific training on segmentation may make learning more efficient.
A similar study design that could be used would be Strange & Dittmanns’ (1984) study on the /r/ - /l/ distinction of Japanese speaking English.
This study could be applied to learning a new segmentation style.
The time of acquisition of a new non-native speech segmentation process would also be of interest to this field.
Also of interest to future research is the topics of multiple segmentation cues, such as lexico-semantic, and prosody, and how these can be used interchangeably along with more native segmentation processes such as mora, syllable, or stress-based segmentation.
References Beckman, M.
(1982).
Segment Duration and the ‘Mora’ in Japanese.
Phonetica, 39, 113-135.
Cutler, A., & Butterfield, S.
(1992).
Rhythmic cues to speech segmentation: Evidence from juncture misperception.
Journal of Memory and Langauge, 31, 218-236.
Cutler, A., Mehler, J., Norris, D., Segui, J., (1986).
The Syllable’s Differing Role in the Segmentation of French and English.
Journal of Memory and Language, 25, 385-400.
Cutler, A., & Norris, D.
(1988).
The role of strong syllables in segmentation for lexical access.
Journal of Experimental Psychology: Human Perception and Performance, 14, 113-121.
Cutler, A., Otake, T.
(2002).
Rhythmic Categories in Spoken-Word Recognition.
Journal of Memory and Language, 46, 296-322.
Cutler, A., Otake, T.
(1994).
Mora or Phoneme?
Further Evidence for Langauge-Specific Listening.
Journal of Memory and Language, 33, 824-844.
Goto, H.
(1971).
Auditory perception by normal Japanese adults of the sounds “L” and “R”.
Neuropsychologia, 9, 317-323.
MacKain, K.
S., Best, C.
T., Strange, W.
(1981).
Categorical perception of English /r/ and /l/ by Japanese bilinguals.
Applied Psycholinguistics, 2, 369-390.
McQueen, M.
J., Otake, T., Cutler, A., (2001).
Rhythmic Cues and Possible-Word Constraints in Japanese Speech Segmentation.
Journal of Memory and Language, 45, 103-132.
Miyawaki, K., Strange, W., Verbrugge, R., Liberman, A.
M., Jenkins, J.
J., Fujimura, O.
(1975).
An effect of linguistic experience: The discrimination of [r] and [l] by native speakers of Japanese and English, Perception & Psychophysics, 18, 331-340.
Norris, D.
G., McQueen, J.
M., Cutler, A., & Butterfield, S.
(1997).
The possible-word constraint in the segmentation of continuous speech.
Cognitive Psychology, 34 191-243 Otake, T., Hatano, G., Cutler, A., Mehler, J., (1993) Mora or Syllable?
Speech Segmentation in Japanese.
Journal of Memory and Language, 32, 258-278.
Sanders, L.
D., Neville, H.
J., Woldorff, M.
G., (2002).
Speech Segmentation by Native and Non-Native Speakers: The Use of Lexical, Syntactic, and Stress-Pattern Cues.
Journal of Speech, Language, and Hearing Research, 45, 519-530.
Strange, W., Dittmann, S., (1984).
Effects of discrimination training on the perception of /r-l/ by Japanese adults learning English.
Perception & Psychophysics, 36(2), 131-145.
I finally got around to converting my avatar from a raster graphic to a vector format.
I wanted to be able to animate the polygons using JavaScript and CSS.
Another great advantage of a vector format is how the format lends itself to generate a PNG or JPG in any size.
Massaging the SVG File Format First things first, I took the source image and ran it through the delaunay triangulation - image triangulation experiment software, experimenting with various values for blur, accuracy and point count.
The output of this software was a 512Kb SVG file.
Next I opened the file in Inkscape, a SVG vector graphics editor to remove the polygons in the background, cleanup some awkward polys and make a few minor adjustments.
Inkscape adds a bunch of metadata and additional properties to the raw SVG that can be cleaned up.
Once I was happy with the results of my tweaking in Inkscape, I saved the SVG and opened it in SVGOMG a web-based SVG optimization GUI for the SVGO suite of tools.
This tool will output a much smaller SVG file that is ready for either editing or delivery over HTTP.
In this case, the file was reduced to 312Kb a 40% reduction in file size, primarily by transforming point-based <polygon> elements to the more concise to <path> element.
Animation With the SVG file ready, I moved on to the action animation work.
The animation would be a series of CSS keyframes that would simply toggle the opacity level to produce a flickering affect.
The artwork begins with all opacity set to 0 (transparent), and each keyframe incrementally toggles opacity until the last frame finally sets it to 1.
.p { /* each polygon "path" starts fully transparent */ opacity: 0; } /* a set of keyframes that incrementally toggle opacity, this */ /* keyframes set is called "slide-into-place" */ @keyframes slide-into-place { 0% { opacity: 1; } 5% { opacity: 0; } 15% { opacity: 1; } 17% { opacity: 0; } 50% { opacity: 1; } 55% { opacity: 0; } 60% { opacity: 1; } 75% { opacity: 0.25; } 85% { opacity: 0.85; } 90% { opacity: 0; } 95% { opacity: 0.25; } 100% { opacity: 1; } } Every <path> in the SVG document is given a classname p (for path), I then use javascript to get references to these paths, and simply add a new classname is-animated to their class attribute.
This classname will be used to attach the keyframes to the SVG paths.
.p.is-animated { /* sets the keyframes to use for animation */ animation-name: slide-into-place; /* pause before animation starts */ animation-delay: 1s; animation-timing-function: ease; animation-direction: normal; /* Run the animation only once */ animation-iteration-count: 1; animation-fill-mode: forwards; } To attach the keyframe animation to the SVG <path>, the only think necessary is to add the is-animated classname to the element.
We do this on Line-A.
This is done inside a loop that iterates over all the <path> elements.
If I just add the is-animated class to the element, all polygons will flicker at the same time, looking like the entire image is flickering- which isn’t what I want.
To address this, I need to randomize the start-time of when each polygon begins flickering.
This makes each polygon flicker on its own timeline.
I get a random number on Line-B and use that as a delay to begin the flickering.
path.style.animationDelay (on Line-C) is used to wait for a randomized timeout (Line-B) period before animation starts.
function init() { var paths = document.querySelectorAll("path"), i = 0, randTimeout = null; path = null; for (i = 0; i < paths.length; i++) { let path = paths[i]; randTimeout = Math.floor(Math.random() * (1500 - 1) + 1); // Line-B path.style.animationDelay = randTimeout + "ms"; // Line-C path.classList.add("is-animated"); // Line-A } } The above init() function is called once the SVG document has finished loading.
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 660 660" onload="init()" ></svg> Result (Reload the page to view the animation again)
system-font-i18n-css provides twelve variations for the Sans-serif family of system font.
This font stack provides more consistent character typesetting across multiple languages and all modern operating systems.
system-font-i18n-css is optimized to select the best system font on a per-character basis, based on the unicode range of that character.
system-font-i18n-css provides twelve variations for the Sans-serif family of system font.
This font stack provides more consistent character typesetting across multiple languages and all modern operating systems.
system-font-i18n-css is optimized to select the best system font on a per-character basis, based on the unicode range of that character.
This project aims to fix that.
Docs.
Available on NPM as system-font-i18n-css and on github as system-font-i18n-css
This talk was presented at the Boston Ember.js Community meetup at Salsify, Inc about a unique usecase for deploying FastBoot in order to do server-side rendering of Ember applications at scale.
I review traditional, single-page web applications, I discuss server-side rendering by introducing Ember FastBoot.
I showcase our architecture and provide a quick summary of how we use FastBoot in production.
Using Ember FastBoot in Weird Ways (slides)
Español: “Contra Facebook” [Parte 1], [Parte 2] On the commodification of attention, the abuses of unpaid microwork and strategies of resistance.
Alarm goes off, time to wake up.
Snooze alarm, and then repeat: check email, check Facebook, check Twitter, check Snapchat, rinse; repeat again; no new posts?
Check again.
No second spared to compose a thought; dreams fade away.
Day continues just the same way — rise, rinse, repeat, repeat.
Can’t spare time to sit and relax, can’t let your mind wander not five minutes, no unstructured thought or daydream; just repeat.
Every moment captures value — must increase engagement!
must repeat!
—no time for grander narratives, to solve for bigger problems.
Atomize attention into smaller slice of microwork, then catch up, read, listen, swipe right, repeat, like, pull-to-refresh, to scroll to infinity, and then again.
No matter if you’re pulling espresso shots, serving tables, or playing with computers all day: they all end the same: Netflix & chill, the guardian of sleep, TV, our collective lullaby.
Wake up with screens, go to bed with screens.
We no longer shit alone.
The death of idleness.
This essay explores the ways Facebook transforms our attention into a product, and how that transformation changes us.
It then proposes a social media strike as a concrete strategy to reclaim our attention, and finally lists many reasons why we should all quit Facebook.
The Commodification of Microwork Social media companies like Facebook, Google, Twitter and Snapchat have created a marketplace for our attention, where we become the product sold to advertisers who subtly change our behavior to buy products and services for their own benefit.
This type of persuasion is most effective when these platforms command our attention with a heightened level of distraction.
We create the content that is then used to command the attention of our peers, which is then used to sell advertising space while the surrounding content is measured for engagement, and the results are analyzed to optimize the next round of ad placement.
This process is the commodification of microwork— the seemingly small tasks that we are compelled to do by force of habit, tasks that aren’t in our own interests but in the interests of the platforms and advertisers using our attention and time to pad their bottom lines.
Also known as “heteromation” (Ekbia, Nardi, 2014), microwork includes reading timelines, posting photos & updates, liking, retweeting, and generally dedicating our time, attention, and emotions to these platforms—each tiny action its own form of labor, given over freely to the advertisers.
“The new media of surveillance capitalism solicit social behaviors, monitor those behaviors, map social interactions, and resell what they learn to advertisers and others.” (Turner, 2017).
Platforms like Facebook are attempting to create systems for the generation of distraction, Crary describes it as follows: “conditions that individuate, immobilize, and separate subjects, even within a world in which mobility and circulation are ubiquitous.
In this way attention becomes key to the operation of noncoercive forms of power” (Crary, 2001, pg.
74) Over time, these systems continually push our attention and distraction to new limits and thresholds.
Youtube & Netflix discovers that auto-playing the next related video dramatically increases views (Bridle, 2017); Twitter uses the “pull-to-refresh” UI gesture that leverages variable rewards to trigger addictive behavior as a way to increase user engagement with the timeline; Facebook uses the “red dot” notifications that keep people checking their phone for the next new thing.
These gadgets are designed to create a “supernormal stimulus,” that is, a stimulus that produces a stronger than natural response.
We can even internalize the supernormal stimulus—an example is the “phantom vibrate” we sometimes feel in our pocket when no vibration occurs.
In the case of social media, the supernormal stimulus is used to exploit our response to novelty in order to elicit a behavior that works in the interests of the social media provider.
This eventually leads to a crisis of attentiveness, where the system must maintain an increased level of distraction.
In order to continually distract us, the visual landscape must constantly change, requiring us to reorient our attention until the shift from one thing to another becomes the natural state (e.g.
the Instagram “Explore” tab).
Over time, we begin to value our attention while the platforms struggle to get more and more of what they previously got for free.
This is not sustainable, as newer products need to continually revolutionize the means of distraction or else we will realize how distracted we really are.
With a loss of distraction, we can more easily achieve self actualization.
This process of commodification has turned us all into tastemakers, reviewers, likers, retweeters and brand ambassadors.
The platform takes our real authentic friendships and first commodifies them, reifies them, Reification happens when something is taken away from a thinking subject, displaced into an object, and turned against the subject.
and then sells them back to us as an “image of friendship”, but one that is bankrupt of any genuine social value.
Over time, these platforms transform us all into unpaid advertising agencies.
We promote goods, services, lifestyles and desires to our friends, weaponizing images to generate feelings of jealousy and FOMO amongst our peers during those idle moments when they feel most bored.
These idle moments are when we are most vulnerable, and thus we’re psychologically primed to accept the supernormal stimulus.
The platform capitalizes on this vulnerability, and over time begins to redefine what we once considered “real” friendship into a relationship with the platform itself, mediated by the features and “images of friendship” within it through Liked and Retweeted posts, Snapchat streaks, Follow requests, posted text, images or even how we reduce our emotions into a series of emoji (Smith, 2016).
The process of commodification In this way, the platform is able to monetize our friendships, tastes, opinions, and even our emotions.
Our internal thoughts and experiences become commodifiable assets, measured as engagements to be analyzed, A-B tested, optimized and charted, then touted by executives in PowerPoint presentations at board meetings.
Our experiences are mined, packaged, and sold, and we are not paid a dime.
Instead of blindly activating our social media habit for that quick dopamine fix, consider who actually benefits.
Are you performing a microwork task for Facebook or Snapchat?
If so, then why aren’t you being paid?
What They Say vs What They Do The Society of the Facebook Newspapers, cable news, and social media platforms are trying to turn us all into media addicts.
These businesses rely on persuading us to consume more and more (keyword: “increase engagement”) in order to curate an “interest in current affairs” (e.g.
New York Times) or to “build meaningful and connected relationships with our community” (e.g.
Facebook.) The reality of the media, however, is driven by a simple business rule: Sell what sells best, the supernormal stimuli: whether it’s clickbait, memes, curated lifestyles, celebrity gossip, salacious headlines, and freak events.
The media tends to focus on the rare incidents that have no actual influence on our daily lives, and the goal of these platforms is to keep us addicted.
Facebook’s 2017 Annual Report makes it clear: The increase in the ads delivered was driven by an increase in users and their engagement and an increase in the number and frequency of ads displayed on News Feed, partially offset by increasing user engagement with video content and other product changes.
(Facebook, 2017).
We think we’re immune to the persuasiveness of advertising, but remember, advertising is a $600 billion dollar industry that is the financial basis of the tech sector.
The massive profits these companies have built have been done so on the backs of advertising campaigns.
Facebook’s (and Google’s, etc.) real agenda is to display and sell ads—not to help people “build meaningful and connected relationships.” At no point was this more clear than during Mark Zuckerberg’s testimony before Congress.
When Senator Hatch asked him, “How do you sustain a business model in which people don’t pay for your service?” his response was as straightforward as it could’ve been: “Senator, we run ads.” (NBC News, 2018).
Senator, we run ads.
“Building Relationships” is the rationale used in order to serve the advertisements, but the advertisements themselves are the real content of these platforms.
The business arrangement of the platform is a simple one: ads are the content, the advertisers are the clients, the user doing microwork tasks are the workers, and our future behaviors are the product.
As a result, we end up building relationships to the platform—not to each other.
Through the investment of our attention, we allow the commodities and ideologies of the platform to bombard our unconscious and subtly shape our behavior.
The process of “exchanging time for image, provides the counterflow to the moving image and as advertising revenues would indicate, is itself productive of value.” (Beller 2006, p.79) “Facebook’s nearly one billion users have become the largest unpaid workforce in history” (Laney, 2012).
The intended effect the media wishes to create is media-driven neuroticism—a love of change for its own sake, or neomania, a love of new things.
Ultimately, neomania together with the media has a negative effect on our moods, which isn’t surprising considering most of what makes the daily news is negative.
This leaves us feeling powerless, like the world is falling apart.
So we turn to social media to witness the (seemingly) beautiful lives of celebrities, and the romantic and exciting lives of our friends and family.
But this ends up driving the compulsion to compare our own lives with those of the people we see on social media, creating feelings of inadequacy, loneliness, and jealousy.
These feelings are misguided however, since the lives we see in the media and social platforms are a tightly edited and curated spectacle of people presenting an image of how they want to appear, not of how they actually are.
Practical Defense Against Unpaid Microwork “News Feed”, by Beeple.
Today it’s popular to hear about the media detox or a social media diet.
The concept is often framed as a metaphor for eating and weight loss.
We can extend this metaphor to consider the microwork tasks we find ourselves doing on a daily basis.
Are the habits and media and we consume daily like the healthy foods that we can use to build a healthy mind and body?
Or will they ultimately poison us?
To live a healthy life we should moderate our media consumption the same way we do with the things we eat.
The toxicity of the media can be understood as a signal-to-noise problem.
The more media we consume, the more noise we get (rather than the valuable part, called the signal.) If we consume the news on a yearly basis (in the form of books), we can assume about half of what we consume is signal, and the rest noise (randomness).
If we increase our frequency to a daily intake, the composition would increase to about 95% noise, and only 5% signal.
If we increase our intake to an hourly frequency (as those who follow the stock market or heavy social media users do) the composition increases to 99.5% noise and 0.5% signal.
This is roughly 200% more noise than signal, more toxic noise to both misdirect and distract, and has negative effects on our mood.
Distraction could be described as a phenomenon in which you connect, inadvertently or absentmindedly, to more things than you intended.
The noise drowns out the signal.
(Solnit, 2018).
A practical approach for a healthy relationship with the media we consume is to create distance between ourselves and the media that surrounds us on a daily basis.
Distance creates an opportunity to gain new perspectives on the media (and life in general).
This distance reduces the influence of these platforms, and creates a space for our ideas and imagination to flourish.
Idleness and imagination are essential to our wellbeing, they’re the wellspring of mental clarity, and the backstop for memory.
Take a few minutes each day to cultivate idleness and some mental space.
Step away from the hourly, daily, weekly media cycle, and read books instead.
Books benefit from the perspective of time, which results in more settled and established facts with increased depth of analysis.
If our goal is to have a wider perspective, and a balanced understanding of the major forces at work in the world, our best bet is to read good books.
This essay gives us the task of avoiding contact with the mundane, cheap, and ephemeral media that surrounds us on a daily basis; to avoid having our attention distracted, redirected, exploited, and abused against our own interests.
We should ignore those things that bring no happiness or value to our lives.
Instead, we should focus our attention on our imagination, quality thought, friends and family, idleness; on things that matter.
We should explore effective ways to reclaim clarity of thought, and autonomy of attention.
The task is to change the very way we attend the world around us.
Henry David Thoreau described a similar mental recalibration in Life Without Principle: If we have thus desecrated ourselves, — as who has not?
— the remedy will be by wariness and devotion to reconsecrate ourselves, and make once more a fane of the mind.
We should treat our minds, that is, ourselves, as innocent and ingenuous children, whose guardians we are, and be careful what objects and what subjects we thrust on their attention.
Read not the Times.
Read the Eternities.
(Thoreau, 1863).
This essay proposes the survivorship bias as the criteria to determine which media to ignore as mundane, cheap, and ephemeral.
Survivorship sets the focus on knowledge that has withstood the test of time; Nicholas Taleb makes the following recommendation in Antifragile: “[read] as little as feasible from the last twenty years, except history books that are not about the last fifty years.
[…what most people do] is read timely material that becomes instantly obsolete.
(Taleb, 2012) Aaron Swartz had similar sentiments: Its obsession with the criminal and the deviant makes us less trusting people.
Its obsession with the hurry of the day-to-day makes us less reflective thinkers.
Its obsession with surfaces makes us shallow.
(Swartz, 2006).
Survivorship is a simple heuristic with which to judge media, be it books, news, social media, television, academic journal articles or even video games.
A clickbait article can go viral and get millions of views the first day it’s published, but according to the survivorship bias, its newness means that it’s likely to be obsolete the next day.
Rather than trying to judge for yourself if media is worth your attention, try letting the survivorship bias do the work for you.
The survivorship bias has a few knock-on effects that are worth mentioning.
Media tends to be discounted as it ages.
Video games are always on sale a few months and especially years after they’ve been released; Books and movies are always cheaper well after their release as well; Newspapers are free the day after they were published; and so on.
Beyond saving our attention from instantly obsolete media, we will also be saving money simply by waiting long enough.
With time also comes more in-depth analysis from the surrounding community; reviews and deep interpretations of the rich meaning behind film and video games benefit from the additional time it takes for this analysis to blossom.
This cultural analysis isn’t available to those following the cult-of-the-new.
Media Consumption Strike Now that we understand how the territory of our attention has been colonized, we can begin to resist.
Our challenge is to put the following strategies in practice until they form new habits that encourage idleness and mental spaciousness.
We have the tools to reclaim our time and imaginations, we must take action!
The inadvertent laboring towards the propagation of the spectacle is another example of the ways that the spectacle takes advantage of its subordination of the masses.
It is a process to which they have no control other than to renounce image culture completely which in a hyperreal world is almost inconceivable.
(Berthelot, 2013) We propose a collective media consumption strike, and rather than allowing our attention to be driven by these platforms, we must direct our attention to the things that matter to us.
The rules can be simple: - No TV/Netflix/Youtube - No radio - No podcasts - No social media, delete your Facebook account - No messaging/chat - No idle web browsing - No news aggregation sites - No video games - No using a computer if it is not directly related to creating or resisting (not consuming) Don’t be a fundamentalist about the rules.
Rules are meant to be broken.
If it’s art, the rules are more loose; if it’s corporate media, more strict.
Cinema, literature, sci-fi, comic books, indie games (or board games): as long as these types of works are not connected with our professional, interpersonal, or political responsibilities, use them in moderation.
In general, make sure media consumption is done with more moderation than usual.
The goal is to break your habits.
Many people work with computers for their job.
Most aren’t privileged enough to be able to completely disconnect from work.
Work-related email, messaging, and work-related browsing are out of scope for the strike by necessity—but do please try to prevent any non-work related web browsing or media consumption.
Don’t use work as an excuse to view social media or browse the web.
Academic journal articles and the like will be hard to avoid, but ask yourself if they would pass the survivorship bias after a few years.
Enable Do Not Disturb on your phone.
This will establish designated mental space for ourselves, friends, and family.
Most smartphones have rules that can automatically put the device into Do Not Disturb mode at set times.
In Android and iOS, this is available by going to Settings and searching for Do Not Disturb preferences.
Do Not Disturb is also available in macOS as well.
Remove anything that provides variable information rewards.
These are features in apps and games designed to give a random, pleasant surprise—to create addiction.
Slot machines are designed to do this; social media platforms like Facebook, Twitter, and video games like Candy Crush use “loot crates” to achieve the same result.
Email can operate similarly.
Turn off the red Notification dot on all your apps.
Remove Facebook, Snapchat, Twitter, Slack, Instagram, Youtube and any other social media apps from your devices.
This makes it tougher to have instant access to these forms of media since it’s not immediately at your fingertips.
Don’t cheat and use the web interface.
Disable notifications for any apps that you keep.
Turn off all lock screen notifications, this also improves privacy.
Remove any of the other chat apps from your smartphone: Snapchat, Facebook Messenger, WhatsApp, Mastodon, Viber.
If our friends need to reach us, they can text or call.
We should be the masters of our own time, and our network of friends isn’t in control of our time.
Our inbox isn’t the world’s way to add items to our TODO list.
Remove any Bookmarks or Recently Viewed sites from your browser to prevent 1-click-away sites from distracting us.
Some software like SelfControl will block habitual sites for you.
Reddit, BuzzFeed, Upworthy, Medium are great sites to block.
Try to limit checking email to once a day.
Set a schedule at a set time, and stick to it.
Do the same for messaging.
Set an auto-responder if that helps reduce anxiety.
The idea behind this practice is to stop the urge to immediately unlock our phone whenever we have idle time.
Our idle time should be owned by us.
Conclusion The net effect these platforms have on us is to alienate us from our very lives.
Instead of focusing on what is valuable and good, we tend to focus on what we lack, or what we’re missing out on.
If we divest ourselves from this tendency, ignore the rare incidents and ephemeral content that has no actual relevance to our daily lives, the net effect is beneficial to our mind and spirit.
The resulting autonomy of attention can allow us to connect to the people and environments around us, and reclaim our very imaginations.
0xADADA is a software developer working for AI and web related startups in Boston; graduated from Northeastern University with degrees in Computer Science and Cognitive Psychology.
0xADADAs’ Facebook account was created in 2004 and deleted in 2015.
Appendix: Reasons to Quit Facebook The ideological rationale that keeps platforms like Facebook profiting from the commodification of our attention and the collection of our private data lacks common courtesy at best, and is psychopathic at worst.
Here we present our Airing of Grievances, a listicle of the top reasons to quit Facebook.
Facebook outsources data exploitation for political manipulation to companies like Cambridge Analytica.
(Cadwalladr, Graham-Harrison, 2018).
Facebook has democratized surveillance, where we have normalized reporting upon the intimate details of the status of our friends and family.
(e.g.
“X got engaged to Y”, “Tagged my friend A in this photo, at location X”, “B works at company C.”).
Without privacy, people resort to self-censorship, and therefore remove any aspect of political action or critique from themselves, thus becoming normalized to political impotence.
(Assange, Appelbaum, Müller-Maguhn, Zimmermann, 2012).
Former founding President Sean Parker, along with former vice-president of user growth Chamath Palihapitiya have both objected to Facebook’s use of dopamine-driven feedback loops to increase addictive behavior.
(Hern, 2018).
Former Chief Information Security Officer Alex Stamos resigned from Facebook over an internal disagreement in how much Facebook should publicly share about how nation-states used the platform in the run-up to the 2016 elections.
(Perlroth, Frenkel, Shane, 2018).
Co-founder of WhatsApp (acquired by Facebook) Brian Acton has said people should #DeleteFacebook.
(Newton, 2018).
Co-founder of WhatsApp Jan Koum, is planning to leave the company after clashing with its parent, Facebook, over the popular messaging service’s strategy and Facebook’s attempts to use its personal data and weaken its encryption.
(Dwoskin, 2018).
Facebook correlates data from loyalty program providers (e.g.
Walgreens cards from Nielsen-Catalina Solutions) who have access to brick-and-mortar purchase history with individual Facebook accounts.
Companies like Johnson & Johnson can buy this data from the broker and use Facebook tools to target individual users for ads promoting products they’ve previously purchased.
(Stern, 2018).
Facebook has been fined for breaking privacy laws in the EU for using cookies, and social plugins.
(Lomas, 2018).
Facebook’s corporate policy is based on growth and engagement at any cost.
(Malik, 2018).
Facebook’s Protect VPN product is collecting users’ mobile data traffic and sending it back to Facebook.
(Perez, 2018).
Facebook hired a full time pollster to monitor Mark Zuckerberg’s approval ratings and develop strategies to change public perceptions.
(Newton, 2018).
Facebook’s network “is large enough and deep enough to create a global census that can ‘see’ nearly everyone on the planet, even if they don’t have a Facebook account.” says John Robb, a former counter-terrorism operative in US Special Operations Command.
He goes on to say, this will “enable real-time tracking on nearly everyone on the planet using smartphone GPS data and ancillary information”.
(Ahmed, 2017).
“Facebook’s business is to simulate you and to own and control your simulation, thereby owning and controlling you.” (Balkan, 2017).
Facebook has experimented with removing popular news outlets from the Feed in poor countries including Sri Lanka, Guatemala, Bolivia, Cambodia, Serbia and Slovakia.
(Hern, 2017).
Former Facebook platform team Operations Manager Sandy Parakilas claims the company prioritized data collection of its users over protecting them from abuse.
(Parakilas, 2017).
Facebook Likes can be leveraged to reliably predict intelligence, personality traits and politics.
(Hess, 2017).
Facebook uses messages and contact details of our friends and other Facebook users to build a shadow profile of us that makes it easier for Facebook to more completely map all our social connections.
(Hill, 2017).
Facebook still knows what you typed before [and after] you hit delete.
(Boykis, 2017).
Facebook will tag your face in any photos uploaded from any users.
(Boykis, 2017).
Facebook became 45% of all referral sources of traffic between 2014 and 2017.
This has an enormous influence on what people see on the web, making the web more centralized upon Facebook.
(Staltz, 2017).
Facebook is filing patents to detect and use emotion to influence users’ behaviors.
(CB Insights, 2017).
Facebook uses gamification to incentivize us to keep checking how many Likes our posts have gotten.
A narcissism reinforcement machine.
(Dillet, 2017).
Facebook uses nostalgia, birthdays, and sentimentality to manipulate us to increase engagement.
(Frost, 2017).
Facebook’s Like button (seen on almost every site on the web) isn’t just there to make it easy to post that page on Facebook, but it also provides a hook for Facebook to track your visit to that site, and thus collect your entire web browsing history.
(Satyal, 2017).
Facebook revealed the identities of its own content censors to suspected terrorists.
(Solon, 2017).
When Facebook has trouble acquiring users in specific markets, it simply buys the companies that dominate those markets (e.g.
Instagram, WhatsApp and Oculus).
(Srnicek, 2017).
Facebook owns a patent to use our devices’ camera to gauge our emotional state from our facial expression, to better to target us with content and advertising.
(Dowling, 2017).
Facebook prevents search indexing, so content posted on Facebook is only discoverable within Facebook.
(Gruber, 2017).
Facebook fragments the public debate into filter-bubbles, and users segmented into one bubble will never see the news and information in another bubble, separating society along ideological lines.
(Lanchester, 2017).
Facebook can identify when teens feel “insecure”, “worthless” and “need a confidence boost” in order to keep them hooked.
(Lewis,.
Machkovech, 2017).
The data we give Facebook is used to calculate our ethnic affinity, sexual orientation, political affiliation, social class, travel schedule and much more.
(Miller, 2017).
Facebook buys personal data from various data brokers, and correlates it to Facebook profile data to build aggregated profiles that span multiple sources.
(Angwin, 2016).
Facebook News team suppressed conservative news items.
(Nunez, 2016).
Facebook prevented News Team curators from listing Facebook on their resume in order to make the organization seem like it was unbiased and AI-driven.
(Nunez, 2016).
Facebook can use your name and photo to endorse products and services to your social network without your knowledge.
(Tucker, 2016).
Facebook is the television of the web, letting us passively scroll through content that we’d probably like, based on our habits and things we’ve already Liked, putting us in comfort bubbles that are more isolating than physical walls.
(Derakhshan, 2016).
Facebook creates an illusion of choice, but by shaping the menus we pick from, it hijacks the way we perceive our choices and replaces them with new ones that aren’t in our best interests but serve the interests of Facebook.
(Harris, 2016).
Facebook Likes, status updates, and pages we visit are “more reliable” in predicting mental illness.
(Reynolds, 2016).
Facebook uses intermittent variable rewards, used in slot machines to maximize addictiveness, by linking an action we take (pull-to-refresh) and a random reward (e.g.
new posts!).
(Harris, 2016).
Facebook convinces us that we’re missing out on something important, when in reality we’re not.
(Harris, 2016).
Facebook abuses our need for social approval, validation, and the need to belong in order to increase engagement.
(Harris, 2016).
Facebook abuses our need to reciprocate the social gestures of others.
(E.g.
the need to Friend someone back who has Friended you).
(Harris, 2016).
Facebook abuses our attention with immediate interruptions because studies have shown it increases engagement.
(Harris, 2016).
Facebook abuses our intentions by hijacking our tasks with the needs of the platform.
For example, when you want to look up a Facebook event happening tonight, the app doesn’t allow us to access the event without first redirecting us to the News feed.
(Harris, 2016).
Facebook makes it easy for us to handover self-incriminating data that can be used against us by law-enforcement.
(Clark, 2016).
Facebook blocked the account of activist Shaun King after he posted a racist email that was sent to him.
(Stallman, 2016).
Facebook enforces a real name policy, allowing corporations and nation-states to be able to connect users’ accounts with their real identity.
This is dangerous for marginalized people, and makes them vulnerable to blackmail lest their real identities be exposed.
The real name policy forces people to have a single identity when in reality people have flexible identities that change depending on social context.
Using one’s real name inhibits one from experimenting with alternative identities, limiting personal growth to normative concepts of identity.
(Stallman, 2016).
Facebook has censored posts for Israel, Russia, China, Turkey, the UK, and routinely suppresses content for political reasons using algorithmic promotion and depromotion.
(Stallman, 2016).
On the web, hyperlinks are freely swapped to enable the cross-pollination of information and a diversity of decentralized ideas.
On Facebook, each post exists unto itself, often accessible only within Facebook amongst ones “Friends of Friends”.
“instead of seeing [hyperlinks] 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 not allowed.
Hyperlinks are objectivized, isolated, stripped of their powers”.
(Derakhshan, 2015).
Facebook hurts the power of the website: “the Stream means you don’t need to open so many websites any more.
You don’t need numerous tabs.
You don’t even need a web browser.
You open Twitter or Facebook on your smartphone and dive deep in.
The mountain has come to you.
Algorithms have picked everything for you.
According to what you or your friends have read or seen before, they predict what you might like to see.” (Derakhshan, 2015).
Facebook (even more so, Instagram) is the cul de sac of the internet.
It’s where content can no longer be enriched with annotations external to itself.
It’s where conversations wither and content goes to stare inwards at itself.
Facebook analyzes the contents of messages sent between users on the platform to better target advertisements.
(Virani, 2015).
Facebook uses friends to gather additional information about us.
Tagging friends in photos, answering questions about a friend’s marital status are ways we’re tricked into snitching on our friends.
(Virani, 2015).
Facebook encourages us to present normative images of our lives, which results in alienation from the actual way we feel.
(Krause, 2015).
Increased use of Facebook is linked to depression.
(Wald, 2015).
Facebook’s internet.org project was touted to provide internet connected devices and networks in India, but created a Facebook-only view of the internet.
(Burrington, 2015).
Facebook abuses our innate tendencies to track our progress and assess our self-worth by comparing ourselves to other people.
(Musser, 2015).
Facebook photo data is used by Nashville company Facedeals to identify shoppers in stores with the stores’ own security cameras and facial recognition software.
These profiles are then used to increase purchase behavior using personalized promotions and deals.
(Dormehl, 2014).
“The problem with the web and its associated technologies is that it has made it so easy to share information about ourselves that doing so begins to feel like an obligation, a sentence, a sisyphean curse; another day, another photo of lunch to post.” (Beato, G.) Facebook manipulates our emotions with experiments on the News Feed.
(Booth, 2014).
Facebook owns a patent for determining our location by identifying objects in our photos and videos based on neural networks of nearby images.
(Facebook, 2014).
Facebook payments is tracking what you buy, and your financial information like bank account and credit card numbers.
Facebook has already started sharing data with Mastercard so they can drive online ad sales and determine credit worthiness from platform data.
(Head, 2014).
Facebook provided data to NSA as part of the PRISM program.
(Greenwald, 2013).
Facebook enables a surveillance apparatus where our every action could be monitored, and since everyone technically violates some obscure law some of the time, then punishment becomes selective and political.
(Marlinspike, 2013).
Facebook owns a patent that tracks and determines the types of physical activities of a user based on movement of their device, including walking, running, cycling, driving, skiing, etc.
(Facebook, 2013).
Facebook owns a patent for determining our location using non-GPS data including nearby NFC, RFID, wifi, bluetooth signal, events in your calendar like restaurant reservations or concerts.
(Facebook, March 2013) Facebook sells profile data to credit card companies and insurance providers so they can use platform data as indicators for credit and insurance risk.
(Hawley, 2012).
Facebook makes it very difficult to quit, using social reciprocity and UX design dark patterns.
(Brown, 2010).
Facebook’s CEO Mark Zuckerberg hacked into Harvard Crimson editors’ private email accounts.
(Carlson, 2010).
You should delete your Facebook account, but please share this essay before you do 😉!
Acknowledgements I thank the following friends for their feedback: Alex Grabau, Thom Dunn, Suzi Dao, Stephen & qtychr.
References Angwin, Julia.
Mattu, Surya.
Parris Jr, Terry.
(December 27, 2016).
Facebook Doesn’t Tell Users Everything It Really Knows About Them.
(Retrieved April 21, 2018).
Ahmed, Nafeez.
(December 29, 2017).
Facebook will become more powerful than the NSA in less than 10 years — unless we stop it.
(Retrieved April 10, 2018).
Allen, Tom.
(2016).
How my Location Independent Lifestyle Works.
(Retrieved on April 19, 2018) Allsop, John.
(February 17, 2017).
Not My Digital Detox.
(Retrieved April 19, 2018) Ashkenas, Jeremy.
(April 4, 2018).
“You know, I really hate to keep beating a downed zuckerberg, but to the extent that expensive patents indicate corporate intent and direction —Come along for a ride, and let’s browse a few of Facebook’s recent U.S.P.T.O.
patent applications…”.
Twitter.
https://mobile.twitter.com/jashkenas/status/981672970098589696 (Retrieved on April 19, 2018) Assange, Julian., Appelbaum, Jacob., Müller-Maguhn, Andy., Zimmermann, Jérémie.
(2012).
Cypherpunks: Freedom and the Future of the Internet.
OR Books.
Print.
Balkan, Aral.
(February 18, 2017).
Encouraging individual sovereignty and a healthy commons.
(Retrieved on January 13, 2018).
Beato, G.
(March 2012).
Disposable Hip.
(Retrieved April 27, 2018).
Berthelot, Martin R.
(2013).
Spectacle and Resistance in the Modern and Postmodern Eras.
(Retrieved on April 18, 2018) Berthelot, Martin R.
(2013).
Spectacle & Resistance.
(Retrieved on April 18, 2018) Beller, Jonathan.
(2006).
The cinematic mode of production: attention economy and the society of the spectacle.
Hanover, N.H.
Dartmouth College Press, University Press of New England.
Print.
Booth, Robert.
(January 29, 2014).
Facebook Reveals News Feed Experiment to Control Emotions.
(Retrieved April 19, 2018) Boykis, Vicki.
(February 1, 2017).
What should you think about when using Facebook?.
(Retrieved on January 13, 2018).
Brand, Russell., Curtis, Adam.
(2018).
Ep.50 “Is Civilisation Crumbling?
with Adam Curtis” by Under The Skin Podcast with Russell Brand.
(Retrieved on March 17, 2018).
Bridle, James.
(November 6, 2017).
Something is wrong on the internet.
(Retrieved November 8, 2018).
Brown, Andrew.
(May 14, 2010).
Facebook is not your friend.
(Retrieved on June 5, 2016).
Burrington, Ingrid.
(December 4, 2015).
A Journey Into the Heart of Facebook.
(Retrieved on January 3, 2016).
Cadwalladr, Carole, Graham-Harrison, Emma.
(March 17, 2018).
How Cambridge Analytica turned Facebook ‘likes’ into a lucrative political tool.
(Retrieved on April 10, 2018).
Cadwalladr, Carole, Graham-Harrison, Emma.
(March 17, 2018).
Revealed: 50 million Facebook profiles harvested for Cambridge Analytica in major data breach.
(Retrieved on April 10, 2018).
Carlson, Nicholas.
(March 5, 2010).
In 2004, Mark Zuckerberg Broke into a Facebook User’s Private Email Account.
(Retrieved April 21, 2018).
CB insights.
(June 1, 2017).
Facebook’s Emotion Tech: Patents Show New Ways For Detecting And Responding To Users’ Feelings.
(Retrieved on June 5, 2017).
Clark, Bryan.
(February 11, 2016).
‘I have nothing to hide’ is killing the privacy argument.
(Retrieved on January 13, 2017).
Crary, Jonathan.
(2001).
Suspensions of perception: attention, spectacle, and modern culture.
London, England.
MIT Press.
Debord, Guy.
(1983).
The Society of the Spectacle.
Trans.
Fredy Perlman.
Detroit: Black & Red, Print.
Derakhshan, Hossein.
(December 29, 2015).
Iran’s blogfather: Facebook, Instagram and Twitter are killing the web.
(Retrieved on January 13, 2018).
Derakhshan, Hossein.
(July 14, 2015).
The Web We Have to Save.
(Retrieved on January 13, 2018).
Derakhshan, Hossein.
(May 11, 2016).
Mark Zuckerberg is a hypocrite - Facebook has destroyed the open web.
(Retrieved on January 13, 2018).
Dillet, Romain.
(October 20, 2017).
How I cured my tech fatigue by ditching feeds.
(Retrieved on April 10, 2018) Dormehl, Luke.
(2014).
The Formula.
New York: Perigee.
Print.
Dowling, Tim.
(June 6, 2017).
On Facebook, even Harvard students can’t be too paranoid.
(Retrieved on June 5, 2016).
Dwoskin, Elizabeth.
(April 30, 2018).
WhatsApp founder plans to leave after broad clashes with parent Facebook (Retrieved on April 30, 2018).
Ekbia, Hamid., Nardi, Bonnie.
(June 2, 2014).
Heteromation and its (dis)contents: The invisible division of labor between humans and machines.
(Retrieved on April 23, 2018).
Gruber, John.
(June 6, 2017).
Fuck Facebook.
(Retrieved on June 6, 2017).
Facebook, Inc.
(2017).
Facebook 2017 Annual Report, Form 10-K.
US Securities and Exchange Commission.
(Retrieved on April 19, 2018) Facebook, Inc.
(June 28, 2013).
User Activity Tracking System.
US Patent Office.
(Retrieved April 24, 2018).
Facebook, Inc.
(December 30, 2014).
Systems and methods for image object recognition based on location information and object categories.
US Patent Office.
(Retrieved April 24, 2018).
Facebook, Inc.
(March 15, 2013).
Multi-Factor Location Verification.
US Patent Office.
(Retrieved April 24, 2018).
Faliszek, Chet.
(April 2, 2018).
“I recently posted about Oculus/Facebook and their data collection.
Let me go more in depth and this isn’t just about today this is about the future of XR.
At the heart of the matter are these points where their privacy policy and actions differ from other XR companies.
1/many”.
Twitter.
https://twitter.com/chetfaliszek/status/980861065989783552.
(Retrieved on April 19, 2018) Ferri, Jessica.
(2018).
How Swipe Left, Swipe Right Became a Cultural Phenomenon.
(Retrieved on April 19, 2018) Frost, Brad.
(September 11, 2017).
Facebook, You Needy sonofabitch.
(Retrieved April 21, 2018).
Greenwald, Glenn, MacAskill, Ewen.
(June 7, 2013).
NSA Prism Program Taps in to User Data of Apple, Google and others.
(Retrieved April 18, 2018) Harris, Tristan.
(May 18, 2016).
How Technology is Hijacking Your Mind — from a Magician and Google Design Ethicist.
(Retrieved on April 9, 2018).
Hawley, Charles.
(June 8, 2012).
Critique of German Credit Agency Plan to Mine Facebook for Data.
(Retrieved April 21, 2018).
Head, Beverley.
(October 6, 2014).
MasterCard to Access Facebook User Data.
(Retrieved April 21, 2018).
Hern, Alex.
(October 25, 2017).
‘Downright Orwellian’: journalists decry Facebook experiment’s impact on democracy.
(Retrieved on April 10, 2018).
Hern, Alex.
(January 23, 2018).
‘Never get high on your own supply’ – why social media bosses don’t use social media.
(Retrieved on April 10, 2018).
Hess, Amanda.
(May 9, 2017).
How Privacy Became a Commodity for the Rich and Powerful.
(Retrieved on November 3, 2017).
Hill, Kashmir.
(July 11, 2017).
How Facebook Figures Out Everyone You’ve Ever Met.
(Retrieved on April 10, 2018).
Kaplan, Frederic.
(August 1, 2014).
Linguistic Capitalism and Algorithmic Mediation.
University of California Press Journals.
(Retrieved April 18, 2018) Kalish, Alyse.
(February 7, 2018).
15 Things you should be doing after work instead of watching TV.
(Retrieved on April 19, 2018) Krause, Kati.
(December 11, 2015).
Facebook’s Mental Health Problem.
(Retrieved on January 3, 2016).
Lanchester, John.
(August 17, 2017).
You Are the Product.
(Retrieved on April 9, 2018).
Laney, Doug.
(May 3, 2012).
To Facebook You’re Worth $80.95.
(Retrieved April 24, 2018).
Lewis, Paul.
(October 6, 2017).
‘Our minds can be hijacked’: the tech insiders who fear a smartphone dystopia.
(Retrieved on April 9, 2018).
Lomas, Natasha.
(February 19, 2018).
Facebook’s tracking of non-users ruled illegal again.
(Retrieved on April 10, 2018).
Machkovech, Sam.
(May 1, 2017).
Report: Facebook helped advertisers target teens who feel “worthless”.
(Retrieved on November 3, 2017).
Malik, Om.
(February 20, 2018).
The #1 Reason Facebook Won’t Ever Change.
(Retrieved April 19, 2018) Marlinspike, Moxie.
(June 13, 2013).
Why ‘I Have Nothing to Hide’ Is the Wrong Way to Think About Surveillance.
(Retrieved on January 3, 2017).
McMillen, Stuart.
(March 2012).
Amusing Ourselves to Death.
(Retrieved on April 30, 2018).
Miller, Joe.
(May 26, 2016).
How Facebook’s tentacles reach further than you think.
(Retrieved on August 1, 2017).
Musser, Cody.
(December 28, 2015).
I’m quitting Facebook in 2016—and you should too.
(Retrieved on January 13, 2018).
NBC News.
(April 10, 2018).
Senator Asks How Facebook Remains Free, Mark Zuckerberg Smirks: ‘We Run Ads’ | NBC News (Retrieved April 23, 2018).
Nelson, Joe.
(April 20, 2015).
Going “Write-Only”.
(Retrieved April 20, 2018) Newton, Casey.
(February 6, 2018).
Facebook hired a full-time pollster to monitor Zuckerberg’s approval ratings.
(Retrieved on April 10, 2018).
Newton, Casey.
(March 20, 2018).
WhatsApp co-founder tells everyone to delete Facebook.
(Retrieved on April 30, 2018).
Nunez, Michael.
(May 9, 2016).
Former Facebook Workers: We Routinely Suppressed Conservative News.
(Retrieved on November 3, 2017).
Nunez, Michael.
(May 3, 2016).
Want to Know What Facebook Really Thinks of Journalists?
Here’s What Happened When It Hired Some.
(Retrieved on November 3, 2017).
Parakilas, Sandy.
(November 19, 2017).
We Can’t Trust Facebook to Regulate Itself.
(Retrieved on April 18, 2018).
Parez, Sarah.
(February 12, 2018).
Facebook is pushing its data-tracking Onavo VPN within its main mobile app.
(Retrieved on April 10, 2018).
Parrish, Shane.
(January 24, 2018).
Most of what you’re going to read today is pointless.
(Retrieved on April 10, 2018).
Perlroth, Nicole, Frenkel, Sheera & Shane, Scott.
(March 19, 2018).
Facebook Exit Hints at Dissent on Handling of Russian Trolls.
(Retrieved on April 10, 2018).
Reynolds, Emily.
(November 1, 2016).
What could Facebook target next?
Our mental health data.
(Retrieved on November 1, 2016).
Russell, Bertrand.
(2013).
The Conquest of Happiness.
Liveright, Print.
Satyal, Parimal.
(November 2, 2017).
Against an Increasingly User-Hostile Web.
(Retrieved on April 10, 2018).
Solnit, Rebecca.
(May 1, 2018).
Driven to Distraction.
(Retrieved April 23, 2018).
Solon, Olivia.
(June 16, 2017).
Revealed: Facebook exposed identities of moderators to suspected terrorists.
(Retrieved on April 9, 2018).
Smith, Jack IV.
(February 24, 2016).
Facebook Is Using Those New “Like” Emojis to Keep Tabs on Your Emotions.
(Retrieved on April 20, 2018) Srnicek, Nick.
(August 30, 2017).
We need to nationalise Google, Facebook and Amazon.
Here’s why.
(Retrieved on April 9, 2018).
Stallman, Richard.
(2016).
Reasons not to use Facebook.
(Retrieved on June 5, 2016).
Staltz, André.
(October 30, 2017).
The Web began dying in 2014, here’s how.
(Retrieved on April 10, 2018).
Stern, Joanna.
(March 7, 2018).
Facebook Really Is Spying on You, Just Not Through Your Phone’s Mic.
(Retrieved on April 10, 2018).
Swartz, Aaron.
(October 20, 2006).
I Hate The News.
(Retrieved May 2, 2018).
Taleb, Nassim Nicholas.
(2012).
Antifragile: Things That Gain from Disorder.
Random House.
Print.
Thaler, Richard H., and Cass R.
Sunstein.
(2008).
Nudge: Improving Decisions About Health, Wealth, and Happiness.
New Haven: Yale University Press.
Print.
Turner, Fred.
(October 5, 2017).
The arts at Facebook: An aesthetic infrastructure for surveillance capitalism.
(Retrieved on April 21, 2018).
Thoreau, Henry David.
(1863).
Life Without Principle.
(Retrieved on April 19, 2018) Tucker, Ian.
(February 12, 2016).
Douglas Rushkoff: ‘I’m thinking it may be good to be off social media altogether’.
(Retrieved on January 13, 2018).
Virani, Salim.
(January 29, 2015).
Get your loved ones off Facebook.
(Retrieved on April 9, 2018).
Wald, Chelsea.
(December 3, 2015).
Is Facebook Luring You Into Being Depressed?.
(Retrieved on January 3, 2016).
Wolford, Ben.
(October 23, 2017).
The product Facebook sells is you.
(Retrieved on January 3, 2016).
Zuboff, Shoshana.
(May 3, 2016) The Secrets of Surveillance Capitalism.
(Retrieved on January 3, 2017).
This was also posted to /en/socialmediastrike.
A summary of my notes taken while reading Programming Phoenix.
Ch.1 The layers of phoenix, the endpoint is where the HTTP connection contacts phoenix, from there it goes to the router which directs a request to the appropriate controller, passing through a series of pipelines.
Pipelines chain functions together to handle tasks that span across multiple controllers, such as browser requests vs API requests.
connection |> endpoint |> router |> pipelines |> controller The purpose of the web server is to route a request to a function that performs the right task, called an action.
These functions are grouped into controllers.
A controller is also a series of pipelines connection |> controller |> common_services |> action An action to show a user would look like this: connection |> find_user |> view |> template Run phoenix inside an interactive shell: iex -S mix phx.server In controllers, parameters come in as a Map of keys with string names: def world(conn, %{"name" => name}) do # string key render conn, "world.html", name: name # atom key end Phoenix specifically converts these from String keys to atoms once inside the application boundry, because external data can’t safely be converted to atoms.
Phoenix encourages breaking big functions down into smaller ones.
It provides a place to explicitly register each smaller function in a way that makes it easy to understand and replace.
These small pieces are orchestrated with the Plug library.
The Plug library is a specification for building applications that connect with the web.
Plug produces and consumes a struct called Plug.Conn, describing the entire request/response cycle of a web application, containing the request, protocol, parameters, etc.
Each individual Plug should do one-thing and do it well, take the conn struct, transform it, and return it.
Plugs are just functions, and Phoenix web applications are just pipelines of Plugs.
If you look at endpoint.ex you’ll see that its essentially a pipeline of functions chained together at the beginning of each request: connection |> Plug.Static.call |> Plug.RequestId.call |> Plug.Logger.call |> Plug.Parsers.call |> Plug.MethodOverride.call |> Plug.Head.call |> Plug.Session.call |> <your app>.Router.call The last call, to .Router.call is where endpoint.ex defers to your applications router.ex to define which controller, and subsequently, which function is invoked next in the pipeline chain.
The router defines a set of pipelines for dealing with which Plugs to use prior to your conroller being called, typically: connection |> endpoint |> router |> pipeline(s) |> controller The pipeline(s) above will be things like :browser, handling common tasks as preventing request forgery, :fetch_session, :fetch_flash.
The controller is where business logic specific to your application lives, making data available for a view.
The view subsequently substitutes values inside a template which is rendered.
Ch.2 Start an interactive Elixir shell within an Elixir application project: iex -S mix Structs add a constraint to Maps in that they offer protection from bad or misspelled keynames at compilation time, while Maps only throw errors during runtime when the key is first accessed.
Under the covers, a Struct is just a Map with a struct key.
Ch3 A view is a module containing a rendering function that converts data into a format the user will consume, like HTML or JSON.
A template is a function on the view module, compiled from a file containing raw markup language and embedded Elixir code to process substitutions and loops.
Views are modules responsible for rendering, and templates are the compiled functions that have static markup and native code to build pages.
EEx executes Elixir code within <%= %> tags, injecting the result into the template.
EEx evalutes code within <% %> tags, but without injecting the result.
The expression <%= for user <- @users do %> walks through the users, rendering each user using the template block between the do ...
end block, rolling the result up into the template.
In Phoenix, after compilation, templates are just functions.
These templates are just linked lists (rather than other web frameworks that use string concatenation)– this means Phoenix doesn’t have to make huge copies of large strings, resulting in performance improvements.
This lets Elixir leverage modern CPU optimization since it only has a single copy of the largest strings in your application.
When a template is added to Phoenix, the view module extracts the template from the filesystem and adds it as a function on the module itself, thats why the view module is required in the first place.
Ch.4 Ecto uses a DSL that specifies how the fields in a struct map to database tables and columns.
The DSL is built using Elixir macros.
Virtual fields are not persisted to the database.
Models (called contexts & schemas in Phoenix 1.3) are layers of functions to transform data according to business logic.
A schema is the native database form of the data, and a struct is the data once pulled out of the database.
Changesets in Ecto decouple the authentication update policy separately from the database schema.
This policy segregation makes handling change over time.
Ecto helps you write code to make the minimal required database operation to update a record.
Ecto can enforce constraints without hitting the database.
Ch.5 Ecto.Changeset.cast converts a bare Map to a changeset, for security it limits the incoming parameters to those specified.
Module plugs vs function plugs: A function plug is a single function, a module plug is a module that provides two functions with some configuration details, otherwise they work the same.
lib/rumbl_web/endpoint.ex is an example of a module plug while lib/rumbl_web/router.ex is an example of a function plug.
You specify a module plug by providing a module name plug Plug.Logger while a function plug is specified by its name as an atom plug :protect_from_forgery.
To share a Plug across more than one module, you want to use a Module Plug.
All plugs take a connection and return a connection.
Any values stored in conn.assigns.* is automatically available with the same name in our view.
So if you assign to current_user, then @current_user can be used directly in a view.
Ch.6 Generators & Relationships Generating resources, phx.gen.html generates simple HTML based scaffolds, phx.gen.json generates a REST-based API using JSON.
They create resources for CRUD operations, creating migrations, controllers, and templates as well as tests.
An example: mix phx.gen.html Medias \ Video videos \ user_id:references:users \ url:string \ title:string \ description:text This includes the name of the context that holds the module, the module defines the model.
The plural form of the model name, and each field with some type information.
Phoenix consistently uses singular forms in models, controllers, and views.
At the application boundry (URLs, table names you provide a bit more information because you can use pluralized names).
Instead of using inflectors, you just explicitly set the pluralized form yourself.
Primary keys identify rows for each item in a table.
Foreign keys point from one table to the primary key in another table.
Foreign key lets the database get in on the act of maintaining consistency across our two relationships.
The change function handles two database functions, one for migrating up and one for migrating down.
A migration up applies a migration, and a migration down reverts it.
If you make a mistake a need to move a single migration up or down, you can do so.
If you meant to add a view_count field to your create_video migration, but before you migrated your database up.
You would create a new migration adding the view_count field, since you haven’t pushed your changes to production yet, you can roll back, make your changes, and then migrate up again.
First you’d roll back your changes: mix ecto.rollback Verify the undo of the create_video migration.
At this point, add the missing view_count field and migrate forwards with mix ecto.migrate.
A schema is responsible for tying the database fields to a field in the Elixir struct, these are defined in lib/<appname>/<contextname>/<model>.ex.
Ecto associations are explicit, you need to ask to fetch associated records specifically.
Most persistence frameworks often fetch rows you don’t need or fetch them in inefficient ways, over time these inefficiencies add up to major performance problems.
Ecto forces the developer to pay down these performance hits early so they don’t add up over time, when they’re more difficult to fix.
iex> user = Repo.get_by!(User, username: "josevalim") %{Rumbl.User{...} iex> user.videos #Ecto.Association.NotLoaded<association :videos is not loaded> iex> user = Repo.preload(user, :videos) %{Rumbl.User{...} iex> user.videos [] # loaded, but none are associated!
yay Repo.preload accepts one or a collection of association names, and fetches all associated data.
iex> user = Repo.get_by!(User, username: "josevalim") iex> attrs = %{title: "hi", description: "says hi", url: "example.com"} iex> video = Ecto.build_assoc(user, :videos, attrs) iex> video = Repo.insert!(video) Ecto.build_assoc builds a struct, with the proper relationship fields already set.
To fetch videos associated with a user, without storing them in a user struct: iex> query = Ecto.assoc(user, :videos) iex> Repo.all(query) [%Rumbl.Video{...}] assoc is convenient in that it returns an Ecto.Query all videos scoped to a specific user, or a list of users, we convert this query into data by calling Repo.all.
Ch.7 Ecto Queries and Constraints Seeds are small scripts that populate the database with values every time the script is run.
Phoenix stores seed scripts in priv/repo/seeds.ex.
Mix tasks will run these scripts.
Use mix run priv/repo/seeds.exs to add the seed data to the database.
Repo.all from c in Category, select: c.name Repo.all means return all rows, from is a macro that builds a query, c in Category means we’re pulling rows (labeled c) from the Category schema.
select: c.name means we’re going to return only the name field.
Repo.all from c in Category, order_by: c.name, select: c.name will order the results by name and return a tuple containing the name and the id fields.
Ecto queries are composable, you don’t need to define the entire query at once, you can combine them bit-by-bit.
iex> query = Category iex> query = from c in query, order_by: c.name iex> query = from c in query, select: {c.name, c.id} #Ecto.Query<> iex> Repo.all(query) [...] This works because Ecto defines a queryable protocol.
from receives a queryable, and you can use any queryable as a base for a new query.
An Elixir protocol defines an API for specific language features, this one defines the API for something that can be queried.
This is why we can invoke Repo.all(Category) or Repo.all(query) because both Category and query implement the Ecto.Queryable protocol.
By abiding to the protocol, developer can quickly layer together sophisticaed queries with Ecto.Query, maintaining sophistication without complexity.
Code that builds and transforms queries, and code that interacts with the repository should belong to the context.
Code that makes requests for the data should belong to the controller—because the controller is where the web logic should live, and the database layer should be hidden within the application context with the rest of the business logic.
iex> username = "josevalim" iex> Repo.one(from u in User, where: u.username == ^username) %Rumbl.User{...} Repo.one returns one row, from u in user means read from the User schema.
where u.username == ^username means return the row where u.username == ^username, using the pin ^ operator means we don’t want to assign the username but use its value.
Repo.one does not mean “return the first result” but “one result is expected”, so if there is more, it fails.
The Ecto Query API is not about composing query strings, it uses Elixir macros such that Ecto knows where user-defined variables are located, it’s easier to protect the user from security flaws like SQL-injection attacks.
It also helps a bit with query normalization and leverages the data types as defined in the schema for casting values at runtime.
Any functions with side effects—the ones that change the world—should remain in the controllers, while the context, model, and view layers remain side effect free.
The controller receives data, either from a traditional web request, reading data from a socket, and this data is passed from the controller to various functions that transform it as it moves through the functions to the shape of our business-model requirements.
Finally it makes changes to the world around us, either delivering emails, adding entries to a database, or invoking a view which is again written to the connection (another side effect), any of which can result in a business operation.
The query API supports many operators: ==, !=, <=, >=, <, >, and, or, not, in, like, ilike, is_nil, count, avg, sum, min, max, datetime_add, date_add, fragment, field, type.
Keyword syntax uses a keyword list to express a query.
iex> Repo.one from u in User, select: count(u.id), where: ilike(u.username, ^"j%") or ilike(u.username, ^"c%") the u variable is bound as part of Ecto’s from macro, representing entries from the User schema.
Each join in a query gets a special binding.
# count users iex> users_count = from u in User, select: count(u.id) #Ecto.Query<from u in Rumbl.User, select: count(u.id)> # count usernames with a j iex> j_users = from u in users_count, where: ilike(u.username, ^"%j%") #Ecto.Query<from u in Rumbl.User, where: ilike(u.username, ^"%j%"), select: count(u.id)> This query builds up a new query, normalizing as it builds, upon the saved query, we even built the query using the same bound variable name, u, but we didn’t have to.
The pipe syntax allows developer to build queries by piping through query macros.
Each pipe takes a queryable and returns a queryable.
iex> User |> select([u], count(u.id)) |> where([u], ilike(u.username, ^"j%") or ilike(u.username, ^"c%")) |> Repo.one() [debug] QUERY OK source="users" db=4.5ms SELECT count(u0."id") FROM "users" AS u0 WHERE ((u0."username" ILIKE $1) OR (u0."username" ILIKE $2)) ["j%", "c%"] 5 Because each segment of the pipe works independently of the others, we need to specify the binding manually for each one.
Fragments offer an escape hatch from Ecto’s Query API.
The best abstractions offer an escape hatch, and since Ecto’s Query API doesn’t represent every query the database layer can provide, Ecto’s query fragments send part of the query directly to the database but allows you to construct it in a safe way, like this: iex> from(u in User, where: fragment(“lower(username) = ?”, ^String.downcase(uname))) When all else fails, you can directly run SQL statements with Ecto.Adapters.SQL.Query: iex> Ecto.Adapters.SQL.query(Rumbl.Repo, "SELECT power($1, $2)", [2, 10]) SELECT power($1, $2) [2, 10] {:ok, %Postgrex.Result{ columns: ["power"], command: :select, connection_id: 5979, num_rows: 1, rows: [[1024.0]] }} Ecto relationships are explicit: iex> user = Repo.one from(u in User, limit: 1) iex> user.videos #Ecto.Association.NotLoaded<association :videos is not loaded> iex> user = Repo.preload(user, :videos) iex> [] Ecto allows us to preload associations directly as part of a query: iex> Repo.all from u in User, join: v in assoc(u, :videos), join: c in assoc(v, :category), where: c.name == “Comedy”, select: {u, v} [{Rumbl.User{…}, %Rumbl.User{…}}] Constraints allow developers to use underlying relational, and can solve potential race conditions: 1.
User sends a category ID through the form.
2.
Perform a query to check if the category ID exists in the DB.
3.
If the category ID exists, add the video with the category ID to the database.
However, someone could delete the category ID between steps 2 and 3, allowing a video insertion without and existing category.
This will lead to inconsistent data over time.
Phoenix uses constrains to manage change in a way that combines the harsh protections of the database with Ecto’s gentle guiding hand to report errors without crashing.
Some terms: constraint: An explicit database constraint, a uniqueness constrain, or an index, or and integrity constraint between primary and foreign keys.
constraint error: The Ecto.ConstraintError.
changeset constraint: A constraint annotation allowing Ecto to convert constraint errors into changeset error messages.
changeset error messages: Beautiful error messages for the consumption of people.
Ecto allows the application layer (and web server) to use database services like referential integrity and transactions to strike a balance between the needs of the application layer and the needs of the database.
Ecto rewards developers the many guarantees databases offer with data integrity in the short term, by transforming constraint errors into user feedback, and in the longer term by guaranteeing you wont be awake at 3am fixing bugs caused by inconsistent data.
IEx allows us to fetch a previous value using v(n), where n is the number of the expression, you can alsop ass negative values to grab the last nth expression.
iex> alias Rumbl.Repo Rumbl.Repo iex> category = Repo.get_by(Rumbl.Medias.Category, name: "Drama") %Rumbl.Medias.Category{ __meta__: #Ecto.Schema.Metadata<:loaded, "categories">, id: 2, inserted_at: ~N[2017-11-05 18:02:12.006642], name: "Drama", updated_at: ~N[2017-11-05 18:02:12.006653] } iex> Repo.delete(category) [debug] QUERY ERROR db=6.5ms DELETE FROM "categories" WHERE "id" = $1 [2] ** (Ecto.ConstraintError) constraint error when attempting to delete struct: * foreign_key: videos_category_id_fkey We previously added a video using the Drama category, so the database prevents deletion of the category as it is tied to the video and would create orphaned records.
Use foreign_key_constraint, which is like assoc_constraint used earlier, except it doesn’t inflect the foreign key from the relationship.
This is particularly useful if you want to provide reasons why a category can not be deleted.
iex> import Ecto.Changeset Ecto.Changeset iex(22)> changeset = Ecto.Changeset.change(category) #Ecto.Changeset<action: nil, changes: %{}, errors: [], data: #Rumbl.Medias.Category<>, valid?: true> iex> changeset = foreign_key_constraint(changeset, :videos, name: :videos_category_id_fkey, message: "still exists") #Ecto.Changeset<action: nil, changes: %{}, errors: [], data: #Rumbl.Medias.Category<>, valid?: true> iex> Repo.delete(changeset) [debug] QUERY ERROR db=8.8ms DELETE FROM "categories" WHERE "id" = $1 [2] { :error, #Ecto.Changeset< action: :delete, changes: %{}, errors: [videos: {"still exists", []}], data: #Rumbl.Medias.Category<>, valid?: false > } because the foreign key is established in the videos table, we need to explicitly call this out in the call to foreign_key_constraint.
The work best suited for the database must be done in the database.
The constraint changeset functions are useful when the constraint being mapped is triggered by external data, often as part of the user request.
Using changeset constraints only makes sense if the error message can be something the user can take useful action on.
Ch.8 Testing MVC Testing principals - Fast — tests should run quickly and concurrently if possible - Isolated — Tests that are too isolated wont have enough context to be useful, tests that aren’t isolated enough are difficult to understand and maintain - DRY — Strive to eliminate repetition in tests - Repeatable — The same test on the same code should always yield the same result - unit test — exercises a function for one layer of your application - integration test — focuses on the way different layers of an application fit together.
An example is a controller test that makes a request to and endpoint, flows through the pipelines, reads from the database, and renders through views just like a Phoenix request would - acceptance test — test how multiple actions work together.
A single acceptance test case may sign the user on, perform several calculations that build upon each other, then sign off.
ExUnit has three main macros, setup macro specifies setup code that runs before each test is run.
test macro defines a single isolated test, it defines a hypothesis about code.
Finally, assert macro specifies something we believe to be true about code, if true, the test passes.
defmodule MyTest do use ExUnit.Case, async: true setup do :ok end test "pass" do assert true end test "fail" do assert false end end This code runs two tests, first setup is run, then the “pass” test case.
Next setup is run, and the “fail” test case.
The output is a passing test case and a failing test case.
Tests will generally use <AppName>.ConnCase meaning you get <AppName>.Router.Helpers, and Ecto imports along for free.
ExUnit calls tests with test "GET /", %{conn: conn} do conn = get(conn, "/") assert html_response(conn, 200) =~ "Welcome to Phoenix!" end by calling get(conn, “/”) rather than calling the index action on the controller directly.
This practice gives the test the right level of isolation because we’re using the controller the same way Phoenix does.
Phoenix also provides test helpers to make testing responses easier.
assert html_response(conn, 200) ~= "Welcome to Phoenix!" which does the following: asserts the response was 200 content-type was text/html return the response body, allowing us to match on the contents this also exists for JSON called json_response that allow for assertions like assert %{user_id: user.id} = json_response(conn, 200) ExUnit tags help when setup is different from test to test.
When specifying a tag, ExUnit makes that information available within the setup block via callbacks.
setup %{conn: conn} = config do if username = config[:login_as] do user = insert_user(username: username) conn = assign(conn, :current_user, user) {:ok, conn: conn, user: user} else :ok end end @tag login_as: "max" # this is the tag test "list all user's videos on index", %{conn: conn, user: user} do # ...
tags take either a keyword list (above) or an atom as arguments.
The config map contains the conn and tag (either atom or keyword list).
In this case if login_as has a value, we use it to login the user and return an updated conn with the user, otherwise we return an :ok.
Writing unit tests directly against a function like the Auth plug will result in unexpected errors during the testing/coding cycle because calls directly to the function will get results that have not gone through the endpoint, router or other pipelines.
The data has not been fully transformed, so the results will not reflect the state that the implementation sees when running in a server.
The bypass_through helper that ConnCase provides allows developer to send a connection through the endpoint, router, and desired pipelines but bypass the route dispatch.
This approach gives developer a connection wired up with all the transformations the specific tests require, such as fetching the session and adding flash messages.
setup %{conn: conn} do conn = conn |> bypass_through(RumblWeb.Router, :browser) |> get("/") {:ok, %{conn, conn}} end test "authenticate_user halts when no current_user exists", %{conn: conn} do conn = Auth.authenticate_user([]) assert conn.halted end The setup block calls bypass_through, passing the router and the :browser pipeline to invoke.
When the get request is invoked, it accesses the endpoint and stops at the browser pipeline, as requested.
The path “/” given to the get isn’t used by the router when bypassing, its just stored in the connection, this provides all the requirements for a plug with a valid session and flash message support.
Since most repository-related functionality will be tested with integration tests as they insert and update records, but we want to be sure to catch some error conditions as close to the breaking point as possible.
One example is the uniqueness constraint checks in the changeset.
It has side effects because we’re going to need to create a record and then test against it.
Ch.
9: Watching Videos alter table(:videos) do add :slug, :string end the alter macro changes the schema for both up and down migrations.
The premise of a slug is so you can permanently generate a name from the data in other fields, some of which may be updatable.
Because Ecto separates changesets from the definition of a database record (model), this gives developer the ability to have different change policies for any type of change to the record.
Changesets act as a funnel to the database, filtering and casting incoming data, making sure sensitive fields like user role cannot be set externally, while casting them to the type defined in the schema.
Changesets can validate data, for example the length of a field— on the fly, but validations that depend on database integrity are left to the database, in the form of constraints.
Changesets make the code easier to reason about, can be composed, allowing each part of a data transformation to be a more easily comprehend–able and testable function.
In viws you may see a video_path, or watch_path, or x_path() helpers.
These helper functions are generated by RumblWeb.Router and imported into controllers and views by rumble_web/web.ex.
watch_path(@conn, :show, video) takes the Video struct, and by conventions it generates a URL by extracting the ID from the Video struct.
This works because Phoenix knows to use the ID field to generated the URL because Phoenix implements the Phoenix.Param protocol.
Developer can customize this behavior by implementing our own functions to override the default protocol implementation to generate the URL using the slug.
defimpl Phoenix.Param, for: Rumbl.video do def to_param(%{slug: slug, id: id}) do "#{id}-#{slug}" end end The advantage of implementing this behavior change as a Protocol implementation is the clean polymorphism we get by extending Phoenix parameters without having to change Phoenix itself or the Video module itself.
Ch.
10: Using Channels A client connects to a channel over a socket, then sends and receives messages, that’s it.
A Phoenix channel is a conversation, the channel sends messages, receives messages, and keeps state.
Just as controllers receive requests, channels receive events.
A Phoenix conversation (messages sent, messages received) is about a topic, and the topic maps onto application concepts like a chat room, local map, or annotations to a video.
Each user’s conversation on a topic has its own isolated, dedicated process.
Whereas the traditional web-based request/response interactions are stateless, conversations in an Elixir process can be stateful.
This means for sophisticated interactions like games and more interactive pages, developer doesn’t need to use local storage, cookies, or databases to keep track of the state of the conversation.
Each call to the channel simply picks up where it left off.
This only works if the framework supports true isolation and concurrency: one process must be isolated, not affect others, and true concurrency means lightweight abstractions that don’t bleed into one another.
Channels must scale in the dimensions developer is most concerned about: code complexity, performance, and manageability.
The application channel is simple, but it must manage three things: making and breaking connections sending messages receiving messages A socket establishes a new connection with a socket.
After a connection is made, that same socket will be transformed through the life of the connection.
The socket is a representation of a continuous ongoing conversation between the client and the server.
When a connection is made, the initial socket is created, and that same socket is transformed with each new received event, through the whole life of the conversation.
The socket is an abstraction over a websocket, or to handle older clients, a longpoll.
The socket abstracts the transport layer, and Phoenix handles the rest.
A channel is a conversation about a topic, the topic has an identifier of videos: where video_id is a dynamic id matching a record in the database.
Topic identifiers generally take the form topic:subtopic where topic is often a resource name and subtopic is the instance ID that usually identifies a row in the database.
Topics are organizing concepts, they are used as parameters to functions, and used in URLs to identify conversations.
Just like a URL passes an :id parameter to represent a request for a resource from a controller; with channels, developer can use the topic ID to scope a channel connection.
Phoenix channels define “callbacks”, or functions that respond to channel events such as join below: def join("videos:" <> video_id, _params, socket) do {:ok, assign(socket, :video_id, String.to_integer(video_id))} end in the above code, assign(socket…) returns a socket, resulting in a {:ok, socket} returning for authorized users or {:error, socket} which will deny joining the channel.
Sockets maintain state in a socket.assigns map, and the above adds the video id to the assigns map using the helper function assign(socket, :video_id, String.to_integer(video_id)).
Socket state is maintained for the duration of the connection.
The socket is transformed in a loop rather than a single pipeline.
The socket state changed in the above “assign()” call will be accessible later as events come into and out of the channel.
This small difference leads to enormous differences in efficiency between the channels API and the controllers API.
Channels receive events with an event name, such as new_message, and include a payload of arbitrary data.
Each channel module can receive events in three ways handle_in receives direct channel events handle_out intercepts broadcast events handle_info receives OTP messages handle_info is invoked whenever an Elixir message reaches the channel.
Session-based authentication makes sense for request/response–type applications, but for channels, token authentication works better because the connection is a long-duration connection.
With token authentication, each user gets a unique token.
Tokens allow for a secure authentication mechanism that doesn’t reply on any specific transport.
Once the user is already authenticated using the request/response traditional approach, the application can expose the token to the frontend, and this token can be used by the channel.
Ch.
11: OTP OTP is a way to think about concurrency and distribution, using patterns that allow developer to use concurrency to build state without language features that rely on mutability.
OTP is the name of the library encapsulating concurrent state and behavior, and the abstractions is called generic server, or GenServer.
Supervisors need to be able to restart processes in the right way, according to policies that are best for the application.
For example, suppose a database was upgraded, and the connection stopped.
The application would need to automatically kill and restart the connection pool.
This policy should not impact the code that uses the database.
If developer can replace a simple supervisor process with a supervisor tree, we can build much more robust fault-tolerance and recovery software.
In Phoenix, there is little code attempting to deal with every possible error exception.
Instead, we trust the error reporting to log the errors so developer can fix what’s broken, and in the meantime, supervisor tree can automatically restart services in a last good state.
OTP captures these clean abstractions in a coherent library, allowing developer to declare the supervision properties that most interest us.
This allows developer to build robust self-healing software without building complex self-healing software.
A supervision strategy is what policy is used when a process dies, for example, the :one_for_one policy will restart a child process when the child dies.
If all resources depend on a common service, developer could specify :one_for_all to kill and restart all child processes if any child dies.
Developer doesn’t need to add any code to fully supervise every process, only configure a policy to tell OTP how to handle each crash.
The default restart strategy is :permanent, the supervisor always restarts child processes with this strategy.
With :temporary, the child process is never restarted.
Under :transient, the child is restarted of if it terminates abnormally, with an exit reason other than :normal, :shutdown, or {:shutdown, term}.
:temporary is useful when a restart is unlikely to resolve a worker crash, or when restarting doesn’t make sense based on the flow of the application.
Child processes can have different restart strategies, supervisors have configurable supervision strategies.
:one_for_one if a child terminates, the supervisor restarts only that process :one_for_all if a child terminates, a supervisor terminates all remaining children, the restarts all children :rest_for_one if a child terminates, a supervisor terminates all children defined after the one that died, then restarts all terminated processes :simple_on_for_one Similar to :one_for_one but used when a supervisor needs to dynamically supervise processes.
For example, a web server would use it to supervise web requests, which may be 10, 10,000, or 100,000 processes.
A channel in Phoenix is an OTP process built to serve a single user in the context of a single conversation on a topic.
When fetching real-time (pp 212) data about a video that will be synched in real-time, a network or failure by the 3rd party can occur, but since we’re making multiple requests, we can ignore the failure and use the responses from the successful requests.
The restart strategy spawns multiple processes and shouldn’t restart the failures because its time sensitive, the errors can simply be moved past, we’ll accept any successful requests that return, so we’ll use the :temporary restart strategy.
OTP applications protect in both directions, that is, if the Phoenix server itself crashes, we bring down the children processes and restart them so no resources are leaked.
When a child process crashes, we bring down that process and restart it so we can attempt clean recovery.
When building a supervisor and children, the process of defining the restart strategy and supervision strategy lets developer focus on the main application logic, as any unknowable error handling is already taken care of.
Let the errors crash gracefully, and OTP will handle the rest.
Because GenServer’s are meant to be generic servers, they hold both computation and state.
However, in many cases, we want a process to store state only, or only execute a particular function.
An agent is a simple GenServer Chapter 12: Observer and Umbrellas Umbrella projects allow developer to develop and test multiple child applications in isolation side by side while providing conveniences for configuring and building them only once.
Instead of breaking the application into multiple applications in distinct source-code repositories, which adds too much overhead to the development workflow, you can use Umbrella projects.
The combination of Mix and OTP make this abstraction a good one for separating core concerns and dealing with complexity.
Observer is an Erlang tool for understanding all running processes in an application.
To start: iex -S mix > :observer.start The tool visualizes different aspects of the application, lets developer see a list of all running processes, how much memory, messages the system is using.
Developer can more easily see where bottlenecks occur by finding processes with large numbers of messages.
Each Umbrella has a parent directory that defines The shared configuration of the project The dependencies for that project the apps directory with child applications to create new Umbrella projects, use mix new –umbrella outside of your application, which stubs out a simpler Phoenix app, this project can then be moved inside the parent project.
Chapter 13: Testing Channels and OTP Stubs and mocks are both testing fixtures that replace real world implementations.
A stub replaces real-world libraries with simpler, predictable behavior.
With a stub, developer can bypass code that would be difficult to test.
Stubs should have nothing to say whether a test should pass or fail.
Stubs are a simple scaffold implementation standing in for a more complex real-world implementation.
A mock is similar, but replaces real-world behavior just as a stub does, but it allows developer to specify expectations and results, playing back those expectations at runtime.
A mock will fail a test if the test code doesn’t receive the expected function calls.
A mock is an implementation that records expected behavior at definition time and plays it back at runtime, expecting those results.
Within the Elixir community, avoid mocking whenever possible.
Most mocking libraries end up changing global behavior—for example, by replacing a function in the HTTP client library to return a particular result.
These function replacements are global, so a change in one place would change all code running at the same time.
That means tests written in this way can no longer run concurrently.
These strategies will snowball, requiring more and more mocking until the dependencies among components are completely hidden.
A better strategy is to identify code that’s difficult to test live, and to build a configurable, replaceable testing implementation rather than a dynamic mock.
The development and production code will use the simple :httpc client, and the testing code will use a stub that is called during the tests.
A major advantage of writing asynchronous tests in OTP is the tests run concurrently, meaning they can be run in parallel, so the entire suite of tests can finish more quickly than their synchronous counterparts.
References McCord, Chris.
Tate, Bruce.
Valim, José.
(2016).
Programming Phoenix.
The Pragmatic Programmers.
Print.
Police in Valencia Spain by Luther Bottrill “A central issue of contestation is elasticity versus discipline, elasticity for me and discipline for you, alchemy of banking and money funding for me, austerity and borrowing/payment for you.” Liquidity Changes Everything — Perry Mehrling Like 2009, the (coming/arriving) financial collapse of 2020 will reveal the asymmetry of power between the financial sector and the rest of the economy, and it’ll especially highlight how the financial sector is continually privatizing profits and socializing losses.
When you see terms in the media about the Fed “expanding its balance sheet” think: “The Fed is literally buying failed financial instruments to prevent banks and financial companies from going out of business”.
Currently, according to Section 14 of the Federal Reserve Act, the Fed is prevented from buying assets (stocks, index funds CDOCollateralized Debt Obligations, MBSMortgage Backed Securitiess) directly on the market.
Instead they can only buy government-backed assets, mostly bonds and MBSs by institutions like Freddie Mac that are government backed.
Instead, the Feds first line of defense is lowering interest rates, and then creating liquidity by buying long-term maturities.
With the interest rates at zero, the biggest lever at the Fed is effectively broken, and now they’ve got to find another lever.
Last Friday (6 March), Boston Fed President Eric Rosengren called on Congress to expand the Fed’s powers to buy and sell a broader range of assets.
This will require congressional approval, and during this period of crisis, I’m certain Shock Doctrine politics will win out, and these ammendments will pass.
I hope I’m wrong.
So what does this mean?
This means that the Fed can start buying non-government backed securities: potentially any failing public stocks, private CDOs and MBSs.
What this means is the Fed can buy the most dangerous, volitile, and toxic assets that nobody else is buying, the ones that are the first to fail in a bursting bubble.
This is a Fed that has institutionalized & encouraged systemic moral hazard— saying, in effect: If you (the finance sector) create risky assets and they fail, we’ll allow you to profit during the good times and we’ll save you by buying them back during the bad times.
Remember the Microsoft Zune mp3 player?
Probably not, because it failed horribly.
Now imagine Microsoft had put so much investment into its Zune, that when nobody bought it, and the product failed, the company would’ve gone bankrupt.
Now, if this were the financial sector, this is where the Fed becomes the Dealer of Last Resort, steps in and buys all the Zune mp3 players, saving Microsoft from going bankrupt.
This is exactly what the Fed is doing when it says it is “expanding its balance sheet”—its buying the failed assets the financial industry has created over the last 10 years, those very same assets the industry has made huge profits from; but now that the profits have stopped, the Fed bails them out by buying them when no one else will.
When the Fed goes to congress to ask for changes to Section 14, they will use the Shock Doctrine playbook: the banks will fail, retirement funds will tank, companies will go out of business, we’re in desperate times, so we need to take desparate measures.
These predictions are all true, and these outcomes will happen: but the solution they offer only addresses the symptoms, but not the root cause— the deregulation[1] of the financial sector.
Neoliberal deregulation of the financial sector over the last 40 years has encouraged banks to put money into risky bubbles that keep popping, retirement funds of regular people are directly tied into that system, even fueling it.
This is wrong.
I’m not generally opposed to these risky investments, but these investments must be separated from investment banks, and kept out of any fund designed for peoples retirements and long term savings.
These asset types need to be drastically limited to qualified investors and speculators only.
As it stands, bailouts will reward the most risky investors and speculators, while passive investors, retirees, and taxpayers will end up bailing out these risk takers.
Thus, for the finance sector, the Fed provides elasticity: fungible rules around banking, investing, taxation, and bailouts when things go bad.
For the rest of the economy, and individuals, we get discipline: massive losses, austerity and cuts to social programs and public infrastructure, moralizing our individual failures as people, capitalizing on the large-scale failures of small businesses[3], and continual indebtedness for the poor and middle classes.
This is an ideological conservatism combined with a blind faith in an economics that can never be wrong.
As Frank Wilhoit put it Conservatism consists of exactly one proposition, to wit: There must be in-groups whom the law protects but does not bind, alongside out-groups whom the law binds but does not protect (See The travesty of liberalism by Frank Wilhoit 2018).
Only the in-group is an autonomous, rogue financial sector, and the politial interest groups they fund.
The out-group is everyone else.
In this way the finance industry can reap the profits of risky financial instruments, but when the risk generates market failures, the Fed bails them out.
It’s all upside, and no downside.
This is the very definition of moral hazard.
The financial industry literally cannot lose because the Fed will always save them.
In effect, this is Socialism for the rich, rugged individualism for the poor — Martin Luther King, Jr.
(pp 346).
Lemon socialism is a pejorative term for a form of government intervention in which government subsidies go to weak or failing firms (lemons; see Lemon law), with the effective result that the government (and thus the taxpayer) absorbs part or all of the recipient’s losses.
The term derives from the conception that in socialism the government may nationalize a company’s profits while leaving the company to pay its own losses, while in lemon socialism the company is allowed to keep its profits but its losses are shifted to the taxpayer.
So the imbalance: Why does the Fed continually save the financial industry every 10 years, but not any other industry?
Why does the Fed create and spend 1.5T dollars to purchase worthless and arcane financial instruments, but never spend on public goods like housing, student education, public infrastructure[2]?
And now we get to the systemic asymetries of power.
Trump and those within his inner circle, as well as his political base believe they are entitled to the rights and protections of the law, and meanwhile cast blame and stigmatize those least able to defend themselves.
Their in-group will be the first to receive the benefit of any bailouts, and the negative consequences will be blamed upon, and most adversely affect the out-group.
As Adam Serwer puts it: the cruelty is the point: Only the president and his allies, his supporters, and their anointed are entitled to the rights and protections of the law, and if necessary, immunity from it.
The rest of us are entitled only to cruelty, by their whim.
This is how the powerful have ever kept the powerless divided and in their place, and enriched themselves in the process.
The Cruelty is the Point We, as a society are starting to understand that the financial sector is rotten to the core, and this rot is going to seep into public sentiment: “If they don’t play by the rules, why should I?”.
This has the effect or eroding the very conception of a nation operating under an equal rule of law, and will result in toxic resentment and fuel civil unrest.
Notes 1.
Specifically, the gutting of the Volcker Rule, the repeal of the affiliation restrictions of the Glass–Steagall Act, and the free-for-all stock buybacks in the financial sector since 2010: Financial stock buybacks since 2010.
Furthermore, The only ways to mitigate risk-loading is strict limitations on executive compensation, employee bonuses, and no mergers or acquisitions for at least 10 years.
These banks should be nationalized, its execs fired and all contracts voided.
New leadershp will be brought in as reasonably paid public servants.
2.
This is our biggest opportunity, while we have the most leverage, to heavily invest in public infrastructure and works programs.
The airline industry is already asking for bailouts to the tune of $50B.
This isn’t the time for bailouts, this is the time for imagination, to create a society that works for everyone.
This is the time to nationalize the airline industry.
Since 2010, the very same industry has been investing their money directly into stock buybacks, pumping up their own stock prices, and paying huge bonuses to their execs and CEOs.
Since 2010 the major airlines have invested $45B in buybacks, and now asks for $50B in bailouts.
Airline stock buybacks since 2010.
This means that they spent $45B of their own money betting that their stocks would go up in value, paying out any profits to their execs and CEOs as their valuations rose, and when the market burst, they asked for their money back and an additional $5B on top.
To put this simply, this is a massive con-job and outright theft.
Nationalizing the airline industry is a win-win: it will create good paying american jobs, make flying more affordable, mitigate cost cutting at the expense of flight safety (see ‘Boeing 737 Max’), and mitigate market risk.
3.
Update: March 25th After reviewing early drafts of the Take Responsibility for Workers and Families Act, as proposed, Wall Street, will suddenly have $4-6T of government guaranteed low cost credit to go shopping for businesses in trouble.
We would see the mother of all roll-ups, as small and medium sized businesses desperately try to get whatever they can from deep-pocketed private equity investors and monopolists.
If that happens, the America we know, of heterogeneous small businesses would look very different after this pandemic is over—a homogeneous space optimized for massive corporations and destroying local autonomy and diversity.
Thanks Thanks to [@b_apothecary](https://twitter.com/b_apothecary), Coby Durling, Jason C., and Garrick Y.
for reviewing early drafts of this essay and providing feedback.
This talk is a code walkthrough, implementing a date picker to showcase the power of ember-changeset and contextual components.
Given at the Ember Boston Community meetup.
Ember-changeset is an addon that provides an abstraction over Ember models such that only valid data will ever be set in a model.
Contextual components are a set of conventions that allow a developer to build a component that can be customized by its consuming application.
This means they can both yield values to its consumer, and allows a consumer to customize the display of the component.
ember-i18n-changeset-validations is an Ember addon providing internationalized validation messages to ember-changeset-validations.
This addon adds the ability to translate ember-changeset-validation messages using the ember-i18n addon.
Available on NPM at ember-i18n-changeset-validations and on github at ember-i18n-changeset-validations.
In “Understanding Media[1],” McLuhan describes the shift in western society from an agrarian economy to an industrial economy as a template for the next shift from an industrial economy to an information economy.
“Another characteristic reversal after passing a road break boundary is that the country ceases to be the center of all work, and the city ceases to be the center of leisure.
In fact, improved roads and transport have reversed the ancient pattern and made cities the centers of work and the country the place of leisure and of recreation.” Understanding Media—Marshall McLuhan He goes on to describe how farmers lived and worked on the land in the countryside.
The rise of industrialization lead to a shift in the focus of labor activities to the factory and centers of production around the factory — the city or urban area.
The invention of the train helped to leverage the growth of the cities by facilitating transportation between centers of production for both resources and labor.
Similarly, the rise of the automobile and interstate highway systems directly resulted in the development of suburban areas.
McLuhan utilizes the agrarian-to-industrial economic shift as a template by which we will see the next shift; from an industrial economy to an information economy.
The (in his words) “electronic economy” or “information economy” (in modern words) will be a new economic/societal shift in which the information infrastructure (fiber optics, cheap hardware, ubiquitous internet access) will afford another shift from the centers of industrial production back to the countryside — ie: working remotely from your country home.
McLuhan in the dawn of the color-TV era, was widely seen as a visionary capable of seeing deep into societal shifts before they happened, and providing guidance as they unfolded.
Perhaps his works should be revisited, as they continue to provide useful insight.
References 1.
McLuhan, Marshall.
Understanding Media: The Extensions of Man .
Cambridge: MIT, Print.
1994.
IT’S TIME TO BUILD https://t.co/lY1FOSvnvj
ok its probs best i got to bed or write an essay
i dont know https://t.co/BOaJ5Lp9pb
The epic "Don Quijote" was written between 1606-1615. The protagonist strived to relive the chivalric romances of the High Medieval period (~400 years before). If that were written today, the author would be writing about the period in which author Miguel de Cervantes lived 🤔
Black Sabbath was a band of 5 sephardic jews who'd play music on Saturdays.
fuck BBC iPlayer, i'm 'Merican and i'm entitled to BBC content because silly english folk pay the BBC tax, and i literally *can't even* pay the TV tax to watch "The Fall" by Jonathan Glazer. How else can i watch it, dear lazyweb?
I'm over "ship early, ship often". Ships are claustrophobic and traditionally carry disease. Ship when necessary.
Free idea: an N95 mask except it has a small hole to fit either a cigarette or a straw for cocktails, spirits, wine &amp; beer.
It's dangerous to go alone! Take this tonight and call me in the morning. https://t.co/Zb2S2dVlSg
I don't post selfies on Twitter dot com for privacy reasons and facial identification reasons, but the state of the world makes this actually typical of the times https://t.co/yQuWo1equT
oh please 🙏 thoughts and prayers for once be real things instead of arcane magical incantations make this spell cast by the ex-finance grampa wizard come true https://t.co/9cIGYrHFoC
very relatable https://t.co/2Jj4RpfcnC
Look at this satellite photo of the earth, nature is healing itself, we are the virus https://t.co/q05osCnkYJ
Solid prediction, couldn't have written it better myself. https://t.co/Z1d87gLLcz
My schedule for November 3rd just cleared up 😭 https://t.co/rEqR10FZfn
Prediction: Now that Bernie has dropped out, Trump will win 2020.
we spend millions and millions of dollars to literally reinvent the wheel, and yet i'm betting a few dudes with a Toyota Hilux and an AK-47 will win every time. https://t.co/v8Foh518gv
this is my final form. https://t.co/tDlaEZGxqt
🎵 my jam 🎵 esp at 7:35 when that ASMR kick in https://t.co/EkjdyBJpdB
this is amazing. i lolled. https://t.co/zGEdUhfu6Q
1-word reason why Docker (the company) will fail: commodification. https://t.co/h6gO3K9OLW
An app where you put a digital suppository in your butt and the app releases the gas inside when you push a 'fart' button. It's called Instafart. Don't retweet this the app is geofenced to only work inside Facebook offices https://t.co/VDRvp6gObW
Anyone thinking of going to Sleep No More, i'd like to go again and thinking of getting a group together.
Now broadcasting video! #qik http://qik.ly/phAj
Favorite euphemism for sex: "Punchin her guts". Its just so visceral and yet still classy.
HAHA! RT @daviday: in case you're wondering: http://islordhoboopen.com/
mmm - the smell of my new work laptop currently being unwrapped by @tatsuikeda before he preps it.
toro y moi at Middle East Downstairs tomorrow (wednesday)?
I had a nightmare recently where i woke up back in high school and my life until now was just a dream. It was horrible.
New bike fenders keep my back nice and dry, but instead direct water right onto the back of my pant legs.
Its a sad sad day, I lost a few pairs of GStar and Triumvir denim pants today due hard cycle riding. They're beyond repair :(
Mastodon tonight at House of Blues.... i was there last night... thinking of trying to scope the sludge/metalcore scene babez.
After watching "Troll 2" I've decided not to be friends with vegitarians anymore cause they're Goblins.
If u can read this, come drink at mah hause
Now broadcasting video! #qik http://qik.ly/mqzI
If you have the chance, todays going to be a great day to move offices. I know i will be.
got hit by a truck on the ride home tonight, my fuckin hand is fuxed.
Heading to south boston for a launch party/beard trim
Hiram Walker Triple-sec, Captains rum, lemon. Yummy.
Making cocktails, stop by
I think the addition of a foil balloon purse to my accessorizing will diversify my personal brand as both 'fashionable' and 'vulnerable'.
Weathers making me feel like eating a hot bowl of ramen with gyoza tonight...
Excellent Its Always Sunny tonight, bravo. Now i'm going to enjoy a milk-steak for supper #sunnyfx
WTF? Bye-Bye Buell? NOO! - http://www.buell.com/en_us/
UK Driver Soaks Kids at Bus Stop - so mean i love it lol - http://digs.by/XvA
Who's going with me to &lt;3THROB tonight? - http://digs.by/XGW
Seriously WTF http://digs.by/XGL
The waterproof over-pants i wore to work on my bike in the rain weren't waterproof.
Nasty race crash, but could've gone much worse, indecision is a huge enemy in racing: http://digs.by/Ws1
Fucking AWESOME video - Toyota Starlet Grand Cup 1994 - http://digs.by/WoG
Overheard at the office: "WHY WONT YOU HUG ME!"
Yup, i loved "(500) Days of Summer". great film, go watch it.
Watching "(500) Days of Summer" and so far i love it. http://digs.by/UvK
(Video) Qik - wax tailor at great scott - boston http://qik.ly/jX8d
I can taste the difference of new Starbucks instant coffee and its burnt. If you can't taste it, you're not trying @starbucks #starbucksVIA
its a boston movie, come with me and @anthonyperryjr
Anyone interested in seeing Surrogates tonight? - http://digs.by/QCq
Whoa, KMFDM at HoB Saturday night! - http://digs.by/P6W
Video of my office from my desk http://twitvid.com/14BE1
Natalie Portman's Shaved Head is my new favorite band - http://digs.by/OO9
HALO, its like ordering an italian sausage with onions, peppers and dijon mustard and getting an oscar myer weiner with frenches and hei ...
suuuper psyched to see new season of Its Always in Philidelphia tonight. #sunnyfx
is late to discovering Explosions in the Sky
Yet another shameful episode of US history, Trump WH ushers Erdoğan into Syria, which will inevitably oust the Kurds from their home, who've done more fighting against ISIS than anyone else. https://t.co/Mzc58wKnSM
Reworded: "GE cuts pay for 20,000 employees, forcing early retirement of its aging workforce, and eliminating or replacing them with a younger, cheaper workforce." https://t.co/ifsOCQtSg2
this 30-year vision from SoftBank is so ... amazing? Who are they paying to create these slide decks? https://t.co/UYdSJLei7V https://t.co/J2dFxkMbM9
#SundayFunday vital-cause🎗A Koa.js web server to handle IFTTT webhooks and output markdown files. Commits and pushes them to a GitHub repo. Great for folks using static site generators! https://t.co/BFs5gfERGa
#SundayFunday 🍗 random-emoji 😃a random emoji generator function with zero dependencies https://t.co/IhyqsCb5UK
In late-capitalism, babies are cheap when you can't afford them, expensive when you can't have them.
Thanks Twitter, I'm glad you think I enjoy these "For you" posts. I don't enjoy shootings https://t.co/qoU4CvgmhX
I'm continually confounded by how ignorant of history political leaders are. Violent crackdowns on protest always beget more protest. If they criminalize protest, don't they see they just undermine their very mandate to represent their own population? https://t.co/wH9RW2SDt5
I (with friends) launched a new website: http://www.cambridgebmg.com/
Who wants to go with me to NYC with bikes friday after work, exploring Manhattan/Brooklyn friday night into saturday, come back sat. night.
On dogs: Friend in best times, listener in difficult times, protector in dangerous times, delicious meal in worst times.
So excited, Starlite Lounge is opening in Inman Square, $3 High Life! - http://digs.by/Gn3
Redline Time Attack pre-grid show rd.6 with Truck Time Attack feature - http://digs.by/Ggw
Sweet, I'm going to Colorado tonight.
Last night was the first time I rode my motorcycle in 3 months, and i got pulled over less than a mile from my house. No tickets though.
Moved up to 4th place nationally overall in the 2009 Redline Time Attack Championship points race: http://tr.im/xPpY
Slept in, could've sworn it was saturday morning :(
I reached my goal of getting into the low 1:13's this past weekend at Redline Time Attack - http://digs.by/B5i
fffuuuu its september
My buddies are live-streaming their drive across the USA - http://digs.by/6YC
Great way to start the week is with a new pair of denim.
Learning how to rap on youtube (i'm starting a hip-hop crew), these videos are very helpul.
I'm tied in 5th place overall in national championship points in the Redline Time Attack M-AWD with 52 points: http://digs.by/2Qv
watching the Aston Martin Vantage review at the end of ep 13x7 of Top Gear brought tears to my eyes.
OMG hilarious!! RT @timheidecker: Audio: I get these telemarketing calls every other day. http://tumblr.com/xqj2q86ia
Sudden drinking at my place, 20 houghton, somerville, ma.
ANIMEANIMUANIMEANIMUANIMEANIMUANIMEANIMU1111111
Holy shit, the Evangelion 1.0 movie is playing at Brattle theater tonight, are you KIDDING ME?! YES! I LOVE ANIME!
Love listening to people talking out my bedroom window about how their dogs both have diarrhea.
((Enkei RC-T4 w/ 15 spokes) x 4 ) + ((Volk CE28N w/10 spokes) x 4) = 100 spokes + lots of brake dust = 3 hours to clean on saturday.
Nutella from my bagel fell onto my orange slices, what a glorious mistake that was.
Astoundingly awesome agency website: http://BooneOakley.com
had drinks at Drink last night with the Shellenbergers. New favorite drink, the Caipirinha.
Boston now as an online stolen bicycle registery, follow them @stolenbikesbos or at http://stolenbikesboston.com
Harvared sqr fails at late night pizza places
Anyone up for going to see Public Enemies or The Hurt Locker tonight?
This is the first summer in a long time there are alot of films i'd like to see. The Hurt Locker, Public Enemies, District 9, Bruno, etc
Engine came out of the car today, Talked to Tomei and they're going to help work out plans for the next engine build.
Sucks that the engine needs to be torn down, but i got 2nd and reached a personal goal of getting into the teens at NHMS.
The line out of NHMS is 3 wide out onto the main road
Busy night, bourdon at matts in back basy, ride to the cherry tree in newtonville for beer, ride to back bay again to somewhere else
The valet in matts building hit something. Bent a tie rod and dented the fender. He killed the valet guy
Drum n bass at phoenix landing, concord dawn to be precise
This rainy weather continues into July. Fuck the rain, i'm so sick of it. I wanna ride bikes!
Roomate is foodsick via Legal Seafoods. I've gotten sick there 2/5 times there. FUCK LEGAL SEAFOODS.
Michael Jackson hoped to be recycled into plastic bags so he could still be white and dangerous to children
Madoff got 150 year prison sentence! i'm suddenly rethinking the way i'm investing my clients funds...
You're leaving Oxfam?
Its Other Side Cafe OClock
How many times does 50 go into 12? (wait for it...) Ask Michael Jackson. (*ZING*)
Goodnight, my sweet prince.
Transformers 2 is a 2½ hour long audio/visual orgasm. If you like explosions, mecha, hot babes and an epic action-hero plotline, go see it.
Cars getting vinyled at Ardon Vinyl in Allston, I'm gonna grab a beer while they work
Me and the race car will be at Foundation Lounge at 1030, my friend is DJing
Have a passport and willing to travel, expenses paid to Montreal? Could use some help this Sunday 7th-Wednesday 10th for a race in Canada.
Between Chris Rados Scion TC front wing and the silly camera on his hat, i think he'll take home the trophies for most stupid @RedlineTA
Motorcycles are a necessity early in the zombie war, but a long term solution is horses.
I love waiting at the RMV, I do this twice a year it seems
2 Tbsp of EPIC LOL: http://bit.ly/WLxJ7
Going to see Terminator 4 tonight for beer night.
Holy crap, tons of people are trapped in the MBTA due to complete system #FAIL. #mbta
Sales tax levied on alcohol in MA, do i hear a trip-to-NH buying party coming up?
https://t.co/0Nz9WnSrUA
No https://t.co/ShKUt2RwMt
The Pragmatic Programmer has been republished with a 20th anniversary edition https://t.co/eaeF260MFG ISBN:978-0-1359-5705-9
New favorite quick & easy superfood - Quaker Instant Oatmeal mixed with Activia Strawberry Yogurt. Yum.
Tried to watch Six-String Samurai last night. It was really boring and the characters sucked. I dont see what all the fuss is about.
Mega Shark vs Giant Octopus starring "Deborah" Gibson (think Debbie): http://tr.im/ltpn
When i die, i want my grave stone to say "He did it for the lulz"
#scifri how do you determine which parts need replacing, visual inspection or scheduled part end of life dating?
Totally, but yours pushed him over the edge :)
Yesterday was all vomiting and watching TV all day. After we went to Daedelus, i dont remember anything. Never again. Never again.
I don't remember much, burr ouch tomorrow will hurt
I drank at saedleius but don't forgetbwhat,,,
We lost 1 as approavching daedealus, dan succubed to vomit spasms, we continue
Tequila and grape crush at Border cafe, onto casablance
Kamikaze and wuwu's (vodka cran peach schnappos) at whitnes, onto casablanca
Whitneys Cafe!
Lemon drops and jack dans at Charlies onto....
Tequila and absynth at upstairs, onto Charlies Kitchen!
Kamikaze and b52 at Noir, onto Upstairs on the Square
Bar crawl tonight, its the Harvard Square Gauntlet 2009, if you want in call me or be at Noir at 10pm!
N.Y. Times to File Notice It Will Close Boston Globe - http://tr.im/ksyU
Proof that I'm awesome, the boss said so - RT @bzipkin "Super pleased with the great work coming out of @rdvo - go team!"
haha! RT @tspunk i try to hold in my coughs in public because i know everybody within hearing distance is staring at me with hateful eyes...
BSC Boston Sports Club gyms are evil, they wanted $50 cancellation fee and $150 for another fee! @02144now - More info: http://tr.im/krMv
Looking at old photos today from an auto-x in August of 2003, i realized one of the guys i was hanging out with was Chris Forsberg
An impending sense that Cairo will start having garbage problems - http://tr.im/kcuI
The more i use LINQ the more i realize why "its the new hotness" - http://tr.im/k222
Swine flu update: Markets in NYC shut down as millions attempt to flee the city due to fear of contamination.
Swine flu update: United States has declared a state of martial law. National state of quarentine.
Swine Flu update: Europe deflects all ships and air transport from North America, US Air flight trying to land in London shot down.
Swine Flu update: Obama Acts to Ease Flu Fears, firebombing of El Paso, Texas - http://tr.im/jSGn
Swine Flu update: National Reserve troops mobalized to the Texas border town of El Paso where Mexican "infected" swarm, shots fired.
Swine Flu Update: 17 Mexican cities have been quarentined, one of which has now been firebombed. 4 more are noncommunicado.
Swine flu update: Mexican DoPH is burning the bodies of both pig and human victims within hours of death due to "Post-death reanimation"
Swine flu update: Mexican Department of Public Health reports that human victims had bite marks from infected pigs.
Swine flu update: First human infections occurred after children were bitten by pigs that had died from the illness. "The dead pig bit me!"
I saw 6 Ferrari's, 4 Aston Martin DB9's a Bentley Continental GT driving in Boston today. This recession is really bad.
Are you an idiot? Work in politics! Welcome to 4th grade geology class: http://tr.im/jwGG
My contribution to the rageguy aka FFFUUUU meme: http://knowyourmeme.com/photos/1462 (Only true geeks will get these obscure references)
Freddie Mac CFO became An Hero. I hope he and Kutner are in heaven together.
Where can i buy Chocolate Mayonaise?
50¢ Iced Coffee (small) at Dunkin Donuts and free ice cream cone at Ben & Jerry's.
Please prepare for epic lulz before viewing - RT @g33 the state of flash intros in 2009 www.iccm-1.org
My memory for internet conversations is as long as the word "long". That is to say, shorter than the word "short" is longer than "long".
On todays race: ~30,000 people forgot cars exist and decide to run using their legs. A few smart ones always win using wheeled-chairs.
Test drove a Hyundai Genesis Coupe today. I put it sideways in a roundabout in Norwood, sales guy stopped chatting after that. I like it.
A coworker here at @rdvo made some strawberry ice cream this week. Its very yummy.
The Pirate Bay defendants found guilty of "assisting in making copyright content available" - a blow to filesharing - http://tr.im/j2xo
"You know what time it is, give us the chicken!" http://tr.im/iYit
Truck broke down friday, screw in my motorcycle tire saturday, popped my bicycle tire today. Should I be walking?
Who else is Cambridge tweetup? http://twurl.nl/z1rzma
impulse domain purchase today: http://evo-m.net/
Holy craps! @timheidecker and Eric on @jimmyfallon show tonight!
Thinking about heading to @buildguild in place of @refreshboston tonight. Anyone else going?
Microsoft PowerPoint files are vulnerable to a major security problem, thx @gcluley, beware of random ppt files. http://tr.im/iNGl
My extreme sport idea, in full detail - http://tr.im/iJYp
New extreme sport: After your skydive, your chute deploys, but then you detach from the chute and bungee jump off the chute!
My truck failed tonight. She wouldn't turn over. i think the started died. Battery was fine. Had her towed to Jack Madden Ford in Norwood :(
Kotobukiya has been forced out of the Porter Exchange by Lesley Univ, they'll be moving to Medford :( - http://tr.im/iw0u
Listening to the DJ Krush - "Kakusei" album and it reminded me of High School. Then I realized it came out 10 years ago. I'm old.
My new web service: the PAPAL system- Proxy Augmented Prayer Automation Lecturer- pronounced like "PayPal"- automates praying for busy ppl
Scientist who predicted todays earthquake in Italy was arrested for spreading fear a few weeks ago, proven right - http://tr.im/il0Y
Got my motorcycle out of hibernation mode today! YAY
All this talk about "pumping" in the money and "stimulating" the economy is makin me kinda HOT!
After 188 years of printed paper, the Guardian switches from print to Twitter "everything can be said in 140 characters"- http://tr.im/i4gV
Drinking Red Bull+Wiskey (note the 'e'), what a mistake that was. Tastes like a dog vomiting in my mouth, but i like the taste of the kibble
Strange, these people i didn't know followed me stopped following me after my previous tweet: @capst5, @daveraffaele, @peteinoz
Plans to be watching shares of GM fall today
Anyone having trouble in Visual Studio debugging ASP.NET (F5) not connecting to the localhost server- http://tr.im/hTyG http://tr.im/hTzh
Whos hotter, singer Katy Perry or actress Zooey Deschanel? Trick question, they look the same - http://tr.im/hSQO
Epic Lulz - Video - The Twouble with Twitters - http://tr.im/hQ5u
The toolbar under the video in YouTube has been updated. Its cleaner and a bit less ugly.
I'm going to make a twitter mashup that lets folks order pizza to #orderpizza, ie #orderpizza (sausage, pepperoni, extra chz) : Dominos
12 Characteristics of The "General Will" of the web - http://tr.im/hMXk
Awesome funk - http://tr.im/hMSS
Groovin to some Makoto
Started watching episodes ofdocumentary "The Long Way Round" with Ewan McGregor & Charley Boorman about their worldwide motorcycle trip.
Genius Site of the Day: Tell people how lame their scene is, have them pay to paint a portrait of them. win. - http://yourscenesucks.com/
Just added myself to the http://wefollow.com twitter directory under: #motorsports #webdeveloper #boston
watching episodes of @jimmyfallon on Hulu, i'm actually LOLTIE laughing out loud, tears in eyes.
Late-nite, SoCo, PHP, Buzzn, happy.
Whoa, Conan O'Brien went to LA?
Props to AIG for giving out bonuses with taxpayer money, you guys are pulling the heist of the century, out in full view, I'm in awe.
IPhone app idea: iPregnancy, girl pees on the phone, if the screen turn black, she's preggers
I'm Liking the new facebook
this is what a trillion dollars looks like - http://www.pagetutor.com/trillion/index.html
what song is this?let x = ['hey', 'ho'];console.log(['hip','hop'].concat(Array(...x),x,x))
“In the long run every program becomes rococo— then rubble.” Alan Perlis
Children of Men timeline https://t.co/zANSITvmyi
signing off for the evening https://t.co/VNUzhoB3h9
a subtle yet beautiful film in the postmodern aesthetic, "Adrift in Tokyo" (Japanese: 転々) possibly the best in the style i've seen yet https://t.co/q0p1LBYlFV
Beautiful evening read on the porch, Boulevardier cocktail and bread courtesy of @qtychr https://t.co/aGe9GsY2vD
This is one of my best friends, this_is_fine.gif https://t.co/rfCw6cDLBI
Parenting, like everything else follows the Pareto Principal, case in point: putting your kids shirt on (head through hole, arms into sleeves seems like 80%) but the 20% that takes longest is putting the hands through the cuffs.
You don't watch TV, your TV likely watches you https://t.co/HITK0o4Ghy
Neato - http://www.health.com/health/ runs on WordPress.
Very cool movie - JCVD
This lightness outside is awetastic.
Amazing website - http://soundcloud.com/
Cheeseburger pizza time!
Just went into Ford and BoA stocks. You can't argue with these prices.
Stock market like an object in orbit, it continuously falls.
SIKE! the app story was a joke to elicit responses. 4 twitter DMs, 3 IMs and an email so far.
my first Android app has totaled 18k in sales in its first week. yay.
RIP @vbattaglia we'll miss you from RDVO.
RT@cyikeda Apple to expunge all Emotion Icon apps from the app store, reason unknown...maybe they're working on their own? http://tr.im/gQqv
+1 for #mtfail today, Media Temple, every time you're down, god removes money from my wallet.
Anyone going to the JavaScript meetup at Microsoft tonight?
My girlfriend says i look like ねむいねむいねずみ.
My buddies Ramana and Adam started a blog detailing their campaign of a $500 Peugeot in the 2009 LeMons race - http://is.gd/kuKl
Heading to Atomic Bean Cafe to try it out
Saab filed for bankruptcy, I'll put my money on Saturn filing before the end of th month.
RT Cop Who Shoved Cyclist Fired by NYPD, Faces 4 Year Sentence http://it2zi.th8.us
Roberts sick AE86 was stolen: http://fatlace.com/hellaflush/?p=239
Japanese people love tissues.They got them in every room, take handfulls at resturants, in Japan they have jobs where people hand them out.
Someone told me they wouldn't eat "boison berry pie"(sic) because they worried that it was "poison berry pie" with the p flipped over to b.
Anyone know python?
Anyone who clicked "Don't Click", clicked.
Astounding discovery! While Im formulating twitter tweets, the words chosen become increasingly shorter in length, I may be going mad, am I?
Yay, a version 3 of visual-assault.org is online: http://visual-assault.org
Holy crap, ive been doing some crazy work tonight.
Its sunday night, that's means going to a chill bar and reading. Bar is Bukowski in Inman. Book is The Long Tail.
gave 4 stars to The Mediterranean and the Mediterranean World in t... by Fernand Braudel - http://goodreads.com/review/show/45569246
Anyone a current or former MT user who has switched hosts and has never looked back, who did you switch too? #mediatemple
MediaTemple (gs) Cluster 2 is EPIC FAIL today :(
lulz #superfail: +1 to myself for not even knowing which teams were playing at the superbowl this year.
Why I love Cambrige: I'm in a bar on SuperBowl sunday, and its on TV, but the audio is off and I can read a book.
Overheard in the Harvard CoOp "get me every book by Donald Trump, and The 48 Rules of Success". He wore a big gold chain and Timbalandz.
iBeg: An iPhone app for homeless people, simply shake the iPhone like a cup, and it says a randomly picked beg such as "Spare any change?"
True story: My girlfriend told me she loved me the #1 most. When i asked who was #2, she said Santa Claus.
The new job search panel and results display page I worked on went live on Monsters website - http://www.monster.com/
4 years after PlayStation3 came out, looks like i'll have 2 reasons to buy it by 2010. 1) Gran Turismo 5, 2) FF XIII - http://is.gd/hxCk
Thievery Corporation Feb 24th at the new House of Blues on Lansdowne Street, whos with me? - http://is.gd/hpZq
I'm liking the 53¢ refills (any size!) for coffee at Starbucks, wish i had know about this earlier.
Final battle scene in Miike's "Dead or Alive" movie, best climactic battle scene in a detective vs gangster movie ever - http://is.gd/gIZC
Wow green st and river gods packed, let's try whitneys cafe in harvard sqr
Stopping by Green St. on my way to River Gods.
I think i'll be going to River Gods &/OR Green Street Grill tonight to celebrate the festivities.
Obama made it official, atheists exist in American discourse!
At Joshua Tree in Davis Sq getting my inaugeration on with RDVO
Heading to Green Street Grill in central for some drinks
Enjoying second-dinner of Kimchee & Miso Soup before watching Slumdog Millionaire
Calling the emergency landing of Flight 1549 a miracle only reduces the credit due to the pilot who used his expertise to save it.
Going for beers at Sunset Grille in Allston, Ma at 9pm
Sal F. writes the best reviews on Yelp, epic lols - http://is.gd/fU4S
still pissed that the #1 at the JFK Burger King - Whopper value meal was $8.07. No cheese even! No "Go big" or anything.
Why do Japanese blog sites like ameblo.jp block access to images from non-origin sites? RSS readers can't load images from those blogs.
Fuck Microsoft Vista, every fucking time i do a windows update, my soundcard drivers get fucked.
Back in boston
Back in seattle after a day in the cascades. Heading home tomorrow. Haven't slept in 48hrs... long story.
Back in seattle, 1 day left of fun
Its 5am, going to try to get back to seattle before traffic
We're at the white eagle, a former saloon/brothel now bar/hotel, 2 floors, upstairs is the hotel, live music downstairs beckons...
test 3: `consolelog('asdf', "5678");`
Overheard:a: "I've never successfully gone down a firemans pole"b: "How many times have you tried?"a: "Maybe 40?"
Your friendly reminder, if you were impacted by the @equifax data breach and filed a settlement, you should check the status today: https://t.co/cqBHiB6kRfMine: Your amended claim has been received by the Settlement Administrator ⏳
I see a growing trend of bullshit imagineering going on in tech circles around privacy. https://t.co/4scWcY8jB4 https://t.co/XXuGclBnUl
Its that time of year again, #Hacktoberfest 2019! https://t.co/aXbHEdW2M2
The main difficulty now is figuring out how we'll return to seattle when the I-5 freeway is flooded and Cascades pass is avalanched in...
The crazy part today was driving on closed mountain roads that were either partially landslid'ed down hill or submerged.
The main highway (I-5) was closed, and the route we managed today had multiple flooded and land-slide closures. We took a crazy route here.
Oysters at Steelhead, if you know me, I think they're pointless sauce vehcles, but these are the best I've had
Heading out to Seattle until January 11th, will not be available except for mobile phone.
I'm working with the Internet Engineering Task Force to create a new .LOL top-level domain. Send your requests for .lol domains to me.
Yeah, now facebook has more bacon! http://tinyurl.com/94zxlc
Yeah! Today the day is longer than yesterday!
Anyone else think the song "Santas Claws Are Coming To Town" is about a tin-horned stalker who is coming to your town to kill everyone?
loving how when roads are worst and cars have least control, people walk in the street the most
If anyone is wondering what the blinking blue strobe light in the Davis Sq intersection means, its Snow Emergency warning.
Bush OKs Automotive Bailout effectively turning the auto industry into a Regulated Market - http://is.gd/cwkt
"I ♥ BUBBLE" december Option magazine article about the amazing cars from Japanese bubble economy - Supra, GT-R, Soarer, RX-7, GTO, EVO, NSX
Relaxing back in Boston. Had an awesome time at the PRI Show, made some excellent contacts in motorsports.
Tristans a dork: http://pastebin.com/m4c469d64
... this required catlike reflexes and copious curses directed at said driver. May his ice cream melt quickly and his burgers come cheesless
On the bike into work today, a pickup truck tried to pass but didn't have enough room, putting me between a rock (the curb) and a hard place
MediaTemple database queries on their (gs) service are horribly slow. I have multiple sites on there, and they all blow.
Saw the film "Mongol" last night, superb film, i highly suggest checking it out.
my new bindings are on (Burton Cartel), my setup slightly modified (+1 for toeforce position), everything packed for tomorrow.
Video from todays fun at the Rally-X: http://tinyurl.com/63qtl2
Corvette zr1 is astounding, id buy this over the skyline gtr #neas08
Mercedes-benz c63 Amg is my new favorite sport sedan #neas08
Pontiac solstice pedal position makes heel toe impossible. Interior is made of faierie farts - new england auto show #neas08
Busy weekend, rally-x on saturday, snowboarding sunday and new england auto show in between.
Conducting UX tests at work today, one of the subjects showed up 100% stoned.
I should write a facebook app that automatically posts random birthday wishes to friends walls on their birthdays. Never forget a birthday!
lol, pownce pwnz3d.
Fun at work: we're building a multi-touch sensitive display/input device.
Matt wins the award for all time favorite conversationalist
I, for one, welcome our new failed Morgate-Backed Security overlords.
I call DIBS on the Apple stock once nobody wants it!
LOL Republicans: They're all for govmt deregulation, but when the system fails, they're the first to ask the govmt for money. Let em burn.
needs more delicious cake
Just saw Wall-E. Sweet flick. It would've been more awesome if there were more bloody explosions in it.
watching "John Rambo", loving the bloody explosions. More movies need to have bloody explosions.
hey! @youlovenickz you're late to the party, you gotta improve your interwebs skillz.
Score! Client taking us to red bones in davis square!
RIP Powerhouse Amuse founder and president, Hideki Tanabe, passed away on September 20th.
News of the day: My car started up and ran.
Managed to turn a 2:30 round-trip trip to NH into a 5-hour traffic nightmare.
its 7:25 and its dark outside already, i drank 2 hot coffees today. It's now Fall. I've accepted this.
"Live wit my momz, but i ride on 20s"
Super GT: Congrats to YelloHat GT-R 1st in GT500 and WedsSport IS350 for 1st in GT300.
On the FRINGE teaser: thats how my stomach feels after i eat at McDonalds.
its raining calmly.
... also of excitement at Super GT #7 is the debut race for the "Hatsune Miku Studie GLAD" BMW Z4
Super GT round #7 at Twin Ring Motegi starts in a few hours. The Cusco Dunlop Impreza is expected to do very well, with 1st place in sight.
Saw my first gtr in harvard square!
If you don't like the new facebook, tell me why. Specifics please. I'm actually interested (seriously, as a web developer).
Hot coffee day again today :(
Sick of seeing photos of Sarah Palin holding a gun.
heading to IxDA / jQuery meeting
Slow day today...
Mmm. chipotle
Anyone else going to the jQuery meeting tonight with IxDA?
More on the LHC Launch tomorrow: I, for one, welcome our new black-hole overlords.
Gamer friends: Is Spore indeed revolutionary?
On the LHC tomorrow: I'm sure a few people will be comparing CERN to Half-Life Black Mesa facility. Who gets to be Gordon Freeman?
1 week later: Chrome vs Firefox: Chrome is faster and feels "lighter", i'm using it as a primary browser and FF for dev work.
LHC switches on tomorrow. I'm sure we'll see some good results and someone will learn something, but wont make a difference for 50 years.
Intranet platform protip: Use Jive Clearspace.
working on an online storefront for a race shop.
saw a new Lexus IS-F on Storrow drive today, that is a beautiful and powerful car. &lt;golf clap&gt;
The Nissan GT-R asks drivers if they want to remove the speed govenor upon arrival at race circuits. Cool, but it also voids the warrenty.
got my SweetCRON powerd site up: http://life.visual-assault.org/
hate microsofts website. Crappy URLs, too much info, every product looks the same, millions of products and product versions.
wow, got an email from my 5th grade teacher, awesome!
Hooray for a relaxing weekend.
We found a tiny lizard in the office today, the only way i imagine he got in was via the new office plants we got last week. Theyre tropical
I passed my motorcycle test! This time was much easier.
Had an amazing long weekend. Made it through most of it with all my skin and fairings.
Long weekend, awesome.
Going flying in a Cessna this sunday.
Its Happening: http://wickedbigmeet.com/
With the current state of the global economy and more stringent fuel regulations, Toyota puts the kabosh on the FT-HS Supra and GS-F. FAIL.
Fail
going for my motorcycle license test now.
its a slow day on twitter
An essay on how fascism abuses an false nostalgia for an idealized mythical "Golden Age" to shape our perspectives on family, property and country. An excerpt from an upcoming book https://t.co/bKES5klNJj
New essay up: https://t.co/bKES5klNJj
4/20 NEVAR FORGET RIP ⚰️ SMOKE DRUGS 4 LYFE https://t.co/E3qZM0sold
What's on your list?Short:☞ Consumer credit☞ Nation states☞ HegelHold:☞ Bitcoin☞ Municipalities☞ Deleuze &amp; GuattariLong:☞ Reputation &amp; Promises☞ Democratic confederalism☞ Debord https://t.co/dVerREddQK
Your cyberpunk name is:First 3 digits of your SSN + middle 2 digits + last 4
Dirt Ice Cream
if your crypto is held on an exchange, its not your crypto. https://t.co/z4xM5xAXsh
Hong Kong protesters are being doxxed by the HK police, the protesters then file a complaint with the HK Privacy Comissioner, who then investigates and if valid, opens a case with the HK police; handing the police a list of protesters to retaliate against https://t.co/GvhVCnw8xL
https://t.co/MOveG5aLqd
Let me clarify: Motorcycle ride first, Jägermeister second.
Nothing goes better than Jägermeister on ice and a motorcycle ride to the harbour.
To all my friends who upgraded to iPhone: Do you have a BlackBerry you wanna give/sell me?
new facebook photo! I Love Bacon.
got so soaked on the motorcycle today, i might have well have gone swimming with my clothes on.
Watching James Bond - The Living Daylights (1987). Timothy Dalton was an awesome bond, everyone who says otherwise is wrong.
I want my two dollars!
I love spam these days, heres todays gem in its complete form:"b5hZO0 jLDE2H TvoV3 mfybymxGb hZO0t"
Nice weather today
Yeah! My motorcycle is registered! Time to do some top speed runs this weekend!
Fullfilled on of my life goals this weekend: Ride my motorcycle with my girlfriend on the back.
Cusco Dunlop Subaru Impreza takes 14th in the GT300 at this past weekends SuperGT. Big difference from last event.
in a surprising twist of fate, i actually like the volvo c30
trying to get motorcycle registered without a title.
All excited to see this weekends round 5 of the SuperGT at Sugo.
Final engine parts arrived from the UK today, engine is heading back to the machine shop for the final treatment before assembly.
Car friends: Top Gear season 10 episode 1 - pure storytelling, comedic and automotive television at its finest! Torrent it now!
Great fireworks, but spending the rest of the night on the toilet.
If i look at another videocast with stock photography of happy business folk, clipart animations and robotic voiceovers, i'm going to cry.
Reviewing intranet software this week, the marketing-speak is slowly draining my lifeforce.
Working on the car this weekend. T-11 days until deadline.
Wagamama is to noodles as MacDonalds is to burgers.
I finally did a write-up about my car project -&gt; http://tinyurl.com/6hqyus
Went to bed with headache, woke up with headache.
Wow, i'm finding friends from middle school on facebook. Awesome!
Firefox 3 (+2): New smart-location bar is amazing.
Firefox 3+1: digg and flickr don't chug and stall and pause anylonger.
Its been affirmed, Boston is the best city.
Boston team won the big sport competition.
the internet has failed me. I cannot find a means to watch the celtics game live via the internet. Live internet TV, when will you happen?
Oh yea, the winning livery gets put on my car too.
My girlfriend gave me shit about our diet for buying a cherry pie at the grocery store, guess who ate the first piece?
Just saw "The Happening". It was def a thriller, but campy in places, and some epic lulz were had (for better or worse).
psyched to hear alex'es project is back on track.
Anyone play Forza Motorsport know how to make liverys' for a car want to help me?
Probably going to a bar tonight to get some beers, probably Sunset in Allston.
Know any web developers looking to work at a cool UX design studio? Yes/No/Maybe? Contact me.
Steve jobs: "8GB 3G iPhone for $199" wow.
thanks for the birthday wishes ppl!
who actually uses the Insert function button on the keyboard?
Registration is open for the Boston BMW-CCA track day at NHMS on July 6th and 7th. $90 for novices - YOU CAN'T BEAT THAT. Whos in?
♪ Car parts, da na na na da nahh ♪car parts, hey hey! ♪ buyin' and puttin' em on, lets have a party! ♪ hey hey, car parts! ♪
I was busy friday! 1) Failure to stay in lanes. 2) Failure to yield to oncoming traffic. 3) Wrong way. We'll see about that.
Race finished, subaru took 58th overall, 5th in class.
Despite Nissan pimping their Skyline GT-R around the Nurburgring, they're suspiciously absent from the famous 24 Hour race.
Subaru is 71 and 6
Subaru moved up to 75th place 6th in class.
Subaru moved up to 7th place
Subaru Impreza is currently 104th overall and 8th in class in the Nurburgring 24h challenge at hour 12.
Movie idea: Like Jurrasic Park but with zombies, they take control of island & survivors must battle them with sonic weapons-battle guitars.
mmm, baconschlager shots.
NER is hosting a track day at NHMS on Memorial Day. $200. Whos interested?
The new Dent Sport Garage site is up. http://www.dentsport.com/
LULZ at twitter for getting hacked hard tonight.
I know at least 1 client of Network Solutions whos been hacked, how many do you know?
Question: The Crusades - Do you think of them in a generally negative or positive light?
Good burgers at Flat Patties in the garage at Harvard Square.
the Facebook photo album uploader is Java. Yucky. Flash uploader please!
Making a DVD for Super GT coverage.
Today isn't a very lolz'tastic day.
Changing it up today at Starbucks - Quad over Ice (3 Splenda and Half-n-Half). Its got quite the kick.
Is salem,MA turing into a web design powerhouse?
Guess whos playing GTA IV on the Conference room XBox today :P
Pissed because i didn't get out to get my free Ben & Jerrys ice cream yesterday.
So who has GTA4?
Is looking for advise on easy ways to test websites for when users don't have flash plugin.
Anyone looking for a job as an Interaction/UI Designer? Hit me up.
New favorite Typefaces: Blackoak Std & Walkway Rounded
playing with trac
Is attending the Boston IxDA (Interaction Design Association) meeting hosted by my company.
Playing with ZenCart.
Getting ready to go snowboarding
Wondering whats the best way to get :hover working on input buttons? I use anchors wrapped around them and "a:hover input" selectors
IXDA Meetup @ RDVO Thursday, March 20, 2008 7:00:00 PM (Boston area Interaction Design Association)
Amazed that my buddy used his fortune cookie lucky numbers to win $1600 on a KINO game.
Playing with Twitter
Lol 😉 @snowden new book is fittingly between nonfiction books by @nealstephenson and @jeremyscahill https://t.co/pHfuIhayRS
As i learn to more formally understand aesthetics, the more i realize the Nissan 240SX (S14) is the best car of the contemporary milieu https://t.co/jOe5pd4mXa
free Baudrillard https://t.co/FTTlOY8Xi7
the "ejected" ex-CEO of Overstock is predicting an economic collapse, and he sold his overstock stock to buy cryptocurrencies as a hedge; offering to buy the overstock stock back using the profits from his hedge-crypto assets. Its crazy, but crazy enough to work 🤔 https://t.co/KZVmvJTXEG
Ante Ciliga wrote that one possible reason for the rise of Joseph Stalin was that many communist politicians believed that the Soviet Union consists of backward peoples who need a dictatorship.The same could be said of Republicans and the rise of Trump.
I’m a Black Feminist. I Think Call-Out Culture Is Toxic. https://t.co/MotM1FRXzc https://t.co/DGqH9S8DqO
data loading pattern idea 🤔. If an Ember/React/Vue/etc component declares its GraphQL requirements, the top-level root of this render tree should collect all children requirements, and can request a complete hierarchy of GraphQL data to paint the entire render tree in 1 pass.
me IRL https://t.co/G6UX5b8jso
Nationalize GM! https://t.co/9gxSUStGxB
Remember that we bailed out GM, Americans briefly nationalized it. Now they're stopping strikers healthcare. We should nationalize👏it👏again👏and make 👏 affordable 👏electric👏cars https://t.co/8RhoDIi2Up
always ask yourself, is it broken because you've fucked with your /etc/hosts file?
my new jam, https://t.co/ns19bfgLxp and @qtychr you'd love this too
Anyone else feel like "Yass, YASSS, do it, DO IT!" when Palpatine said "Let the hate flow through you" to Luke in Star Wars? https://t.co/xyYrdSB6Wa
question for node/express.js developers 🙋‍♂️: do you have suggestions for a book (or web resource) that gets into writing elegant, maintainable, express.js apps? slide into my mentions 👇
Privacy is a universal human right. An imperative. Privacy is a social commons. Don't give it away. It's not a feature, not a commodity to be sold, not a bonus, not a value-add, not an adjacency. If a platform is selling it, you have already given yours away. Don't be fooled.
i wrote a WYSIWYG text editor: put this in your URL bar:data:text/html;base64,PGh0bWw+PHRpdGxlPnVyaWVkaXRvci5qczwvdGl0bGU+PGJvZHkgY29udGVudGVkaXRhYmxlPXRydWU+PHAgc3R5bGU9ImZvbnQtc2l6ZTo1cmVtO21hcmdpbi10b3A6NDV2aDt0ZXh0LWFsaWduOmNlbnRlcjsiPnVyaWVkaXRvci5qczwvcD4=
TL;DR1) Be a drug dealer (use lawyers to make it legal)2) Kill people 3) Profit4) Hide your money abroad to sheild it from taxes and legal fees (use lawyers to make it legal)5) Dont go to jailThe Aristocrats! https://t.co/Sl5XpyqbFt
so yea, @glitch is the view-source of the contemporary era.
'Yemen-based' Houthi 'rebels' 'claimed responsibility' for 'drone attacks' on two of Saudi Arabia's major oil facilities. No reported casualties, and yet this could start a war. Are US soldiers willing to die for the Saudi Aramco Oil Company?
just refactored nearly all of my website, and it should look exactly the same as before 😐. It should be drastically easier to maintain and customize in the future 😍 https://t.co/4h34xTTXw4. The trick was to invert jekyll layouts and includes 💫
👏👏👏 https://t.co/7aMkqPNbwN
a beautiful talk on category theory, and its practical perspective on the world https://t.co/zVaOoO4X2X https://t.co/4OA9exensy
Shenmue https://t.co/nbrYk4883t
"My greatest wish (for planet earth), is that javascript modules… worked." -skarger
excellent illustration of the continual creep of private data disclosure (in this case by Google) https://t.co/yppOuzXogv
more relevant today than ever with the Apple iPhone 11 release https://t.co/USVlI6mJLW
literally me writing a book https://t.co/nCiT2x2ANb
valid html fight me&lt;!doctype html&gt;&lt;html lang=en&gt;&lt;meta charset=utf-8&gt;&lt;title&gt;legit html5&lt;/title&gt;&lt;p&gt;this is a paragraph&lt;p&gt;more paragraphs&lt;marquee&gt;droppin tag ends, don care
this wont end well #sports https://t.co/KHdJF1Dfma
TIL a great term: "Commonplace book". I always keep my commonplace with me at all times.https://t.co/y7etGtXjdc
Thanks Bernie, but unfortunately nobody is pushing the party to the left any longer, so we're now going to free-fall back into the corporate welfare state that we've been all along. #WriteInBernie2020 https://t.co/cTNlgHyrtf
me IRL https://t.co/JMAbbGHind https://t.co/5HWWvDyXVf
I'm an optimist, so as a life-hack to maintain my own mental health, i present myself as a glass half-empty kinda guy, a pessimist. I set my expectations of others low so i'm pleasantly surprised when they rise to the occasion. But this cocktail (Atlas Bar, Singapore) is wrong. https://t.co/GvyPiG85bl
I had COVID-18 before everyone caught COVID-19, but it was obscure and you probably haven't heard of it.
my hobby https://t.co/dRG7o41PDf https://t.co/8U0ws2fj3b
https://t.co/HJKdMkEsKp by @yesloz
Her Epic burn was better 👌 re:https://t.co/UrpDQCSGQm https://t.co/akYbUrS3HN
This thread illustrates why a push-based money like Bitcoin and other crypto is safer than a pull-based system like credit cards. The pull system can pull £100K from you bank to pay for a shit beer https://t.co/NEcqOciRcu
Counter StrikeQuake III ArenaShenmuehttps://t.co/WArY5Xcsum
The Reality Brokers (or the Rise of the Automagicians) https://t.co/uCA5iZNxBG
yo #indieweb, just got webmentions working on my site, https://t.co/s4IhHGEWPe send me some love
Brave finds evidence that Google is doing an end-run around GDPR privacy protections in violations of its own police, and to the detriment of its own users. https://t.co/8HLihWA1pn
me: babe, is there any sourdough left?her: ya, just dont eat it allme: ok&lt;1 hr later&gt;her: where is the sourdough, i'm making dinner?me: ...her: you ate it all.me: I did ate it all. 🥖
“she saw him as one occasionally sees a very old friend, with a vividness to which all the past contributes”
Just walked from Central Square to deep into Cambrideport for a Labor Day BBQ carrying a piñata. Its absolutely pouring rain, so I arrived with a lump of soggy paper.
We are most happy when, after having held our breath for months, Apple proclaims that our iPhones are worthless, and they can fulfill our new desire with a nearly identical, but *new* iPhone.
Can we at least agree to rename the E.P.A. (Environmental Protection Agency) to something semantic? https://t.co/crHyzExz1j
The danger of social media is that it commodifies our lives. It gives us the choice not to make choices in our lives, not to make decisions that foreclose other ways of living; no, it allows to instead live every life possible merely by spectating upon the lives of others
The biggest crime in late-capitalism is being too good at capitalism https://t.co/2TsKm67RTK
TL;DR when you run Microsoft Edge, it calls home to MicrosoftLinkedIn (Microsoft)Bing (Microsoft)TwitterGoogle (DoubleClick, FacebookYahoo!and you haven't even started browsing yet https://t.co/lU1C0WPdua
why does the male get vertically stretched while the female gets horizontally stretched? meanwhile on the #breaking 'killer drones' #damascus twitter moments hell world timeline https://t.co/oK0r9XLUlW
me IRL https://t.co/OML8nf1OJt
👏internétte👏and👏computer.👏exe👏
THis is what praxis looks like.Thanks to the RT @flexlibris the most lit radical librarian evar, thx to ben franklin for inventing electricity ⚡️ https://t.co/iBWqil8R8j
Rough draft is done, now onto writing the first digital draft of my interpretation of “The Society of the Spectacle” https://t.co/D5g2U7VPO1
2018 Google has moved beyond "Don't be evil"2019 Google moves to "Don't talk about evil"whats next?https://t.co/1XR4HcY1Rr
I've never written a "Hello world" program, i've only written "Hell world" programs.
So when did @Speedhunters become a mouthpiece for inaccessible hypercar brands, super expensive porsches, ferraris, and oddballs where ridiculous amounts of conspicuous consumption reigns. https://t.co/8rSXpEJhm1
Or not, and just use actual HTML and a &lt;script&gt; tag (without all the gatekeeping AMP strategically does, and without the surveillance tracking). Fuckoff google https://t.co/14BX90Plfg
thread worth reading, the final post nails it. https://t.co/SY8bAMpfi8
TIL: Use URLSearchParams to get query param value from a url without any parsinggiven url:https://t.co/W0CFkgKAHgnew window.URLSearchParams( https://t.co/J8ooANyQFM ).get('secret');&gt; a powerful secretit does all the proper decoding as well!
I'm about to start transcribing my book on Debord into a digital format, should i
https://t.co/DDGsoQpsdb https://t.co/fIytNgZAbT
union square development meeting tonight https://t.co/yNYIBwmE1m
The Chinese citizens who "have the right to express their views" are those who are exempted from the twitter &amp; facebook ban, the same people who job it is to promote state propaganda. the freedom is limited to the expression of views approved and facilitated by the state. https://t.co/PyytjwxHE9
"I Do Not Want This" 🎵 by Nine Inch Nails has always been my jam. Re-listening again today; the lyrics sum up the spirit of my teenage, 20s, 30s and into my 40s as i try to move up Maslow's Hierarchy of Needs https://t.co/x8q8iX67X5 https://t.co/taq9qRrfzf
Heads up to @melaniersumner if you're still in town https://t.co/zzymHz5Elv
if you have a Japanese friend, ask them to name some of the Big Four dinosaurs. It'll blow your mind. If you don't have a friends, (or a Japanese friend), ask Google to help (its close enough) https://t.co/1lQ6vR2LGM https://t.co/KlRlEipoeq
If freedom is contingent on all people being free, then our project is to will all people free. If an oppressor wishes to use his freedom to oppress others, he (by definition) discards his own freedom, so we deny him nothing if we stop his oppressive acts.
We dont own anything when we pay again (and again) for the same songs on Spotify, rides on Uber/Lyft, media on Netflix/Amazon/Disney+/HBO GO, storage on iCloud, Google, etc etc etc. We've become digital serfs to the Lords of the Platform.
Literally me RN https://t.co/pm5nzI6PR4
So the prison Epstein "self-aborted" has cameras in all the solitary rooms. What happened to that footage. #TheFootageIsOutThere
Ideology is the perspective that America bounced back from Sept 11th 2001 when the tech sector invented a series of spectacular technologies to distract us with an escape from the hellscape of the Real. https://t.co/L4JLf3wDxK
👏👏👏 https://t.co/qRGSNQWKLd
Arms dealers profit most during warfare https://t.co/9wmVmIN2TA
He could've written it from the perspective of Apple offering privacy tools in a landscape of surveillance profiteering but instead turns it into how Apple is attacking. https://t.co/lO83tty3dL
Tomorrow night, Boston Ember.js Community meetup! https://t.co/XytliB40Xs
The crisis in Hong Kong demonstrates that neoliberalism is declining not because progressives are winning, but because it is being replaced by a newer, more efficient ideology of authoritarian capitalism that is consolidating power against an alarmingly fragmented opposition
So I invented a new game: "Youtube Chicken" . You &amp; friend choose a search term, and go watch youtube recommendations for it for 24 hours. Whoever flinches and gets radicalized first loses.
if this happened in the US, the cop would've1) Shot the unarmed girl2) Shot the nearby protesters3) Shot himself by accident https://t.co/ogGiMT4EiX
that awkward moment that Ross Douthat says something you agree with @CHAPOTRAPHOUSE @cushbomb@willmenaker https://t.co/sIltc57QX6
literally me at work today https://t.co/ZIUCQZZjxQ
it'll get even more awkward when the cause of death for jeffery epstein is listed as "suicide" and also "accute poisoning by polonium-210" ☢️
the internet is amazing. "Rusty Shackleford" posted a drone video of the FBI raid on Jeffery Epstein Little St. James Island compound https://t.co/gIC2okyNJd
Prediction: When China invades Hong Kong and violently crushes the protest movement, the US is in a double-bind 1) Economic obligations to China (e.g. risk of called treasury bonds) would cause inflation and 2) US interventionism will be unpopular with anti-war and Right wing.
Anyone with a basic level of intelligence could tell your local economist what is happening here https://t.co/MWwRCKYhsG https://t.co/pPSLogfStw
Yahoo! acquired Tumblr for:1.1B-3M (price Automattic paid for it.)=1.08B (The value of the porn on Tumblr that Yahoo! literally threw into the garbage)
My 2016 stance on Yahoo! is still relevant today: https://t.co/O15kzGaWVL https://t.co/uXxebhAA7P
They unlocked this episode because they predicted Epstein's "suicide" would happen https://t.co/zLMCNZ1daT
So @CHAPOTRAPHOUSE called it weeks ago, Epstein was merc'ed https://t.co/LnzJPIc9Cy
White House drafting executive order to tackle Silicon Valley’s alleged anti-conservative bias https://t.co/qasXinchji
i hate everyone https://t.co/efk9XEwqZD
Looks like my old race car, the RASpec Impreza has gotten some recent upgrades https://t.co/eccT6Ff0CF
why are people talking about getting skinny, i dont see any real food even mentioned on this list. https://t.co/1rGlrybN8W
Waukegan has become the latest Sacrifice zone— as described by @ChrisLynnHedges where disinvestment paired with unchecked free market capitalism has driven down society into a cycle of decadence and finally collapse. https://t.co/IjejqGlZ6z
If you wear a mask, and the science says its airborne, you've protected yourself. If the science is is wrong and says its not airborne, you're still protected. Wearing the mask has no downside https://t.co/fHB52teumB
I'm going to buy a banana #HowToSpendYourStimulus
Who would've thought I'd be citing the NewStatesman, but here we are: https://t.co/zUrLhmsk6R https://t.co/pGlbW3MJEV
i've been doing this with tweets too, i print them out, put them in the basement to get rid of the covids, then flip through that sweet sweet OC https://t.co/CuphKoHYHJ
smart man proposes seizing a Trump golf course in the Bronx as a cemetery for NYC deadhttps://t.co/5w1T9dYUlO https://t.co/WFX5MCaph0
my one regret is not having checkout out more books from the library before they closed
Prediction: Joe Biden will soon been hired to write the sequel to Hillary's 2016 book "What Happened".It'll be called "What Happened, Again: The Story of the Failure of Imagination"
in 2013 @snowden warned that NSA's data collection created the possibility of a "turnkey tyranny" where a future government could create an authoritarian state with the flick of a switch. Its already happening with whistleblowers and migrants https://t.co/itSowtTfWs
Mary Kate Ashley Olsen is actually two people. Mary Kate, and Ashley. Who knew?
Ideology takes an oversimplified &amp; distorted map of our world and convinces us that it is the very terrain we walk upon. It gradually turns what were lies into what becomes common sense.
back in my day, when something was 'lit' it meant the same as what "Ballmer Peak" means today: To be drunk enough to be relaxed and uninhibited, but optimally performant.
"Those who make peaceful revolution impossible will make violent revolution inevitable." If you make protest a crime, you make crime inevitable. https://t.co/qp4q0b5wVY
So wait, if a market has a diverse selection it's communism? This person is confused. Bud Lite is the lowest-common denominator "people's beer" if anything... https://t.co/GMGXYPkmmc
I've lived long enough to see video games vilified twice in my life. First after Columbine, and now. "Video games" are an easy scapegoat to a very complex problem of social alienation, radicalization, anger, powerlessness, and easy access to weapons. In that order
personal style goals #stylegoals https://t.co/g7AmDUJ2Tm
Facebook is the modern plague of our lives.
Surprised how many of these "great minds" are reading about people when "Great Minds Discuss Ideas; Average Minds Discuss Events; Small Minds Discuss People" https://t.co/rHEKShWvFL
add this to our library of tactics. https://t.co/LmS7ycAi33
Political theories are musical instruments, they are inert and quiet unless played. Our task is to play the loudest and most beautifully.
Theoretical reform isn't truth; theory, only when successfully put into practice will make any theoretical truths, actual truths.
Yes, of course any dictator would declare his major oppositional force illegal. https://t.co/fQzT2yZ56i
A-10 Warthog flyover Squam Lake New Hampshire https://t.co/xFAnW2gNv0
The diving board, somewhere around Cambridge https://t.co/KYjxwHI2AD
It’s astonishing how i see absolutely nothing desirable on the plausible political horizon; the only hope is to be absolutely radical.
C: It isn't as good as Bitcoin https://t.co/rkmv1J0Aif
I caught some great lightning strikes during todays thunderstorm over Somerville https://t.co/jGrZEFaGlv
this approach is trivial for FR to train away the mask and re-identity the face. All the primary features are still there. It is necessary to actually hide the facial features, not just obfuscate them. https://t.co/hV87UrswEV
"Withnail &amp; I" was a witty and fun story of drunken adventure of two friends when i watched it in my 20s; in my late 30s, its a retrospective on friendship when you have nothing to lose and you stumble through that haphazard period in your 20s when you think you know everything.
My personal style is UFO crop circle chic
First Guantanamo, then Abu Ghraib, now ICE has prisons here at home modelled on these foreign experiments. The precedents we set abroad always come back to haunt at home. https://t.co/CrNpKEiJFz
If 10x engineer were in fact a real thing, it would just mean they produce 10x the value of a typical engineer, and only get paid 1x. This means 9x is the value is pure profit. Another name for this type of engineer is "exploited". https://t.co/7j2HHdlrlb
⭐⭐⭐⭐⭐Heteromation, and Other Stories of Computing and Capitalism https://t.co/xJnGtw4wXZ
Let's pretend we have a free media, when everything they say is the same https://t.co/JGAybrBtAF
Late capitalism in 2019, where an international manhunt for a modern Robin Hood whos crime is to make free copies of manga. https://t.co/zK2At2LCV0
Social media is a greasefire
The lie of the media is that it never shows us the truth that the world can often be a pretty dull place.
Bill Gates walks into a bar, and everyone becomes a Microsoft CSE and averages $200k/yr. Mark Zuckerberg walks into a bar, everyone likes everyone else but nobody can pay for their drinks.
i'm gonna do it https://t.co/wsDtYzz4q0
cum for the shitposts, stay for the comments https://t.co/Anzlv5W7lF @qtychr this is for you https://t.co/RJV9pKXPj1
Starting RIGHT NOW I'm on leave until the end of July 💃🕺
A thread by two of my favorite intellectuals, in two posts 👌 https://t.co/VW3kP223AO
if my (Taiwanese) friend comes over and I serve them a shot in a Mao shot glass, what kinda reaction should I expect?
Courts rule that they CANT RULE https://t.co/hwk5CfBCjY
my kid in bed https://t.co/O5P4BM0tZL
actually great thread on the media 👇 delivered by a "Gremlins 2" scholar https://t.co/eNjbc0W9gJ
i've only got two "Liked" tweets on twitter, the 1st tweet, and my first tweet, and yet twitter says i've got 81. what gives @TwitterSupport? https://t.co/KjfreW4csA
why the fuck is the mainstream media carpet bombing us with hit-pieces on Latin American countries as unfit for white travelers? 🤔 hottake: its fucking racism has pwnz3d the algorithm-mediated media https://t.co/N9vRj9W9bT
CSS Modules have high interest, and users would use it again, from "The State of CSS 2019" https://t.co/fIutEETGyU https://t.co/JZvK1ZJQKK
CSS scroll-snap-type, scroll-snap-align is game-changing for building the thing you should never build: A carousel https://t.co/3i9BYlg7PK
If you're going to read anything about Facebooks Libra crypto currency, it's this https://t.co/fbE7RTns6x great coverage of the good, bad, and ugly aspects
Charles Dickens’s Punch, the 1847 recipe courtesy @DavidWondrich book "Punch", made for visiting family https://t.co/mXjgyw7p3T
It's the longest day of the year, what're you doing?
my thoughts and prayers go out to both the drone and the missile 🙏 https://t.co/lg4vhpLamn
I presented a talk on @emberjs tonight "Using Ember FastBoot in Weird Ways", discussing how we at @Salsify use server-side rendering for getting super fast page renders across multiple retailers. slides are now up https://t.co/xeacDSwIFv https://t.co/R9g0xV8sid
"must remain committed to holding Iran accountable" THIS. JUST. MEANS. "WILLING TO START ANOTHER WAR". NO. THANKS. KBYE. https://t.co/1c9s9s6Rn0
a great perspective on privacy as a social good that needs to be protected https://t.co/xKEMx054nB https://t.co/3o8fUvXWHY
4 days https://t.co/ixJU8Nlg7v
A review of the Ember Addon ecosystem in 2019. https://t.co/z6MXfFtt9l #emberjs2019
i'm dyinghttps://t.co/F1ygp40PVZ
Its only a matter of time before your GitHub contributions start showing up on LinkedIn in the activity feed; and your contributions chart becomes a feature of the LinkedIn search #predictions https://t.co/Y4QGO1xtfV
Good News: humanitarian aid volunteer who provided food, water and shelter to undocumented migrants ended in a mistrial Tuesday. https://t.co/P4YoTmkvWZ This is a trial that should've never happened.
this thread 👇 on Italy issuing a national non-bearing bond, the MINIBOT is PURE macroeconomic GOLD 👏👏👏 https://t.co/GqgaKks6Xc
In the society of ubiquitous facial recognition surveillance, the lowly face painter is a radical.
my advice: wear a mask. your place in Chinese society will be determined by your face, and if your face is caught at these protests, it wont end well. https://t.co/xw9mNcxwnc
Postmodern analysis of Soylent https://t.co/2ixESV4hre
when i was 10, I watched "The Hunt for Red October" (1990). i discovered that submarines dont have windows. I was shocked and the most disappointed I'd ever felt in my whole life. https://t.co/1v8MTRExCN
i'd vote for @ElYucateco myself, but its my poll so i can't vote. https://t.co/5rf1I2jnCq
youreonanislandandyoucanpick only one
a few pictures of my best friends this weekend https://t.co/OUacnSUa5I
Media is obsessed with what they think orwell imagined https://t.co/FGrbU7CdPJ
I could easily live off cheese for the rest of my life
Monochrome smog over the Longfellow Bridge https://t.co/juIv3T3dwr
Finally, I got to try Russian River Pliny the Elder https://t.co/8BrfL8Fwf5
sometimes living in the #hellworld worst timeline has its benefits https://t.co/hd5ruvcqyD
A milestone in the relationship between my partner and I. We've been married since 2014, and we've only now started our third box of garbage bags 🎉 https://t.co/nNu8Xb6Hjr
The Trump administration will never be held accountable for their failures by the simple fact of his blaming and scapegoating it on others. Not because the excuses are true, but because he gives his followers *permission* to be racist and bigoted against those most marginalized.
This is an about-face, but Neoliberalism isn't dead when one publisher calls for an actual humane society, it's like a zombie, we need to keep killing Neoliberalism until it's DEAD-dead. https://t.co/zOP8cDCdcn
now that you can run for president without leaving your house we are closer than ever to my prediction that the next president will be a Tik Tok influencer
FFFUUUUCCCCCK THIS Facebook wants to work closely with Dept of Homeland Security and FBI to surveil individuals with the virus. Let's not deputize Facebook as a defacto intelligence arm of the US Governmenthttps://t.co/hVEGK34YoV
I wrote a short history lesson relevant to COVID-19 With learnings from the Black Death (much better, metal as fuck name) and my peoples didn't 🤎 it enough so here's a warning 👇 https://t.co/0SzBPIQFw4
Colin and his crew are producing some truely beautiful bourbons 🎉 congrats to the team 👏👏👏 https://t.co/YjW6cL6Qqg
I'll be giving a talk at @BostonEmberJS: "Using FastBoot in Weird Ways" June 18th, come heckle me.https://t.co/AwpdMPz8z4 #Meetup #Boston via @Meetup
https://t.co/89fpa1T8QZ
Literally every new Twitter user ever https://t.co/xryxK7O33o
https://t.co/VRt7zMgKC5
This one goes out to @b_apothecary "Why generalists triumph in a specialized world" https://t.co/yQqtB27dal
The best possible improvement to the space would be to put a massive featureless 1000' tall concrete monolith in the middle, standing as a monument to brutalism. https://t.co/kpsYmVkSKU
Apple announces the next version of macos will not come bundled with Ruby, meanwhile... https://t.co/ujNAVZEfYD
School or prison? https://t.co/LHEukzOhNP
1) US Customs and Border Patrol require all visitors to provide 5 years of email and social media. 2) Apple comes out with privacy protecting privacy feature that creates hundreds of emails you'll never know about. https://t.co/UlJNyG8fi2
These days i often see "This website stores cookies on your computer", i always have two questions:1) What kind and can i eat them now?2) They better not be fucking oatmeal raisin.
By trickle-down economics, they aren't taking about money trickling down, but risk. Risk is pushed down the economic hierarchy such that the institutions selling high-risk loans pushed all the risk to the homeowners at the bottom, and still made money when they failed.
I have literally hundreds of email addresses I use regularly for security reasons. There's no way I could easily provide this data. Luckily, no Facebook. https://t.co/w4bkLhpdpK
When the apocalypse hits, first thing I do is go to the grocery store and buy all the canned San Marzano tomatoes I can
nuts are tree seeds, therefore, nuts are a kind of wood. When you eat nuts, you're eating wood.
Amazing DJ set, dude drops Autechre "Second Bad Vilbel" at da club https://t.co/Ut73v2GX2t
i'll be giving a talk on Ember Fastboot https://t.co/GhJUZ7Y1j7
#wierdDadTips: if you ask your infant if they're asleep, and they say "yes"1) they're not asleep2) they're not an infant
Dave is a great person to follow, he creates neat things. Previously made the Masonry layout/Isotope layout library. https://t.co/REcYtpTqkx
the present time advances as a collection of messy threads. When the future looks back, it'll follow a single thread backwards to the present, ignoring the messy threads that extended to other possible futures.
So Googles 2019 10K filing lists ad-blocking as a concern, thus @googlechrome is removing the webRequest (blocking &amp; filtering) API to hinder ad blockers like Ublock. I haven't used @googlechrome for a few years, but it makes switching to @firefox and @brave a much better option
every time i see a reference to lerna (the javascript packager) I'm afraid because of my association to the curse of La Llorona
AKIRA (1988) was both set in, and prescient of the state of the world in 2019. Its essentially about the #YellowVests #GiletsJaunes movement. https://t.co/2pgxWJeqKw
heteromation at work https://t.co/USLrFa2BzE
really stupidly simple web engineering protip:Add the expiration date of your SSL/TLS/GPG/PGP/etc certs to your calendar. Set notifications. This isn't rocket science. I'm looking at you @mozilla @Vimeo and other big players.
my jam 🎵 https://t.co/ui9i2pvVbj
i own a pair of cursed shorts, every time i wear them i lose something i was carrying in the pockets.
Is GitHub becoming less a free host for git projects (not that they're suddenly charging) and becoming more a capital accumulator of free labor, enclosing open source software behind an invisible fence?
Great summary of SIM Port hacks, but also, don't keep your crypto on an exchange https://t.co/191LmKML7i
This 👇 Times 10. Having a baby made me way more focused on how I spend the limited free time I have https://t.co/ZhofX0X6dx
https://t.co/4QLaOYSBih my jam 🎵
10 years ago this would been a huge deal. Flickr has been down for quite a while now: https://t.co/8AFD8819cE
How I write, inspired by a pic by @thomdunn about his process. Reference books open, notebook &amp; pen. Bread for brainfood, beer by @LamplighterBrew and an old engine connecting rod (from my racing days) holding my book open. https://t.co/Bk1xQZx1Sa
Remember Fortified Bicycle @FORTIFIEDbike, Boston-based maker of theft-resistant lights, locks, and bicycles? They've moved to a location in Ohio literally right across the street from Kenda Bicycles &amp; Tires. I bet it was a private buy out. https://t.co/U0ciywK6oR
I've reached my final form: "Techbro" 😭 https://t.co/92Kt7RhQEO https://t.co/MOYoPfkhga
#dadgoals https://t.co/A2jOVoOAxl
My custom track bike build is done, teaser photo 🦊 https://t.co/tgpQcRgOB3
CBD oil is the new "cigarettes promote good health". https://t.co/sWjVB1XUxP
My #1stAnimeCrush was Leliel-chan (Hebrew: ליליאל) the Twelfth Angel, aka theDirac Sea from Evangelion ep 16 https://t.co/LJWJOHGCVm
If I know 1 thing, its that 1 thing.
👏👏👏 https://t.co/SiTPc2QMgw
real (dad) talk: i didn't realize having a baby means having an entire new set of dishes to do in addition to the usual. Baby bottles are often made of 6+ parts: 6x 10 bottles a day is 60 things to wash. I spend nearly an entire workday at the sink and i even own a dishwasher. https://t.co/yur9HPtKO0
Today I mixed 20g of baby formula into my Soylent and gained a 15 min window of 10x developer productivity.
are you using `yarn audit` and sad since @npmstatus CVE registry is down and its throwing 503 errors? Cool, don't use it:$ YARN_REGISTRY=https://t.co/cn5aTB1arN yarn audit
TRIGGERED... I somehow ended up on a documentation page for the Windows registry. Its been 10+ years since i last opened regedit.exe https://t.co/Uv5CbIXkqL
So @npmjs had layoffs earlier this year, and now they're in the middle of their longest outage to date. Security audits have been down for 5+ days, and search index issues going on 18+ https://t.co/uTW7pOYGCl worrying considering how core NPM is to the js ecosystem. https://t.co/xBN4Vdg4Er
Watched it. I liked how it ends, but still: who was the night King, how did he exist and why and what's his backstory?
New dad inspiration for cyclists https://t.co/n8zqpHusXW @agrabau you gotta watch this
ok. enough is enough. goodbye twitter. (until i see GoT finale)
Kill: People literally tell me they're going to kill me every day. https://t.co/os0z7zvyCt
Fuck, Marry, Kill: How do you think you yourself are most often cast?May your followers reply and tell you if you're wrong 😂
TIL China has one time zone, imagine if Dallas, and Los Angeles were on EST.
Fuck Off Google: they released Guess.js, a web perf library that uses the Google Analytics data from your site to predict which assets will be loaded and when. https://t.co/Il3zdxbcYY Don't run surveillance trackers on your site, just don't.
Algebra, comes from Arabic "al-jabr", meaning "reunion of broken parts", and Algorithm - "Al-Khwarizmi" the name of a Muslim mathematician. If US politicians knew this (they dont), we wouldn't have STEM in schools. https://t.co/8zH9O6bieD
"Garden State" (2004) by @zachbraff, just did a rewatch since I first saw it in theaters. I loved it back then. Rewatching it, still a timeless character piece that somehow manages to capture not only a character, but an entire time and place.
React is the Katamari Damacy of web frameworks
learning Ruby on the job, i can't even:&gt; x = "a\\b"=&gt; "a\\b"&gt; x.length=&gt; 3 # a,\,b &gt; puts xa\b# we need to replace '\' with '\\' to escape ity = x.gsub('\\', '\\\\\\\\') # WTF LOOOOOOOL=&gt; "a\\\\b"&gt; y.length=&gt; 4 # a,\,\,b&gt; puts ya\\bRuby fam, ya'll are OK with this?
read the whole thread. https://t.co/nznmv7fn8A
Neutral evil. Books are tools and object s, there not the sacred knowledge itself https://t.co/XGwILG2F88
my prediction for the end of S08 of #GameofThrones https://t.co/OnV0elVPD8
Silicon Valley startups are starting to offer daily enemas as a benefit. It adds new synergies to the open-office experience.
Using iframe in a very clever way to get an HTML-driven means of including the contents of another file directly into the page https://t.co/28BVbDkuEn @scottjehl may have just created my all-time-favorite webhack of all time.
The update: it just uninstalls all Adobe software from the computer. https://t.co/eNmhqJKMma
No one in Westeros is innocent, they all served the queen. Dany has always had egomaniacal aspirations to rule via delusional devine legitimacy. No God's, No Kings, No Masters. The only legitimate rule is a dictatorship of the proletariat. #GameOfThrones
Kewl https://t.co/ojtBtaQtFi
Remember back in the 90s when you wanted to install Linux on the family computer, so you spent a week downloading it, then formatted c:\ and the installer didn't come with a driver for your hard drive? So you had to reinstall Windows just to go download the driver and try again.
Took the kid on his first flight. I was nervous about the crying, but the kid was so chill and pleasant. Everyone loved him.
Hudson Yards is a massive development that seems to recreate the banality of suburbia right in downtown NYC, only its financed by programs designed to serve the poor, but appropriated to serve the rich https://t.co/K3tAKWu39K
S08E04 is the first ep of S08 that feels like S06 of "GOT". Its somber, its fun, it has deep character insights. Its not just actions, its actors. #TeamVarys.
2019 might finally be the year of Linux on the Desktop™️ ᵇʸ "ᵈᵉˢᵏᵗᵒᵖ" ʷᵉ ᵐᵉᵃⁿ ᴹᶦᶜʳᵒˢᵒᶠᵗ ᵂᶦⁿᵈᵒʷˢ ᵃⁿᵈ ᵇʸ "ᴸᶦⁿᵘˣ" ʷᵉ ᵐᵉᵃⁿ "ᵃ ˢᵘᵇˢᵉᵗ ᵒᶠ ᴸᶦⁿᵘˣ"https://t.co/LmDNWuuh1m
I remember now. https://t.co/ClCcDCIDYj
The only reasonable aesthetic to rebuild the Notre Dame cathedral is as a massive brutalist obelisk.
Anyone else in Boston remember what the sun looks like?
This article is huge, but it's an amazing look inside the drama, incompetence, and blindness within Facebook "15 Months of Fresh Hell Inside Facebook" https://t.co/qUsNgc0anh
If we want to continue to call ourselves a civilized society this needs to completely change, otherwise we've backslid to an ideology of market-driven barbarism. https://t.co/qaYq84IKPk
The US now was 200% more COVID-19 cases than the next country Italy.
The Black Plague resulted in the decimation of the peasant (serf) class that was tied to the land. This left very little labor available to farm feudal lands. This resulted in wages and land granted to peasants—creating the basis of the bourgeoisie in future generations.
America 2.0✅Nationalize banking, loans, airlines &amp; train cos✅$15 min. wage/w annual increases✅Universal single payer healthcare✅Mortgage debt jubilee✅College debt jubilee✅Free childcare✅Nationalize most private colleges &amp; make free✅Nationalize Amazon
I don't think I've ever seen a @MarvelStudios film. Don't even know where I would start.
Instructions: "Microwave for 1'30""Me: &lt;1'31" START 🤘&gt;
I called it https://t.co/EWwzomIyca https://t.co/KEPJVpEl1o
So this boat is where the Scientology and Anti-vaccers venn diagram overlaps https://t.co/JClxSqNUTL
Whelp, winter came, winter sucked, and that night king guy was a dick, WTF was his problem? many unresolved questions.
New bicycle build is going strong#fixie https://t.co/8xvKSonuZn
If I won the lottery, I would buy the rights to the Blockbuster Video brand and reopen all the old stores, only this time offering BetaMAX instead of VHS as it was clearly the better standard.
Still relevant now more than ever, a year ago I wrote a scathing article denouncing Facebook, and the only improvement they're making is to redesign in white 🙅‍♂️ https://t.co/lobeRTGJ8l
Serious question: what does the emperor do, how is the Japanese monarchy relevant? https://t.co/wzz74xSlYx
a @Twitter feature idea for @bhaggs 💁‍♀️MVP: Users can click a button to mark a tweet as hate speech or a spoiler, then the people following them will see it hidden until a "reveal" button is clicked.Follow up: Users can opt-in to automated Twitter-AI marked detection. https://t.co/UyLhCnK6uP
Cloudhopper (the twitter txt gateway at 40404) is the best Twitter app. You can scream into twitter without looking at Twitter
If you're thinking about moving to New England know this: I have 3 winter jackets:1) it's really cold over2) it's literally a blizzard one3) it's basically a space suitI wear one of these when I go out between the months of sleepinessSeptember until June
"The same architecture appears everywhere as soon as industrialization has begun, even in the countries that are furthest behind in this regard, as an essential foundation for implanting the new type of social existence." —Guy Debordhttps://t.co/IXkwUSvmeI no. 173 #UrbanHell https://t.co/kGgqhqmRTH
#LateCapitalism https://t.co/Wsmfnu1912
Sunday funday:1) Took the 👶 on the MBTA 🚎 Green Line (D) all the way to Riverside. We're trying to do all of them.2) coding! Migrated @miraiaudio app from ember-i18n to ember-intl (finally). App is now in English, Spanish, Mandarin and Japanese.
This is bad ⚡️ “Downfall of bike-share start-ups leaves Chinese town scattered with hundreds of bicycles”https://t.co/k3f2l0I3xs
I've followed Isis since Twitter opened for biz in 1868. Isis is a celebrity in the infosec world, and this is the best thread: https://t.co/90dHxUd3l9
Publishing doesn't do internet very well https://t.co/1nTTTf3vlt
"Bitcoin is the world's first globally accessible, public money" https://t.co/uGDgJAGQWh
Life goal achieved. I've been immortalized in a new book by @jmreagle : "Hacking Life: Systematized Living and Its Discontents" where Steve Jobs and I are kindred spirits 😉. Read more here https://t.co/YSj4XGvD9x out now from MIT Press, my 2nd favorite imprint. https://t.co/JkItGgvkz7
😂 where life hacking ethos and net hacking overlap. @jmreagle heads up, this is your department. https://t.co/LWXLiDgrUl
so, basically, @team_markup fired julia agwin because the execs believe in voodoo corporate groupthink and want her to follow the lemmings. A hallmark of bullshit leadership. https://t.co/wRmtL8ujWI
There two _essential_ tools I use every day to make the web a faster, safer, and less distracting:1) @The_Pi_Hole - blocks ads at the DNS level2) NoScript extension for Firefox, which is now _finally_ available on Chrome https://t.co/QwiJ6M2ghi
5 days into a break from coffee and i'm learning much about myself.1) I'm persistent.2) i'm masochistic, and i've made a huge mistake.
Royal H Cycles wrapped up my track #fixie frame. The Columbus Zona tubeset came out better than I could've imagined. https://t.co/bdqGq8jCas
I'm part of the Security Guild at work. We know how to run meetings. https://t.co/ts1aMjEST6
https://t.co/i2iGiXLWDU
That feeling when your "green herbs" on the Seder plate is cilantro and not Parsley, but are afraid to mention it.
the Mueller Report has amounted to literally tens-of-thousands of hours of media reporting on absolute trivialities and palace intrigue that will amount to non-outcomes: and yet everyone is completely expectant of some sort of catharsis. its a non-event.
best take on the report https://t.co/YO6DAL0YLk
my jam 🎵 https://t.co/fO7T13bqiF what a grimy tune, max compression
https://t.co/CzIx61XSg7 @b_apothecary this is the kind of optimism for the public good that we need
The drive to urbanization is essential to capitalism, this drive results in a static world devoid of spontaneity, the result of land development optimized for profit, devoid of nature and where its residents have no ability to change their surroundings...https://t.co/s4IhHGEWPe
The decadent decline of San Francisco has been elaborated upon by @William_Blake in his worthwhile piece “San Francisco’s Slow-Motion Suicide”. I attempt a slightly different exploring how the privileging of objects in space sacrifices changes in time.https://t.co/s4IhHGEWPe https://t.co/oOk0jkL8Uy
Indeed, it feels like a portent, the end of the age of superstition maybe? I visited the Notre Dame in July and it truely was a marvelous structure. https://t.co/BQrEZ14ZZN
Hack the planet! https://t.co/8l7z7kJser
Assange is charged with exposing US criminality and exposing their horrible wars abroad https://t.co/Q45FF5N9gB
💥🤘 https://t.co/mpXTRxnzqc
Ember Data has now replaced all internal uses of jQuery and replaced it with fetch instead, this means we can much more easily remove jQuery from our apps entirely https://t.co/binmy4MMcf
Assange has finally achieved his final form: Graybeard Ultra Hacker https://t.co/J3aeT5Y6Vq
It's a dark dark day https://t.co/KuxCijtSJ0
The first season of Arrested Development is old enough to drive.
Absolutely amazing drone piloting here; but DAT SOUND, OMG https://t.co/55nyjPF5M3
is terminology in tech getting more misleading?"cloud computing" =&gt; "someone elses server that you are always paying for while its on""serverless computing" =&gt; "someone elses server that you pay for when you use it"
Everything old is new again, only this time it's not free, it's expensive and branded: Apple News+, Apple Card, Apple Arcade, and Apple TV Channels and TV+
The genius of Arrested Development is the casting, and great writing, in that order.
Advertising is increasingly propagandizing your own employees https://t.co/xnWaIuAjl6
If the Academy eliminates @netflix, it'll just make the Academy and their Oscars ceremony obsolete. https://t.co/m5zaHu2MP3
How to quit Facebook without quitting Facebook #deletefacebook https://t.co/cAv3WcqIMb https://t.co/ESr0hObkIW
It's not theft if you never own your own content. But this is still theft. https://t.co/BHJ3QOmkuX
This isn't a Twitter sticker, these are IRL little glasses https://t.co/Iqj19dkR9L
my jam 🎵 https://t.co/xbAFwiYMqW
Urotsukidōji @JohnImadNasr 🔥 https://t.co/hKzpivAgAZ
&lt;Watching the @Theranos documentary&gt;@jennapaigelash: "she wears the same clothes everyday to save time, but it takes her 40 minutes to put on that eye makeup"@0xadada: 🔥
😍🥰 https://t.co/fugikDefoA
glad to see this account has aged well 🤔 https://t.co/ngeiij2wHv
𝗜'𝗺 𝗿𝘂𝗻𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗣𝗿𝗲𝘀𝗶𝗱𝗲𝗻𝘁 𝗼𝗳 𝘁𝗵𝗲 𝗨𝗻𝗶𝘁𝗲𝗱 𝗦𝘁𝗮𝘁𝗲𝘀 𝗶𝗻 𝟮𝟬𝟮𝟬. I'm a "1-issue" candidate: Things got shitty under late capitalism, so lets rejoin the British Commonwealth, with a new King George IV who will return us to an agrarian colony! https://t.co/vMinLtIMOF
This will likely be the only Trump tweet i'll ever retweet. #FuckOffGoogle https://t.co/wyqVMg4lsT
my jam 🎵 https://t.co/yvfKOAyGno
Amazing performance at the Wilbur Theater by @nilsfrahm last night 👏👏👏 https://t.co/7NR4IllNAp
This is @b_apothecary future motorcycle https://t.co/5YFyZ7ITw9
A great history of virtualization and containerization. OP delivers https://t.co/mF4NWZMwMY
imagine if Facebook started asking account security questions based on your data:&gt; "Which of your exes broke your heart the most when you got dumped?"&gt; "Of your coworkers, whos profile do you spend the most time creeping on?"
I've never written a React app. Never written a Flash app in 22 years of web dev career. https://t.co/A0HrT1YI88
Unpopular EDM opinion: All that dubstep the kids loved so much; now sounds really badly dated.
@hakilebara @kennethlarsen 👍
Unpopular But True Theory: Dog Edition1) Dog feces is called "poop"2) A single piece of dog feces is called a "pup"3) Dogs are called "puppers" because they make many "pups".
So at #EmberConf @kennethlarsen gave a great talk on ember community documentation, and inspired by his talk, I opened a PR with ember-ajax today 🎉 https://t.co/3hwKSp6Ajd
“Dawn Wall” captures an amazing relationship and tells the story of persistence beyond anything I've seen yet ⭐⭐⭐⭐⭐. Perfect climbing film. https://t.co/7ie3ME4OEe
The “smart city” is labelled smart to obscure the fact that it's surveillance-capitalism, just as the “sharing economy” isn't sharing but a label to obscure its profit-seeking. It's just good old fashioned snake-oil tactics in new clothes.
me irl https://t.co/AOB67hFMSN
someone should revoke my PGP/SSH keys for github https://t.co/olSthmBUbB
Over 200 years ago, folks we're risking their lives, families and wealth by travelling along the Oregon Trail, leading to epic stories of both accomplishment and tragedy. Today we can fly home on an uneventful airline with no stories but can bring fresh @BlueStarDonuts to Boston. https://t.co/X0AHBfstKC
Influencing the thinkfluencers at #EmberConf https://t.co/x2fik04pHL
Ember is good.The people who are into Ember are good.
That's a wrap! Team @Salsify at #emberconf 2019! https://t.co/w0ycXVCd9h
🤘 https://t.co/QHYVjQyvEF
I found something special at @HalePele Portland, OR. Feeling inspired by @b_apothecary https://t.co/yyilpmxxd1
So far #EmberConf has been fun, but everyone is talking about computers and code. I thought this conference was about how to start fires 🔥
There is a name for this, from the perspective of the business its a "disposable workforce", from the worker is "the precariat" https://t.co/Dxbt85SgLb
Github is down, my workday is over.
If I had to guess, South Korea has a functional healthcare system https://t.co/tMFm7lBKE6
Rich or poor, wise or dull, we're all equally paving stones along the road of time.
aspirational poverty
Flying into #emberconf2019, Mt Hood says welcome https://t.co/o8BZlLEww1
Off to Portland for #EmberConf2019 ✈️
Everyone knows ticketmaster is horrible. But now they require a phone number to accept a ticket transfer? We all know they're going to abuse that number, sell it to marketers, and probably buy location tracking for the number. Nothanks.
Twitter implements the Two Minutes Hate. Pick your target: perhaps the US President, one of the Clintons, "the libs" or "the alt-rigt", or let Trending Topics generate a target for you! You have exactly two minutes to Outrage at the screen; 3, 2, 1, GO
The French #YellowVest #GillesJaunes protesters #Acte18 know what Utopia looks like https://t.co/uuYAC1hRoD https://t.co/PZskARwn3F
𝐏 is for Poire Williams 🍐
A diaper with a foldable Samsung OLED display on the front showing if the contents of the diaper are clean or dirty. It internet connected and has an app to send push notifications to the parents.
Fetish and commodity, the absurdist turn of car culture when the subject is replaced with pure form; cartoons replace reality https://t.co/wd8lb2Hs17 https://t.co/ovc71bkcu1
MBTA Dreamcast https://t.co/1c6fKzAit3
HUUUGE https://t.co/ysxbtVRWLX
after implementing a few browser extensions, i've learned enough to know that browser extensions are powerful. Accordingly, i've uninstalled nearly all the ones i used to use.
So a teenager made long distance calls for free and used cracked software, all more than 30 years ago. These shouldn't be crimes to begin with, and this as scandalous as jaywalking. This isn't hacking either. https://t.co/OD0puF7KVm
Boston needs to step up its game and expose @ewarren as an ex-member of Bostons L0phtHeavyInd hacking group. https://t.co/nXSw9d3ade
Should Trump be president?Ask your friendly Bash shell:$ yes no | less
π == 22/7 == 3 It is pronounced as 'Figh' and is used to approximate the area of a 𝚍𝚒𝚟 (not including the border, but the content-area &amp; padding: unless 𝚋𝚘𝚡-𝚜𝚒𝚣𝚒𝚗𝚐: 𝚋𝚘𝚛𝚍𝚎𝚛-𝚋𝚘𝚡)#PiDay
Nows our chance! While our attention isn't distracted, its time to #DeleteFacebook https://t.co/pGbpjCrewl
when PM asks me if something is available as an AWS service (implying that its a fully-baked solution), i tell them "maybe, but" that Amazon strictly follows the 80/20 Rule. This is an example 👇 https://t.co/Z1iylFprfw
Porn dogs sniffing the wind. sniffing the wind for something new
An album that permanently transformed your tastes in musichttps://t.co/OaxzjAPNKpBefore this album, i was only into metal, alternative, goth and punk.
Avalon (2001) by 押井 守 (Mamoru Oshii) is the under appreciated postmodern take on our obsession with whats real, while we've replaced the Real with the virtual https://t.co/7CwShnYgPN
Avalon (2001) had some really amazing special effects, and was a statement on reality that we're only starting to feel today https://t.co/4OlSswyt3N
2019 is the year AKIRA took place, Neo Tokyo is about to explode!
i think @Twitter finally killed Cloudhopper, a txt msg gateway circa 2009. It let you post tweets via txtmsg up until a few days ago. Now it says "Sorry, that service is no longer available" message. RIP Cloudhopper 2009-2019. 10 Years. https://t.co/W224jGodzE
💥 https://t.co/Ze8cZLFG8q
New blog post about some things I've been learning recently while building browser extensions for @firefox and @googlechrome https://t.co/NnjNWwaX7j
⚡️ “Amazon Must Be Nationalized”https://t.co/QGJqTjWJhE
I'm just going to say it: Amazon needs to be nationalized. They've become the backbone of retail commerce in the US, as well as the backbone for IT infrastructure. We need to split off AWS, and then nationalize both Amazon and AWS and common public goods.
I'm all-for the "Bicycle Commuter Act of 2019", but if you rent a bicycle, please dont call it "Bikesharing", call it what it is, bike rental. DONT. HELP. MAKE. RENT. SEEKING. SOUND. ETHICAL. AND. THEREFORE. SEXY. https://t.co/OeVO2fh86m
The level of courage and commitment to ideals is astonishing. https://t.co/TeFKEiZCMo
Lil Soylent https://t.co/QsVawC7ovY
reading RFCs is one ofmy favorite hobbies, sometimes one discovers little gems that explain the rationale and history history of the codebase that you never knew about. This one is from the Ember Decorators RFC 0408 https://t.co/PDdfcmHsF2 https://t.co/7zXDCmVxsw
my jam 🎵 https://t.co/F4hx7xvWLJ this song was stuck in my head all night, i dont know why, i haven't heard it until my wife told me to stop humming it.
My worst nightmare is that Colton goes home with one of these girls who aren't ready to be engaged
Why do orthodox Jewish folks pray with leather straps and a GoPro on their heads (called a Tefillin?) https://t.co/fyRSOL3sVL
Everything, every policy and all authority should be questioned. To proclaim something as beyond question is to proclaim tyranny. https://t.co/0enr4nViaC
That @reddit keeps trying to get me to use their mobile app is starting to feel like fascism
🧿
Coming this way to the US, but in diffuse form where we'll be incentivized to use apps and buy things from companies that spy on us https://t.co/J0JSXbMvdv
your primary browser
What if the post office was also a bank and would give anyone a loan at a zero interest rate.
⚠️ Birkenstocks, but with a Vibram sole ⚠️ #ideas
Anthony Weiner should run for 2020: Make Sexting Great Again
I'm always on Peter Thiels side, he drinks blood https://t.co/7jNouWEpfF
Facebooks power is that its timeline is attempting to write the authoritative history of mankinds past, its algorithms are trying to influence our individual futures; its eventual success would be the control of time itself, for its own purposes.
@magson @sts10 👆 yes, there have been a few audits, you can find the details on their site
The Pentarchy of essential privacy/security Android apps. These are the only apps on my homescreen https://t.co/tPgCpkakWZ
one major problem with Terrace House (@TH6TV ) is how they highlight S&amp;B Curry mix when House Vermont Curry rue is clearly better. Prove me wrong. https://t.co/1oaGo5JSix
A Round Up Of Four Exemplary Rums https://t.co/Eovf8LHOKz
The destruction of journalism by socially media mostly overlooks the ethical loss. Traditional journalism separated advertising from the reporting with the Chinese Wall; social media has no wall between advertising and content, that is to say, the advertising IS the content.
If you know me, you know I eat donuts Friday morning. Today I thought I'd share with the team #🍩♥️ https://t.co/0jweknaMC7
https://t.co/mja2Nr88dl
🏴‍☠️🏴‍
serious question, so Vivaldi browser: why would one use it, when you can get the same features in Chrome or Firefox with a handfull of extensions.Its' target audience is power users, and yet power users use &amp; understand browser extensions. 🤔
the "i dont" identity https://t.co/oN84Fmt6E2
Guy Debord had the foresight to see the rise of surveillance-capitalism and it's complicity with fake news as disinformation, in 1988 in "Comments on the Society of the Spectacle", pg 74 https://t.co/IX8UtrmGUK
Damn anti-vaccers fucking up my numbers! https://t.co/8FLQDN9C0P
The office of US Presidency is like big US stadiums: they're corporate funded brandnames: Comcast Center, Obama Whitehouse, Verizon Arena, Trump Whitehouse; the brands are always changing but the sports and politics played inside stay the same.
Me: writes article on @Medium, for freeMe: gets hit with paywall to view articleMe: Ⓜ️➡️🚮
Worst. Deepfake. Ever. https://t.co/MZ5FIdy5vc
Trump: &lt;runs on anti-foreign-intervention campaign&gt;(later)Trump: assigns Elliot Abrams as Special Representative for VenezuelaMe: ☑️
yes, i believe that @google, the O.G. surveillance-capitalist, and one of the most profitable companies in human history was purely incompetent. Yup, they _totally_ didn't have a meeting where they decided to hide a mic in a device. "Whoops, we're just idiots over here" https://t.co/hsb4Gx6g6w
in government, the higher the level of secrecy, the more illegal it is.
sideloaded some data from a JSON API into an oldschool ember REST API for a project with a tight deadline. feel dirty but oddly OK with it 🤞🙆‍♂️ https://t.co/EsG4icdgvU
“when reputation is attributed to only what is immediate, and to what will be immediate immediately afterwards, always replacing another, it can be seen that the uses of the media guarantee a kind of eternity of noisy insignificance”Guy Debord
Which is more true about New Yorkers (Yanks) and folks from Los Angeles (Lakers)
There are three restaurants in my neighborhood that were slated to be "OPENING APRIL 2020" and none were opened today. What gives?
today i found out i have Coronavirus
The new PlayStation 5 design looks oddly familiar https://t.co/h7yeF9NqvE
https://t.co/jEeXg06Q19 https://t.co/7ipl0Tg1TY
I'm not confidant those $1200 stimulus checks from the IRS will get to Americans when all their employees were just sent homehttps://t.co/CHoNEqBwkk
With the simultaneous global corporate bailouts, we very well might be witnessing the largest shift in power since the rise of the nation states in the 18 &amp; 19th centuries, to the emergence of the *autonomous* power of trans-national corporations.
Trumps emergency declaration is a failure of his administrations ability to do politics. To declare a state of emergency is to admit he has failed to get his ideas accomplished under normal political means. 1/3
Terrace House (@TH6TV), the only☨ reality TV worth watching, simply because they have a panel that does that the watching and commentary for the audience. It's the perfect postmodern TV show, in that it does the hard work of "watching" TV.☨ except The Bachelor https://t.co/fuhETrnKtT
· GOTCHA· "There is no such thing as ethical consumption under capitalism"· "well, according to Debords Society of the Spectacle…" https://t.co/bLOBsOeKGX
this is a positive tweet, for once this week.
It seems my side gig is breaking down cardboard boxes at my house
today announcement of a state of emergency, so far from being an aberration, increasingly becomes the normal condition of sovereignty: the state of exception becomes the rule. State sovereignty might be understood, then, as embodying an extra-legal dimension of violence.
HELLWORLD 2020, VOTE @cushbomb https://t.co/KPSSYGoYMa
Prediction: Trump will take the billions in fines from Facebooks FCC privacy violations and use it to build the wall https://t.co/sNXrCcMo7c #HellWorld
A great example of why browsing the web with NoScript creates a better experience, behold: @TechCrunch without Javascript is a clean and simple article, with 5 requests (468 KB in 0.465 secs). With JavaScript you get about 55 requests (5.34 MB in 1.8 secs) mostly ads &amp; trackers. https://t.co/jK0Se32eHD
The difference between a representative republic and democracy: the former is counting votes for and against a question a representative asked; the latter is collective action that confirms the ability of anyone to formulate the questions themselves, and respond accordingly.
Goodbye to a deal that shouldn't have ever happened 🖕. Boston should be ashamed. https://t.co/uycTcZ5Lgz
My 2¢ on JPM Coin: a cryptocurrency with only the distributed-ledger and without open mining and incentives is not a cryptocurrency. its just a distributed database.
👇 https://t.co/WDwMzzgRBz
the best thing about valentines day is no
Corporate entitlement at its worst https://t.co/9arJ3TYrLQ
Who wrote the better poem, the RTs decide on Twitter dot con https://t.co/rlSsQCSFBe
Jacques Rancière on the Gilets Jaunes Protests https://t.co/tveLUzYwrg
Morozov argues that Zuboff doesn't go far enough with her critique of surveillance-capitalism, and that it normalizes normally occurring capitalism https://t.co/Rx504TpHjH
Adam Curtis channeling Guy Debord: "All Watched Over By Machines of Loving Grace" part 3.https://t.co/yigb5zWNns https://t.co/0gzOfX0nbi
great friend of mine does some boots-on-the-ground reporting from Cuba: Is there a psychosomatic attack? seems very unlikely. https://t.co/f4nuJ7s19M
Poll time: I should...Continue my Society of the Spectacle readingsorIntegrate into the spectacle by watching Walking Dead episodes and twittering about it https://t.co/3yGkLu8MLh
when i see people on twitter talking about "$ in politics", i first think they're talking about jQuery.
You are not the sum total of every ad you've ever seen; but they'd like you to be.
Just because capitalism has improved the lives of many doesn't mean we're done with the human economic project for the rest of time, how else will we make the world better unless we critique the dominant ideas of our time.
Episode #127 ... Gilles Deleuze pt. 3 - Anti-Oedipus by Philosophize This!https://t.co/8IvPKIMBgq #nowplaying
Ember.js: The Documentary (Official Release) https://t.co/Dutrgx8y4E
Spam gem: "mystery science can burn 1lbs per day!"Doesn't science by it's nature, eliminate the mystery?
who here on twitter is also on mastodon, i need to seed my followers, send me your mastodon names @me
Germany rules that Facebook cannot combine data on users without their explicit consent, this hopefully helps to undermine their data collection practices https://t.co/DrT3g43R7o https://t.co/WOKt1NsvaJ
A previous startup i worked at held a pot luck dinner, one of us brought a "7 Layer Dip". Upon further investigation it was revealed that there were merely 6 layers. The company never got past its A-series round.
Like father like son https://t.co/dg5mQUDpJ4
Finally found black baby clothes https://t.co/ZBA3q6cYmt
i hate saying "this is cool", but this is cool https://t.co/DoijBPUMSa
If I were in Brooklyn I'd go to this https://t.co/SzMVNwxUWn
Yes: Wildcat Strike FTWplzKthxBye https://t.co/6IjrOaCu5E
Yo @TenderGreens is the first ⭐⭐⭐ Michelin chain restaurant.1) Prove me wrong2) Mark my word
20 years ago I was into an obscure Japanese manga about a cyborg lady fighter, now it's promoted mainstream @JohnImadNasr https://t.co/XFf3PLpPEK
Challenge accepted https://t.co/CNVAn5qMQF
How to Saturday morning https://t.co/ba1XkQTWwI
My spirit animal is a Ghost Apple https://t.co/jAtp0UKR44
The modern city is modeled on the cemetery; perfectly ordered and yet devoid of life.
my jam🎵 https://t.co/69T3AKZvQQ
We should all own a quick-entry coffin for every occasion:EarthquakeTornadoCar accidentShootingWhen your tweet gets no likes https://t.co/NMZPKvuGVV
i dont need much to get much done https://t.co/be4K80HzBP
THE AFFECTIVIST MANIFESTO https://t.co/VScPsSJarU
The key point during the #SOTU was hearing the elected individual say "America will never be a socialist country".1) You are our representative, so we tell you what type of government we will have2) People want social programs, not socialism
"executing babies after birth" is called murder, and its already illegal, and nobody wants to make that legal.
NOPE NOPE NOPE "school choice" is doublespeak for the privatization of our public schools #SOTU
thats a bold generalization to say the least. "there is nothing, anywhere in the world that can compete with America" #SOTU
RSS feeds were the original decimated reality.
February in New England and ppl out wearing tshirts while folks along the coast of California get their first snow in years.
airbnb, starbucks, mcdonalds has unified space, dissolving the differences between one society and the next, an extensive and intensive process of banalization that undermines both the quality and quantity of available places. https://t.co/nfCzxt3C1q https://t.co/KhRdexxpZn
babies are like email 1/n
cheers 👏👏👏 to @kaepora for suggesting that one immediate possibility to tackle surveillance capitalism at the root is to ban its output: targeted, personalized advertising. 2x cheers for doing it on TV https://t.co/lUv1w0rDd0
An understanding of cyclical time allows us to recognize the seasons, and therefore to prepare a harvest to get us through the hash winter. A society who becomes conscious of time on a grand scale can prepare for the return of fascism and oppression and prevent it.
if the media machine can turn Americans against immigrants, Venezuela, etc, just imagine what will happen when the media turns inwards against ourselves.
Playing with twitter API
Epic burn https://t.co/mZWPemYkZ5
with the emergence of the social platforms is a new market economy for products that predict and subtly change our behavior to align with the businesses that buy the analytical predictive products that the surveillance capitalists produce https://t.co/IXDCkThCZM https://t.co/s16iPoykJU
So my father in-law recommended I watch a @netflix show, "Trotsky". Fam, its real good. Its Russian 🇷🇺. My weekend just started &amp; ended. https://t.co/l5r2h5L8cU
Etsy is a minimalist hipster façade to AliExpress.
⚡️ Foxconn bails on Mount Pleasant Wisconsin, after being sold out by its leaders, and moving families from their homes.https://t.co/ZXXGeRMqzo
TL;DR Friedman writes a column where he says nothing, except for the ad copy he writes for the New York Times at the bottom 2 paragraphs 🤦‍♂️"Warning! Everything Is Going Deep: ‘The Age of Surveillance Capitalism’" https://t.co/ZoyZP0fuSP
me IRL watching all the facebook news the last 2 weeks https://t.co/tJ8Qgk7ymS
So Foxconn isn't building a factory in Wisconsin? I hope the locals are aware of that. Their lands were seized by eminent domain, and the lands bulldozed as far as the eye can see to clear way for a factory https://t.co/ER43z6fDO3 which https://t.co/4sEz6DvKXv
Back when Uber was doing funny-business with location data, @tim_cook threatened to boot them. Now he has booted @facebook https://t.co/PfrXwvoDZh Op delivers. https://t.co/FsY444ESDQ
I wrote my article "Against Facebook" because I though last year was a high-watermark for anti-facebook sentiment, but this wave hasn't crested yet #SurveillanceCapitalism https://t.co/38rtqXDCNG
I give him a year before his @alexstamos style exit https://t.co/BpjJ23TT7W
Facefucked: Facebook knowingly duped game-playing kids and their parents out of money https://t.co/uFXQPMYIco
a non-partisan (as much as possible) diary of events and various perspectives on the gilets jaunes https://t.co/dfhiFUjhOT
Sunday funday project, cleanup the household network equipment https://t.co/lLi6Oa7wHE
"Polar", a fun new pulp action film based on the comic starring Mads Mikkelsen https://t.co/fJCKHVlePT
fix surveillance capitalism &amp; get Universal Basic Income:1) Nationalize the ad networks2) Tax the sale of targeted advertisements in ad networks3) Pool these taxes into a UBI fund4) Pay the UBI to citizens who see targeted ads from the ad network5) ... 6) no profits!
"Risk", the 2016 documentary by Laura Poitras on @wikileaks, @Snowden, russian hacking the DNC is a great synopsis of the surveillance drama that has unfolded since 2010, leading up to the election of Trump https://t.co/NkDSXHQq8o https://t.co/oyzvnPnIDS
So twitter thinks I have 858 Likes, but then says I have "No likes". Go home @Twitter you're drunk. https://t.co/esNr50UQ4B
Dispatches - Inside facebook. Secrets of the social network. BBC Channel 4 https://t.co/O40weqXEry
wtf is he actually saying? https://t.co/lDaKOGYhUE
Tried to host a video call and give a code walkthrough with a 1yr old on my lap. The meeting ended promptly 3 minutes into it.Viscerally illustrated two things for me• Childcare is a full-attentiob job• I can't do two jobs at once
Pete Buttigieg suspended his campaign earlier this month. Remember that?
as Marx would say "the conditions are right"https://t.co/iC7sJzhFjW
But that sports are cancelled, I look forward to the sports sections of Twitter, newspapers and TV to start covering video games
Coronavirus is a fact, it doesn't matter where it came from, how it happened; what matters is how we care for those around us.
sunday funday: "Katamari Company" an open list of failing companies and the deep-pocketed monopolists who buy them up.let me know if you have any to add to the listhttps://t.co/DhkGEg3su4
Amazing conversation tonight about one of my favorite topics with @shoshanazuboff at @HarvardBooks on her new book "The Age of Surveillance Capitalism". I've been itching to dig into this absolute unit (2.08lbs/947g) for a long time. It'll establish a new area of study. https://t.co/ksCUasblF3
https://t.co/OXARvGRd5a
my jam 🎵 Caroline K was an amazing ambient drone artist who was 30 years ahead of her time, originally out in 1985, the album was rediscovered and reissued in 2016 to far more acclaim. Sadly she passed away in 2008 https://t.co/9GpikHD9i4
trickle down economics is just welfare for the super rich.
my jam 🎵 https://t.co/C2cwVx4WKE
Placed my bets: the FAA / TSA / IRS walkouts and absenteeism due to the government shutdown will result in right-wing efforts to privatize these sectors of government.
I've long advocated for tax boycotts as a way to protest wars abroad, but never thought the IRS would boycott itself https://t.co/v2jlhWPjat
The border wall is the contradiction at the heart of American identity: are we an open frontier or a closed off fortress?
Remember: a border wall for stopping immigration today will be the prison wall to stop emigration tomorrow.
Remember that a border wall to stop immigrants today will be the prison wall that stops our emigration tomorrow.
someone asked me how i manage to read so many books every year, i have 2 tips:1) have a dishwasher2) presort items going into the dishwasher basket: fork slot, knives slot, spoons slot, absinthe spoon. Saves time when its time to put stuff away. https://t.co/nM7VCfYEhb
a list of terms censored by the LINE chat messaging app https://t.co/ytfcm183CL
US diplomatic cables reveal a history of coordinated assault against Latin America’s left-wing governments, Venezuela is the same https://t.co/2dwANsHvgn
If you know the history of US undermining of democracy in South America, you probably have the same feeling I do: they're doing it again https://t.co/BBn6Irby8L
One of the benefits of a government shutdown is the surveillance mercenaries are leaving the burning dumpsterfire https://t.co/qsf8w8Ij2L
great to see actor of one of my favorite films of all time, "Withnail and I" get his dues @qtychr @drdaiba https://t.co/KwpYYwTYWO
my jam 🎵 https://t.co/rSPzbyRFh1
about a million reasons why not to vote for Kamala Harris. https://t.co/BI3jMhhsY2
Comfort is the true opiod.
We live in a time of material abundance and relative affluence and yet under artificial impoverishment because we always feel a need to BUY MORE
Say hi to me if you'll be at @EmberConf 2019, i'll be there.
identity consumerism: when people make buying decisions based on the interests and perspectives of social groups with which people identify. https://t.co/Cwa1meBmGv
Layering is important when you're doing outdoor activities. 0.5 layers isn't enough layers. https://t.co/kDonw2KP5f
With Brexit, it's never been a better time to be Irish.
i have to give a best mans speech at a wedding, what fun topics should I cover?
I just realized realized that Adam Back (@adam3us) is a #crypto charcter played by actor Richard Schiff #bitcoin https://t.co/WbtULoiYha https://t.co/lXGUkn0oeh
I want my headstone to read: MADE IN CHINA
Big fan of the Pro Composite Toyota 86. Subtly done, race inspired parts in carbon. Especially the carbon fender extenders, bigger tires without overfenders that literally every 86 has, ever. https://t.co/0NhP7edKlN https://t.co/gN627AbP9s
a deep dive into moonshining, from building a cabin in the woods, assembling a moonshine still,and then distilling the transparent gold. a true work of real cultural heritage https://t.co/kfvuKnd7Eq @b_apothecary and @KingsCoWhiskey would love this documentary
go home @aicfound you're drunk (targeting the wrong person) https://t.co/oLHZwnylxy
Microsoft must not have had any window to the outside world, because only they couldn't see Nokia was a dumpster fire. https://t.co/IRe6dyR8cl
Microsoft buying Nokia was like someone happily buying a sinking ship. https://t.co/4ds11mXVDv
the trials of midnight snacking with @TatesBakeShop https://t.co/g5EJtvp5dk
I always LOVED the theme song. I'm so pumped https://t.co/pZYiYZ75E8
TIL The content on product detail pages on Amazon aren't "owned" by the manufacturer or Amazon itself. Product title, photos, product bullets, etc are edited, maintained and set by the "buy box winner". What you see in the search is determined by whoever won 1/n https://t.co/WhUE7gez1A
Toaster oven &gt; toaster, fight me
The former article covers the dangers of the overwhelming dominance of Amazon as a retailer, is like an appetizer for the latter piece, a complete analysis and critique for understanding their monopoly on the entire market economy https://t.co/JbwZM0CL5j https://t.co/uEFnEYBGXJ
A sci-fi movie where the main character can go back in time, and the only thing they can change is what they Liked on Facebook and Twitter.
journalism &gt;≠ newsjournalism is evidence-based and has the benefit of the perspective of time. It takes weeks, months or years to produce; it stays with you.news is produced on a minute or hourly cadence, includes little evidence and lacks perspective; goes stale immediately
2nd night of my baby not sleeping, he smiles at me and https://t.co/Jp8Jx7UIBu
The Collapse of Meaning in a Post-Truth World https://t.co/CaHMDlhdYf
#LifeHack avoid expensive Gillette razors as well as "shave clubs", use an electric razor 99% of the time, and use the cheap plastic disposable ones when you need a close shave. I can get 5 shaves out of a disposable one, so 5 or 6 razors gets me through a year.
Stop grammar-shaming people on the internet, its not there fault
infosec peeps, is there a HaveIBeenPwned but for social security numbers? @troyhunt #infosec
One of my favorite local restaurants, City Girl Cafe announced they're ceasing dinner service in February, shifting to focus on weekend brunch only, catering and hosting private events 😢
The Year of Linux on the Desktop" never happened, only it was that the desktop metaphor became obsolete with the smartphone, but the majority of smartphones run Linux 🤷‍♂️ https://t.co/1sc1sVjKm3
a video in article by @ggreenwald where Israel forces demolish an apartment building in Palestine was deleted/censored, the "ugly to watch" one in the following article. Any mirrors for it? https://t.co/03Q2B91bhV
PSA: Both AKIRA and Blade Runner were set in 2019.
Lol British https://t.co/JFOftQL2W0
Hellworld https://t.co/T8WkSjLK69
The single biggest equalizer of labor in European history was the Black Death.
Ever notice that Retweet is often abbreviated as "RT", and then realize that RT stands for Russia Today 😳
imagine being the fool who sent a DMCA takedown to @doctorow
The 2020 Toyota Supra Is Finally Here With 335 HP, 6 HP less than the 2019 Subaru STI S2009 https://t.co/DpnCkQ5MKM
looks pretty great https://t.co/lreb1ioJaP
I think i want a Honda S2000 with a K24 swap.
This is what a factory works Honda NSX would've been https://t.co/vXM9hZWIwW absolutely perfect 👌
great example of off-throttle oversteer https://t.co/ODNwa8aKT3
If we lived in a democracy we could vote on the border wall and solve this standoff like rational people.
a Honda Civic EF that is, in my book, near perfect. Modest, stripped, tasteful, and performant https://t.co/InyRACvuUT https://t.co/CQfamPMn6r
Trump supporters are folks who watched Gladiator (2000) and thought Commodus was a cool emperor.
Hackers consider organizations with poorly paid (or unpaid) security-cleared workers a "target rich environment".
★★★★☆Love (2015) a beautiful, emotional film about sentimentality of... love, by Gaspar Noé. erotic film in 3d. https://t.co/Of3z2dzd7v
The big misunderstanding about Love is that it isn't something "found" and once found, kept. Its something continually created by people. Its a process, not a commodity.
Face It, You Just Don’t Care About the News Anymore https://t.co/Kf28wq8WPn https://t.co/bmmbVNvoeX
You know they can just print more money, right? Hence the name 'fiat'— they can just declare there is more, and it's printed. https://t.co/6aPsXLISkh
the worst part of #TrumpAddress was how he simplified it into a black/white, right/wrong issue. It was his "You're either with us or against us" moment
this thread is useful to understand prior to Trumps speech tonight https://t.co/459UyftncT
Government shutdown is turning prison guards into Uber drivers. Prediction: Uber sees assaults by Uber drivers go way up.
There sure are a lot of articles empathizing with how TSA and prison guards aren't getting paid because of the shutdown. It's not a bug it's a feature.
Great job to Mr. Bale on his award, and cool to see actors starting to thank the Dark Lord, but I think he was referring to Dick Cheney and not the O.G. IRL Satan. https://t.co/w3L7ptxylI
[peaceful music playing]
Nailed it. We've replaced jobs with self-service UIs. https://t.co/992CCrk7Rl
This guy fucks https://t.co/JNd8KsTTJj
How Millennials Became The Burnout Generation https://t.co/7K9kJaQA0l
Prediction: Marie Kondo is taking all the stuff people discard on her @netflix special and bringing it home to her horrific hoarders lair. It'll be the biggest scandal of 2019.
The irony is, the TSA can legally not pay employees, but employees are not allowed to strike. Asymmetrical power imbalance here https://t.co/bGjnkkPH2h
👏👏👏 this should obviously continue until NONE of the TSA shows up, ever, forever. https://t.co/pv8WTuUVEY
Whoever got my infant the Guantanamo prison orange onsies, we're truly grateful, he loves wearing them with the black head coverings!
If couldn't finish it, get rid of it. If you loved it, gift it to a friend. If you'll reread it, keep it. If you'll reference it, keep it forever.re: ⚡️ “Marie Kondo's advice on getting rid of books sparks a debate”https://t.co/kJEChtwa39
Breast milk &amp; coffee, time for the mid-morning feed. https://t.co/xrLrtY2Fgw
the German government was most certainly hacked, i've seen the leaks, and yet @Reuters is severely confused about it https://t.co/tejAdzpVhT
I Used to Write for Sports Illustrated. Now I Deliver Packages for Amazon. https://t.co/thnLzxn4ol
bad opsec. dirty at the very least. https://t.co/stXXNnc5E8
so apparently 1" threaded bike track fork with disc brake posts is non existent.
as an infosec pro, my advice is: save your time, set up 2FA on the only social network that matters, @untappd.
new year, new bike project in the works. Going to freshen up the 10 year old fixie Fuji Track w/ new paint job, new wheels, new parts, its gonna be 💣
If all my friends were jumping off a bridge, it's *because* I did it first.
This is my favorite of the @le_keksec hacked billboard ads https://t.co/Jke01MT2j3
Knight of Cups (2015) ★★★★★ Each film by Terrence Malick is a deeper iteration in his search to find meaning in the human condition. Of course there is no conclusive "truth" to be found, but the sublime achievement of each film is that it manages to find something. https://t.co/PlQlcjZPGq
If you are lost, use the light in the eyes of others to find your way.
Amazing thread about local Boston boy @agrabau rides his rad bmx bike into a top secret facility to uncover the dark secrets within and how he discovered himself in the process https://t.co/lMcZx28IL2
Good news Sunday https://t.co/7xaGT6Hka0
Sad to hear of the death of Michael McKinnell, the architect of Bostons brutalist City Hall has died of complications from COVID-19.
Massachusetts Gov. Charlie Baker and Lt. Gov. Karyn Polito introduced a bill on March 24 that would allow bars and restaurants to sell beer and wine with delivery and takeout orders during the ongoing shutdown. So theres that.
i saw March trending and thought this month was over.I hope the #hellworld continues. https://t.co/JoTQh8CkUG
Pasta BologneseOn the topic of "how much grated parmigiana cheese should i add". The heuristic is always add enough until you can no longer observe the subject. Too much, not enough? Just right? @qtychr https://t.co/QC4GsvTFv0
So @united is now aware of my plans to nationalize them.https://t.co/wupSW5uQCM
I didn't count down the new year because I was literally changing a shit ass diaper.
Called it. I voted for her as senator and love what she's done there, but I'm not into her foreign policy or pro war vibes https://t.co/7wi4GujV0k
Gift baskets are just trash in a basket and wrapped in cellophane.
The fam, aka the Heaven Hill family https://t.co/RxryECARZG
Home Goods is my personal version of hell
Fascism is a cult of the archaic completely fitted out by modern technology.
just finished "Islands in the Net" by Bruce Sterling, he makes some interesting predictions that have come true:Autonomous electric vehicles, attack drones, augmented reality glasses, failed African states, Climate change and its impact on populations, corporate warfare 1/ https://t.co/VDrgmS2yQo
Interesting hot take https://t.co/eWMQAj2nrv
The way the Trump administration works is that he surrounds himself with followers who are equally part zealot and part profiteer.
All the badge engineering on the Subaru BRZ makes craigslist search terms ridiculous: "(Subaru | Scion | Toyota) and (FR-S | BRZ | 86)"
This is a simple minded take on content. The real content Kjellberg is promoting is the ads alongside his filler content. https://t.co/UGFdWuBRGr https://t.co/OjC9Q3eGYI
How Facebook has been deputized by various friendly governments to be the defacto censor of speech https://t.co/RT3eSZCXH8
The most pernicious aspect of Facebook censorship of speech is how it privileges any governments existing laws on speech in order to protect themselves from being banned. By placing themselves first, they institutionalize silencing voices of the oppressed https://t.co/Mashw03lW2
Most television, radio, journalism is supposed subsidized by ads, and the content is largely filler for the REAL content of the media: the ADS themself. https://t.co/5Dlt5EeGv5
Direct democracy by lot is preferable to elections and representation https://t.co/bQyqAEs04I
Nectar Lull Puffy Casper Purple Leesa Ghostbed Loom Leaf Helix Tuft &amp; Needle, anyone else recognize these nearly identical mattress brands selling literally the same product? They're made in the same factory. Only the name and Instagram account advertising them are different.
I got my baby some anarchist literature for the holiday season. reading, the gift that keeps on giving 🌈👶🏴📚 https://t.co/qfO4o3P5bg
Nope, doesn't seem strange at all 🤔 https://t.co/Gkzd9qg8Cc
This thread https://t.co/amyMtI02Zu
toy poodle fun at the park https://t.co/dv3BthiO9M
Fun project today, cleaning my 1999 Pioneer VSX-24TX A/V receiver, its a direct energy MOSFET amplifier w/ 90 watts per channel (20 Hz to 20 kHz, @ 8 ohm, 0.09% THD). I've had it since my first year at uni and its served me so well https://t.co/CQ0bTAP3uz
Human breast milk seems like Soylent, for babies.
On Google+, nobody can hear you scream
Motherfuckers I made french toast with fresh baked french bread and it's great good morning https://t.co/29DBLmcmOq
This is a park at the horrific future of public education. The school board has just sold the public education system for pennies on the dollar for a system that will produce worse results. This is theft of a public good for short-term profits. https://t.co/PE12ZUPJ9d
It's surprisingly hard to find gender neutral baby clothes in all black.
Government shutdown are always good for crypto
👏👏👏👏 https://t.co/eRUdPcasgq
placed my bets, dems will cave. dems are just republicans using bigger words.
Shit is getting real when the MSM is posting stuff like this https://t.co/OTmA63YQy0 time to take their advice (for once)
⭑⭑⭑⭑⭑ for Roma (2018), Alfonso Cuarón has the unique ability to completely capture a place and time and its people like no other. 👏👏👏, pure cinematic perfection. https://t.co/jRvTuZyPmE
Our smartphones, Amazon Alexa, Google Home devices are passively collecting intimate details of our lives, details we no longer have control of. We don't know what can go wrong when (not if) that information eventually leaks out https://t.co/Xpg1HU1b9A dont let them in your lives
I've been a huge fan of @Pocket for reading and collecting articles offline, without clutter. Its also great for building reference lists, but their text-to-speech feature is the killer app. Here's how much I read this year: https://t.co/zphHWyc5VW #MyYearInPocket https://t.co/Ti83xxHjW1
Didja quit yet? https://t.co/X29wTT6FOP
Hey twitter dot com, my partner and I tweeted out a baby this morning🎉 https://t.co/US7TdOEsTn
From Arizona to Yemen: The Journey of an American Bomb. https://t.co/uj9hvMMC5E
The process of baby making is like software development, but whereas both men and women can write the software, but only the women are in charge of the deployments.
FREE THE CHEESE, RELEASE THE CHEESE! THE PEOPLE WANT CHEESE! https://t.co/5ZRhEAMP1f
the original architects of the internet were academics operating in the academy, where research is open and peer reviewed. They designed it such that information would route around any disruptions. Its' design follows Conway's Law... 1/2
Interested in how the neoliberals from the University of Chicago (notably where @AjitPaiFCC went to school) deregulated TV, #NetNeutrality and the origins of the internet, and the founding of Apple, this is a wonderful summary https://t.co/PXIbHhnBMM by @richardbarbrook
Another amazing lecture by @richardbarbrook covering the history of the shift of the Old Left to the New Left through the civil rights movement to the emergence of the electronic agora, with references to Baudrillard, Guattari, Deleuze, Foucault https://t.co/mfIV4JU8Dz
Sick at home today, so i just binge-watched 10 amazing hours of lectures by @richardbarbrook on the history of media freedoms. If only I was paid to take these university classes. This one is on Marshall McLuhan https://t.co/jubvfj4iXP
Gutenberg, Braudel, Wallerstein, Mcluhan @richardbarbrook skims the Greatest Hits of the last 600 years of media history 😘 https://t.co/rHeqPlNnVH
In 1962, @GM controlled more than half the U.S. auto market; its share has now plummeted to 17 percent. Great job? Hardly with record profits and massive layoffs, remember we bailed them out with $51B? https://t.co/LKwjAhSqof
"Western Civilization" was a nice idea, but when we're killing 7-yr olds, it obviously doesn't work in practice.
"Oaxaca-Grimstad Old Fashioned" for scale as compared to a pregnant person, as described in https://t.co/4T0V6rGWjx https://t.co/Yz6UEfSSbk
"Oaxaca-Grimstad Old Fashioned"1.5oz Aquavit (Høvding)0.5oz Mezcal4 dash Angostura bittersOrange rindStir with ice &amp; strain
have you #DeleteFacebook yet? If not, why? https://t.co/e0ZTNyPZyc
Great take by @davidgraeber on how horizontal movements from Gilets Jaunes to Occupy are derided by the media and power as identity politics or anti-ideological; but these are manifestations of the new politics of the Multitude https://t.co/HaVqCMD7ks
music that is good is emotion. words can be emotions but are often hidden by its symbols.
my jam 🎵 https://t.co/sCxdsOEtJu
This was literally me https://t.co/d6ItvK2xve
This went under the radar: Firefox 65 started supporting the .webp image format.
the coverage around the French Gilets Jaunes #YellowVests protests use the word "violence" to describe property destruction, and yet dont use the same word to describe the use of physical violence of the police against the people
found a bunch of CD-Rs and DVDrs with old photos on them and need to copy them to modern backup, step 1) find a CD/DVD drive that works or an old laptop.
Representational government fails when the politicians refuse to even listen to constituents. A new politics is one where we are not lead by "leadership" but by our acts for a common good. https://t.co/Y2Nbaf81la https://t.co/o95DCEms3X
cache invalidation, naming things #seducemein4words
FWIW i want this song played immediately after my partner gives my eulogy https://t.co/SzKl8hUDyd
For government to be more egalitarian, it should be less representation and more open source, a society who's source code is revealed such that given enough eyes, all problems are shallow and we each are empowered to create better social programs.
1 story point always maps to how long it takes to eat a Thanksgiving dinner
No anti-encryption law will ever thwart criminals and terrorists, but it absolutely will make make citizens less secure from government, criminals and terrorists. https://t.co/muGGTJDZkl
at first i discounted USB-C, but over the course of a month i've eliminated multiple days of frustration. https://t.co/4HP6K0Ovb6
War begins when we cross borders armed with weapons, Progress is when we cross borders unarmed, and commerce is when we cross borders with weapons and without.
A review of Opus by Satoshi Kon https://t.co/LtFsjck94Y
"There’s No Such Thing as a Free Watch" the strange world of dropshipping, instagram selling, stock photos, cheap goods and hipster capitalism. https://t.co/JmcdsSZ0AM
pigs. https://t.co/BehRLaNVrH
how sad am I that i missed the @MRGOLDIE show in Cambridge last night.
Pi-hole is the ad blocker at the DNS level that is proof God loves us
I always hated the CITGO sign, a sign of fossil fuel nostalgia https://t.co/wH9kfTbEfi, a modest proposal https://t.co/oxGNMK8PI3
If I learned one thing from @mikeduncan about Roman history it's this: always pay your soldiers or Rome will fall https://t.co/ifW2RdfSJA
Bitcoin is at a all year low.Its never been a better time (this year) to buy bitcoin. https://t.co/426j4SzJUL
Voting increasingly seems like an obligation to choose an unwanted candidate, the lesser of two evils, too misrepresent (some) of us for two, four or six years while we sleep; and yet we feel like we're taking action when in fact this representation separates us from power.
Wealthy oligarchs love to give each other awards when they make each other richer https://t.co/BlfO9ooSp6
This is how he "brings back the good American jobs" https://t.co/H8bBlsgeln
Dogs burying things is the reason archeologists have jobs
My boy @jtpaasch is an artist and my muse, he drew this "so that you can be inspired". Shit worked https://t.co/Y4f98OPd9U
my jam 🎵 https://t.co/tFCNPGcU04 an amazing homage to oldschool drum n bass
Which party do I vote for that is against bailouts for corporations and will nationalise failed (but essential) companies?
The Republicans have become so afraid of people not working they they've actually lapped Democrats by pushing for payments to get them back into the workforce.
App idea: "toilet paper" app that shows some toilet paper on the screen, then you just wipe your ass with the phone.
This is why #Bitcoin exists. https://t.co/CkG6tADZpd
Takeaway: Those who live in Central Park have the lowest infection rates. https://t.co/kZU7IDqiGN
Remember when Australia was on fire?
Trump is bringing those Good American Jobs™ back to the USA!...SIKE! https://t.co/cnCYiTp5MG
DEATH CULT https://t.co/SumwHaRx9Q
Do you remember when you joined Twitter? I do! #MyTwitterAnniversary https://t.co/zqrs9TTH94
The cookie button is broken. Chrome used to allow whitelisting &amp; opt-in to certain 3rd-party cookies to allow sites that required them. Now "Allow" button isn't enabled. The "fix" is to disable blocking of ALL 3rd-party cookies? That choice undermines privacy. @googlechrome https://t.co/C7VldSYR1o
After many years, i finally completed a GoodReads challenge, 19/19 books in 2018 https://t.co/M4FIyBbyWR https://t.co/aWMnmsczMO
My jam 🎵 Ha-Madi by Sourakata Koité https://t.co/DJT62n5kY0 #NowPlaying
Dear God, please keep #FacebookDown forever. In the meantime, read all the reasons you should quit https://t.co/lobeRTGJ8l
Comparative movie night: Ghost in the Shell (1995) alongside Ghost in the Shell (2017) https://t.co/VDw9NzFhpt
Time to begin hacking https://t.co/1AEcsXWNFc
stunning video of how massive wind turbine blades are transported to their remote install locations https://t.co/3iUCsTsW9Y
&lt;Title fades in&gt; San Francisco&lt;Narrator voice&gt; "IN THE YEAR 2018" https://t.co/wdr9E4AQzL
Nike brick and mortar store, lets you shop online, pickup IRL but at the expense of your privacy https://t.co/ojFWiGwmxg https://t.co/iACVcLNSYZ
More like "Saudi Barbaria"⚡️ “Saudi Arabia admits Khashoggi was killed and dismembered in the consulate”https://t.co/SA7wxi3umi
👏👏👏 https://t.co/OsWGvWkU5k
This is my jam 🎶 https://t.co/aREsrwOQYx
Suspiria (2018) 🌟🌟🌟🌟🌟 10/10 👌👍👏👏👏
This makes me wish I had been a lawyer rather than a developer. You get to defend the dark lord. https://t.co/LUCSe4XVmK
Dwayne Rocke (formerly at Ball &amp; Buck) is killin' it at Skip's Barbershop in the South End. If y'all need a legit haircut, he's your dude https://t.co/NNfVuEDxni
nice save by the tan Chevy Malibu behind the truck https://t.co/PwiBvtJaZI
Tonight on Top Chef: two leading contenders battle to win the Neoliberal cooking challenge, tonights secret ingredient: Planet Earth. Who will win, who will lose? Spoiler: the viewers lose
Achievement Unlocked #Hacktoberfest2018 https://t.co/uWmiZulFzd
New Hampshire voters have approved amending the state Constitution to establish a new right to privacy in the information age.The amendment will create a right to "live free from governmental intrusion in private or personal information."
Massachusetts got Yes on a commission to investigate corruption by money in elections and Yes to prevent discrimination on the basis of gender identity 🎉
&lt;narrator voice&gt; They weren't. https://t.co/9ON4cg4eCL
actually good live coverage https://t.co/knejOuWFxg
TIL Donkey Kong and King Kong aren't biologically related.
My partner asks why I never cried in front of her, but she's just never watched Hotaru no Haka (火垂るの墓) with me 😭 https://t.co/KCIrtpN5rk
One day I'll ride my bike home from work and it won't be a dystopian Blade Runner-esque cold raining hellscape 🚴🌃🌧️😭
Who's going with me to see Susperia? https://t.co/7JvJgl4jNK
Companies making great open source contributions are like celebrity bakers. They publish their recipes openly, but they run the bakery to make their products reality. @flourbakerycafe is a great example.
New job, new perspectives https://t.co/eOoqWQBxeD
Two years ago today I was hiking in Lauterbrunnen Switzerland https://t.co/4fkBBl2p3p
Buttoning up my duvet cover
Duvet covers have a set of button closures and yet pillow cases don't 🤔
The shooting at the Tree of Life Synagogue was a fear-based reaction to Trump's rhetoric of the dangers of the migrant caravan heading to U.S. borders. The fear isn't based on migrants bringing violence or stealing jobs, but of them bringing hopes and ideas of freedom…
The "political divide" the U.S. and other nations are feeling in recent years isn't a result of a bifurcation of political ideology but the entry of the rural peasantry into politics and discourse, facilitated by the internet.
Wait, what! Seriously? what year is it again, 1999? @evernote are you kidding? https://t.co/uNNU9KzBGD
First hike in winter conditions yesterday. Unemployment had been very nice indeed. https://t.co/R91TAOw6Nn
Free Solo is the best Halloween thriller I've ever seen where (spoiler!) nobody dies, gladly. Epic cinematography, gripping social documentary. https://t.co/xMATBQ757X
When we say we want a world in which race and gender do not matter, we are saying we want a world where they do not determine hierarchies of power, a world where differences express themselves freely. #YesOn3
Train to Busan is the prequel to Snowpiercer
👏👏👏👏 https://t.co/rdoTnbprSE
/* sums args, chained. */function sum(){ let args = https://t.co/9seqwDv8ff(arguments.length ? arguments : [0]); let acc = args.reduce((acc, i) =&gt; acc += i); let f = sum.bind( null, acc ); f.valueOf = () =&gt; acc; return f;}sum(1,2,3)(4,5)(6) == 21 // true
'We're moving to higher ground': America's era of climate mass migration is here https://t.co/aP8M7iC2aV #slowapocalypsemovement
This is religion https://t.co/OtaZ2vi9q0
system-font-i18n v1.1.0 has been released 🎉 with support for the new CSSWG `system-ui` font face https://t.co/EEZWx9Aqi6. Get a modern native system font stack with consistent multi-lingual typesetting!
Happy #Hacktoberfest! I've completed 6 Pull Requests for https://t.co/SdD18dZiKa
Remember if you do surveillance to your own home, chances are it's not only you who has access to that data https://t.co/6aJeOVUJeO
The retail paradigm is now online https://t.co/Bgz5JDwGz5
If the cheese ain't from Parma, it ain't Parmigiano. If the crypto ain't sha256 it ain't Satoshis true vision.
The Next Great (Digital) Extinction https://t.co/c0cc749GoP
If I could travel back in time, I'd visit Sam Adams in 1765 and hand him a @LamplighterBrew NE IPA (Major Tom) and be like "yo dude, this is some new new hotness from 253 years in the future" and watch his face light up when that tropical fruit hoppyness blow off his face.
today was a productive day of unincentivized unrestrained coding
Google+ has been a ghost town and security liability since its failure in 2011. Its' de-staffing in 2014 nailed the coffin https://t.co/2zHYupw6Sk and a breach pours on the dirt https://t.co/h4D7A5rZnM
My job is the wheelbarrow guy to help make internet https://t.co/PW9HYYAoHs
VS Code Live Sharing extension is mind blowing. Like shared editing in Google Docs, but with debugging, port forwarding and the entire stack available to all in the shared space. my god
This is what @b_apothecary is doing to himself https://t.co/PYsxdQQNjA
Facebook lost their street cred long before https://t.co/pqLYNSIluk
Its that time of year again! #Hacktoberfest https://t.co/cav9g53QUU
Was Hocus Pocus (1993) based on a true story? Asking for a friend.
If @Google wants to pay me only $1 million dollars, I'll make Google my default search engine too! https://t.co/0UZdsX9yvU
Startups are an experiment in risk, and sometimes they fail, these failures are useful data points for future work. That's said, I'm looking for new opportunities. Let's anyone know who needs a full stack web app developer who is really into Ember, Elixir and crypto.
going offline until █ ███ ████ █ ████ ██ ████.
Behind every bestselling book is a movie that made it a best seller
I'm still the only person who has Bonzi Buddy installed
i still remember my ICQ number......ICQ is still a thing.....i dont use it.
TFW you're retweeting Teen Vogue about anarchism https://t.co/V6zN44E2HH
cops can use any excuse to come into your house and assassinate you. "Whoops, i thought it was my house". https://t.co/EnAfF7GBin
Normal people see a @Jeep door handle, I've always seen Boba Fetts Mandalorian skull logo. Whats wrong with me AMA https://t.co/XiRPivzfsU
&lt;this week&gt; "Southern Japan hit by hurricane"&lt;now&gt; "Northern Japan hit by earthquake"&lt;soon&gt; "Central Japan hit by all the things"
With @AyannaPressley taking MA-7, lets abolish ICE!
OH MY GOD a @BBDoughnuts has opened in Cambridge at Harvard's new Smith Campus Center, now I never have to visit Boston ever again. Neat brutalist architecture too! https://t.co/rG3I4uSyAd
A CHALLENGER APPEARS https://t.co/mYOkPfeU6c
I get why democrats in MA are intrigued by @AyannaPressley vs @mikecapuano, but her refusal to discuss her stance on international issues like BDS and interventionist foreign policy is concerning. Mike has routinely voted against NDAA. https://t.co/oRA0shUmLO https://t.co/t4dXnhIAJJ
whoa, japans getting ripped by typhoon #jebi https://t.co/IX2l9viAF1
Google AMP, the Vampire Squid of the web https://t.co/lT8wT35FAC
Labor day is about eating until you can't feel the heat anymore https://t.co/8G3NjOsoGs
my brand https://t.co/17ppD7280S
Werner Herzog's documentary "Cave of Forgotten Dreams" used drones to film various landscape shots far before it was commonplace. https://t.co/gShalIYh8G
To all the posers, this is what a real anarchist does https://t.co/MQBDnFQ8VH
immigrants are cool
TFW muffin leaves you https://t.co/wRBi2nVilF
twetter dot calm gold. Come for the infosec ppl, stay for the shit they pull out of their parents basements from their goth teenage days https://t.co/YGCsUUEfhS
License to skip the gym all weekend and read Deleuze &amp; Guattari, Debord all weekend and drink @LamplighterBrew all weekend https://t.co/lQtupZMkKO
yeah sex is really great but have you seen my Bitcoin slide deck?
"The Untold Story of NotPetya, the Most Devastating Cyberattack in History" https://t.co/TsJxsyRrMZHotTake: Maersk lost 250-300mil, but knock-on effects included 870mil loss by Merck and 400mil by TNT Express. Yet nobody held accountable. @qtychr @agrabau
Why Technology Favors Tyranny https://t.co/8Eryv64yCM
this beer is delicious and relevant to move-in week here in boston https://t.co/Itv2t6Qz0N
Imagine living in a bubble where "#BigData" is still a relevant buzzword, the Cambridge Analytica scandal never happened and "Surveillance Capitalism" by @shoshanazuboff hadn't been published. 👇 https://t.co/hNwJysQXvC
Shout-out to my washer/dryer who works the longest hours in my family. U started at 6am today, it's 11:21 and your still pulling hours after working all day.
The radical Leftist theory is that both parties are 100% captured by corporate interests and there is a third (and most) viable state-supported stimulus, namely NATIONALIZATION that neither party is even mentioning. Both parties only talk about the style of the bailout. https://t.co/dtOO5krTxs
https://t.co/MOzSLcp7Xl
my hobby⚡️ “what kinda dog is it?”https://t.co/z3KbCmiMzZ
Primera parte de nuestra traducción de "Against Facebook" Las redes sociales cooptaron y comodificaron nuestras relaciones, nos castran creativamente y vulneran nuestras democracias. ¿Acaso no hay alternativa? https://t.co/tlNz5BvZSg
my hobby https://t.co/SFI81K5mp6 https://t.co/b7DZAsWmny
SEND HELP I killed the last few ounces of my last bottles of bourbon: a 1.5L bottle of @EvanWilliamsUSA and a 750ml bottle of @KingsCoWhiskey both kicked tonight.this may be my final tweet.
Sometimes twitter dot calm is soo good I feel bad some people aren't on it https://t.co/Th498i27SG https://t.co/ug1IR5ptSs
my jam 🎶 with an amazing video visualization https://t.co/VRkM00D6J0
"mother!" is a film about an interior decorator who inadvertently hosts a house party of biblical proportions.
my brand https://t.co/qCCVpwp6Dz
Just watched "mother!". Genius. Mindfuck, but wow.
If a country prevents it's own people from leaving, it's a signal https://t.co/Udb2KyQMVs
my familiar just told me to retweet this because "it's my brand" https://t.co/6KEvn9b57c
I went to the World's Fair in 1910, it was my first time seeing a mechanical carousel, back in my day they were real horsies on Ye Old Horseabout. That was when I realized that automation would herald the collapse of capitalism.
Ireland, Boston, Pennsylvania, Chile, France, Australia. The catholic church has a hierarchy designed to subjugate people through indoctrination, then victimize children, and finally shield these terrorists from justice https://t.co/ASG6fqVGZT
Congratulations 🎉, you've reached peak consumerism! You successfully turned your house into a museum store! This isn't even its final form! https://t.co/8otnM974eo
Up until the collapse of Russia in 1991, capitalist society had a false international unity in opposition to socialism. The collapse gradually revealed this unity as illusory.
The catholic church is the worlds oldest, largest and most wealthy terrorist organization.
Catholicism is 🤔🤦 https://t.co/Cy9efiIRsp
This is what Power looks like https://t.co/5gt6WggoTQ
Anyone know any NE Brewers who make anything like a triple IPA (like Pliny the Younger)? @LamplighterBrew @trilliumbrewing @TreeHouseBrewCo
2 guys hike &amp; boat across Alaska via the Brooks Range, learn important life lessons https://t.co/09z5C83P3R https://t.co/lPdyWufZrh
Petting a dogo https://t.co/lmIRWEuk19
He is right 🤣 https://t.co/PkeOjBlrFJ
People love to point to fraud when discussing Bitcoin, like it is something baked into the currency. They often neglect how much fraud is done with USD https://t.co/8JKSCyqFFa I love that this comparison is to the federal government, as if it wasn't a criminal organization. https://t.co/LzQXRh0teH
computer &amp; internet
If I had to live this exact life all over again, forced to make the same decisions over again, I still would've given this tweet away for free to the good folks at Twitter dot calm
recently when ppl say hi IRL, i've been replying "new phone, who dis?"
Not surprised to see @1369coffeehouse snitching on protesters. “They quickly formed an anarcho-syndicalist commune, and voted on ways to protest the lack of pumpkin spice.” https://t.co/eGOTJWnOUE 😉 https://t.co/7M1mU7ugS3
Thread for architecture fans and @agrabau https://t.co/9DRp0hslpj
I never realized how malty Racer 5 IPA was until I'm deep into a NEIPA binge and taste test it side by side by Treehouse Julius. It's amazing
https://t.co/O40weqXEry
This performance gives me goosebumps like whoa, amazing https://t.co/Rvdya0lxpU
&lt;Edward Norton voice&gt; "On a long enough timeline the value for fiat currency drops to zero" https://t.co/od8vNbfTvh
witchcraft #TuesdayThoughts
https://t.co/kwHY9l1Y46
The most horrifying thing about the King James Bible was that they triggered 100 years of institutionalized murder of marginalized people labeled as "witches"
The strength of the hyphen between the nation-state isn't as sturdy as it once was.
but we already have endless war?WAIT why are we fighting in Afghanistan again? i literally have no idea why.real question, when soldiers go to fight in Afgh, do they know why? Whats keeps them motivated, lets them sleep at night? Oh right, they don't sleep because of PTSD. https://t.co/5ZIW6fsthC
pretty cool https://t.co/QENQXpA9Bv
The lives we see in the media and social platforms are a tightly edited and curated spectacle of people presenting an image of how they want to appear, not of how they actually areBecause we've shifted from a society of "having/consuming" to a society of "appearing/seeing". https://t.co/Fev2To6HQ1
Public discourse on twitter has not only satisfied, but has surpassed Godwin's Law, where all discussions are *ONLY* about nazis https://t.co/dZVpR8BuQA
A signal that a country has exited the "third world" is that it refuses to remain a pollution haven https://t.co/G5nWLJ3Hds
“Witches deny their baptism when they covenant with the Devil, water bring the sole element thereof, when said witch is heaved into the water, the water refuseth to receive them into her bosome, and suffers them to float.”Medieval logic of Matthew Hopkins by way of King James
#1 MOST CONSISTENTLY FUNNY PAGE ON TWITTER https://t.co/ATbnkRNwPH
I read his book and it's great! https://t.co/D2siDfTy1M
This is bullshit! "'Millennials have killed mayonnaise' take has sparked a hot debate" https://t.co/FUjkVUAkSn https://t.co/zLkkAeRWcy
twitter is a hellscape, i just unfollowed everyone.
TV show idea: elimination reality gameshow where Donald Trump is the host for death row inmates to charm their way into a presidential pardon.
never pledge your allegiances https://t.co/eBvpTgrpDF
cat has its press conference https://t.co/UwcpFrkgIO
Rando fishing email from https://t.co/BlaCnd3Hm6 to undisclosed recipients, written in broken english, asking for money, and asking to reply to a different address. Yup, looks legit to me. https://t.co/11AVjaQogy
The best futurist thinkers imagine what parts of our present world will be missing or obsolete in the future; predictions are error prone. Who could’ve predicted the smartphone would replace the flashlight? https://t.co/PtbPrVj9V2
My familiars name is Piper https://t.co/QbzYxjWemN
Take Your Medicine2oz gin0.75oz Maraschino0.5oz Lime juiceRinse tumbler with herbsaint (or Absinthe), coat rim with sugar. Shake &amp; strain ingredients. https://t.co/WZYwiB0gXE
aesthetics, pessimism, late capitalism and the writings of Houellebecq as influenced by J.K. Huysmans https://t.co/0iXPoY4NrR
OH: "I want to attend gay rehabilitation… just for fun"
online quiz: which password character class are you?
these days, the political playbook is less and less rational, seems to be either postmodernist art, absurdist humor, or just copypasta from the pre-Enlightenment era https://t.co/rRS4V7Wp7s
Sure, I had burgers for dinner, but only 2 more hours until burgers for midnight snack.
THREAD: This is the start of a political thriller. https://t.co/KkWof7a1Yk
my brand https://t.co/KHcARTj7e5
i started explaining to my partner about how HDR processing in photography allows for more contrast in both overexposed and underexposed areas, and about 30 seconds later she said "this show is so boring"
i would totally paint the inside and outside black, with a red door with a big black A painted on the front. https://t.co/EbzANOzV5j
If you're into hacking or security, go read the @PwnieAwards nominations, they're lulzworthy https://t.co/1miXG6GQYA
Morning reading by @thomdunn https://t.co/OSvAZDgGpA
A rising tide lifts all boats, but the tide goes back out and reveals those that sank.
This is what the beginning of a surveillance-capitalism dystopian society looks like https://t.co/FxnZZMV2fq
This is a huge number, "from 2000 to 2015, homeownership declined in 90% of all U.S. metropolitan areas" https://t.co/B9pkHCu1k5
TL;DR: read this article as the NYT 'proclaimed' the WSJ is "inflexible and brutish" https://t.co/5dcOx6Y0Js this is what modern war looks like. https://t.co/BiF50lvCBQ
I'm not convinced @thomdunn is Wicklow fan, but this is pretty kewl https://t.co/nJ6yGLXFRj
Goldmine https://t.co/oHXjuknL36
Why aren't millennials having children? Well, daycare in Boston can regularly cost $3500/mo.
Not all whitespace is alike https://t.co/Qcnic3ROXb
A great healthcare system is like a road trip, everyone wants to go to universal coverage and improved outcomes. Other countries provide great maps too!, but the Democrats refuse to ask for directions and Republicans just want to stay at home.
Got an automated call to donate to a fund to equip police officers with more "safety equipment" including guns. They couldn't have called a more wrong person.
The English word Giraffe came from an arabic word meaning "neck-elephant"
Anyone know any coffee shops making bulletproof coffee brewed with healing crystals? I hear they help u see the chemtrails better.
Reply of the Day 🌠 https://t.co/Kf1KgeOelC
Now is a great time to do a social media strike.Our one demand:We must get paid for the content we put on your platforms that keep our friends, family, and followers glued to your ads.Silicon Valley is the richest sector of the economy, and we're all unpaid labor.
So @CambMA is about to host a public Zoom meeting on the state of the city. Its about to get weird.
A close reading of the "TITLE IV – ECONOMIC STABILIZATION..." of the stimulus bill reveals what is becoming obvious: This national emergency declaration will continue indefinitely, in order to maintain the state of exception: "Never let a good crisis go to waste" https://t.co/f8TclMAiod
The $2 trillion stimulus package is a bailout for corporate recipients due to the the Cantillon effect: "the first ones to receive newly created money see their incomes rise; the last ones to receive the new money see their purchasing power decline as consumer inflation rises."
U.S. is replaying the Manuel Noriega playbook, all over again. If its the same playbook, its probably the same circumstances, namely, the CIA paid Maduro, then when shit got real, they turned against him. https://t.co/wG9FmAw5oP
Decontaminating groceries and food https://t.co/ch7MgNu4QC
Ryo ou Ranjo is my spirit theme song https://t.co/6vsJs4xNql
My jam is the Zojirushi rice cooker song
Sure it's ironic, but borders for people are still morally reprehensible, inefficient, oppressive and outdated. Nobody should be forced to live somewhere because of where they were born or because of bureaucracy https://t.co/ZlcI5vvtD9
#WhyIJoinedTwitter was because it made group txting possible before that was possible. This was back in 1869
irony inside™ https://t.co/ZlcI5vvtD9
Love scary as fuck movies &amp; hiking? You'll love "The Ritual" https://t.co/ZwoExbushp
The Spectacle, simply put, is that there are more people watching people doing stuff than people actually doing stuff.
The best photo I took while in Nice, France https://t.co/E4qdmg3cYj
"Fascism: A Warning" by Madeleine Albright seems to be a passing thing in some circles, but i find it hard to accept a warning about fascism from someone who built her entire career on US militarism. HotTake: https://t.co/OLikZGanBy https://t.co/GcsmMMLLh2
Feeling #blessed when i go from a react app and having to deal with webpack to go back to an @emberjs project and its all "we got this"
"The sad thing about artificial intelligence is that it lacks artifice and therefore intelligence."—Jean Baudrillard
I'll soon be abandoning the u.s. for france, away from the decentered locus of Empire to the vestigial center of Imperial europe
Michael Hardt in 2004, a year after the US "Victory of Bagdad" quotes Tariq Ali about the Hardt &amp; Negri book "Empire", which was more prescient than ever https://t.co/XKE93FF47A on the failure of the Global War on Terror
#LateCapitalism https://t.co/LUmVm7bOPX
Startup idea: MealPets"We'll ship you a new pet every month, and you raise it, feed it and eventually it turns into a delicious meal. We offer dogs, cats, exotic birds and soon reports and fish! Use promocode 'foodfriends' to get the discount"
In Maine today, so I'm rocking the maple syrup in a Camel Pak
I got this potted shrubbery last year, and it did really well on my porch. So this spring I thought I'd show my love by setting it free by planting it in my yard. It died shortly after. https://t.co/73qq5TINsn
This is my brand https://t.co/Z4JcppcRuG
Free startup idea: light-weight water.
Thom is an excellent wordsmith, and I appreciate his laconic hot take™️ on this issue https://t.co/cqGWw14QOM
Tech Won't Build It: The New Tech Resistance https://t.co/ffao0HyZ66
$2 PBR is possible. I've seen Utopia.
Corporatist is a guise for neoliberal. https://t.co/nBx1ApYjEJ https://t.co/l3oBaM8Q9K
4th grade, i built a fort in an abandoned limestone quarry near my neighborhood. I told the other kids everyone was allowed except those who said someone wasn't allowed. I went back 20 years later and the fort was still there. https://t.co/OHkktj2xQ5
Migrant children are being boiled alive in downtown Boston along the Rose Kennedy Greenway. Onlookers take photos and selfies #KeepFamilesTogether https://t.co/8tcFj6SKYk
this story keeps getting more and more interesting https://t.co/GZ8pXrBvMs @qtychr https://t.co/fLYqXRunLG
The reason millennials can love avocado toast is because NAFTA made cheap migrant labor available to US agriculture to the detriment of Mexico. Labor fled Mexican fields for greener US pastures.
You can trace the fall of a society by the decline of the virtue of its rulers, heroes, and celebrities.
The real heroes of the postcolonial Third World are the emigrants that have continually ignored territorial and racial boundaries, and point us all towards a universal human civilization.
The one strategy that would result in a surefire win for the Democratic party in 2020 would be to run a black female actress who played the role of president on TV. Penny Johnson Jerald?
Placing my bets that this FBI arrest comes complete with the following greatest hits:1) The plot was designed by the FBI2) The FBI used entrapment to lure the person in3) The person has mental health problems https://t.co/FCiRFyqEtT
“man is the animal who laughs”
Literally my dream. Fuck the Democrats, they're just 1990s Republicans. https://t.co/l5TxkB6s7P
Toyotas major success was not any specific car, but its Toyotaism production process. It has revolutionized first the Auto industry, later the worldwide manufacturing process. It prooved the viability of postmodern production processes.
this. https://t.co/WrZDYCHARa
the police these days. https://t.co/wMXBY4PcNh
City Hall Boston #FamiliesBelongTogether https://t.co/Axm5nWw4Zr
WTF is a toaster cozy?
i'm opening an italian restaurant that only plays this song on repeat at deafening volumes https://t.co/Buh8qykiYC
Eat Pray Hate #AmericaIn3Words
If your ideas are attacked from both the Right and the Left, you know you are doing something right. Your defenses need to be twice as strong and your offense needs to be split but without weakness.
Remember June 2009 when @HillaryClinton pursued a contradictory policy backing the restoration of Zelaya in Honduras while undermining efforts to get him into power? It resulted in the rule of drug cartels. The refugees are here Trump turns them away. Both parties suck.
good riddance to Canadian whiskies, but i'll miss my Canadian hair lacquers. https://t.co/FNSOaryP9N
In a postmodern informative society, like the US, the basic economic resource isn't material resources, capital or labor, but knowledge. This is not "received knowledge" but one produced by immaterial labor together with artificial intelligence.
When i see "guests and hosts" i just think of Delores and William. https://t.co/ZfQFh2t5Rv
how do you put your legs straight out, and cross them? If they're crossed, they're not straight. https://t.co/DydyQbd6pu
How nearsighted. Thomas Friedman argues that digitization and automation were the leading causes for the decline of manufacturing from 1960-2000. He ignores the massive movement of manufacturing jobs to lower-cost overseas regions that were undergoing modernization. https://t.co/FpmKfl0mmn
Killing journalists is the last resort of those who are threatened by the power of words.
Thinking about Torchy's Tacos #ThursdayThoughts
RARE "GOOD NEWS" ITEM: POLICE DONT SHOOT WHITE GUY&lt;no surprise&gt; https://t.co/zh9IGfBWFX
This is how to create an American dictatorship:1) Eliminate campaign finance laws2) Gain a majority in congress3) Get a president into the executive4) executive seats their own judges5) retire any remaining moderate and dissenting judges6) do whatever the fuck you please
if you're implementing software in this area, you are a complicit fascist. https://t.co/c64cwel9nX
TFW you forget today is #NationalSunglassesDay https://t.co/k7qPLsVFth
shes right: "I dont want borders at all"P.S. i'm not a socialist. Its not just socialists who don't want them. https://t.co/PIW4VYxw06
ALEXANDRIA OCASIO-CORTEZ https://t.co/yVvk8MVTrm
My bike got stolen.&lt;3 years later&gt; it shows up on CraigsList and I go see it. So I steal it back. https://t.co/OKQZ4StSjP
I LITERALLY FORGOT ABOUT FROYO
Join me Saturday, June 30 11 am at Boston City Hall Plaza to protest ICE and the police separation of immigrant families. Join with Jobs with Justice!, American Federation of Teachers 1/n
National borders do the most damage by preventing the unification of worker solidary in the struggles against capital. Globalization has segmented workers along border, linguistic, racial and cultural lines.
The Intercept covers one of the NSA spy hubs in Cambridge MA i've photographed https://t.co/4k9iDdEHWa see Google Maps - https://t.co/8ii0kBckNK°22'02.8"N+71°05'05.7"W/@42.3663922,-71.0848535,214m/data=!3m1!1e3!4m5!3m4!1s0x0:0x0!8m2!3d42.36745!4d-71.084918 https://t.co/Lo5AUE1Urr
Trump: "I'll bring back good American manufacturing jobs"&lt;later&gt;: the shining beacon of American autonomy, liberty, and manifest destiny on a chopper moves jobs overseas. https://t.co/PmEPKWVqrp
he is presenting a false dichotomy, there is a 3rd option here: nationalize these too-big-to-fail corporations and keep the workers, replace the execs with public servants. https://t.co/q2PuKoOaOt
The WaPo is presenting a false dichotomy: bailouts or companies fail and we get more layoffs.Theres a 3rd choice they're not mentioning:NATIONALIZE👏THE👏COMPANIES! https://t.co/KOvPh5QTP4
one of the fun things about browser extensions, is you can write extensions that piggyback off the work of other adblocking extensions: e.g. repurpose all that empty adspace https://t.co/w0hA6Ebl1o
So Republicans worship the free market, but hate big government.But their votes in 20/08/09/20 to save Capitalism by interrupting the failure of free markets with big government bailouts is OK and necessary?How does one square that circle? Ideology.
she shouldnt. https://t.co/cUNmo8AZcF
After reviewing early drafts of the Take Responsibility for Workers and Families Act, as proposed, Wall Street, will suddenly have $4-6T of government guaranteed low cost credit to go shopping for businesses in trouble 1/n
Is $1200 bucks is a good enough bribe to appease Americans while they undergo a societal sale to corporations?We've entered the bread &amp; circuses phase of Empire.
i'm really rocking the hacker vibe this weeks zoom meetings https://t.co/3QbQHD0TWS
The difference between ICE/CBP and normal people is one of perspective: people see the land as terra-firma, an actual place without labels; ICE/CBP accepts the map of the world as the territory. Privileging a map over reality simplifies and strips away the richness of life. https://t.co/mmO4qeK0PI
In politics, the distinction between going from a "bad" government to "worse" is far sharper than from "good" to "better".
To join up with ICE you need larceny in your heart and sadism in your soul.
This guy 👏👏👏😘 https://t.co/0RF0ygle8p
The weapons and practices we use abroad always find their way home. What happened at Abu Ghraib prison in Iraq is now at home at our immigration detention centers. We're literally living in the immigration prison scene from "Children of Men" Its a cycle. https://t.co/una6rcE5HC
A RARE ITEM APPEARS: The Mythical "Good News" item. https://t.co/cN8k43D7C7
Capitalism demands we continually improve production methods, and in doing so it requires us to destroy our concepts of community and family https://t.co/rsDWcgv9dl https://t.co/k00qg8wdUk
Senate yesterday voted 85-10 to give the US military $716 billion, the biggest defense budget outside the height of the Iraq War, in 2019 dollars https://t.co/K2WxPAJX8R if you dont think both parties are pro-war, you're mistaken. the votes came from both sides.
My phone sometimes produces amazing glitch art when the camera app crashes https://t.co/FPuLwoOz0V
"I refuse to acknowledge the DHS, CBP as necessary or helpful to US national security, as defenders of the constitution or more generally as upkeepers of the rule of law. At their worst, they’re oppressive thugs for a racist deep state." January 1, 2016 https://t.co/2tPUdLpXHV
My relationship with Twitter has been a little abusive since 2016, but this made up for it #RefugeesWelcome #mapoli #WorldRefugeeDay If you want me at your protest, i'll be opening my patreon tonight to accept offers 🤑  #OpDelivers https://t.co/30cHgnybR4
Assembly to protect immigrant families from separation, At the state house now https://t.co/B0cVYLSyQi #mapoli #KeepFamilesTogether #WorldRefugeeDay https://t.co/oMyQ1t2ekR
Beautiful day for the Anti-ICE rally at the state house today #WorldRefugeeDay https://t.co/ol7gWCtzI3
Borders simply don't exist for money or the wealthy. Border once made sense, but globalization has turned them into oppressive sieves that allow money to flow through them freely while they restrain people from freedom of movement. #WorldRefugeeDay 1/3
Negri &amp; Hardt nailed it in 2000 in "Empire". Immigration isn't about legality, it's about our natural right to movement, otherwise we're nothing but slaves https://t.co/mZ15itOYDl
👏🏻 to Markey, Sanders, Warren, et. al for standup against bullshit wars. https://t.co/RKuyck8TUU
when dat beat drops at 0:15 https://t.co/pQvhIYCRou
I'm no musical genius, but has anyone else noticed Seals "Kiss from a Rose" https://t.co/VZwCLGXUxJ is largely based on the song "Greensleeves" (written in Doric mode circa 1584) https://t.co/fyBhHRv1bU
holy shit this thread. https://t.co/KdLlBy5NbU
The End of History wasn't the collapse of the USSR as much as it was the declaration of the Global War on Terror. Now that North Korea is "a friend", there are no more enemies. Enemies will no longer be external, but an internal one. The police and military will become blurred.
Newest brewery in town: Remnant Brewing and tap room and patio drinks, oh my! https://t.co/fm52YUZINt
LOLWORTHY™ 9999X² https://t.co/UeXE6XZvcL
Westworld S02E08 is a masterpiece about how the violence of colonization is not just against individual bodies but against an entire way of life. https://t.co/5KDrbGw2Mg
Eating salads takes forever.
I literally don't recognize CSS anymoreposition: fixed doesn't use the viewport if one of its ancestors has a transform, perspective, or filter property set to something other than none.
This collection kids-vocabulary is A-🆗 💯 top 👌https://t.co/1mHyHFHTfk
TFW you wake up the dead/asleep opioid user to make sure they're OK and they aren't dead 😅🤜🤛
its important that Mulvaney signifies that first its a part of bureaucracy, its a bureau. secondarily its for consumers. https://t.co/1xetWdePo0
Both Islamic and Christian fundamentalisms are united in their opposition to a modern, secularized world where they pose (re)-sacred texts as the center of political constitutions and priests in positions of power. 1/n
Threadworthy™️ https://t.co/ueIX4iq7IJ
Afternoon Outdoor Reading Series: Addendum https://t.co/2dFPZngqxH
The genius of "Oceans Eleven" (2001) was the soundtrack, the use of "Clair de lune" by Claude Debussy(One of my favorites) is played in full, across multiple scenes.
Teach a man about the everyday difficulties of being a woman, have him wear a romper and then use the bathroom.
The real struggle in American politics is the DemocraticRepublicanOppositional Party vs the excluded 3rd parties of the radicals.
Afternoon outdoor reading series intensifies when cross-reading "Living in the End Times" by Zizek gets too real https://t.co/koblP5Az3a
Saturday afternoon outdoor reading series https://t.co/fh9AicBiH6
Reading series: “Empire” by Hardt &amp; Negri, chapter 2.3 https://t.co/4u9pwBniM9
Reading on the porch with doggo #doge https://t.co/4kkBnB1CDn
Deportation and CBP detainment is a totalitarian act in that it aims to negate the on-the-ground reality of our diverse population, while it attempts to homogenize national identity to a purified norm. It rejects our organic multitude.
THIS https://t.co/rk5OiEJjNU
"Think of the children" is one of the classic Four Horsemen of the Censorship Apocalypse. https://t.co/LSyeNRbzNR
Another year, another birthday week closes 🎉Another year i make the wish that i could do a good dub hall MC voice.BIGUP MANCHESTER MASSIVE, RUDEBOY SELECTAH
The national structure that resists foreign powers to establish an identity of citizenship has an opposite but equal power oppressing internal differences in the name of a homogeneous national identity.
One of my favorites, an iconic Subaru race car is up for sale. Someone plz buy it for me. https://t.co/5yivVCgDxA
the gov doesn't give 2 fucks anymore. end-to-end encryption on decentralized services, all the time, by default. https://t.co/vUH37JRkbv
dude who joy rode through Richmond on the tank Tweeted before his joyride https://t.co/nxfpiLzWOV
"what do you do?" It's a loaded question that preassumes identity politics. I wrote about this in 2015 https://t.co/yD9arXbXzo
That western politics continues to promote a regime of austerity for the masses and the third world at a time of material abundance is the only evidence needed to prove their moral and legal illegitimacy.
everytime https://t.co/rBLcLHw7BA
Hot take™ on GitHub vs Microsoft, pt.IIIwith Microsoft ownership of GitHub, they have effectively sized "open sources" means of production. They now own the very way open source reproduces itself.
Nikki Haley is "An Epic of Complete Failure" https://t.co/Qjhl2DTO8W
Me: "I wonder what GQ has for mens fashions this summer"&lt;clicks&gt;Me: https://t.co/HQYXFJ49JN
Hot take™ on GitHub vs Microsoft, pt.IIwith Microsoft ownership of both GitHub and LinkedIn, they effectively own a massive (and higher quality) portion of the open source social network graph.
Hot take™ on GitHub vs Microsoft:&gt; GitHub’s mission is to help every developer—regardless of experience level—learn, code, and ship software effectively.Microsoft has exemplary tools (Visual Studio, and VSCode, which is built on Githubs Electron) so they dovetail nicely.
First Linux, next "open source". Ultimately, i dont necessarily see the doomsday scenario some people think it will be. https://t.co/5LmnEgEAoB
I was away from the internet this weekend.me: "I felt a great disturbance in the Force, as if millions of voices suddenly cried out in terror and were suddenly silenced. I fear something terrible has happened.Monday: https://t.co/no6dPpWlMa
Don't waste time reading things that haven't had the baptism of time
neoliberalism nē-ō-ˈli-b(ə-)rə-ˌli-zəm comes from the root word liberty: a government policy prioritizing freedom for money and products. Expect no resistance when people are banned, denied, or deported; but expect protest when people can't buy dope cars https://t.co/Gkv5hJFgSx
the decline of the length of the drum solo is symptomatic of the shrinking of our attention spans.
ProTip: Use emoji as a way to concisely organize yo bookmarks toolbar https://t.co/El8xCdfgk1
The “Opoid Crisis” with Chinese Fentenol is the Opium Wars in reverse
hipster grifter but for the bourgeois class https://t.co/IXPfS1PfS9
Ember and Vue is the avant garde of techniques, React is somewhat reactionary
Reading "Empire" by Hardt &amp; Negri is hard, and they often source Deleuze and Guattari, Foucault, Habermas, etc. This is a good primer on studying philosophy as an amateur https://t.co/sYBF1puKDC
People use too much toilet paper. Vegans ain't shit until they go paperless.
🤦‍♂️x9999 https://t.co/lAboWX0wyA
Linguistic production in turn produces reality. In introducing the term "fake news", and our complicity in using it has produced a reality where we think news is fake, or it is in-fact fake. The is no difference.
Blocking EU residents from using a site is a sure indication of abuses of privacy: stay away.
The challenge Facebook, Uber, Waze, etc. poses to society, is they are our first enterprise-scale exemplars of organizations producing Affective Labor 1/n
Spring in New England is that time after April showers when it's warm enough to keep the windows open but not hot enough to need the A/C on. It's a wonderful day.
A poem for #MemorialDayWeekend https://t.co/LbUxXB92V2
we must be ever vigilant for the #UnexpectedVore. https://t.co/uPRBtip2qG
Today is May 25th, 2018 is #GDPR Day, when those organizations in non-compliance could start to face heavy fines. https://t.co/XqS4YBNIMJ #GDPRready
IoT, SmartHome, SmartDevices, etc. All it means is you no longer own things like lightbulbs, but rent them as services; meanwhile they profit off its use. They can cancel your service at any time, in this case because they were selling your data and can't anymore #GDPR https://t.co/urIJyMjFKM
ZzzCoin, a new cryptocurrency where heavy sleepers and busy entrepreneurs can exchange surplus sleep for hard currency.Coming July 2017 to the FitBit appstore, iOS and Android (requires a FitBit).
whats the best eBook torrent tracker. Private or otherwise. plz deliver recommendations.
Started my summer reading https://t.co/FhbDZPQloZ
Selfie at DeLux Cafe, dressed all in black (per usual) for #WorldGothDay https://t.co/MF3PEIPylr
Amazing, new album release by GAS "Rausch"https://t.co/V62XwJgioT https://t.co/Z4u6fhnUxN
more examples of silicon valley and the military industrial complex converging https://t.co/B9rrbcgSzP
⚡️ “Silicon Valley and the Military Industrial Complex”https://t.co/zwyLqEfkAr
No thanks. Those already exist, they're called prisons; and they're horrible. https://t.co/FFnP0sDW0O
Christ https://t.co/zwcTEZInBc
We're increasingly seeing the utopian vision of Silicon Valley be systemically abandoned in order to supplicate the necessity of their profit seeking shareholders and instead support the military industrial complex. https://t.co/q3J7OL5Mz0
$6 Trillion of stimulus could be($6T USD/US Population)(6,000,000,000,000 / 327,200,000)= $18,337.40/per US personor($6T USD/US Adults)(6,000,000,000,000 / 209,128,094)-1200= $27,490.54 for Wall Street/per US adult= $1,200/per US adultGuess which Congress approved?
i eat a donut at @UnionSqDonuts ever Friday, literally every Friday for the last ... i dunno, like 4+ years. Its gutted me that they've had to close and layoff so many staff that are familiar faces by now.
21,000,000 seems like nothing now, in comparison, but at least it'll be worth something soon.
Tonight a USD 6T (six trillion or 6,000,000,000,000) slush fund announced for corporate bailouts. I've updated my running trainwreck twitter moment to include this choice content⚡️ “Market collapse of 2020” https://t.co/EmfrVjcgSR
the central misconceptions of our time is that the internets ability to distribute information equates to a distribution of power. Information is not power.
Love bread? If you were buying a loaf in Boston/Cambridge/Somerville/etc who is missing from this list of top-notch independent bread artisans? https://t.co/mdU1rngvMR
my jam 🎶https://t.co/Wu6ln0Mtp6
we live in a strange world where the tabloids speak the truth and the "real news" uses clever wording to weave a web of lies. @qtychr https://t.co/UIIdGuWMOK
literally every site/app ever; saying "we've updated our privacy policy to include the phrase 'we're updating our privacy policy with the phrase 'were ignoring the GDPR'"
This headline makes it seem like protest is the actual cause of death. https://t.co/ipuGqTeu9e
When the people are quiet and do their jobs "there is no problem". When they protest loudly, you say they bring the anger and punishment upon themselves for their impropriety. When they're driven to fight back, you say they won't be negotiated with. So when will you ever listen?
How the fuck do editors sleep at night when it seems their jobs are coming up with clever ways of saying that the police or military are systemically murdering brown folks https://t.co/IqmEZ3wnAb
PorchFest Somerville 2018 https://t.co/FnvNhoUFPQ
I'm taking care of this lovely girl this week, meet "Fleet Commander Wolfgang Amadaeus von Barksmore" https://t.co/5mjG8iZrZ6
Summer goals https://t.co/eWWz8dRFVZ
@yowify @instapaper True story 👌
Sprints are good if you're running 200m, fatal if you're running a marathon.
i laugh at @LastWeekTonight when i watch it, but after watching it, i always feel deeply unsettled; to the point where i can't watch it because the issues aren't funny. Gallows humor can only go so far.
My God, that man is good looking. https://t.co/UG0vsh4Xmh
@cksnrs 😶 haha, yes, that was a deeper allusion i didn't think anyone would notice. the essay has a few other allusions as well
yes, my dream is to one day go to An Event Apart— when i'm a millionaire from coding webpages dot com https://t.co/mwkl36cptt
Facebook isn't free when we pay attention.
@cksnrs thanks for reading it, the photo was from the Facebook Oculus Rift event, and it looked eerily similar to the Black &amp; Red edition of Society of the Spectacle https://t.co/TUk6WbEYC7 which has been very influential to my work.
dark patterns in action https://t.co/hIas86GhW1
Thanks to @thomdunn for some heavy-lifting in the editing process🙏 https://t.co/yDSooz0GKs
MAY DAY, MAY DAY: A CALL TO STRIKE. #DeleteFacebook and refuse to perform unpaid work on behalf of Facebook. https://t.co/lobeRTGJ8l https://t.co/98FaKXrpIj
Don't let Facebook monetize our friendships, tastes, opinions and even emotions. Our internal thoughts and experiences are increasingly becoming commodifiable assets, measured as engagements and being touted at board meetings.https://t.co/lobeRTp7JL https://t.co/T1IicJk2Z7
Facebook commands our attention with a heightened level of distraction. We create the content that is then used to command the attention of our peers. This attention is then used to sell advertising space. Don't do it for free. https://t.co/lobeRTGJ8l
Social media companies like Facebook, Google, Twitter and Snapchat have created a marketplace for our attention, it's sold to advertisers who are subtly changing our behavior to buy products and services for their own benefit. https://t.co/lobeRTp7JL
Facebook is gradually changing us all into unpaid advertising agencies. We promote goods, services, lifestyles and desires to our friends. Today is May Day, International Workers Day. Stop working for free for Facebook. https://t.co/lobeRTGJ8l https://t.co/JBMQB8Nr0A
Against Facebook— On the commodification of attention, the abuses of unpaid microwork and strategies of resistance.https://t.co/lobeRTGJ8l https://t.co/WbR5bC2eht
This essay explores the ways Facebook transforms our attention into a product, and how that transformation changes us. It then proposes a social media strike as a concrete strategy to reclaim our attention. https://t.co/lobeRTGJ8l https://t.co/fdadGQYNA9
The Mid-2015 MacbookPro 11,5 model MJLU2 was the best Apple laptop, EVER. https://t.co/KZq3JuiCu8
My jam 🎶 https://t.co/hFLN94F2AR
The difference between good and evil in Hostiles (2017) was the good say: "I was just doin' my job" while the evil are simply doing the same work (e.g. Genocide) outside of the employed workforce.
My god, Jonathan Majors and Christian Bale in Hostiles, amazing performance 👏👏👏
just leave this here https://t.co/bWmmepLUMo
Lord of the Rings: a fantasy world without any bureaucratic institutions.Harry Potter: let's take the most drab, stuffy bureaucratic institutions possible and imagine them enchanted with magic
A city so “sustainable” that citizens are chained to their city blocks; they’re able to access the rest of the city through mass transit, but in effect have been relieved of the need to do so by the brutal sameness of their cookie-cutter “neighborhoods.” https://t.co/qTbRRjD3hj
Annihilation (2018) is a sci-fi horror film staring Natalie Portman that is really about the exploitation and abuse of women and marginalized people in Hollywood. Kevin Spacey makes a cameo as the Alzabo; a bear-like monster who sounds like a victim to lure his prey.
Imagine if the USPS provided 0% interest payday loans to people. If they go bankrupt, they are bailed out. Flip the concept of bank bailouts to people bailouts. Inject liquidity back into the market from the bottom-up rather than letting it trick down from the top.
Video &amp; code is up from my talk on Contextual components and ember-changeset from @BostonEmberJS https://t.co/05YTFHitwW
when making a choice, we're paralyzed when trying to make the ideal choice, and dissatisfied when it turns out badly. Choice always incurs a loss. Eliminate the bad choices and select the worst of the remaining. in this scenario, you can find comfort in your dissatisfaction.
An in depth review of the arc of human history and how our myths of hierarchy are wrong, limiting any emancipatory project https://t.co/4kr9Cy9ka8
TFW you realize Melania Trump went to the the University of Ljubljana for one year and (maybe) studied under Slavoj Žižek
capital can flow more freely than people. This means corporations insourcing profits from outsourced labor is policy while people can't as easily move to places where their labor achieves a higher standard of living. https://t.co/I8p4ebQgWm
The code i'll be walking through tonight is up, if you want a preview https://t.co/c3ce8VebT0 https://t.co/TJCF0raBYG
this cosplyer is playing Jon Snow when he should've obviously played Samwell https://t.co/Ph1B3QTUTy
On Facebook, the ads *are* the content, and *we* are the product. https://t.co/a9FychbsqK
Getting banned is an excellent indicator of legitimacy. https://t.co/UX1JfqEEgN
Free company idea: Diet Baby Food. Nobody is doing this (yet).
this is the foot of a glacier, taken from about 6mi away. Its 10mi wide. it took about 40 minutes to drive past this big boy. the scale is immense. https://t.co/VqPmI7KTX1 https://t.co/eDvbdsWs5s
The root problem with police violence in the US is that they are a transposition of the cowboy-outlaw in the Western zeitgeist transposed to the lawful-policeman in the contemporary Urban zeitgeist. Both are obsessed with killing minorities, but the state deputized the latter.
The opposite of a vampire is a warewolf #TheUtopiaOfRules @davidgraeber
Last day in Iceland https://t.co/550QmqD7cn
Preparations for cocktail making https://t.co/R8mxLY2XZZ
First day at my new job #priest https://t.co/qKKeFLhTJm
Oh, now I get it, this weekend is #evefanfest, hence all the @EveOnline players in Reykjavik tonight
I could live in Reykjavik if only to come to Brauð &amp; Co every day #gluten #bread #🍞❤ https://t.co/VdPnRIOQN7
EAT LOCALDRINK LOCALWORK LOCAL SHOP LOCAL DIE LOCAL
I'm available https://t.co/KUjVVskgRq
the so-called "new left" doesn't lift. https://t.co/fTuWnoXjSf
I actually liked Zucks answer, but i would've answered "No" https://t.co/pF7EdkFexy
Remember, Hitler was a bumpkin before he was Führer, the source of totalitarianism isn't evil, but middle class bureaucrats following orders who just want promotions to further their careers. It's the banality of evil.
this can't end well. https://t.co/dYC6RGYR7L
fun lunch discussion at work:capitalism is a process that creates pseudo-desires. E.g. You Have an iPhone 6, but feel a new desire for the iPhone 8 as soon as it appeared. The only way to satisfy this desire is to buy the new iPhone. 1/n
mark karpelès did an amazing job during the Reddit AMA today, this made the read worth it https://t.co/8MChNvs2hb https://t.co/NUwqZIJRGa
"Go to college", they said. "You'll increase your lifetime earning potential" they said.They didn't tell you you'd be a debt slave for the rest of your life, never earning enough to pay the debt off. https://t.co/sCPZQ8hDgC
fuck https://t.co/SpjJa1tw8t
Thread https://t.co/O9JPzbDBM2
the best April fools prank this year was telling my partner that we were officially switching to Microsoft Windows
April snow showers https://t.co/ttDLtkTyza
My jam 🎶 https://t.co/rPhaR3WEej
APFS does us dirty, again https://t.co/O8zBiMrQfW
As society become increasingly postmodern, copyright ownership becomes increasingly more powerful because the right of copy extends to things which have no original
“there is no royal road to science, only those who do not dread the fatiguing climb of its steep paths and have a chance of gaining its luminous summits” —Karl Marx
Twitter nails it again with yet another amazing thread today https://t.co/dyxl2u3395
So @jeremyscahill has done some great reporting on Eric Prince (blackwater, Xe, Frontier, etc), but have they sat down for a beer together? 😉
the kicker (read the whole thread, totally worth it) https://t.co/bMH0EJAQQD
COMMODITY FETISHISM AS OVERT SEXUAL FETISH IN GREMLINS 2 a postmodern/marxist reading of the spectacular film "Gremlins 2" https://t.co/oyZncBEH1V
twitter dot com at its ABSOLUTE BEST 💯 100/100 👏🏻 https://t.co/DEVGZKZIk2
https://t.co/CgZtFKq98m
FYI Assange has been silenced by the Ecuador, so he is now a political prisoner with no access to speech https://t.co/Yaa7yKUZox https://t.co/Jg6guvRqVc
US Federal Reserve to print $6 TrillionPeople's Bank of China to print ¥2.8 TrillionEuropean Central Bank to print €1.1 TrillionBank of England to print £200 BillionBank of Korea to print ₩11.7 TrillionBank of Japan to print ¥12 TrillionThis is why #Bitcoin was created.
https://t.co/ecupkUQebo https://t.co/AyZGs6d7Nh
It won't matter if you have a billion dollars in your bank if all the banks are closed.Cash rules everything around me.The FDIC is scared. https://t.co/3SdJi7n7P7
you wont believe what happens next.twitter: come for the #hellworld, stay for the heroes of discourse. https://t.co/2P0dmJ6KY1 https://t.co/6ZQOPYrqPh
The Democrat party has stopped all pretense of trying to hide who actually controls the party, "leaders of Wall Street and Silicon Valley" https://t.co/OyxmZFy8zm #NeverBiden https://t.co/O84wFOF1FO
it appears the curve isn't lowering. https://t.co/BOvG3nf6om
once we go back to work (if we do): the best outcome from this pandemic hopefully will be the end of the 'open office' floorplan fad.Oh, and everyone will remove 'experience working from home' from their resumes.
The Fed expands the scope of purchases to include agency commercial mortgage-backed securitieshttps://t.co/FxNw2gzOxz https://t.co/uKLTBDHAwk
I started a list of links to privacy dashboards and settings to make it easier to delete, secure and export your data from various social networks. Feel free to contribute links for Facebook, etc https://t.co/Wa3NxxMQ5U to grow this document
"The Trouble with Quitting Smoking is that We Like Smoking" https://t.co/QUQcXKvlQt
Starting a new meetup: Anarchist Cryptocurrency Activists of Boston Satanists aka ACABs
https://t.co/ybRriSXjoE https://t.co/LQwdcbjwqP
new-old guest blog post:"when i went into cyberspace i went into it thinking that it was a place like any other place and that it would be a human interaction like any other human interaction. i was wrong when i thought that. it was a terrible mistake."https://t.co/ybRriSXjoE
We get excited when our elected leaders get into power, and yet are never satisfied when real change never occurs. We admit failure by replacing them, and yet expect a new leader to produce change by doing the same thing again. Rinse repeat, this is insanity.
"The satisfaction which no longer comes from the use _of_ abundant commodities is now sought in the recognition of their value _as_ commodities." Guy Debord, Society of the Spectacle 1967.E.g. Apple fans waiting in line for days for the new iPhone when their iPhone still works.
According to the logic of the Facebook ad, the world should be enganged on Facebook forever.
According to the logic of the commodity of the car, the world should become a parking lot.
NOPE NOPE NOPE THE FUCK NOPE https://t.co/lHa0LFsqPz
Friday afternoon, @circleci revokes project access to users and millions of developers just assume they're being fired.
Corporations are making billions of dollars exploiting your private data, individuals aren't asserting their right to monetize their own data value https://t.co/C4e2ZsQszV
Neoliberal policy decisions continually prioritize corporations over everyday people https://t.co/HeGIrKakHq
Wow, horrible example of UI dark patterns https://t.co/oegb4V0Qlm
My timeline is a top N-reasons to quit Facebook; if you just search for it https://t.co/Fzskubr9Cp
Co-founder of WhatsApp concurs, its been a long time, but today is the best day to #deletefacebook https://t.co/2ViMo0I2gS
Facebook is engineering elections through disinformation, Uber is killing people with self-driving cars, good day in tech news.
reasons to quit. https://t.co/bZdAoKr59H
My jam 🎶 https://t.co/QpvHRTJaiL
The unsaid only true comparison between Android and iPhone is: how many seconds of CD Player skip protection do they have? Nobody mentions this. @wirecutter get on this!
Sabu (aka Adrian Lamo, the snitch who ratted out Chelsea Manning) died https://t.co/f9W6WQYeZ4
The missing element from the narrative here is that Facebook is a massive 1-stop-shop for everyones personal data, and that makes it a centralized target for abuse https://t.co/AJAIqw2Od9
https://t.co/KatlsNfm7R
@leopardsnail @thomdunn @Phosphatide no, its a sushi with its left (or right) face missing
@leopardsnail @thomdunn @Phosphatide no, because the vertical sides are open, so it is clearly a toast.
Heroic https://t.co/NBNuHIFrHj
I implemented the Old Fashioned Cocktail recipe as if it were an @npmjs package. Enjoy responsibly https://t.co/vlmt6I5PNj
The last good MacBook Pro https://t.co/A5xdS9918Q
The beautiful thing about Love is that it transcends race, gender, sex, identity, politics; when all that really matters is if the language is strongly typed, memory managed and functional.
The crime Martin Shrkeli committed was being **too good* at capitalism.
Many leftists I see celebrating Martin Skeeli (sic) going to prison are the same people arguing that prisons should be abolished.
Likes, Retweets &amp; Snapchat Stories: The Attention Marketplace and the commodification of Unpaid Microlabor. Should I write this paper?
Netflix new Move app is powering their film production systems, and its build using @emberjs https://t.co/ZF2wawpju1
his wife is a high school student https://t.co/ZrNkEOtkua
Deterritorialization of BBQ, first from the American South, then from America. https://t.co/5Of7lqWb5e
There is no such thing as Male or Female. These are simplifications, and bad ones. There are only humans with an endlessly unique set of bodies and unique desires.
Celebrities compensate all us living specialized, fragmented narrowly focused lives (e.g. web developer, publicist, barista) with the idea that one can actually live a Real "life to its fullest". 1/n
Dissatisfaction with capitalism is one of the raw materials for the Spectacular Society to commodify. The Spectacle takes it and produces Occupy Wall Street, #Anonymous, terrorism, and the #Resist movement. A few years later it profits from selling Guy Fawkes masks to 4chan users
The ideologic choice between iPhone and Android is meaningless when we don't need either. Instead we pick the non-smartphone, the phone that offers only txtmsg and voice. That itself is a meaningless choice offered by the Spectacle
What was understood as class struggle under capitalism between Capital vs Labor is now best framed as Producer vs Product (Producer vs Consumer) under Spectacular Capitalism
the open-office concept should be extended to the bathrooms, where the bathroom is just a row of toilets sitting along the wall, no wall, no stalls. gendered bathroom problem solved is a knock-on effect
Jen Simmons gives a good AF overview of writing true multiplatform web code and progressive enhancement https://t.co/rER5t6azHi
I take solace knowing all my loved ones have a small skeleton in their body, that will one day be set free.
Reacting to the backlash against the NRA, Microsoft is ending its partnership and will no longer include bullet points in its PowerPoint™ application
The story of crypto regulation in South Korea, in 4 parts1) https://t.co/OwOGcGlgur 2) https://t.co/gzh1EIwX2j3) https://t.co/Du8f3KDFkd4) https://t.co/sumWmrhnHA
Add CSS to the blacklist of 3rd party assets your site shouldn't add to its content security policy. https://t.co/w6q4Wu4SF6
DNS, registrars, registries, and how your TLD can screw you over when you least expect it https://t.co/5xLY5M98OP
ZOOM IN, ENHANCE...&lt;1 hour later&gt;KEEP ZOOMING&lt;2 hours later&gt;HMM&lt;4 hours later&gt;🤔 ok, ZOOM BACK OUT https://t.co/K3lUYbupEM
Ember 3.0.0 y'all 🎉 https://t.co/mfbUnLayCx
The winning strategy for “The Bachelor” is for the contestant to convince herself she loves him, and for her to convince him that she both loves him and he loves her. The Real love is sublimated by the love Event: the award ceremony. Capital L-ove is missing from the Sectacle.
cool https://t.co/EfY0yZIqRz
When you see something, say something https://t.co/7q4cd19nM1
If you see something, say something. I just reported this tweet for “Selling illegal products or services" #DoYourPart https://t.co/Ml5FknM5B1
A Handmaids Tale is a great show, but damn it's really freaking me out, this shit is basically reality for marginalised people in the US
“A proper drink at the right time—one mixed with care and skill and served with a true spirit of hospitality—is better than any other thing at giving the illusion, at least, that we're getting what we want from life.”–@davidwondrich
Every five years, web development skills either become obsolete or completely change. Any dev saying they have more than 5 years experience is either lying or has ample skill in a tech they'll never use again.
Question: how do people keep the water boiling in the Netty pot up until the pour it in, mine keeps getting cold.
A year from now we'll look back at this as the beginning of the outbreak, when the Hunger began. https://t.co/rmKWPn4qto
Just had the Impossible Burger from @cloverfoodlab and it was really fucking good. The texture is a little more squishy than real meat, which has more resistance and varied consistency to the bite, but flavor nailed it. more:https://t.co/OiEhpEORC1
My boy @richardbarbrook described Netflix/YouTube and fake news back in 2007 “cyberspace would be replaced by the passive consumption of pop entertainment and biased information provided by multi-media corporations.”https://t.co/2Oik8TLfLo https://t.co/xPXdBI6gMQ
Its cool that cryptodad appreciates our support, but did nobody give him he memo that we've got 280 characters now? no need for "thx" "NEmore" when we can say "thank you" https://t.co/ZLRSzqPICg
My jam https://t.co/Qnunkr7CIJ playing at ear-blasting volute, while coding in a church, with blacked-out windows, wearing a monks robe, while a live choir sings behind me.
Service workers and push notifications land in Microsoft Edge, PWAs landing in the Microsoft web store https://t.co/lPVAAstOnz
reminder https://t.co/nGgX3aBMsn
RIP John Perry Barlow, cyberpunk, egalitarian, internet visionary, optimist, vanguard of the Californian Ideology
the best part of the rain is no one can see your tearshttps://t.co/x90PYtXvcs #HODL
The CFPB has been effectively gutted, and this gives an implicit green light to negligent data security and lax privacy protections. Secure your own privacy and act accordingly https://t.co/alcRSyT8U2
Last nights violent ballet included another concussion, here are all 280 concussions from this past season in one horrifying compilation https://t.co/XooO4BwFI6
BLACK MONDAY 2018
its gon'a be 2008 all over again, except this time i'm clutching my cryptos
Seriously, time to kill your Facebook. They're baking all the worst parts of classist bias into machine code. All to make money from us. Quit now. https://t.co/vEdz5T1eZE
Are you FUCKING KIDDING ME with the Dr. Martin Luther King Jr speaking over images of the military and a logo saying BUILT TO SERVE? HE STOOD AGAINST OPPRESSION WTF
this thread, Lol https://t.co/vtRb9QJ8EV
Santander will launch the first blockchain platform for international payments (built atop @Ripple) https://t.co/b04fEf8ldU BOOM
Why does it matter that he is a veteran? Veteran or not, we shouldn't be doing this. Our culture of hero worship is just as sad as our culture of exclusionary normativity https://t.co/SMczU9bEke
Bitcoin Winter in full effect, 2018 shaping up to look allot like 2014. I called it a while back. https://t.co/nGgX3aBMsn
great read about speeding up Ember builds on @circleci using parallelization in workflows https://t.co/JH6ou7TzWW
Junior developers often ask me for advice, and i typically give two tidbits1) Worship satan2) Listen to dark drone music on quality headphones
most of these are forks of Bitcoin core, so they *include* all bitcoin core commits, but then get to add their own. https://t.co/qnxdk9zv3C
When the religion salesperson (Mormon, Jehovah's Witness, Evangelical) arrives on your doorstep, you:
Restaurant review: “The Pop-Tarts™️ were fresh, and the Doritos were delicious. The way it was served with the bag pre-opened was a nice detail that showed their focus on execution”
U.S. Commodity Futures Trading Commission had subpoenaed Tether and Bitfinex https://t.co/3J5dZAv7bO 1/2
blocking sleep in node.js, a Stackoverflow poem in 2 lineshttps://t.co/LHVJWkXFyH https://t.co/vbEtGtHKqj
Finally broke down and sold my bitcoin, for a house https://t.co/I8grMXb802
A robot so sad, the sets it mixes makes humans cry.
i lolled when she went into the glass table https://t.co/Zz5PR0PJci
"divine language requires no sound, which is how the angels of the Divine Comedy communicate. Lower language, on the other hand, would be rooted in the materiality of mortal sinners—pure sound" https://t.co/VVE9oy6aJW
I've pre-ordered my professional gamer sleeve, can't wait to be needlecast into it! #psychasec https://t.co/K8971VZUZj
Suicide Linux. Any time - any time - you type any remotely incorrect command, the interpreter creatively resolves it into rm -rf / and wipes your hard drive. https://t.co/JqfhJDcpTa
it'll be interesting to watch Meg grind Katzenbergs business into sludge. https://t.co/tm1OXNBAd8
Is wearing an @emberjs hoodie to an @BostonEmber meetup kinda like wearing a bands tshirt to a concert by that band?
He's got it, it's the mood of our time that we're waiting for. He's way ahead of our time, an epic emotional artist. https://t.co/HUQVWhNXpA
Burial's Untrue: The making of a masterpiece https://t.co/XFw2fFp5Cf
https://t.co/x99dAjZ2tD is down because of the government shutdown, nist hosts a vulnerability database my build runs against, my builds are failing. I can't do releases.
I'm working on a test framework that runs your code, if an error occurs it deletes that line of code, and re-runs again. It'll continue to run until no lines throw an error.
hot off the press, the Crypto &amp;&amp; Cocktails crew just launched our first podcast episode https://t.co/2H03zjoShB
"too big to fail" means two things:1) antitrust law was not enforced, leading to enlarged corporate power. Enforce antitrust law.2) accept company as a monopoly and nationalize it as a public utility.
sunday funday: Send a macos notification when packetloss is detected (i'm on a roll with sunday funday coding sessions btw)https://t.co/RJlOf0ETvn https://t.co/ImHneMORYM
for reference, the unemployment rate was 24% during the great depression. https://t.co/lBBVDtR9Mc
Bread making day: chocolate challah, pesto &amp; feta challah, chocolate babka, and sugar crumb chocolate babka https://t.co/EDSJyR0cNZ
A government shutdown is a huge boost for Bitcoin and other cryptocurrencies
Bitcoin is cheap now, good time to buy https://t.co/wkc22jqmWY
Neoliberalism: A monetary policy that bails out banks before its' people; government taxation that favors corporations over citizens; foreign policy that reduces tariffs rather than protect workers wages; and a mindset that believes a citizen in need is a bad person or criminal.
Alexa says a hot dog is a sandwich
GORKAAA! https://t.co/NjuMZD4vks
I'm MC'ing this talk, join us! https://t.co/hOqJ5YpX8K
privacy-minded friends, do you know any organizations honoring DNT that also have an affiliate marketing program? How/do do they honor DNT and pay their affiliates, or do they lump DNT users into "failed attributions"/aka leakage? get back to me. #lazyweb
Thread: Open protocols and the value of permissionless innovationRe: https://t.co/XDTIdWvPq7?amp=1 https://t.co/bF9w5u71Y3
So far so good. Tomorrow the first Bitcoin futures will be settled. https://t.co/qvVK7B3yvD
Welcome to the cryptowinter Bitcoin newbies (less than a year). Every January cryptos are at a discount. It's a thing, look it up.
One of the coolest parts of open sourcing a project is seeing how many strange new ways and environments people put your code into. I'm often amazed.
Good UX matters. Dont setoff mass panic or start global thermonuclear warfare with bad UX design. This is the UI that sent missile strike warnings to folks in Hawaii. https://t.co/8EmWOTIGoH
What's up with the test balloons: 1st @Hawaii_EMA issues false alarm, then @nhk issues false alarm. Doesn't look good.
some ppl ask me for my Amazon wish list, or if i have a Venmo or Patreon account. I always tell them "just buy me some Parmesan cheese instead" but have never gotten any.
this https://t.co/fhtwDV1Wm8
Coinbase is spamming the bitcoin network to keep prices high, evidence: @Coinbase emitting utxos 10H ago, and the mempool started decreasing, they really need to batch transations re:https://t.co/KZsOpASSCO https://t.co/4yVenvilbc https://t.co/j4azY8Rr0U
https://t.co/ZwSTUUNhwA let users pay and bitcoin cash and returned a refund for the original amount, BUT IN BITCOIN, huge net positive for hackers https://t.co/6vT2bc1Sh5
I released v1.0.0 of an Ember addon providing internationalization for ember-changeset-validations https://t.co/11SXj7R73Z 🎉 #i18n
On average, US consumers' spending exceeds their incomeOutstanding student debt is approaching $1.5 trillion (and represents the largest financial asset on the federal government's balance sheet — is 52% of it)#ThisIsFinehttps://t.co/B4ZMNput2Q
The New York Times had lost my trust during their horrible one-sided coverage of Occupy Wall Street, but this seals their fate as an accomplice to government censorship https://t.co/hltsywIxzG
$ # Life begins with nothing and ends with nothing.
Its t-shirt weather today, 32℉!
How do 80 assholes with guns protect a database connected to the internet? https://t.co/QCrQuTemop
To answer all your questions, Paris Geller (by @liza_weil) was my favorite character in Gilmore Girls.
Interested in an @emberjs talk on internationalization?
Brian Kelly: "Once you've bought bitcoin, you can buy anything"include a coin that isn't *actually* a cryptocurrency. https://t.co/SX7gCuJSEA
Buh bye shitcoin https://t.co/2c2BYQzL26
If you're use Promoted Tweets and stock photography to push your shitcoin, you will be reported https://t.co/iBGZ6FFZc6
A perfect custom car: The Fairlady Z, in white of course https://t.co/Vtixa6XRKq
Reading up on Google Project Zero publishes CPU (Intel from Sandy Bridge onwards) are vulnerable to side channel attacks, this is going to get ugly (given some time) https://t.co/77LYQ3DJoq
In the original NCSA Mosaic web browser, the first version of the "Back" button actually teleported the user back in time to when they were on the previous page. Later it was deemed too dangerous and they implemented the modern "navigate to previous page" version.
https://t.co/b2PBqTVvmP https://t.co/8D0psayDOP
Kenichi Yamamoto, father of the Mazda RX-7 rotary engine has gone to the giant open trackday in the sky https://t.co/rMDvOUVIgk
I'm 100% for the reduction of the NSA, but his article reeks of Executive Branch anti-deep state propaganda. Too anonymous sources "according to current and former U.S. officials" https://t.co/uO5u1iPQA0 https://t.co/39NQT1JQqB
My favorite short piece on bourbon of 2017 by @b_apothecary https://t.co/rjGnxfnhK4
“2018 is the year of Linux on the desktop”—Bill Gates &amp; 0xADADA in Times Square
My New Years Resolution is (always and forever) not to learn Flash for another year.
ME IRL typical day coding https://t.co/qIEHe2JB0C
A hot take on US hegemony before its collapse https://t.co/5XGr7U1CW4 one that @b_apothecary discussed back in January https://t.co/XVufDcnbRo https://t.co/t6NXzJxJkO
Super excited about the Netflix "Altered Carbon" adaptation https://t.co/cyCGGQ7p1O
People should feel #blessed if Facebook deleted their accounts, it's making their lives better without it. https://t.co/kcQb9BJbcN
Yup, @Twitter unfollowed him for me too. Strange https://t.co/61FdRLHN3c
TV status https://t.co/Dho4vtE7RH
@ebrinox @jamesgerrard @coinbase @CoinbaseSupport did you ever hear anything back?
♥️ if you think Bitcoin Cash is propaganda, reply if you think it's the better Bitcoin. #bitcoin #bitcoincash #bcash
https://t.co/HJvCmci1MU
Don't keep you money on an exchange
Check it out, the majority of the bitcoin uxtos in the mempool suddenly shifted to a majority of "heavy" tx, all the "light" tx have fallen away https://t.co/gvRXmnfeWD
Smells like a good time to buy Bitcoin!
If you call cryptocurrencies "crypto", then I just assume that you weren't around or weren't cognizant of Signal, Tor, Signal, back to CryptoCat, TLS, SSL, TahoeFS, SSH, GPG/PGP or the first cryptowars.
"The 2017 Winter Solstice Denunciation" https://t.co/iapsIhjkj8
https://t.co/ov8NJJV3rY
My buddy PAL Al @agrabau got an excellent write-up in Jalopnik today, fun gifs, photo &amp; video to behold https://t.co/SmTWNDjJNc
I *always* read everything Hossein writes, he has an amazing clarity that seems to be able to peer at what lies just over the horizon. https://t.co/oP7jDODXsh
Lead dev of AdBlock Plus is out, https://t.co/QyYKkhDt2v and while I stopped using them years ago when they sold out by accepting money for "unobtrustive ads", I've been super happy with Adnauseum, a Ublock Origin extension https://t.co/1Rmf0UXHJW
Talked with 3 people this week that1) Said they bought "bitcoin"2) Thought bitcoin was a website, like coinbase[.com] or bitcoin[.com]3) Didn't know what capital gains were4) Didn't know bitcoin could be sent to someone elseStay safe out there.
i was wondering how long it would take to see this "response" article appear, glad to see it arrived quickly. https://t.co/7tQGxNtwfj
TL;DR most of the build time for Chromium is spent mining bitcoin https://t.co/7JdTfBzOo1
The power of knowledge is laid bare when authorities censor the free dissemination of academic papers https://t.co/TayuYg2fCK
I just published “How Do Not Track and The EU GDPR Promise to Disrupt the Future of Web Advertising” https://t.co/Fpunyknwq6
Should you watch Star Wars? A hot take. https://t.co/6RroKUsdBe
an objective review. https://t.co/KwZT1S7z8A
Walmart should just pay their employees in company scrip issued by Walmart that can only be used with Walmart. Obviously blockchain based, they should call it WalmartScripCoin™.
of all the sites i used that don't have 2FA, i worry about @Untappd the most https://t.co/rrSWnGPuqn #PleaseDontHackMyBeers
Finally validated, i'm a CircleCI-verified l337 hacker https://t.co/57MILFxM7n
Noticably Comcast removed the pledge to not throttle, and removed the pledge to make Internet affordable for people of low income families https://t.co/FrSXNpO4wY
twitter just ratio'ed THEFUCK out of this bullshit https://t.co/PvdkfDnESP
I still think this is the best, most concise technical overview of bitcoin i've yet read. https://t.co/mI3lxjB6zw https://t.co/wad5YH3CGr
The FCC has received more than 22M comments on its #NetNeutrality proposal. Urge it to #SlowItDown and read ‘em all. https://t.co/vqeoQyw864
"FCC Pai: "It is time for ... engineers to ..." NOPE NOPE NOPE literally EVERY engineer i know is against the repeal of #NetNeutality
FCC Pai: "[unexpected] Bitcoin minings effect on the network" NOPE NOPE NOPE, mining occurs offline PAL. #NetNeutality #Bitcoin
new post: Since the advent of the first banner ads, web tracking has gradually developed practices that are intrinsically based on a disrespect for peoples privacy, DNT and the EU GDPR will disrupt those practices. https://t.co/XqS4YBNIMJ
The @FCC should stand up for the consumers it represents and protect #NetNeutrality on December 14 https://t.co/LiOyzPeBHE
It seems @emberjs developers get paid more https://t.co/pbtBPmuAiH https://t.co/CZtejxL13z
Thread 👏 https://t.co/jKz82yaR4f
The attack on Christmas started off with a bang this year. https://t.co/ao6tjnBHTf
BOOM (GDAX) #BitcoinFutures https://t.co/Ff8sutoMxV
Step 1) cboe dot com is down.https://t.co/xI7yXCPNGi #BitcoinFutures
"That more efficient, far more resilient government approach will replace our failed, 40-year experiment with market-based incentives to meet essential health needs"this person is optimistic, but i hope this happens.https://t.co/jR9pF6hrQ5 https://t.co/PIF2DQCzLC
Finally this is getting traction https://t.co/C4rDIvyUni
Hopeful prediction: The Democrats will be outflanked by the @GOP proposing even more more money, totalizing their complete irrelevance. https://t.co/0X2iValqrz
Yes plz https://t.co/ljMGURtnUW
"Public commitments" aren't legally binding, and wont do shit. We need progressive law &amp; actual policies. Not hopes and prayers.@DNC party leaders are ordering bailing pails while the @GOP is loading a few flimsy life rafts🛶 while yelling "corporations and the wealthy first!" https://t.co/lU3sYumwYz
Blog post by @__dfreeman &amp; I dissecting the differences between {{curly-syntax}} and &lt;AngleBracketSyntax /&gt; in Ember templates https://t.co/nnLfKDER12
Every game @HIDEO_KOJIMA_EN makes, he predicts the future. He is our Nostradamus. https://t.co/eNye3jhhyj
so i'm getting packetloss at work today, so i wrote a lil' bash script that sends a macos notification when its occurring and by how much https://t.co/RJlOf0ETvn https://t.co/CRtqiuZW0T
BRING OUT THE GUILLOTINES! https://t.co/kFdhRvjR9A
Until today, Bitcoin exchange has been done by optimists, but starting tonight the pessimists will join in from the futures markets. Since we haven't yet had them affect the price of Bitcoin, my prediction is the next 90 days will see a 30% negative correction. Be prepared
#1 reason I'm childless. https://t.co/LDjanV7ZrG
2013 Boon Brewery Kriek Mariage Parfait to celebrate the first winter snow https://t.co/3OpFpYlDZR
Fascists &amp; murderers, nothing else describes these pigs https://t.co/bkfi6oqcDI
Me IRL.True fact: my first Bitcoin purchase was Soylent. True fact: that purchase price is worth $7,877 today. https://t.co/wKgw779paO
That awkward moment the Federal Reserve comes out and says "trust is necessary" to make their system work, then goes on to describe dissecting Bitcoin from "distributed ledgers" so they can have… &lt;wait for it&gt; … a fancy database https://t.co/cGVzj038he https://t.co/ZcVz0aiC34
Typical Fear and Doubt from the media. https://t.co/rsvXhWyp1q
Great read on the built-in economic eras of Bitcoin https://t.co/Y4rTayWxZm
nice to see decentralized publishing &amp; censorship resistance is working well over at YOURS https://t.co/nOGYbxpKvO
December 2013 bitcoin looks alot like 2016-2017 bitcoin December. Those days were great. But remember 2014 bitcoin?, that was harder. https://t.co/lIrixgqk7z
that feeling when you ask a 'friend' for feedback and they say "it looks like shit" rather than give humane feedback.
Fondly remembering in 2015 when @ObsoleteDogma said "If Bitcoin were a currency, it'd be the worst-performing one in the world, worse even than the Russian ruble." https://t.co/3iGoIx0ADg
an interesting way to think about the increasing price of bitcoin is to think of the value of BTC as staying the same, but the value of the USD is decreasing.
IRS orders @Coinbase to produce IRS documents for customers between 2013-2015 for any transactions greater than $20k https://t.co/tTgwvUcXMs
Remember when everyone was all "Uber is horrible because of harrasement!" now we're all "OH, LITERALLY EVERYWHERE IS HORRIBLE" because nobody believed women.
🍿 https://t.co/HJhorvOoJE
@ryder_ripps https://t.co/vV0KAAO8W7
welp 🤦‍♂️ https://t.co/vV0KAAO8W7
Support #NetNeutrality as developers, and citizens of the free exchange of knowledge, information should be free https://t.co/BFqwXQcPAM1) Click above2) Under proceedings enter 17-1083) Add your name / address4) say "I support Title 2 oversight of ISPs and net neutrality"
Yup, @AmonTobinHQ is the @michaelbay of music.
My bike was stolen in 2007. It was a dope-AF full-suspension mountain bike, I had worked an entire summer in high school and saved up $1040 to buy it. it had sentimental value to me.after it was stolen, I setup an RSS feed alert me if the bike ever appeared on Craigslist. 1/? https://t.co/ERUgZBzkwR
bitcoin to the moon $10k, before the end of the year. called it. https://t.co/Snto4Rbw00
Bitcoin hits $10k https://t.co/426j4SzJUL
@ryder_ripps ChromeOS
this didn't end well for @rogerkver https://t.co/AAIyavApib
Its #CyberMonday, or a good day for society to examine the issue of over-consumption. Instead of spending, keep hodling your money in bitcoin.
oh the good ol'days, buying cocktails this week when it passes $10k. MARK ME https://t.co/pxkQ2Ny1kM
Afternoon bike ride, discovered an amazing dive bar in downtown Boston. One of the few left https://t.co/Z962CPQVaQ
The untold sex scandal of 2017 actually occurred in year 0, Joseph roofied Mary and got her pregnant. Lied about it and caused an entire religion, set the basis of modern patriarchy.
A game like Kerbal Space Program, but for blockchain developers building a new feature.
Heading out for a run, but I lost my hearbuds. I'll have to play-it-by-hear and use the phone speakers instead. Need to upload a new running playlist from my labtop, it's the best thing since life's bread.
so wait, I should pay for the privilege of donating my computer? https://t.co/sPeiJcc1Jx
Read everything this person writes https://t.co/23t0XVsgbB
TIME TO BRING BACK THE BOYCOTT https://t.co/xGGBeRrP7g
"Awww"-tastic, 👏👏 https://t.co/INE5kGwYle
unanswered question: how THE FUCK did this footage from security cameras WITHIN THE DPRK get out? ⚡️ “The North Korean soldier who escaped across the border”https://t.co/gRkpAk1LdM
Really awesome take on #NetNeutralityIt would make a nice article, as the format is kinda 😲 https://t.co/nSP2E4MmHJ
#deleteuber https://t.co/U8BeVkCKwt
Facebook needs to be killed https://t.co/XtDVu3WtkM
Nobuhiro Watsuki, creator of Rurouni Kenshin manga arrested for, and admits to owning child porn. The anime industry need to take a hard look at itself and its long history of sexualizing children. It's normalised across the industry without even a wink. https://t.co/UHuHEG6ixd
Ajit Pai/F.C.C. is dismantling #NetNeutrality https://t.co/5L3beJJkSq such that our internet would look like the same hell world that cable TV looks like https://t.co/5vqieqJfFM
My Twitter account is the same age as the kids on Stranger Things #MyTwitterAnniversary https://t.co/vEAKHfeerz
My partner made what looks like cocaine powdered chocolate cocoa cookies. Coca-cocoa-cookies https://t.co/lYIFz57HRM
this thread: re 3/4 big browsers are supported by surveillance capitalism https://t.co/hpoZKIFxgk
1337 bitcoin blocks.yup, seems about right. #leet https://t.co/mYQQotamPv
ME IRL (at work on any given day) #CowboyBebop https://t.co/QsyLgaJplS
Had some friends over to have a hackathon today, accomplished: eating a roast beef sandwich, sold some Bitcoin, gave a FOSS project a name—naming is hard, updated some Node.js dependencies, fixed some tests, ate 3 brownies, 4 cups of coffee with @hermes &amp; @blatyo
Game changer for youtubers &amp; and cryptocurrencies today. @brave activated direct payments to @youtube content creators using the @AttentionToken today.
someone raised the red flag🚩months ago about the SegWit2x coordination problem, but it seemed to be ignored until *boom* https://t.co/dsnCQHHiQb
An example why software engineers need to be applying ethics to our work. Horrifying industries are asking us to write code that'll attempt to determine if people are or will be "contributing members of society" and exile them if the answer is "no". https://t.co/oG1pqD68KH
Launch night at @CinchFinancial https://t.co/n6R5O4OCxx
The waste created by bullshit convenience https://t.co/EvtZCU3g1nA wonderfully fun point
Congrats to the @Firefox team at @mozilla, wonderful news today. https://t.co/ATrtmlKqyB
Tomorrow @mozilla launches Firefox quantum v57 (stable). I've been using it for a month in beta now, and its FAST. Welcome back, old friend. https://t.co/Dh490f1hz1
T-10 minutes before BCH hard forks with a difficulty adjustment, Bitcoin (BTC) is 2.68x more profitable to mine that Bitcoin Cash (BCH). Placing bets that the adjustment will result in lower difficulty and miners short-term shift mining to BCH until it gets more difficult. https://t.co/LmUFO08DIB
A helpful mental model for understanding the benefits of Bitcoin (BTC) and Bitcoin Cash (BCH) is to think of BTC as money sitting in a savings account and BCH as money in your wallet for everyday spending. Both have different uses, both equally useful.
Today was a big day for bitcoin cash BCH, managed to double market capitalization in a single day. Hype machine in full effect. https://t.co/iVQ6d8HrKu
bitcoin mempool is clearing up again https://t.co/MS0p9yjvOQ
bitcoin vs bitcoin cash fireworks today. haven't seen a battle this big in ... perhaps ever.
amazing friday night movie night, https://t.co/ZGvL0FG6w8 is so fuckin hilarious.
The Paradox View1oz Antica Formula Sweet Vermouth.5oz Bacardi Silver Rim.5oz Smith &amp; Cross Rum.5oz Amaro Ciociaro.25oz Gammel Dansk2 dashes Angostura https://t.co/FoEXJCxEf1
Color me impressed, @npmjs 2FA integration on their CLI is amazing, the ASCII QR code is amazong. I'd add a screenshot, but that would be stupid.
GORKAAA! https://t.co/C6SScZtrgs
my internet buddy made Meme Buddy https://t.co/sjhf8lwgtQ
Which is your favorite software that produces metrics as an artifact?
#TwoReasonsIGetOutOfBed1. to code before anyone else is awake2. to listen to quiet
more anecdotes that we are indeed living in a @cushbomb-esque Hell World. https://t.co/5R3vu1YVw3
Great job team #Somerville https://t.co/aNJBMMPhNH #ElectionDay @JTforWard2 https://t.co/4EyDl9R8qY
👏 https://t.co/ic5Oqgx1kW
The fact that this is algorithm-generated video w/views &amp; responses by a legion of bots is proof that @cushbomb is right, we live in a horrible Hell World https://t.co/slLzlWeftb
Fascinating: Videogyan 3D Rhymes  posts several algorithmically derived videos a week, in increasingly byzantine combinations of keywords https://t.co/JmMu7fDMeA
Twitter going to 280 characters is fine, but i'm stranded on an old Palm Pre with the original Twttr client, cant type more than 140 charact
https://t.co/qTLMmGFkFj
Show up and vote in somerville tomorrow folks, @JTforWard2 https://t.co/LkhvXuyggk
4 yrs ago we worried about China censoring the internet to combat "rumors"? Now the USG&amp;Facebook will do it for "russian interference"
good take on censorship collusion between Facebook and the USG https://t.co/G4Ou3WrUB6
A perfect metaphor for the US tax code https://t.co/kiNOD54XoV
小さなCSSプロジェクトを手助けすることに興味のある日本のスピーカーは誰ですか? https://t.co/vl8ImpfxQg
system-font-i18n-css v1.0.0 our first stable release today 🎉 https://t.co/WHb29HmFoL
Saudi Arabia undergoing a coup, lets just call it much-needed reform https://t.co/GcJSw7118W
my jam 🎶 https://t.co/b17xvWBXoP
My jam 🎶 https://t.co/Htm8DYMDrY
The trick of capitalism is to make the powerless feel nothing is worth doing, but the comfort of life makes the powerlessness endurable.
Bitcoins security strengths are like a quickly flowing river, it's power isn't apparent until an obstacle impedes it's flow.
DO IT PERMANENTLYMAKE TWITTER GREAT AGAIN https://t.co/R2Fd53kJpA
CME launching a bitcoin futures market is a huge deal: a post-it note explanation https://t.co/goHk5RN6Op https://t.co/eEEl0u6Q0L
More tech-savvy people are more afraid of how tech erodes their privacy https://t.co/josKltMNg6 https://t.co/lvYNtasH8W
The Web began dying in 2014, here's how https://t.co/ZY1KsmHiju via @andrestaltz
savage burn in the spirit of the holidays https://t.co/pibG0Yu7JU
this guy fucks https://t.co/ZeVklKwr5w
Bertrand Russell on the media, witch hunts, and fear of public opinion https://t.co/jCeZg3BCZc
yet again @b_apothecary nails it re: https://t.co/Bp3wcX4OgP https://t.co/GBqLu7dnbg
The Titanic is sinking: Republicans: "we need more life-boats!"Democrats: "the soup portions for those in steerage are too small"
The Overton window has literally inverted.Republicans: "Every American needs UBI"@SpeakerPelosi: "Every American that is means-tested might get UBI"at this point the republicans are more leftist than the newly centrist-right Democrats
This pair of @Bose headphones has a hardware bug with the cable cc @decipherstatic https://t.co/DBFXDEMM9s
My favorite emoji https://t.co/AbW4akVRbW
Cant make this up: Wells Fargo “Millennials associate love w/ happiness, BUT good news! we're ready to help uniting happiness and money” https://t.co/eeaYcweI8Q
Legit AF Halloween movie watching here folks https://t.co/3thSWwPASO
anyone know any fun twitter dot com users who setup a bot that continues to tweet out from their account, after they've died?
"Leave IRC" they said"ITLL BE FUN" they saidRemember when IRC went down in 1997? ME NEITHER BECAUSE IT NEVER HAPPENED. YOU DAMN KIDS. https://t.co/ufBjZsjM3p
Scariest costume i've ever seen, was 4 years ago, a little girl dressed up as a Ruby on Rails ActiveRecord object... no input validation
quit facebookhttps://t.co/nWtTJtuXRD
scariest costume i've seen this year. by far. https://t.co/u69glTNdbg
Children: “Trick or treat!”Me: Reece's or M&amp;Ms?Parents: they're both allergic to peanuts and chocolateMe: &lt;hands them Pains Common Sense&gt;
The streets are filled with children inquiring as to wether I have sweets on my person; I gave one a pocket Constitution from the @aclu
ReacAS: a new fully compatible react library; in ActionScript
This is the most dystopian outlook on the open web I've ever seen https://t.co/ZY1KsmHiju
Thanks to the #Hacktoberfest campaign with @digitalocean and @github my app has received 4 translations https://t.co/D64ugYMcfm
FYI The Guardian is a 1-stop-shop for some wonderful anti-facebook news https://t.co/QfUL2CdmVA
The silence is deafening https://t.co/FrG6ynzHj4 https://t.co/1PkaCgHTjL
Lunch break vibes https://t.co/dSuu5TiBjO
Great reading "State of Vue.js report 2017" https://t.co/ImrTHZzzVJ
such a great feature @github https://t.co/5ENe0CpSYZ
AI at Google, Facebook, Twitter optimize for the portrayal of our world as a dystopia just to make ppl click on ads. https://t.co/fJ8bSKgna6
fall is here. https://t.co/ThO3qfeKS3
on a a responsive app, what copy works for both:&gt; "Click 'Next' to continue" or&gt; "Tap 'Next' to continue"#lazyweb #copy @kissane
a beautiful moment for sovereignty https://t.co/l22DmLpm3l
Migrating from Ember to React is like driving a BMW to an IKEA and trading it in for a box of parts you need to assemble into a car.
Excited for the release of the #JFKFiles may reveal new &amp; rare Pokémon, hidden by the government.
Placing my bets. https://t.co/QQQ7qOqmf5
Media takeover just got its' first blessing https://t.co/eEUUUf4EcX
Killer feature to power through articles! @pocket releases playlist feature for article playback https://t.co/yqcVSCKNOS
History and New England spirits, @b_apothecary has been killing it with his series on New England rum production https://t.co/V4rTGDCTPq
Facebook Offline Conversion connects the things you buy IRL to the ads the seller paid for; by selling your privacy https://t.co/WcMsOFDTZn
Amazon Key, terms basically say "You grant us access to your home and any issues related cannot be taken to court."https://t.co/bV8RPzRQT9 https://t.co/IJzaWEfoo0
Amazon: Put this Echo listening station in your house&lt;later&gt;Amazon: Fuck it just install a camera &amp; gimme the keyshttps://t.co/AuaQWaoNIE
Low interest rates means the value of collateralized assets increase, easy money but at a cost https://t.co/JtQitOOJeJ https://t.co/w99nSXkvyH
I shall be there tonight. https://t.co/mXIbSQORiN
🎶 My jam (some really great post-EDM archeology here folks) https://t.co/4cXzFd2jly
Bernie Sanders should've won for no other reason than his grandfather was Colonel Sanders, a military man and expert at fried chicken
As a priest indulges in sexual impropriety, a banker in fraud, a developer in not writing enough tests.
Weekend reads: Ancillary Justice (Imperial Radch #1) https://t.co/1N8bXHLb7p
winter in New England is arriving, just remember ... https://t.co/PgxkBOvgFb
When Britons and Australians call me a "yank" or "yankee", i sense it carries pejorative tones. What is included in this negativity?
https://t.co/BucnYWuCBb
browser: I wanted more icons in the UI, so i put more icons on your iconsme: ...&lt;later&gt;me: yeah, seems about right https://t.co/SxrRebVRtU
anyone have experience integrating with the MaleShrimp API?
The React Story: How Facebook's Instagram Acquisition Led To The Open Sourcing of React.js https://t.co/1Dtu7qDgnI
lunch today: peanut butter &amp; strawberry jam, strawberry jelly, strawberry conserve, orange marmalade, fig spread and fig compote.
Remember. How. Bad. Bush. Was. https://t.co/oEyXEhHdBq
Ember-freestyle IS basically storyboard, so close it would be a shame not to build upon it. https://t.co/NG2Jy1339d
Hit me up if up it I've interacted with you, similarly https://t.co/sZZ6VWrxps
Support open source in October and earn a limited edition T-shirt from @digitalocean and @github https://t.co/aXbHEdErns #hacktoberfest
I'm naming my children after @AWS service names, Cloudformation, EC2, CloudFront, Redshift, Elastic Beanstalk. I wish I was having more kids
What if @TwitterMoments designed news posts to reward the most in-depth reporting, not most clicks? @design @bhaggs
Cowboy voice: This town *IS* big enough for both of us!create-react-app vs ember-cli https://t.co/1IpYOFDeyj https://t.co/Rtd5Lmqiov
The Javascript Modules API in Ember is a great read, also funny https://t.co/oEUpM315Ot
Speaking truth to power is not easy, and the powerful will fight back with the only language they speak: Violence https://t.co/3hFIOcQy2d
It took God 7 days to create the world, and 10 for @BrendanEich to create JavaScript
WiFi encryption can be cracked, and secure connections compromised https://t.co/yhxuvHYYYN more at https://t.co/5tzir9mB08
"[in 1997] we could've never understood the ubiquity of the internet in 2017."https://t.co/zr8Kg0Daak
I called it. $5205, today. https://t.co/LAZYYU0E7Y
I made it into the @wikileaks Hacking Team archive release, by following @hackingteam on Twitter in 2015 https://t.co/xq4m7A541E
Narrator voice: In the year 2017, the world was dying... https://t.co/1OZHymMXx3
My article "One Year with Ember" went out with this weeks issue of Ember Weekly https://t.co/Cw3xpdg647
👏👏👏👏👏 https://t.co/9mHdomazeP
This paints an amazingly exciting future for both Ember and Glimmer https://t.co/4yEVwpiOE4
Excellent summary of progress on Embers’ Glimmer engine https://t.co/XG78SzXAaY
I called it, last week https://t.co/cKyv3ThnxF https://t.co/8BAPo89EkP
Thoughts on Ember.js after a year of use. https://t.co/poP8ktymJT
Blade Runner 2049 👏👏👏👏👏👏👏👏👏👏👏👌👌👌👌👌
React is great because its just the V in MVC, and the 'R' in Redux, Reflux, Relay is the 'F' in WTF
More people die from hangings than from falls from free soloing, so using ropes to climb is unsafe.
I've been thinking of how technology is leading to a new kind of fascism in which technologic progress is mandated against all else.
yup, @richardbarbrook was right. https://t.co/rLMnPcs8ow
My partner deals with me #dnd4lyfe https://t.co/Md5BWqJdWW
Microsoft slowly backs away from Windows 10 Mobile OS and doubles down on Android, https://t.co/DKd6krTdjG
If you're on Ember 2.14 or later, you should switch to headless Chrome as the default test browser https://t.co/G60KP9YI7h
Ember 3.0 has been announced https://t.co/LG6OuHTFlb great reading in here
Im really enjoying how @Kleenex added flavor crystals to their tissue https://t.co/drAT01g6AP
Rather than getting catharsis by watching Jimmy Kimmel fight back tears, we should all be crying our eyes out to feal actual real emotions
The best modern use of CD players is as a phone holder mount https://t.co/h6oIB632M3
Me when I'm trolling on Twitter https://t.co/PXeFFMr9Xr
Free atom name: Herculanium: exhibits unstable characteristics &amp; capable of destroying cities in southern Italy
The difference between a programmer and a computer scientist is that the scientist follows the scientific method by writing tests that pass.
my jam 🎶 https://t.co/8qOQ3XMwBL
My jam 🎶  https://t.co/3V6HUNkENB
If watching a sportsball game on TV offends you because someone doesn't worship a flag properly, read a fucking book. It'll do you good™️
Nothing caps off a software engineers day like a full passing test suite and a cleanly pinched-off BM.
So many details to appreciate! e.g. the clock shows real time https://t.co/hiXOT31BPh
@DooWeeTran Adulting ain't easy
RIP Cassini, i cried. https://t.co/hVhEzksJhG1997 - 2017
In case you wondered, high school dances still play "Jump Around" by House of Pain.
The Law of Diminishing Returns in action! incrementing code coverage tests tends to yield smaller coverage results https://t.co/2FIY0UcO44 https://t.co/BjHjFwqEzQ
Free Kickstarter idea; pants that pull themselves up after using the toilet.
Freeze your credit in 10 mins from the big 4https://t.co/mwrqZoorsrhttps://t.co/sQofBxf4A9https://t.co/4btZU1WREzhttps://t.co/QFr7eGxA6t
Protip: Don't put "BS Marketing" on your resume.
Everything about this site: https://t.co/fnjmLlzFg0
Smoking is the original Pomodoro timer.
Prodrive laps Nurburgring in new sedan record at 6:57.5 Subaru WRX STI Type RA NBR Special (In Car) https://t.co/EcUfsYyxqY
The best way to defeat white supremacy on social media is to ban it in Saudi Arabia, then Facebook etc will surely block it.
An equal-opportunity leaker @qtychr https://t.co/I0Hyz2oQBT
@WillPlatnick @cgosimon @davecheney I wish I could like this tweet more times
Lol AgileThis guy nailed it https://t.co/oup4Jr4TOs
if only he finished the line by saying "GORKA!" @ByYourLogic https://t.co/W3gYZP1S75
Our president has put six (6) companies through bankruptcy, why are we surprised when he's doing the same as president of our country?
Coronavirus Will Revive an All-Powerful State https://t.co/EVgsyXxOnq https://t.co/prrwePk7jz
What are good examples of rolling up commit messages into github release notes? Repos I can review plzkthx #lazyweb
Read this thread https://t.co/tGBRhPN8SZ
The@eff first rips the @w3c a new one then resigns in protest over DRM (Digital Restrictions Management)👏 https://t.co/lHKeBCBdTZ
A chicken pot pie the size of a jacuzzi that you need to climb into to eat
Before coding, I prepare by visualising myself dead. Once I've finally passed through acceptance phase, I begin typing.
Obama was the first black US President, but unfortunately this has made trump "the first White US president"
Equifax is one of the largest PII custodians. How do they end up with default user/pass of admin:admin?Because free press &amp; new customers
Transunion is misleading consumers to a "Trusted ID" credit product, while the actual credit freeze page is "down" https://t.co/m9wGnEN87E
Wingsuit BASE jumpers live each day like it's their last; because it most likely is.
Literally cheese https://t.co/vCXeoEj71L
Security is hard™️ https://t.co/wWcyx3daq5
Istanbul is lit AF https://t.co/3cb0ZKFHUI
money must be exalted for it's own sake, it's morality extolled because the counterfeit life it creates requires counterfeit justification
“the technical equipment which objectively eliminates labor must at the same time preserve labor as a commodity.” –Debord 1967 https://t.co/sZvX9ntsLF
So Debian nearly has reproducible builds, but i want reproducible Sanders-would've-won-but-hillary-failed elections.
Phew! https://t.co/vQ60i0NHOZ
Never give up your leverage https://t.co/XzsU91Lsx7
First git commit from a ferry boat https://t.co/f2qYWTYQPz wifi tethering is amazing https://t.co/85gDaSccS8
Revised1 Create solution to problem2 Create problem3 Promote solution, signup excludes participation in a class-action4 Profit w/no risk https://t.co/ZIVLWEe6Nr
Articles on #equifaxbreach are prompting people to sign up for TrustedID when the Terms prevent victims from suing https://t.co/qA1cazHOSW
Just want to slather the inside of my kigurumi pajamas with a warm jar of vaseline and feel like i'm being birthed again. So smooth
Outrage intensifies, if you sign up for TrustedID, you waive your right to sue them https://t.co/LpuQXYBcf1 https://t.co/JI0GJtm22d
Bush did 9/11 💁🏽‍♂️ #GetOutOfJuryDutyIn4Words
Equifax issues a press release announcing a data breach AND 1 paragraph later promotes their TrustedID service to fix the problem. Amazing😡
Equifax breach will be a boon for their "Data breach solutions" service.1) Create a solution to a problem2) Create a problem3) Profit.
Films from the Marvel &amp; DC universes, Transformers, Hulk &amp; more have been influenced by US military rewrites https://t.co/aM0jk7YDPd
Envy, depression, isolation, monopoly, human-monetization: the single best take-down of Facebook https://t.co/B59Ey1msbf
If you had a box of brownies, but one was a poo brownie, would you eat one?
How Bitcoin enables greater social scalability with the abstraction of trusted intermediaries https://t.co/LR26UANFdV
The most important difference between capturing value in applications vs protocols https://t.co/GxYa5yXgsk
A shattered mirror reflecting itself.
Google Chromes new adblocker is also their strategy to force users to pay for the web. It's against an open Internet https://t.co/0q7L2T8ii2
My Picasa photo albums are gone.
Can confirm, this model of productivity works https://t.co/ESlN9pjxH7
One of the most useful Machiavellian tactics of the ruling class is to use war abroad as a diversion from domestic stress at home. https://t.co/jcGVWEGo09
Excellent overview of Bitcoin, it's history and it's basic technical structure https://t.co/mI3lxjB6zw by @random_walker
With the Whole Foods acquisition, Amazon should be nationalised first. Let's decommodify food/web hosting together! https://t.co/l77tnDfUp8
Remember, price gouging is a core feature of capitalism, it's as American as apple pie. To destroy gouging is to replace capitalism.
Great piece on wine, propaganda and the alt-right by @b_apothecary https://t.co/DRLgY7A4hT
https://t.co/rIj9lhpXU8
https://t.co/UzMb2MMRha
Religion is just politics with higher stakes
When @github subtly tells you your Agile process resulted in a feature that wasn't granular enough. https://t.co/044jzXsdSU
Goodnight Sweet Prince. I was long on Littlefinger since the beginning, I root for any character on the True Neutral D&amp;D character alignment https://t.co/UJJ1ao3yrx
My #GameOfThrones predictionsA) Dany dies, Jon takes overB) Littlefinger kills Sansa or AryaC) Jamie kills CersiD) Lady Stoneheart
Reading twitter or Youtube, the #GameOfThrones theories often mention "George", which character is he?
Me IRL https://t.co/BgXp5nBWsI
If i won the #PowerBall, i def wouldn't go public about it.
Amazon/Whole Foods TL;DR"We'll track your using Amazon Pay, Prime members may get a discount. Everyone else wont" https://t.co/VGZ6EJqj5E
good, because fuck Googles AMP bullshit, its bad for the open web. https://t.co/bX4FGYhGe8
in future generations, museums to ancient American societies will revere blue Doritos as highly as we revere the works of Greek philosophy https://t.co/VVyZs9nYOp
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost which part is false?
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost What am I being dishonest about? That picture came out of my camera
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost It was difficult, near-impossible to yell at them, we were separated by a 90 foot DMZ of police barricades. https://t.co/fTtY56ajVz
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost but srsly tho, the point of showing up at #ResistBoston was to show, symbolically, that we simply outnumber them. It wasn't a yelling match
literally the moon today https://t.co/bzTTJQlOZW
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost yes
@adviseagainstit @SidrahZaheer @KateDaGreat411 @JulianAssange @ActivistPost shutup
I wish i lived on the sun. #SolarEclipse2017
This thread😂 https://t.co/iNa1ZFHrcq
30-40k is certainly larger than the hate-speech contingent of 20-40 ppl https://t.co/TzDa682ZEu
Beautiful today to see love set against hate at Boston Common with @Boston_DSA @ACLU_Mass #DefendBoston #FightSupremacy #BostonResist https://t.co/BYJNvUSYxM
White supremacists have abandoned the grandstand, #defendboston has won
Free Speech Rally is supposed to be at the Common Grandstand, but it's empty,everyone is counterprotesting #DefendBoston #fightsupremacy
Actually a good list https://t.co/mIhHREC7WI
A Neon Genesis Evangelion marathon this weekend at Boston Common as a diversionary tactic to disrupt the White supremacists
National Lawyers Guild MA has squads back. https://t.co/Smra8u7lKR
https://t.co/Fkl6BGqDwc
this is my jam (MAX VOLUME) 🎵 https://t.co/QJNK4ttWvy
Frontend Dev who does great stuff, go get em! https://t.co/LUNq5cLBis
Every few months i have THE DREAM https://t.co/7O5yxL6y3B
a viable non-violent way to fight nazis https://t.co/gDlUkNczBS
Those with the most foresight know how to divide a population to control the whole; but sometimes it's time to choose a side. I'm #Antifa
ME IRL watching the bitcoin price jump up in $100 increments all week https://t.co/2vFm757HdJ
In the richest borough in London, the aesthetic of the outside of subsidized housing matters more than the safety of the people inside
BIP 141 (Segregated Witness) activation is scheduled to take place in: 1869 Blocks
A few days past the UASF SegWit lock-in period. Boosters have jettisoned, Bitcoin markets are up. The The Moon!🌕
This podcast episode about a deep investigation into call center scammers &amp; hackers is SOO amazing! https://t.co/Dmtvvx0qtv
Thieves of private property pass their lives in chains, thieves of public property in riches and luxury—Cato the Elder
Amazing tool to get your own dropbox-like functionality without @Dropbox having your datas https://t.co/lisDdqX33L
comparison of the heaviest objects in the universe https://t.co/LFtGwnOlwy
Fidelity allows customers to view their @coinbase balance in Full View service https://t.co/nV5Z4Al5Lw via @BosBizJournal
Jamie Lannister wouldn't have drowned if there had been better "DEEP END" marker buoys in the water #GameOfThrones S07E04 #WaterSafety
Great summary https://t.co/AEjCD3GpHP
Dude didn't do it https://t.co/C0yKvYgeMU
女の子はいつだってそうだよ。きっと遠い遠い宇宙の果からやってきた生き物なんだよ。
Today: All the WannaCry ransom has moved. Also, the guy who killed WannaCry @MalwareTechBlog arrested by the FBI https://t.co/1dHs4n75wG
The Italian flag is Red White and Green to mirror the three predominant colors of tomato, mozzarella and basil found in pizza.
This is my jam 🎵 https://t.co/Z4gBzMWPZZ
Conspicuous Consumption, Relationships, and Rivals: Women’s Luxury Products as Signals to Other Women https://t.co/A88m3Zo7QI https://t.co/GPdrV7EzoJ
With the finance and airline sectors asking for bailouts, we have the most leverage to heavily invest in public infrastructure and works programs. Now is the best moment to nationalize these corrupt institutions https://t.co/JtjER0joJN 1/n https://t.co/u0OyqaSgSk
We need to broaden our imaginations!Create good paying public jobs. Invest in public infrastructure.👏NATIONALIZE👏THE👏AIRLINE👏INDUSTRY👏! https://t.co/MpAElWK4fw
Startup idea: eco-friendly firm that recycles plastic from used PortaPotties into cutting boards https://t.co/AMIstExmsP
TL;DR Airlines have been spending their own money to buy their own stock, pumping up the price, and when the market crashes their stock price, they want their money back.PS: They spent any profits they might've made on executive bonuses.BRING OUT THE GUILLOTINES https://t.co/3PnI0GIL4e
prediction: $3333.33 https://t.co/MleyQ5NGn5
while i understand the rationale for security movement w/r/t public health, it'll be hard to imagine the CCP rolling this type of surveillance back once its been deployed so widely. https://t.co/bd2l1noeei
my hobby +@qtychr https://t.co/grLEHav51H
EmberConf is free this year, and virtual due to COVID-19, and is livestreaming now! https://t.co/AuhjQkynDj https://t.co/1DNvaflfCG
This ad is irrelevant now https://t.co/wyJxbqZwmZ
Neoliberal deregulation of the financial sector over the last 40 years has encouraged banks to put money into risky bubbles that keep popping, retirement funds of regular people are directly tied into that system, even fueling it.This is wrong.https://t.co/JtjER0joJN https://t.co/xIq09d1dTH
if we're going to do bailouts, we need to place huge restrictions on it 👇 a great thread https://t.co/apY959tkRu
StalkerТрудно быть богомSolaris (2005)Ghost in the ShellBlade Runner https://t.co/fvM3gtw1iN
🍿 watching bitcoin cash nodes ban each other and a block still hasn't been mined yet 🍿
@charles_keane back in my day, i could buy a tube for a sheckel, but a patch could be festooned from cloth and spit was free.
Do people still patch bike tire tubes? Or is that a hold-over from the great depression era?
proof4902d59d6713e1571ab402dee095c9475cd63ae6b8b019eea671c638ab2db449 package.tar.gz
Wells-Fargo is literally a criminal organization https://t.co/s7XBXuUSih
PSA you should have removed your BTC from any exchanged already. If not do it now.
Interesting cryptocurrency ICO @ErosHQ the "Uber for sex" will be issuing tokens that can be redeemed to buy sex services.
The Onion is killing it with their Sea World coverage https://t.co/tyN2RhT0Lt
Anti-facial recognition makeup https://t.co/mDiO25HX3f
If your UI displays relative time ("17 hours ago") please add a tooltip showing the actual timestamp
“Bitcoin Cash: What You Need to Know” — @jimmysong https://t.co/NBHWBLBsQY https://t.co/MaMNLFhuMN
I got some potted plants to greenify my deck #somerville https://t.co/6kFQTjd6qa
Early to today's meeting https://t.co/7tYzpqGsNA
Happy thought of the day: @xychelsea is free and it's summertime AND GoT season!
Oh fun, more stuff that'll potentially kill the first explorers to Mars. https://t.co/RlC49V30dQ
Why is it covered in KY Jelly®? https://t.co/ymdqwSsB7x
The best thing about marriage is I can try all my (bad) jokes on my wife, and she still has to be my friend.
Political organizing around the concept of labour is in for a wake up call in the next 10-20 years. Labour itself drastically changing
People in Vietnam keep asking:Q: How did Trump get elected?A: I don't know what to tell you.
Me &amp;JPL this morning https://t.co/r3Sr8WqJoZ
@charles_keane We're going there Sunday 🤓
Their faces do nothing for their faces https://t.co/e1pEkifwem
How tech changes employment: Walmart revenue is $485bil w/2.3mil employees vs Apple at $215bil w/115k employees.
The rationale behind the Honda Grom (MSX125), why the Dynamics are so amazing https://t.co/UCqKDjccYk
What's a tree called that only has one other tree beside it?.........&lt;wait for it&gt;.........Mahogany Manogomy.......&lt;nailed it&gt;
Me IRL https://t.co/UnjP6fvP3j
Tomorrow I'm off too Vietnam for two weeks
Bruce Sterling's “Veridian Society” (written 17 yrs ago) describes today's problems better than when it was written https://t.co/8IGkSsJmnF
In N. Night Shyamalans newest film about a Wells Fargo heist:the bank is the criminal.
I'm always at Inbox 0 on most days, but my Twitter DMs like https://t.co/8nQ4YBpoMz
Searching for bash terminal shortcuts, i made the mistake of searching for alt-right and realized the politics has cooped that word.
Hobby Lobby smuggled thousands of Iraqi artifacts through UAE and Israel into the US https://t.co/sCRYhzcvyy
Stalker (1979) is about a societies failure to promote an optimistic vision of the future by denying desire, thus ensuring it's own demise. https://t.co/9Y7Q2AugXB
today my jam 🎵 https://t.co/yBmdoIAuwW
NJ residents can finally feel validated that this government see them as a threat https://t.co/E8sLttSFPD
@bradleycb750 @ClaytonMuirhead @NYCLU I drink no koolaid, the dudes an idiot, I voted for someone else.
@bradleycb750 @ClaytonMuirhead @NYCLU Actually your oath was to protect the Constitution not the government
I can't believe i'm only now discovering the band New Order.
If journalism had the kind of investigative chops as this guy, news wouldn't be called "fake news" https://t.co/jAtElCmBTR
Greatest Hits: The War on Drugs· 5x increase of the prison population· Mass legalisation of marijuana· The opioid crisis
@charles_keane the article reads like a playbook of Best Worst OPSEC Practices.
Corrected title: "7 worst privacy settings you should DISABLE" on the google pixel https://t.co/WtIWug1n9f
I didn't know @mtaibbi liked #TheBachelorette but now i'm wondering why he hasn't yet written a #longread about it https://t.co/ApES1l3JFx
New bike seat installed today @FujiBikes #fixie #2006Track https://t.co/atIZ1mb8R8
Daniel Stenberg, a Mozilla employee and the author of curl denied entry to the US https://t.co/x2VQ8ahFTs
A wonderful summary of Vermouth https://t.co/hrXbozpNkw
Summary of how @vwdrives and @fiatontheweb subvert emissions tests https://t.co/hEyYngl3Ig
my jam / mood https://t.co/vYm25evUKm
Websites, by any other name; and some clever caching https://t.co/scriACcQT0
IM DYING TOO https://t.co/e1JDOtuoDl
From the makers of the Shake Weight: https://t.co/mJ7MlB3voR
THIS https://t.co/0LufTvdtJb
@XenosynthPlus so true ATM
Tip #1 Quit Facebook https://t.co/2eL5dDCDEg
This will not end well for Microsoft IT people or end users. Let start the 0-day race.Upside: Microsoft can now say they're "open source"
I know of at least 1 pregnant woman who used the week this law was in effect to go on a killing spree in NH https://t.co/c3BploPNBZ https://t.co/sOCtpwPYUX
@DooWeeTran @qtychr I'm in Vietnam July 8-22nd
@DooWeeTran @qtychr Start in Boston, end in japan
Google is redesigning its android emoji, and introducing 69 new ones to the Unicode spec https://t.co/RETHat6Pfv
i've lost 8.2lbs because i dont have snacks at home and i've lost muscle mass without going to the gym #HowQuarantineHasChangedMe https://t.co/bEyv6p1OFe
Building self-determination without nationalism https://t.co/cLnQ8XQpck
The modern grocery shopping experience is much like that of our Hunter gatherer ancestors; one fraught with peril and danger
i wish git was universalgit rebase -i master-before-dec-24th-non-covid-19-feature-branch
great summary of why Pelosi is the Queen of Preemptive-Compromise. Also Jenni's ice cream is like $12/pint wtf who can afford that much? https://t.co/7OVd5pp5xc
This summer is decompression reading month, includes Kenko, @the_jennitaur, @jmreagle a themed mini-shelf https://t.co/s6vXCWuVEZ
Plastic bags, my goodness I thought she was a progressive!&lt;/joke&gt; https://t.co/GUDCwD1anB
The Black Death hath visited upon thine household https://t.co/77cboUZohh
new scam Wells Fargo is allegedly planning:1) You have a checking account (a)2) They opened a 2nd account (b), without your consent or knowledge. Charge you $1200 in fees.3) The $1200 #Stimuluscheck is deposited to (a)4) Profit, they steal your stimulus to pay fees for (b)
Capitalism encourages us to be rugged individuals, to support and improve ourselves, to continually secure ourselves by buying things. At this time, this drive is what is killing us. 1/n
This is great, but this law should've been in place years ago. Eviction is genocide. https://t.co/oFagGbrNBy
@DooWeeTran @qtychr Yume Wo Katare has the best ramen in boston
https://t.co/m2ouaJG40M
wealthy are eschewing overt materialism and instead spend on less conspicuous signifiers like education and health https://t.co/hiyT28NHVP https://t.co/85FByyQ2Gj
Agree, mark my (our) word https://t.co/YtHRBapoO6
Just wired up github push to kickoff CircleCI build to kickoff Sauce Labs test. Its a Rube Goldberg'esque system of machines🤕
Corporations are inherently morally bankrupt, with a singular drive for profits over everything else. Antisocial by the law that charter it. https://t.co/CPzNx5eK9b
“I wasn't reaching [for the gun]”The line of dialog not heard by the public until now https://t.co/xeKGZfFOxu
TFW starting first day at new startup job, and your onboarding mentor doesn't start until next week. @FrontEndHH #TechTuesday
Politicians are playing in an intermural league while transnationals are playing in the pro leagues. Why do we expect real representation?
My dog 🐕 threw up into my lap tonight.
Chilling thread on de-cashing societies https://t.co/LpXXEJmiS8
So lets summarize this: A US fighter shoots down a Syrian fighter jet over Syrian air and calls it "self-defense". OK 👌
Another great reason i use @ProtonMail https://t.co/DerBRbt8w7
Amazing thread https://t.co/ya6ZXYQrIt
How data and credit empowers business the power to change our behavior in their own interests https://t.co/KbLnjCCb2x https://t.co/3TjGdCI2tj
this could be us @garlick811 https://t.co/2fYtqtuZXD
With the Whole Foods purchase, my credit card history will be even less diverse:Amazon $11.49Amazon $64.99Amazon $79.80Arby's $120.44
LOL, a huge portion of all major web platforms is operated out of a fucking grocery store. Welcome to the future. #amazon #wholefoods
Two things:1) al-Baghdadi has been "killed" by the US many times before.2) The US will go to war with Russia for stealing its thunder. https://t.co/oqLKI4n1Jw
What are these things called? #BTJ2017 https://t.co/8I4PWsO15r
Shadow of the Colossus is being remastered for PS4 https://t.co/LqLezpGpAK
The 2016 US elections were the first elections held in the era of computational propaganda.
welp, looks like i'll be starting my bitcoin exchange in NH. https://t.co/w77eE4dUJ6
MICROBURST TODAY https://t.co/bpjDcYOuG6
Facebook is the latest AOL.
I'm optimistic that the U.K. responded to a terrorist attack by voting to the left rather than voting for the fear &amp;security status quo.
Developer of Telegram messaging app https://t.co/efWNtK4tAP
Screenshot from "The Lives of Others" (2006), seems ominously similar to Gen. Keith Alexanders "Collect it All" NSA surveillance approach https://t.co/bKqQIrMAoW
My waifu just said “nobody reads that manga stuff, it's so dull.” should I call I lawyer?
In a pessimistic era, I find optimism knowing that government employees rise to the level of their incompetence https://t.co/6VzuwATT32
I hope Comey drops some details about this summers Game of Thrones season
During todays Comey session, remember his history of anti-encryption stance https://t.co/Ig6dgg0vdv
During the Comey hearing, remember that Trumps very own @KellyannePolls bashed Team Clinton for calling him partisan. Her team fired him. https://t.co/fuJQS3dGH3
at my company, for each passing unit test an engineer writes, they receive a small piece of chocolate. Within 1mo we had 100% test coverage.
When I said in 1996 “in the future, voting outcomes can be changed by hacking over the internet” people scoffed and said "what's Internet?"
Somewhere along the line, the universe forked and i'm currently trapped in the fork where they are KILLING MY GODS https://t.co/7sebEFguxg
Place your bets: Reality Winner is cover ID for a NSA implant designed to discredit @theintercept and blame Russia 1/2
Vinay Gupta on how sci-fi give us the metaphors to understand todays relevance of bitcoin https://t.co/urc6f0kSJP
NOPE FUCK YOU AND YOUR HATRED OF PORN NOPE NOPE NOPE https://t.co/XJ9QfCDnik
Teresa May attack on porn is the same conservative authoritarian muzzle that ISIS wears, how is porn even tangentially related to terrorism? https://t.co/Kd4HiiRdNt
Amazing thread https://t.co/0APxG6G7eb
Literally just saw a motorcyclist pull over when we crossed the CT border to take off his helmet 🤦‍♂️ #murica
People who aren't paying attention past the short term hype cycle won't see Bitcoin rising long term. https://t.co/3zo77FVjo4
Florida Man: God will provide for meFlorida Man: &lt;dies from starvation&gt; https://t.co/BNUCPm3S4g
Need to get some of that clear cocktail ice https://t.co/VmkFw2mmAQ @garlick811 @qtychr
The biggest business opportunity in the VR space is creating a virtual reality that is a marked improvement over IRL. The bar is set low.
Wrap your head around token ICOs by @balajis https://t.co/w4Ww4chwLx
This is my jam 🎵 https://t.co/7RJ6JXaj2v
Brewery run this afternoon!Winter Hill brewery, Bone up Brewing, Night Shift Brewery, Down the Road Brewery, Aeronaut Brewery https://t.co/khELAhEAmp
Corner Balanced scouts out @agrabau 447.2HP "Pleasure EVO!" Lancer Evo 2 hillclimb car https://t.co/yPJyzjyCne
China provides a great case-study in using rumors and {mis,dis}information to justify censorship. Lets not copy them https://t.co/jnhShF2SBH
OMG the "NICE" WEATHER IS HAPPENING TODAY!
Like this one https://t.co/ny8guwsq2K
You can never control a war, even if you started it.
Warning to Cambridge / Somerville residents: just because @The_Wine_Cask COULD be open doesn't mean they WILL be open. They won't be! https://t.co/fiWY9LYXFv
Conspiracy theorists vindicated, again, and again. https://t.co/BzRv4qVxlB
Manchester Arena attacker can trace roots to the Wahhabism of Saudi Arabia. UK and US governments just wont admit it https://t.co/MTj7QGtz35
these keep getting better and better https://t.co/NSiZqSpJOt
Public Service Announcementhttps://t.co/1fdlQUMtNX is not affiliated with bitcoin (bitcoin-core)
I don't love rainy days like today, but I love the pie that comes with it.
ME IRL https://t.co/NaHnAtfNZM
Love that the Indian 1 Rupee coin has the 👍🏻 emoji https://t.co/LlcGAIIfmW
$2700 - $2800. https://t.co/426j4SzJUL
ok fam, time for more conspiracy theory stores from my dad about Coronavirus!on last weeks episode was this one👇, but now i have more details to add! https://t.co/BuKjX6W2n9
Visited the doctor today:They told me that a medically induced coma is not a viable alternative for daycare for the duration of this pandemic.
coronavirus and its effects on the economy reveal the true power and potential for radical social change of a general strike.
👍this is good: github will be a good custodian👎this is bad, github is becoming a monopolyhttps://t.co/xSylIEjSTg
A chronology of financial events during the month of March, as the crisis unfolds in real time.https://t.co/EmfrVjcgSR
Texting with a friend at S&amp;P https://t.co/qbDblr6n1S
I have an idea. Let's tell our governments to stop arming ... other countries https://t.co/Zl7gqug6Oy
Fidelity to allow clients to see digital currencies on website https://t.co/m2rbyViDMA via @Reuters
Copyright law, Class action lawsuits and the burning of the greatest library in the history of the world https://t.co/EsLvpT9GgG #longreads
Capital One limits the ways account holders can use their money, and then wonders why the price of bitcoin is going up https://t.co/KedN36BfeD
Saying someone has proven "connections to Syria" is no more informative about terrorism as saying they have proven "connections to Ohio"
Longtime fan of both Blade of the Immortal, and Takeshi Miike, this looks amaze https://t.co/PKHezFXnjL https://t.co/2Bl8qcqT6e
Startup idea: Tiki Cocktail umbrella repair store.
bitcoin is Too The Moon right now. First time to break $2,000. https://t.co/ml16qcf2BI
You SHOULD opt out https://t.co/7dKOOiDHHv
Say what you will about Assad, but if you support the Syrian can rebels, ISIS would be the primary beneficiary of regime change #syria
Saturday looks perfect for for a Cambridge / Somerville brewery tour @Slumbrew @AeronautBrewing @LamplighterBrew @CamBrewingCo @lordhobobar https://t.co/GBFpJVp03U
As US household debt climbs, student loan debt accelerates the most quickly https://t.co/3OisUNG6wc https://t.co/5arTezJdfQ
Privacy is not about having something to hide; it’s about having the right AND the ability to choose what you keep private.
🍆🍑💦💦
Thanks Obana https://t.co/ICYcqdZEoC
4chan poster says he'll be dumping DNC bots used for propaganda shitposting later today https://t.co/QZg0OIgedr https://t.co/0jE3QBDp4P
Mp3 isn't dead, its free. https://t.co/i0d6plTXai
Microsoft finally places the blame on US intelligence for damages caused by irresponsible non-disclosure #WannaCry https://t.co/MFvLn7OYgs
WikiLeaks goes after all sides, the burden of transparency is for those with power @qtychr https://t.co/HYSkzpZr76
Phat beats, lyrical humor, metaphor, breathy female vocals all wrapped up in a dope AF song about trains 😂 https://t.co/fZUz8ZtqPo
Actions speak louder than words, but if the words are emoji, they're pictures; pictures are worth a thousand words. Think about it.
Startup idea: 3D printed sock repair
Big news! Keybase is out for iOS / Android / macOS / Linux / Windows https://t.co/5x9wPtWXd7 @KeybaseIO
I asked my dad this exact question https://t.co/7hHzYI0sEO
Farts are the spirits of the animals you've eaten, escaping the body to go to heaven.
Bitcoin is at an all time high.Its never been a better time to buy bitcoin.I'm going to be saying this alot over the next few years
Trump proposes healthcare plan with URL "my-plan-liquidation-of-the-jewish-people" https://t.co/bxUM7juMmj https://t.co/TyaBGPTItW
I'm leaving tech in order to open a socks repair store called "Knock Your Socks Off"
You know, because deregulation wasn't the root the cause of the crisis to begin with. https://t.co/vuDi9kOb4S
The Basecamp guide to international travel has some great security advice https://t.co/4gJPbU1DhV
Still happy I didn't vote #withher https://t.co/8iRuT7fiwx @qtychr https://t.co/X7SDpRB6yV
38 fuckin years oldKid Loco - "A Grand Love Story" is 20 years old https://t.co/FuASOMq31b
At this point, declaring yourself as Republican or Democrat is no more than cosplay, their platforms are both defacto neoliberal capitalists
“it's a Turning Test, but for your penis”
i really don't care about what the ppl i follow Like on twitter.
This alarm is nightmare fuel. https://t.co/50LR4qBeBp
I'm hosting an Internet Divinity workshop next week, hit me up.
Web developer, senior engineer &amp; security engineer positions open at @CinchFinancial. Brown ppl, non hetro &amp; ladiez need apply. plz boost https://t.co/TB3XamLCiQ
My first thought “Trumps going to have the senate taken out and shot” https://t.co/tFoMlJtBI2
There isn't much discussion about how much more dangerous time travel is for colored people.
fidget toy https://t.co/J2CHKfoeHl
Facebook and the colonialization of the internet, and how decentralization is our chance to fight back https://t.co/DlUCUfDFLK by @aral
“I felt a great disturbance in the Force, as if millions of voices cried outWunderlist users flee Microsofthttps://t.co/A0oYsS6jmw
The reason Hillary and (more importantly Democrats) lost is because they offered nothing but a bloodless centrist status quo.
this 3yr old actually knows some great stuff https://t.co/KuZprWpbHw https://t.co/lAXg5u6TQ5
This is the part in 1984 when we switch to “we've always been at war with East Asia”
Using MapReduce on text yields some wonderfully elegant solutions to a myriad of problems in the text editing space https://t.co/gmDqYI7Ujs
This threadSums up the history of CSS in JS, epic https://t.co/FttM8OHjoQ
Is shrugging universal or only Western cultural gesture? 🤷
I discoveed new restaurants from this bot, great resource for foodies who don't want to wait in lines https://t.co/T8H0cMct9R
Ernesto's pizza at #emberjs Boston#javascript https://t.co/LFujYyC2GE
The US just literally lit $314,000,000 on fire. Why?
New books, cocktail kinda evening."Crystal Orange"· 1oz Tripel Sec· 1oz Gin· 1oz Cocci AmericanoShake &amp; Strain 🥃 https://t.co/xshkVv36io
Jo absolutely nails it re United with this thread https://t.co/giC2BHvQNH
The movie Brazil, translated to present time. https://t.co/gKkVuSSmao
THANKS OBAMA https://t.co/qdy0aIYRXw
My professional advice:1. Turn on 2FA for all accounts2. Throw your computers into the ocean https://t.co/7S8rDhhafI
Its a seriously good time to go offline for the next few weeks. These are multiple 0-day attacks https://t.co/53zgOnpOjw
Just remember Trump wants to go to war for the killing of the same kids he's preventing from seeking asylum in the US.
Relevant today https://t.co/6XTjDc93Qk
The best thing about mastodon thus far is its lack of mentions about trump. I wont be posting this tweet there.
If you're on https://t.co/sbHpWhtdsj or other, remote follow me https://t.co/3137Q1igFa
Sup mastodon https://t.co/WFHeWVZOBq sup
The goons are out to get us for our tweets. f'em. https://t.co/LSaVESXOEx
I've got a free ticket to see a pre-screening of an unnamed crime thriller at AMC Lowes Boston Common at 6:45 @b_apothecary @qtychr whos in?
At one​ point in the not too far future, there will be more profiles of dead people on Facebook than living.
Laurie Spiegel - Improvisation on a 'Concerto Generator' (1977) comp-sci hero and great musician https://t.co/8oJYMscULD via @YouTube
Fuck the @FBI https://t.co/ESYC1TV43L
what spell was Sanders casting? https://t.co/KVOapLeQNX
The Fed dropped interest rates to zero, and printed $700B right into the next Bitcoin halving which is roughly May 18, 2020.They just paid $700B to advertise for Bitcoin, "A Money With Real Value™"Thats said, the toiletpaper crisis has been solved with the USD.
"ample reserves regime" who the fuck writes this copy at the federal reserve bank? Its like saying "In light of the shift to an imaginary-money-is-everywhere regime"https://t.co/oH3fL8zbiw https://t.co/FhblNkgkU5
fractional reserve banking is cancelled. https://t.co/C4x7lNzRmS
Why do establishment Democrats like Biden feel like everything works better when conceived as a war?The military isn't the answer to everything. We're not going to drone-strike this virus into submission.
Bailout #2 saving the housing bubble based on mortgage-backed securities.Have we learned nothing? https://t.co/Tqq60PJ55h
Literally ME IRL everyday https://t.co/kuQ5qprzRO
What is Redux?TL;DR is just https://t.co/0QN1jk79Ev pagestate for javascript
Stumbled into a JavaScript Meetup in Portland #Donut.js https://t.co/Lm7BpPgq2w
Relevant to #emberconf, seen in downtown Portland this morning https://t.co/wJyoGGGR49
Arcade as fuck in Portland https://t.co/xrqv1TWZDX
Dude on the #19 bus with a skeleton baby in a stroller. #portland https://t.co/lbLv1izuci
Serious sticker haul so far at #emberconf https://t.co/AHMGlRWDJH
Ember 2017 community survey is out! https://t.co/0MmCx0dOjf #emberconf
The stage is set at #EmberConf https://t.co/6XKB5DeGD3
Glimmer.js is a smal/fast component API and mobile web framework that can be standalone or used for Ember components https://t.co/Wl1kSbHE2o
Shhh, the #emberconf is about to start https://t.co/lPB0W2VliW
Treats in the Pearl District#emberconf #Portland https://t.co/FmXe8Jk3rO
Me today, installing Linux on a Chromebook, in Austin TX @qtychr @domainavial @garlick811 https://t.co/9DvxbBramY
2 years later: If you're doing SPAs and pairing it with SSR you're winning. https://t.co/5l484zQi45
Great concise list of some simple Android privacy pro tips https://t.co/aHYsRPLRsM
SeaPea OSX malware user guide https://t.co/N7qk4UMg4W
Moz://a puts together a nice showcase of css grid layouts https://t.co/hPqmXb67ID
I know a big reason I'm going to see Ghost In The Shell is for Michael Wincott https://t.co/KiLdrIWtJ3
I want Spartan / Mud Run tshirt that says "DNF" instead of "FINISHER"
I am Negan
You know you'vemade it on the Twittersphere when: https://t.co/0TAqlO3oRf
system-font-i18n-css 0.1.1 released yesterday🎉 with fixes for more beautiful Japanese characters on Chromebook https://t.co/WHb29HmFoL
Ember 2.12 switches to ESLint, Yarn and removes NPM &amp; Bower as dependencies. https://t.co/Us89QjKIdZ
Guinness is shit. Remember that for St Patrick's day. Get yourself a decent stout. https://t.co/9MvhHHYWv9
Always use an ad blocker, otherwise your system is being used and abuse against your interests https://t.co/JzjGYwlzTu
Anyone on the #LazyWeb using a ChromeBook? How you like it?
Your "Smart" home isn't so smart when the power goes down and your sensor-activated sinks, toilets and paper-towel machines stop working
Everyone is dead here https://t.co/4Vt52caR7s
According to the WHATWG, this is the regex to use for parsing valid email addresses. https://t.co/cSWbIw7Pha i use /\S{1,}@\S{2,}.\S{2,}/u
Excellent thinking and research into a possible demise of the web (as we know it) https://t.co/GMx7qqDvki
My 🐕 dog is on my lap as I work at my computer, snoring away https://t.co/EPYytqfmVG
Make sure you count your unicode chars in javascript property:"🐕".length === 2; // true: OMG! bad[...'🐕'].length === 1; // true, better
tonight's activity time. https://t.co/75tju82Dlp
Pizza, beer and computers and presentations. Time to dork out #emberboston https://t.co/sSacAyS637
A @wikileaks site, but for Reality TV shows
Signal is not compromised, but if your device is unlocked or OS is cracked, no amount of crypto will save you. https://t.co/vrMSA3lm1T
WeChat is a shitty suburban shopping mall of mobile apps. You can do everything in it and hate yourself at once
"WEEPING ANGEL" is a CIA cyberweapon turns Samsung smart TVs into recording devices https://t.co/veGyAIsoAo #1984
The @wikileaks release of CIA docs took the responsible route of not actually releasing multiple armed 0-day cyberweapons. https://t.co/yMIQxMdNHu
ME IRL https://t.co/JYqPlRoGdA
NPM package publish day A modern native system font stack for consistent multi-lingual typesetting https://t.co/jagVezUMeK
This is what @alexnpress is working on at NEU https://t.co/0Arsi2gWJd
First @GitHub changed the header to dark gray, now the button/link color. GitHub isn't the same person i once knew.
Fiduciary Rule delayed 60dys. A common sense law says financial advisor interests align with their clients interests https://t.co/pYr8XdvPFp
We're putting all our eggs in one basket when we all host on AWS. If AWS or GitHub goes down, the world stops https://t.co/sHt1su0jCA
I'm excited to have a Hell Track race against this guy @agrabau https://t.co/lrSRkMp5go
It takes effort to keep Github issues for adblockers classy for @pornhub pages. https://t.co/O2rb1J6DEM
ne1 want to chill ❄️ w/me at the @MITBitcoinClub Bitcoin Expo 2017 https://t.co/vmdCp3IfXS🏴🏴‍☠️🏁
Hi, I'm OxADADA, I've been writing JavaScript going on 20 years and still don't know how properly case XmlHttpRequest. Thank God for fetch() https://t.co/94fvHUY00R
My dog left her iPod unlocked &amp; I discover she is a cyberbully
The `unicode-range` CSS property made today's project feasible w/r/t micro-typesetting multilingual web apps.
Hero https://t.co/tNsMXUWFZ6
What is water? Swimming in the Public Good https://t.co/jqgVhFT3U2
Reflecting on one very, very strange year at Uber https://t.co/u3QNLJdqrb
I've sublitted a proposal to both the @w3ctag and @WHATWG for a new HTML5 tag: &lt;dadjoke&gt;&lt;/dadjoke&gt;.
agreement https://t.co/ZzwK8kgNcJ
So @googleresearch announces an SHA-1 collision, meanwhile GIT says https://t.co/I38NP5KZ7Y and i've become overwhelmed by a fear of wolves. https://t.co/EAEUazBKvM
Optimism is your weapon!, Inherently Good, and the Public Good https://t.co/XVufDcnbRo guest blog post by @b_apothecary
Lady liberty is #volcel https://t.co/OOASB0S9hS
It's a beautiful love story https://t.co/5C6b8Tob65
I'm going #volcel for a month and use my reinvested sexual powers to be good at anime
Thanks for the postcard from the Dai Nippon Teikoku (大日本帝國) from @nervcoffeemug https://t.co/4njzz0XZo2
The Anarchists vs. the Islamic State https://t.co/bv70OiG9Ml
Trumps press conferences should be Sean Spicer blowing a Vuvuzela for an hour.
Optimism is your weapon!, Inherently Good, and the Public Good https://t.co/mh1ghJQbP9
A Dao of Web Design was written 17! Years ago. I reread this article every year and it's still amazing https://t.co/4HTEiBNWMR
Javascript promises often leave an unclosed code block, so i use a //🤞"fingers crossed) emoji comment to close it https://t.co/h3X40WVDbY
Today is General Strike Day! https://t.co/E1D2joTpEx
Awesome comparison of service worker / progressive web app support across React, Angular, and Ember https://t.co/1LGBKGWgJd by @addyosmani
I'm pretty sick of selecting the image of a storefront.
Selling Fear And Doubt https://t.co/OpHtxIgOW3
Is 2017 the year of Linux on the desktop?
Whoa @RaniaKhalek nails US empowerment of jihad in S4: Episode 3 by @UnauthorizedDis podcast at 00:37https://t.co/0MYWzXYE2R #nowplaying
I'm seeing #GhostInTheShell (2017) because 1.Takeshi Kitano is in it, 2.Kenji Kawai did the music, and 3.Michael Pitt is amaze, and #GITSFTW https://t.co/Myc5IaGeq6
Magic Leap is building a head-mounted infinite resolution light field to to eliminate the problems of focus typical to a headmounted display https://t.co/VSP10VQDNE
I spy 👁 a book by @BiellaColeman on that bookshelf 🕵️ https://t.co/SP6hGDUnI7
Effective counter-terrorism is medicine, can't just ban ppl w/cancer, just apply a scalpel. Fundamentally we need to eliminate the causes.
#LazyWeb is the @SlackHQ desktop app still using MacGap, or using @electronjs? How about the beta?
"browsing the web through Chrome is browsing the web under Google's corporate interest censorship" https://t.co/lXNNx6OTbt
#lazyweb: so &lt;style&gt; in SVG, is it best practice to enclose rules in &lt;![CDATA[ or is that no longer best practice?
Doggo &amp; I go on a winter adventure https://t.co/8MSA0wmH8P
TL;DR, His life is less important than the values he believes https://t.co/qunEL15Rjs
Snowden keeps to his word AF https://t.co/zP100vrMuR
Guy plowing driveways in my neighborhood in an electric wheelchair with plow attachment
Whoa, ❄️⛈ in the Boston area today. https://t.co/GyJ8wCwtho
This is 𝐇𝐔𝐆𝐄. Technologically at the very least, and i hope it goes mainstream. https://t.co/6vags0HBM7
❝There are only two hard things in Computer Science: cache invalidation and naming things❞—Phil Karlton
huge if true. https://t.co/VJEv6aeeTE
Stephen called it back in May 10th, 2018 https://t.co/JiDYauVUAG
sunday funday: new blog posthttps://t.co/JtjER0joJN
thread 👇 https://t.co/hwrBgRu3rM
So #Westworld S3 starts tonight. The past 2 seasons were very "now" in that they were a metaphor for the fragmentation in American society. With the quick pace of recent change, will it keep up? or will we have surpassed the show, making it look dated and quaint? #prestigeTV
This is what I was talking about"it is only a matter of time before the right goes on the offensive. When they do, it won’t be the virus in their sights, but the familiar foes: journalists, experts, blue states, immigrants and people of color."https://t.co/gZO3z1Gs2n https://t.co/eCzLc9p6Zh https://t.co/WyD9udViIX
It's starting https://t.co/RDh6SLdXza
RIP absolute legend. https://t.co/6FUgpLMwpQ
It's takes a regime to make what was previously hidden, obvious. https://t.co/pWmwatwlWw
new favorite emoji 🥃
Its like Seamless/Foodler/DoorDash except the delivery person eats your food and baby-birds it into your mouth
Vizio TVs have been tracking &amp; selling re-identified consumer TV watching behavior without ppls consent https://t.co/1Ddh7MVE5m
Never been a better time to KILL YOUR FACEBOOK BEFORE IT KILLS YOU https://t.co/pwxoiC4FWO
#NoDAPL https://t.co/grRMawloHe
🎶 This is my jam https://t.co/TLIcy81RnW
Anyone know any good web apps that allow you to create playlists that play music from YouTube, Soundcloud, Spotify and more? #LazyWeb
Great weather for the One Somerville Sanctuary City Really https://t.co/j789CkZWSB
yup, i don't know shit about #sports https://t.co/UxRkIaZMyr
It doesn't get any more "foxes guarding the henhouse" than this! https://t.co/5lTCEdGAZu
AMERICA WAS NEVER GREAT https://t.co/JlA5yUBgQj
The @w3c is making itself a tool of Big Co and increasingly making itself obsolete as it doesn't listen to web platform devs https://t.co/XLRXmYndu7
I never liked him https://t.co/1OE5YeTMH0
BLACK BLOC https://t.co/quS2id92WT
I wish Trump was under this dope AF lava https://t.co/i6TOIbrlPU
Trump speaks with neither logos, pathos, nor ethos. Therefore he is terrible.
I will oppose the reappropriation of language https://t.co/iaKTaF0cmG https://t.co/GgTdu8GO8w
This is real activism. Bring labor to its OVER 9000 moment! https://t.co/s4kPXxRE5c
To ban an entire religious group based on an irrational fear of the few is to make an enemy of the many. #NoMuslimBan
How many are applicable today? https://t.co/k0BdR7z2vI
Some thoughts on ⚡️ Performative Anti-Trump Activismhttps://t.co/tlezovMxSS
Yesterday Uber, today #BoycottStarbucks. Why I wont be cheering for performative corporate activism https://t.co/dbI0fVXHsa
I urge my followers to read this “Twitter Activist Security” by @thegrugq https://t.co/wY6gBj7xhw
This whole thread: The #MuslimBan is a divide-and-conquer tactic to create an "US vs Them" division between folks in both parties https://t.co/TZlusAvNZf
Don't give into activism cheerleadering for corporations and brands like @Lyft even if they're "nicer" than Uber https://t.co/aXDJMHYCTo
Does his work at Apple make him a better example of someone worthy to immigrate to the US? Merit-based apartheid? https://t.co/uJlPWpswTb
Enlightening Sunday reading: https://t.co/hMozqToeB1 its amazing how quickly Hitler came to power when all law was ignored and unchallenged
Buying a "RESIST" t-shirt is counter-productive as it changes activism to a passive relationship to objects See: https://t.co/N8vGTrYzwp
Yet another reason to quit Facebook https://t.co/Y5ekxIUJ10
this whole thread. https://t.co/uOLBD65jLl
New @brave browser has WebTorrent support, fuck yes. 🎉 @brave is lit AF https://t.co/JHBo5WGQbD
Want to create real positive change? Focus your revolutionary efforts in quadrant #1 or #2. https://t.co/TU7ihFDUBC
It doesn't matter if illegals voted or not, fact checking is pointless when Trump uses his own facts to justify eliminating voting rights.
https://t.co/S0nKtnkJZb
That one time where @justinschuh (justifiably) obliterates the antivirus industry https://t.co/EJlHAoYWOu
If these leaks prove valid (2/6 are valid thus far), this could be good for future leaks. could be the Trump admin checking the temperature. https://t.co/Py6ZgKYLC1
No matter your choice of media outlet, if it's covering everything Trump says; either positive or negatively, it legitimizes his power.
Inspired by the writing of @sarahkendzior i wrote this https://t.co/xgfL91GZCl
this is me IRL https://t.co/bK1FLnxobn
What if everyone blocked him? (I have) https://t.co/fHO8OTFyDU
I can't recommend watching "Stalker" (1979) more than i can right now. https://t.co/8t9raMLkoq
@_gsmith @gkatsev podcasts still make good use of it
The Resistance has started https://t.co/7OvQ5TNFgV
it was me. https://t.co/A1NpW8k0Oy
This is why I'm chaotic neutral. https://t.co/cwPjrUOgfg
Imagine if all the women on the #WomensMarch decided to strike. That'd force a fucking reckoning.
Huge showing today on Boston Common! #WomensMarch #WomensMarchBos https://t.co/kEMFYy3qKd
I believe that number, biggest match I've ever been too. https://t.co/l0ZIUOgp4p
Today was fun! https://t.co/EOzTJDhWnd
#BosWomensMarch with the @ACLU_Mass https://t.co/J8OYXHCxBO
Just learned that Gabe the Dog passed away today... so in LOVING MEMORY i present: https://t.co/6WdwPRYBpN
Going to bed early to support some lady comrades in solidarity at the #BosWomensMarch. Remember kids, USE TOR/USE SIGNAL
TO PROTECT &amp; SERVE https://t.co/pR1rydgg6D
Be there in Boston tomorrow! https://t.co/wx0Do8f29Q
Thanks Obama! https://t.co/SuC4TODo4W
Baudrillard, one of the first planners? https://t.co/SeC85wK4ie
So an outfit can be "revolutionary"? Coopting language ain't cool https://t.co/UvREZq1NVi
I read "A convenient list of dissidents that the Trump administration will use for drone strikes" https://t.co/Mj6qhZoM0H
Excellent write up by GitHub Engineering on Content-Security-Policy. I learned about SameSite cookies https://t.co/6Dnsw2Rnct
Not excited for Trump, but excited for the Spectacle https://t.co/Pv5z5HryKY
So do we think Trump is currently reading "The First 90 days"?
Its about fucking time! https://t.co/DiqWDA0Xb5
I hope @xychelsea first words when she gets out is......HACK THE PLANET!
THANKS OBAMA https://t.co/26vCdxCmI0
Huge news, this seals her place in history as a patriot and a hero in more ways than one https://t.co/cipvNfTBdc
Before Trump Takes Officehttps://t.co/2tPUdLpXHV https://t.co/oHfhXqBIke
#MLKDAY writing: A description of the high-water mark before Trump takes office. https://t.co/2tPUdLpXHV
Congrats to @FredericJacobs for making Forbes 30-under-30 list! https://t.co/CCNf8n3G1m
I'll be there https://t.co/xdDKpOQXrK
Portlandia will end in 2018, and American Apparel is closing in April. It's official, HIPSTER IS OVER
Great work by @ACLU_Mass &amp; folks! https://t.co/baZexfwBwh
Great weather today on the summit of Mt Pierce, amazing views of Mt Washington, -5° outside! #gapperlife https://t.co/FbjtVxeehc
Actually important https://t.co/Cd9iyrBcPy
Apple has reached the point with new releases that are distinguished not by what they add, but what they remove.
The amount this Kickstarter has raised is a testament to Apples quest for minimalist design over functionality https://t.co/09BYRLsgn4
&lt;irony&gt;Thanks Obama&lt;/irony&gt;Obama increased the US surveillance state more than any other president (thus far) https://t.co/Evw7wE0Q0u
Just updated https://t.co/YPKBgvi64P to use AMP https://t.co/GHa9OHlzdM
Why I don't sell my friends Bitcoin https://t.co/jKMuGJhjFo
Boston Marathon drinking game:Sponsor a racerWatch the race &amp; drink a beer for every mile they run.#BostonMarathon
Because Nick Bostrom shouldn't do all the heavy lifting... $27mil fund for AI research into ethics https://t.co/C9EiQnJOu5
yesplz https://t.co/7mdJTgn0T7
Packed house for MIT Outing Club Winter Class! #mitoc #OptOutside https://t.co/xp2ftquWDM
@1776now_org @LizMcIntyre @duckduckgo its just a twitter sticker.
Hey @duckduckgo what's up with the censorship? https://t.co/9DuCTkNJ8U
Shame: @thepennyhoarder break links by requiring JavaScript make themselves look unprofessional and break the web. https://t.co/VLxu3ujdwI
Nutella can turn any kind of bread into a dessert using 0-mana! 🎩
Me &lt;wraps cucumber in Saran wrap&gt; Did you know Saran wrap was invented by Susan Sarandon?Wife OHMYGODMe thats one too many dad jokes, huh?
It's sad to realize that social media plays a big role in turning a generation of agitators into mere spectators
Animating SVG graphics using CSS https://t.co/T7z0SniumJ
Broadcasting on @Twitch Webdev: animating SVG with CSS https://t.co/2mZUvRf1NE
Solar powered doggo https://t.co/nNBQPSgSdm
I went outside and found a Coronavirus in the wild https://t.co/6HbJ5gHpYl
The problem with Bidens campaign is his *lack of imagination*. Trump yesterday announced a moritorium on interest on student debts, an position unimaginable for him a week ago and *to the Left* of Biden.
this is how i wake up on a saturday morning https://t.co/8Sai1sAuNP
My avatar svg ended up waaay smaller thanks to @jaffathecake for the SVGO UI and @SaraSoueidan for her great writeup https://t.co/L6r5OxYiUW
Fried chicken burger and sauteed veggies got the fam all amped up https://t.co/32epdDfW7j
2017 is already worse than 2016. At this point I don't see how we can recover. https://t.co/l8MKaTZwMX
Fuckd around with my avatar tonight, finally converted it to vector (SVG) format. Thoughts? https://t.co/flBQri3Kz6 https://t.co/lwkCT8hEsH
Obama trollin the hackers by dropping 1337 bombs on Afghanistan in 2016 https://t.co/fZIWuEN6Nj
Insiders in depth look into the US deep state https://t.co/KPvdBwDfSG https://t.co/lgDRpIqori
ne1 interested in buying a color NeXTStep? Monitor, mouse, keyboard, pizza-box form factor. Still works!
so true https://t.co/JQzLLNxfM1
"First they ignore you, then they laugh at you, then they fight you, then you win"China fighting Bitcoinhttps://t.co/bc8hZweFpF
ME IRL (Back in my BBS hacking days) https://t.co/kiiXJH7i5B
LOL @FSF is so out of touch with reality that they're suggesting giving a 10-yr old laptop as a gift. Whos the intended recipient, Goodwill? https://t.co/dqKiRiG6l5
The ultimate form of resistance in capitalism is refusing to buy an advertised product. Google bans AdNauseam for implementing this this act https://t.co/NZnhAsXdFh
Firefox has firmly drawn a path towards replacing Gecko with Servo https://t.co/oKyR9TKd1C
Literally me every day https://t.co/9SjyFLJtXA
Just got a newsletter from a Japanese social network I joined back in 2009, they still use /cgi-bin/ — PERL still going strong! https://t.co/CRVyeDBQnK
Its 2017, so I finally got around to populating my long ignored domain * HTTPS only* Faster* Design improvementshttps://t.co/9Xde05LsWc
Watching ppl complain about Facebook msg filters on Twitter https://t.co/0d1LQSW2TJ
India removes the 500 bill that reads "Promise to pay the bearer the sum of 500 rupees" and people wonder why Bitcoin is rising vs fiat.
#bitcoin starts 2017 off strong by breaking $1000 on January 1st https://t.co/pBhZS77Bb4
Watching New Years on TV is just a commercial for the advocation of obsessive plastic surgery
Everything about this https://t.co/ZxtJHJfBCD
Happy new year dummies
Cool to hear Bible verses in Syriac Aramaic, this is (maybe?) about as close you'll get to hearing it in its native form https://t.co/7nNQfSsIiM
At this point, the is literally no worse way to finish 2016 https://t.co/uQEq0Bpmen
Sometimes @twitter nails it with the photos and captions #trollface https://t.co/gdc4SFusPI
A key difference between the war in Iraq and a war with Russia is that Russia actually has WMDs.
This whole thread. https://t.co/vmsKSyQFKA
Obama came into office on a platform of ending wars, it only makes sense he ends his 2-terms in office by starting WW III
War with Russia for election tampering is the new War in Iraq for weapons of mass destruction
TFW watching a period film and the first horse clops into frame 🐎
Whoaaa, those plastic scratches are lit! https://t.co/pJNnWRnpSy
Holy shit, the Levenshtein Distance between my name and Trumps name is only 5.WHAT DOES IT MEAN? https://t.co/GYOPm2nNCf
You know technology has been gutted when "This consolidation effort will allow us to build in greater efficiencies" https://t.co/FEaEmFYiD2
Trump and the corporate-fascism he will usher inFork me &amp; help editing, i wrote this in a stream of consciousness: https://t.co/S4YsuY2Lmm
Poor design choice: hiding the entrance to the stairway under the upper flight of stairs https://t.co/chxI8MjGzs
The left offers no vision for the future which would lead people to believe in something bigger than themselveshttps://t.co/rJuFBnxf6q https://t.co/6klAyfhuPi
Reality is stranger than fiction, only 5 years after "Ready Player One" was published https://t.co/8p56WQ5ncX
I'm dying https://t.co/4PueSGfTJ6
On the second day of Chanukah my wife got me the classic "Structure and Interpretations of Computer Programs"! 😍🤓🎄🎁🕎🔯 https://t.co/CbRhO8V6u8
Happy Chanukah! My wife got me the Bitcoin textbook by @random_walker yay! https://t.co/oQtVmBR8jN
Big news, rust can cross-compile to WebAssembly (JavaScript) https://t.co/fNNc3nrqid
TL; DR Read the 3rd chapter, skip the last. https://t.co/3EkdyZQdjY
US Power Will Decline Under Trump, Says Futurist Who Predicted Soviet Collapse https://t.co/tUQbHD0Yy5
LOL "TC39" more like "39 White Males" https://t.co/osEp5BS6D5 https://t.co/LDyzxbRAKT
My three major career successes (thus-far) have been the amount of time saved ignoring Flash/Flex, Silverlight &amp; Ruby on Rails
Trumps success is defined by "failure of prophecy" where his supporters close ranks adding support in blind faith rather than turning away.
Watch “What Comes Next Is the Future (2016)” on #Vimeo https://t.co/vhjPz0LVis
The Italian-Americans protesting against Native-Americans protesting Columbus Day (who was Spanish) sailing for the Portuguese #sopranos
Remember that 2016 was the year bomb robots were reprogrammed to classify humans as bombs and also eligible for destruction. #2016
Is Trump the END of Politics? – 8-Bit Philosophy (Spoileralert: Yes, at least how politics used to function) https://t.co/7K7e3m5GSb
2016 Talks in Review: I looked through all the talks I watched in 2016, this one was the best @jennschiffer https://t.co/9uYTFxf1qB
Nearly every anecdote in Lena Dunhams "Not That Kind of Girl" is a signpost to extreme narcissism; and yet she and this book is celebrated.
My beer game has been on point this week https://t.co/uBiFUAqOUG
THIS WHOLE THREADI totally feel the same way about building a gaming PC https://t.co/aJKhQOZ1vj
Some amazing #pixelart here. https://t.co/1pwcpVEem6
Great data on hardware and browsers put out by Mozilla https://t.co/kv8u7YH6Lf
I basically say this every day. EVERY DAY https://t.co/GfKSbYbT8Q
Moon lit AF tonight
I'll just put this here https://t.co/lUM8txd658
Advertising attempts to canonize ways of life through images, and tries to convince the culture that it knows what is best.
GitHub and Amazon AWS are the Too Big To Fail of the tech industry.
ex-CEO of Barclays bank joins board of Blockchain https://t.co/UjQxmh1Avm
1967 Toyota 2000GT https://t.co/ZSsW4ujcbq
Using modern technology, how small could we engineer a NES to be? I bet it would be trivial to get it the size of a microSD card.
"Democracy demands that all is citizens begin the race even. Egalitarianism insists they all finish even." —Jean Braudrillard
The difference between the American and European psyche is Americans focus on realizing concepts while Europeans on conceptualizing reality
If I could pin this tweet to my profile I would https://t.co/9pclR5cR2z
Spent the day with @decipherstatic intercepting binary signals with a logic analyzer and then analog radio with software defined radios 👩‍💻
A book thats been in print for 400 years will likely be in print for another 400. A book in print for 10 will likely be in print for only 10
TFW Mt. Saint Helens causes the largest landslide ever and you like WHOA https://t.co/ulJM16BWWE
Pecorino Romano cheese doesn't work as a nacho cheese. It doesn't melt good.
Always use === instead of == in Javascript, otherwise:https://t.co/PUkD920guo
I know what i want for Christmas this year.... https://t.co/dktmFlnz8l #meat #automation #cutlery
The modern CPU is so complex, CS, EEng, Nanotechnology, the engeineering that goes into its fabrication is mindbogglingly complex.
@_gsmith I should get ps4 to play ffxv... and fallout 4 and and
@_gsmith nearly cried at the end. Loved it. I had played half of it in college, just finally got around to the rest
Finally played through ICO
So my buddy @FredericJacobs and I go hiking.He takes great photos and says "heres a link to the photos"... &lt;clicks&gt;.... 😝 https://t.co/A0jIzWeo1c
Remember kids, Democracy is only an American virtue when it serves American interests.
WTF does this even mean? Advertising today.. https://t.co/W0Svy5c0qD
Tech interviewsQ Solve FizzBuzzA &lt;Solves FizBuzz&gt;Q What show is best, Star Wars or Star TrekA Star WarsQ You're not a good cultural fit
If Hillary is smart, she'll get outta dodge and join @Snowden in asylum in Russia
If there was a worldwide Muslim Registry, it would become the 2nd largest social network.
If your docs describe your package as "Its like package foo, but adds feature bar" don't expect newcomers to know package foo.
Amazing new feature by @Twitter, mute tweets containing specific words. I've already added two to my mute list. https://t.co/f9ycSQUi4X
New Apple Macbookpro is actually worse than my early-2011 MBP. Less ram and HD space, soldered to the logic board. CPU changes are minimal.
Some thoughts and photos from my recent trip to Italy &amp; Switzerland https://t.co/5OJweQo8GI
Trump is the millennials 9/11
The first Trump administration hire should be Anthony Weiner.
Donald Trump is about to be in charge of the most invasive, and barely accountable, intelligence agency in the world
Ed predicts "Turn-key tyranny" https://t.co/tD1s09wWgE
Never a more important time to secure your comms, the intel community supports Trump https://t.co/w9VmKIQywb
Its a bad month to have stopped drinking.
The fact that the market is responding positively to Trumps proclamation is just move proof that its completely irrational.
A chronological timeline of the financial collapse of 2020 ⚡️ “Leading up to the market collapse of 2020”https://t.co/Lp0IyUpIxW
I called itTrump's announcement today with a private-public partnership with Google and QWest is exactly what I was talking about back on March 5th https://t.co/86AnMc5fI0
Trump's private-public partnership with Google is surveillance capitalism encouraged by government fiat
"google has 1,700 engineers" --Trump
The upside of injecting $1.5T ($1,500,000,000,000 thats how big it is!) into the economy, is that it mitigates the lack of toilet paper in the stores.The fed just minted $1.5T of fresh paper to wipe our asses with now that its basically worthless
i was supposed to be rich by now, riding that #Bitcoin gravy train to the moon wtf man its at $5k https://t.co/2PZeOo3Tmr
years ago the prepper meetup group i (very briefly, for the lulz) attended played a scenario that mocked a contagion like the 1918 Spanish flu and the stock market crash of 1929 at the same time. It ended in a US civil war and most of us died/became refugees.
I made the mistake of looking at my 401k and its like seeing Sadako from the Ring: Seeing it kills you. https://t.co/jlyavnW058
if you're not paying attention, we're all in debt, and will stay in debt while the debtholders are literally being paid back through QE, quantitative easing, "injections" and "pumping" up the economy.thread 👇 https://t.co/0oGYTjKcGC
I'm concerned. At this point it looks like either Trump or Clinton will be our next president.
I voted! ✔️ #Election2016
I've been backpacking through Italy and Switzerland for the last two weeks, this was the best photo I took https://t.co/ClhDf9Hlpy
The best part of improv comedy in a foreign country (in a language you don't know) is when being American is enough credential to go onstage
I use Privacy Badger like its my job https://t.co/1YGQeUI1Zv
LIVE on #Periscope: hiking in val ferret https://t.co/CzisEfHzdh
LIVE on #Periscope: hiking in val ferret https://t.co/JHBX0rtnf2
LIVE on #Periscope: Hiking in Val Ferret, near Mont Blanc https://t.co/gtkihnqrUs
All packed and ready to go #eurobackpack2016 https://t.co/11uB9ysAWN
Just found this great photo of Mt Hood on my phone again from August https://t.co/ca3km6BeJf
First 7 days of my backpacking trip from the Italian Alps into Switzerland are sketched out https://t.co/IdcmYgc2Wg https://t.co/WzCDfNCNfG
Hillary accuses @wikileaks as working with Russia to spy on Americans.Fact: Our own NSA spies on Americans.
My dog is scared of one of my bookshelves.She told me it wasn't the books themselves, but the content that scared her.
ME IRL https://t.co/jbJQdaIwdO
Whoa, @soylent recalls Food Bars due to nausea and vomiting. The human-ANALogue to the exploding Samsung Galazy 7. https://t.co/JUEY6lc02M
Remember that time Dropbox hacked your Gibson and you didn't even? https://t.co/erUEN2ALjQ
Toward a Constructive Technology Criticism https://t.co/RulfRDluU1 +@jmreagle
A condom for USB charging stations: This lil' device is cool, blocks USB data and forces "quick charge" mode: PortaPow https://t.co/aidXG7A0eD
npm : yarn :: Safari : Chromenpm does for yarn what Safari does for Chrome: It helps installs it a better alternative.#javascript
Yehuda Katz (Ember team) on his work with Yarn https://t.co/jI3aVdWlUo
Great news for the javascript community, Facebook releases Yarn, an alternative package manager https://t.co/w8WdPIF8Fs great reading.
TIL a new BASH best-practice, wrap printing control characters with "\001" and "\002" https://t.co/h0aUUx9HEg
I echo the sentiment 📣 https://t.co/Q8dnwXSErx
Rainy day in Cambridge, good day to be reading sci-fi noir "Altered Carbon" https://t.co/qILOJILgll
#NeverForget #ImWithHer https://t.co/WDBwe069Tv
https://t.co/Pd1XeDjklE
I've got a good feeling that @GitHub is going to buy @Twitter and implement it as a feature on the activity Dashboard/timeline
You know you've done something bad when you just typed `docker cp...`
Hey remember in 2011 when the Pentagon decided that hacking is an "act of war" justifying traditional war? https://t.co/JV6UbqAqTU https://t.co/8MEIVfOvR5
ME IRL dealing with various npm ERRs and bit-rot all day https://t.co/dYhUW3Q8Kz
lol discounts. https://t.co/NFYMx05Eez
ME IRL https://t.co/o9tAaA8MVs
Whats that you say? "Lets not worry about non-JavaScript users because everyone has Javascript"? https://t.co/UneqI7tSJ2
I'm doing an exhibition open to Instagram users from October 6th 2016 until it completes in 2017 (free admission). https://t.co/Q1h6HHttzj
Bertrand Russell's Guide To Unhappiness https://t.co/XvrkVYafoD
A great intro/overview of Ambient music https://t.co/S2woBdDs5G and i created a Spotify playlist https://t.co/yXaCd37D1G
Anyone want to go see the @snowden movie w/me today/tomorrow? @agrabau @qtychr @b_apothecary @garlick811
Watching the live stream #madebygoogle https://t.co/mawYNedWmh
Found a lil place called "Sweet Simone's" bakery in Richmond VT, totally worth a side quest from Burlington or Stowe https://t.co/lWXfAJewtk https://t.co/vQyHjZYfod
Godzilla + EVANGELION (Hideaki Anno) = SHIN-GODZILLAHOW DID I NOT KNOW ABOUT THIS?https://t.co/lyPsKWbwzK
TWF you've realized your excited about support for obscure email features on @ProtonMail like DKIM, SPF and DMARC
"You folks should worry about the poor"&lt;meanwhile, uses bailouts to pay exec bonuses&gt; https://t.co/dQshAzNLry
Tech job interviews often seem about gaslighting an interviewee into thinking they're worth less money.
TFW you've been drawing wireframes all day and your mouse hand is fucked https://t.co/kmHRS1HTTs
I will always vote Bernie #animu #evangelion https://t.co/NBduaTYuhE
Mozilla investigates WoSign Certificate Authority and will remove them as a trusted CA for corruption, like whoa https://t.co/EdZKPP0CYP
A concise overview of Richard Barbrooks "Californian Ideology" and the rise of neoliberal capitalism https://t.co/Kzd2YigkvF
TFW switching between Linux and macOS and none of the keyboard commands are the same
BlackBerry to stop making hardware, what will @domainavial do next? https://t.co/PIT4GES7dB
⚡ Sen. Elizabeth Warren excoriates Wells Fargo's CEOhttps://t.co/ftDCjMjZx8
Obama watching the debates #Debates2016 https://t.co/hquJozLbfa
Hillary wants to stop terrorism with "vaccuum everything intelligence" #nothanks #Debates2016
Trump supports Stop &amp; Frisk to stop homegrown terrorism #Debates2016
Trump calls @wikileaks "someone sitting on their bed over 400 pounds" #Debates2016
This is the part of #Debates2016 that bashes @wikileaks and China and Russia
Too bad my #Debates2016 bingo card didn't have "Talk good"
+1 for Hillary admitting systemic racism #Debates2016
Hillary is right, we need to get guns out of the wrong hands: THE POLICE #Debates2016
Hillary would do email differently by Using Tor / Using Signal #Debates2016
Entertainment and empty promises #Debates2016
Whats a good spot (bar) in Boston/Cambridge/Somerville to watch #DebateNight tonight? #Debates2016 @qtychr @alexnpress @EaterBoston
Transparency is for those that carry out public duties and excercise public powers. Privacy is for everyone else.Lets not invert it.
What do Angela Merkel, The UN, Gen. Petreus all have in common?They've all been victims of NSA spying, justified by "terrorism".
ME IRL https://t.co/DCzlsaicaF
"JavaScript: The Good Parts" doesn't include 'continue' in the section on execution flow statements.
Cambridge and Boston view from Mt Auburn Cemetery https://t.co/NN78lwjL95
1 Destroy public trust with billion $$$ surveillance systems2 Fail to stop terrorism good intel https://t.co/qL3qJHITxr3. Blame @Snowden ?
Time for Obama to pardon Edward Snowden https://t.co/RLR2PfULSk
Accenture should patent a smartphone that can't use the internet. https://t.co/QqRYMphx3T
How the tech vanguard turned public-key cryptography into the most potent political ideas of the 21st century. https://t.co/Hnb836htjQ
Machine learning algos are biased by where the signal is (so their ads became optimized to serve ads to cookie stuffer bots) #recsys2016
If we optimize for click-through rate (serving ads) we'll select for users who click ads, not real custromers @claudia_perlich #recsys2016
Kicking off the morning at #RecSys2016 10th ACM Conference on Recommender Systems https://t.co/tnKwNlwECw https://t.co/99kSTTSvbC
Friday night
Go for a Ride in Uber's Autonomous Car https://t.co/MdknGUOXnm
"I Trained to Fight The Enemy" https://t.co/SOKMsQghey
@ryder_ripps computer. Exe
ZING https://t.co/s9v7kS0N1F
Typical, weapons and tactics used by the military abroad always end up coming back home https://t.co/uaxfuonqjY
2oz Dark rum (Smith &amp; Cross/Meyers)1.5oz Simple syrup0.5oz Lime juice0.5oz Cointreau1 barspoon Ancho Chile Reyes https://t.co/3stlXXWhNr
Some actual good news https://t.co/Sf6wPBgbvO
So when the market downturns, we spin around in just 4-days to pump the equivalent of every Americans student debt into failing financial sector but we can't pay for student debt forgiveness https://t.co/gLQunHzJAf
What we need:Universal health careUniversal paid family &amp; sick leave Mortgage forgiveness for families &lt; $75k/yrRent controlsA Green New DealWhat we'll get:Bailout for finance/banksBailout for energyBailout for pharma &amp; health insuranceBailout for airlines
I'm placing bets it's a snow-globe with her childhood sled, named Rosebud. https://t.co/vW6iJp4neF
It looks like Hillary's chronic Scurvy is catching up with her despite the blood transfusions she and Peter Thiel share from Olympian donors
Harvard freshman describing American food to German parents:"Its overrated, Dunkin Donuts is disgusting, they think its decent"Whos they?
This whole thread: what makes Twitter great (again) https://t.co/v8sl9VzhWS
Troll-level 8 has been reached https://t.co/dLdkeZjaG3 https://t.co/xhUShSEza0
Wells Fargo fined 100M for operating a criminal extortion regime https://t.co/k2a3xge8n4
"this film will help expand and challenge traditional views of what constitutes a home in 21st-century America" https://t.co/S8RY4SAIec
It's as if a million headphones and chargers cried out as they went to the landfill togetherFuck Apples "sustainable" bullshit
Apple: The iPhone is the best-selling accessory, ever.Apple: iWatch should be the best-selling accessory to an accessory, buy it please
What technology should humanity focus on making least noticeable to use
Apple still insists on using proprietary video streaming code https://t.co/biVcIajsh4
This is the Black Swan event @nntaleb says we shouldn't predict https://t.co/8bbZqoc5h9
Lol node community https://t.co/FlQ0I44IDs
Great pre-storm run https://t.co/PzfB9nKWQI
Today in #Somerville https://t.co/Qp9RuBTL7Z
Jeff gets to the main point of this thread https://t.co/AHwTwxQBOI
Not all heroes wear capes https://t.co/DB060qikf6
Women always give birth to new babies, hot trend of 2017: giving birth to old babies.
These wingsuit jumpers could learn from the myth of Nike who built wings from wax and flew too close to the sun https://t.co/eZNbwTUcuC
Unsurprising https://t.co/XuDuJioD9C
The history of history https://t.co/7hbNlp6BmI
This is literally the first tweet ad relevant to me, ever. Good job @LGUSAMobile Can I get a free one? https://t.co/U6aWwHDtxP
Salt &amp; Straw sure is good! https://t.co/sche41f8bQ
On the Cooper Spur up Mt Hood https://t.co/WKEcHI7MjP
Sunday at Salt &amp; Straw https://t.co/96ofVOOIEJ
Hiking in Columbia River Gorge https://t.co/kF7ofYqYpx
Hiking Mt Hood https://t.co/LLASXCTg5v
Closing time at Blue Star means free dozen https://t.co/NCGYECueXv
Description of our first day in Portland for @jaschang https://t.co/VbbeduQawW
Its fun to watch the Node/npm ecosystem, its a trainwreck of safespace-seeking feral coders (I refuse to call them "engineers")
A concise summary of the kurds and YPG https://t.co/w3srtPUUBj
Arnold Arboretum https://t.co/VXmM7rqIkF
Howdy! @notasausage 🙋
ME IRL (PLUS WAIFU) https://t.co/PWeH0J0QrU
All the presidential candidates are pantshitting failsons and faildaughters who look to taxpayers to rescue them from their brimming diapers
My neighbors have this creepy AF painting in their foyer https://t.co/3eFCqhiMcX
Staying away from Twitter (and TV and social media and media in general) is the best thing I've done all summer. Bye again.
"Brutalist Web Design"
"Choo choo" congrats on the new digs https://t.co/vYJvKFd7Lr
This is my jam (on loop, all day) 🎵 https://t.co/TSuYHOgkFk
the history and explanation of bitcoin in emojinese https://t.co/3Uoht9tS0J
ZINGER OF THE YEAR https://t.co/BkHoIv9Vi4
Hidden Somerville #hiddensomerville https://t.co/sRBjRrgq4D
I basically ate for free for the last few days https://t.co/aKxqsHLyRI
Home for a little while https://t.co/7RUdPSwZEB
Exploring the southern Pemigewasett Wilderness #hikethewhites https://t.co/ZRem3bkBFG
Facebook is doing adblocking users a favor by blocking them. Its a non-subtle hint that its time to quit https://t.co/YHrIIiBPtA
Superman, except only using his powers to prevent martini glasses from spilling or saving red wine from staining white carpets
Loved the light yesterday afternoon hiking down Sandwich Dome https://t.co/GZugIHoS8C
View from the summit of Sandwich Dome 3980' looking north to Waterville valley and the Pemigewasset wilderness https://t.co/nHR6m9oqCA
I wonder how many a Future Olympian will stop playing sports because of the distopian nightmare the IOC has become #Rio2016
Gendered Bathroom Signage: replace the gendered sign with "WC" or put a whiteboard on it and let people write whatever they want on it.
This thread gives a wonderful perspective on religion and human division https://t.co/DtTtnfmtPK
Who's up for patio drinks today? In Cambridge/Somerville... Loyal 9, Atwood's, CBC?
Landscaperoffice assistantjanitor at concert venuefactory worker (hard drives)IT supportIT administratorweb developer#first7jobs
Stretch goals https://t.co/qMBD1xyO5s
ME IRL https://t.co/03BwPF75f9
A subreddit dedicated to documenting the giant swindle of The Olympics IOC corruption and corporate commercialism https://t.co/HOwXihTx1K
This is what i imagine its like to work at @SpaceX https://t.co/VHVuKHsljK
@DooWeeTran wait, whaaa? Why!?
For those of you needing to buy absolution for your white guilt. https://t.co/FAc9MSRu7U
Trump can level-up his trolling-game if he chooses Sarah Palin as VP. #NeverTrump #NeverHillary
Nice to see MA leading on this: https://t.co/yb6EAWx5ak
In the future, the most prevalent form of terrorism under capitalism will be refusal to take advantage of Rock-Bottom-Prices!™
$ npm install # is functionally identical to $ sleep 600
ProTip™ don't ask the city to erect a sound barrier in Somerville to fix sound from the green line attention https://t.co/XnFIGaqjZe
"Sufficiently advanced trolling is indistinguishable from thought leadership" -@MickD https://t.co/t6bbXgB5xw
One nice thing about the spectacle of the media-election cycle is that we get to witness the end of democracy in real-time.
Cold-brew coffee sunday https://t.co/aAAQeF8Tsm
I don't care what Gartner or Forrester Research says about your company, it's not going to make me feel like buying it
Me IRL https://t.co/XnlCrhb9dM
this bot knows the zeitgeist https://t.co/hPQ6tKdqSw
Whats old is new again when Ballast Points El Dorado Watermelon puts us back with Mikes Hard Lemonade https://t.co/qjS6nLrRh8
Positivity here at #BlackLivesMatter #Somerville https://t.co/O3DgJ7hg6y
Attempts to cut the defense budget are seen as impossible "Sure, maybe after we get done levitating the Pentagon" https://t.co/b5HATtgfX9
American Cheese or Cheeze Whiz. Rather than deciding based on which is less worse, why not just enjoy Gorgonzola #ThePowerOfCheese
These are my ppl https://t.co/TsznZoWhzj
I lolled https://t.co/VlfZKURaNu
If everyone agrees "the lesser of two evils is still choosing evil" we can write-in a candidate and win, together we can #WriteInToWin
they're very optimistic https://t.co/aChcS0C4QO
This is it, this is how civilization ends. If i'm gonna be socially distanced inside the house, i need BOOKS! https://t.co/4LY8gP4H1o
I finally went viral
What github did for open source, @RoamResearch is doing for unstructured thought organization.i'm awestruck by this tool
This is my dad. He chose to not have healthcare because he believes it's part of Obama's masterplan https://t.co/h00S57TedY
BE THERE https://t.co/VkjYLJxOnO
Between the scrolling jank and unresponsiveness of the mobile web twitter and how the native app crashes, I can no longer use twitter
Beers at Closed for Business https://t.co/oFGDaLn1Gx
Drinks before dinner at Husk https://t.co/I9DeaGuOLX
The Griffon, Charleston SC https://t.co/xI82N7sBac
Charleston College (and my doggo, Piper, she's the most beautiful doggen) https://t.co/iEjNLxO7xK
Im now a captain in Charleston, love boats. https://t.co/w83Io6hrtO
That feeling when you use `dd` to write an ISO to a USB-drive, but accidentally overwrite your systems boot partition.
LIVE on #Periscope: Watching the watchers #blacklivesmatter https://t.co/l6UeoZZCE6
LIVE on #Periscope: Watching the watchers #blacklivesmatter https://t.co/wfwi0QFxYr
Kodaks lack of vision in the 1990s w/rt digital cameras will be the demise of traditional banking w/rt bitcoin. https://t.co/GQE2nO5irr
Down for me, looks like its been censored right at the good part #forbiddenML https://t.co/pOL0OxnCJz
Soon @snowden and @bunniestudios will be presenting at MIT Media Lab at Forbidden Research LIVE #forbiddenML https://t.co/pOL0OxnCJz
Watching @doctorow at MIT Media Lab at Forbidden Research LIVE https://t.co/pOL0OxnCJz
2015 https://t.co/ieZsAoVwdA
And then @DoctorJaedan blocks me because he can't take rational discourse. https://t.co/dCIakVBGfB
@NickPow14992007 Not sure that's going to help, but you're free to go ahead and ask them to.
@NickPow14992007 US policy only willing to create stability for US firms to extract wealth from Iraq, not to create stable lives for the ppl
@NickPow14992007 1 Pull troops out of middle-east2 Stop supporting anti-democratic regimes3 Stop exploitation of foreign countries
@albert_crenshaw @thomdunn whatever the formula, its safe to say for every civilian we kill, we create more terrorists. Endless war.
I've said it before: Republicans are a terrorists wet dream: they react to fear and announce they're terrified. https://t.co/dIWB2S5vQf
@albert_crenshaw @thomdunn your fear is clouding your ability to make rational decisions. Killing more people wont solve this problem.
@albert_crenshaw what if we decided not to robot-murder AND decided not to invade? @thomdunn
"What the fuck is even this future" https://t.co/zjzk4dMukv
Interesting and #Lolworthy https://t.co/t7RjgBI1fH
This thread. https://t.co/W46XVHtmBr
WHOAAAAA https://t.co/AwOmBooSYI
Republicans are a terrorists wet dream: they react predictably to fear and announce they're terrified.
Going to the gym helps me get my microaggressions out.
"Demilitarizing the western IP system would be great [for innovation]" https://t.co/xiDH15DayN
HOOLLLYYYY shit. https://t.co/YwGzH26Yjr
Switched back to Firefox a year or more ago and glad i haven't looked back https://t.co/N1T5CDgS0M
LIVE on #Periscope: state trooper pulls us over https://t.co/v1hq1G5AIo
Is that @Campari in that hummingbird feeder? https://t.co/boOztAVwBs
Political movements couldn't even dream of getting this type of engagement https://t.co/sOaCTPNAzU
amplify plz https://t.co/EOevi4fQGE
This was my first sentiment. https://t.co/VsDapJoQRS
ISIL is getting the response they want. Less freedom, more surveillance; let west sacrifice it's own values. https://t.co/iGmsCWHTbd
ISIL is getting the response they want. More expenditure, more civil division, more fascism; let west self-immolate. https://t.co/hULCpKsLnt
Transparency for the state, privacy for the individual. Police body camera video footage is public information.
This is awesome and horrifying how we increasingly live in our own isolating cocoons of hyperreality. https://t.co/k1QIvaJfeY
Long march is long #MassAction #Fight4OurFallen #SandraBland https://t.co/sT9zkOIo2n
Get Rollin' #MassAction #Fight4OurFallen #SandraBland https://t.co/UtFgwAiCiI
Opening statements at #Fight4OurFallen march behind BPD w/ #BlackLivesMatter https://t.co/F8JuPzwzhg
Yo @JohnImadNasr look who I bumped into at the #Fight4OurFallen march with #BlackLivesMatter https://t.co/z8O7a9xdQI
Crowds starting to build in BPDs backyard #Fight4OurFallen https://t.co/5x3FUNDj1b
Looking for the #Fight4OurFallen march, follow the helicopters, there's four of em https://t.co/TXDXp0anXz
FINALLY some really good news this week. https://t.co/4y5yQOwXqs
The power of the blogger is they only write signal (only what he/she cares to write) vs paid writers producing on schedule (more noise)
FYI @qtychr re:Netflix? https://t.co/F7jpZ0PyKy
The case for Hillary boils down ONLY to this: she has experience, she's a woman, it's her turn. NOT reason enough https://t.co/P0Fpk2aUiK
@DJamesButton thats why i modified capitalists with "neoliberal" as they hate free markets and favor markets that cater to their interests
This person has compiled a handy list of the most powerful neoliberal capitalists to work against. https://t.co/7i57L1dm7R
A preview for all of our futures: https://t.co/wsq6KuMc1X
All the disenfranchised Bernie voters and folks who will #NeverHillary can join forces and vote @DrJillStein #The3rdWay #GreenParty
Too big to jail https://t.co/hRGR4hPinP
We train our soldiers in Afgh. and Iraq to kill; they come back home join the Police and kill folks. Our chickens done come home to roost.
It's easy to tell who the Pokémon go players are: there your neighbors who you've never seen in the neighborhood
Don't believe anything that requires a narrative in order to comprehend.
The absence of fire lets flammable material accumulate, and makes the next fire burn hotter #BlackLivesMatter
This is Power standing up to fear https://t.co/N9PalPZB0B
LOLLED because true. https://t.co/WSITYQTnUn
Welcome to the other side of the bitcoin halvening. Reward is now 12.5btc per block. See u again in 4 years. #Bitcoin #bitcoinhalving
When blacks are killed by police, media calls it "an officer-involved shooting", when police shot its "CIVIL WAR" https://t.co/t5Vfx2X9me
Obama describes attacks on cops as "vicious" and "despicable" but doesn't use those words when describing police killing blacks
Let's call a spade a spade: the police have become an occupying military force imprisoning blacks in their own communities.
We can't expect our politicians to do anything, we have to do this ourselves so they're forced to react. https://t.co/VCwCgNCBxK
If the governments response to protest is to shut down WhatsApp; use a decentralized app then trash your government. https://t.co/jrmpgUIrot
Good progress on the hopped heffeweissen last night https://t.co/Yv2hhrhxLB
We need an organization to "Certified Organic" but for A.I. https://t.co/BbotTql8Vs https://t.co/AykM7xPEgZ
The police are the largest terrorist group in the united states. They kill more Americans than any other terrorist group.
Clinton: Mishandles email; published. Not indicted. Can become presidentManning: Leaks email; published. Jailed for 35 years.
Revisit, every day until it changes. https://t.co/0TxlaVTjqt
She didn't include herself. Too big to indict. https://t.co/EkEKNHvlUU
Empress Palpatine https://t.co/Gud5wsBdlV
Washington makes examples of secrecy violators, unless you're among the top establishment like Petreaus or Clinton https://t.co/EbI1vZnSXk
This will be good for @naralogics https://t.co/oJspIt5fRu
Intel is taking away control of our own general purpose computing devices https://t.co/4hab0HBQAP
Shoutout to @letsencrypt for the free TSL certs to secure https://t.co/ASQlQndRyz 🍻🍷🍸!
Based only on precedence, just like the slap-on-the-wrist Patraeus got, we can expect similar treatment of Clinton https://t.co/CBaoUkMXYA
I'll see u there. https://t.co/nnPdkSi7bE
Volunteering your social media profiles to DHS/CBP border agents is like handing a club-yielding bully a knife and saying "here use this"
@ryder_ripps but everyone knows you're trans ⚥
🤘 https://t.co/h08GgGCYax
1) Sell tickets to bread &amp; circuses to quell the populace2) Don't give bread nor circuses3) Profithttps://t.co/mKiP3wG4Ab
BOOM https://t.co/KxF7Sn6kan
i lolled https://t.co/SZtWTu4Bq4
ME IRL https://t.co/xZpUxrZnFv
This is my screensaver: https://t.co/urUz9FfHgc
Imagine being the ill-named pharma company Covidien right now.
The difference between the 2008 financial collapse and todays is the ability to use monetary policy as a lever to pull the economy out. Then interest rates were higher (US and worldwide), so there was enough wiggle room to play with rates. That era is over. The lever is broken.
An oldie but goodie https://t.co/Y4dF7FF10o
you know whos up in the markets today? Twitter, official sponsor of the hellworld. UP 3.8% today! https://t.co/ndWRwGssGf
this was on-point 👏 https://t.co/Bp3wcX4OgP
This echoes my sentiment on #Brexit https://t.co/uFqhYaV7wh https://t.co/XAbnboGEto
No, sorry @twitter you can't have my location, sorry you need it.Back to using the mobile client thanks @necolas! https://t.co/maTdsJvq0S
Good on the Brits for leaving the EU for their contempt of democracy, but they've still fucked themselves. Don't make it about isolationism
I hope she's OK. We bicyclists have much to be aware of with distracted drivers https://t.co/IgD4vM8cIk
Kinda jealous of the brexit debate?, i think Massachusetts should have a MassExodus referendum!
Because both parties are literally the würst https://t.co/63aPw19o0V
President Obama’s Interview With Jeffrey Goldberg https://t.co/VaPapVTqU3 an excellent overview of his foreign policy
More proof of the hawkishness of @HillaryClinton https://t.co/0KWtp5rdBJ https://t.co/q8mRNmryAS
That feel when your tests all pass and "Destroying test database"... and you realized it isn't dying in vain.
The firefox bug that will span 3-generations of people: https://t.co/3eDAaXMZNc
Long days end large https://t.co/PpBI93OTkX
Hollywood has certainly set their expectations high if they expect to live up the masterful artistry of the GITS OST https://t.co/GCGnLYOK4y
My doggo and I went hiking last weekend https://t.co/Jh1acqGwCt
This doggo such cute/clever https://t.co/wffxktGtUI
An amazingly detailed flower bush in my neighborhood https://t.co/4DC1WMEdkm
Is this real, did dat boi really do the tour? https://t.co/3IDNcdyfHm
Ethereum ppl pissing their pants right now: https://t.co/Bveutb5Aih
A real question on the Physical Education section of Massachusetts Teaching Education License examNo Comic Sans? https://t.co/wro8T4QylD
TIL Herbie Hancock was a signatory on the US Consitition. https://t.co/0me4EkfCbO
Precedent matters https://t.co/qjcXZjzNbm
The recent tend of neoliberal capitalists "speaking left"https://t.co/MfexdrXF7q
Who's jealous? @Saus_Boston @nervcoffeemug https://t.co/epvryHbFke
A library card https://t.co/dTlwv5KWbg
Is it necessary to use a saw to call yourself a carpenter? Is it sufficient?
Late spring, so far so good https://t.co/9XmspFQaUL
This is my jam: https://t.co/WfpODe5n8K
Easiest way to read: Search for text "Shut down", look at the number of matches (30) and close the tab. https://t.co/D9cg56SVyB
ME IRL https://t.co/U2ODJfpvX3
Robust summer reading https://t.co/hsOv2cJDZM
This is my jam 🎵 https://t.co/IRoipFQYpL
"Nothing is going to be a thing"https://t.co/SfsMzyOWrY
Fell asleep watching "Casablanca" last night, remind me why this movie is considered the best?
A challenger appears.Jill Bähring opposes others accounts of misconduct agianst her by @ioerror https://t.co/ERQmQv2Kc2
I support it https://t.co/M0PNWFjV1n
That was a fun event. I think it was 2009 or 2010. https://t.co/ezjJAK7Ytn
Clinton is running against a woman as well @DrJillStein who is much more firm on woman's rights than any of the rest https://t.co/6aC7BtuSRo
Ultimate birthday gift would be a cold bottle of Jaegermeister. Not even kidding I love the stuff, it's a wonderful digestif
A thought-provoking piece on view twitter encourages extremism on all sides of an argument"Why I've Quit Twitter" https://t.co/5t7e6jaMVe
Going to watch this later: https://t.co/00hCIiudhl @qtychr @agrabau @BillWashburn
My partner and I enjoyed Red Hook, Brooklyn this past weekend 😎 https://t.co/sZMk9M7q9B
Rally crash with some serious hangtime https://t.co/lZig78obA9
Amusingly I can't access this URL via TOR https://t.co/sXSDgvdcBm
Office birthday party for me, so black cake and obligatory yearly @tacobell feast https://t.co/hwGkNr0lTf
An argument against voting for the lesser evil in favor of a vote for the Not Evil https://t.co/LPg2KTFzGI
French labor protester returns a gas canister to sender https://t.co/Qa9Q4v8Mzd
The Journey from Syria, Part One: A beautiful documentary on the people from Syria https://t.co/9EOaeEkYth
The attention economy https://t.co/DvaMZI3hqy
TFW your tech startup has a great diversity program and has hired transgendered people but the company is now a huge sausage fest.
@nidaleaboumrad the pipe store 🚬
ME IRL https://t.co/iwHdXY8Y4g
Solid plans for the day https://t.co/P8QprNzFIk
Amongst other reasons, this exemplifies why I'll be voting for her this fall. https://t.co/enHdaXmi7O
Beautiful and diverse mix without expectations, stereotypes and labelshttps://t.co/s9atKxRC3v by @endeguena https://t.co/88KH2U2C68
APIs are like hamburgers In Oracle v. Google https://t.co/IJfHus7zpP https://t.co/SvBeRNbllf
Worker retraining for tech skills wont add an Ivy league school to workers resume. Skills don't matter if she can't get a foot in the door.
The fun part about coding JavaScript is ignoring ES6/7 features because they'll be totally different in a week.
Its settled, GIF is pronouced as 'jif'. https://t.co/cOeXSPr1Fl
Free idea: FaxHub, like GitHub, but where you can fax your code in instead of using HTTP/SSH. Great for COBOL projects.
Our government is describing engineers as ‘radicalized’ based on how they implement software https://t.co/usmdf3DFEc https://t.co/RrfV3oiphM
In an environment of surveillance, data privacy is radicalism https://t.co/9i9sfmlMDY
Prediction: TSA lines will get longer with reports of "a wave of thefts" in TSA lines. Then TSA will promote TSA-Pre as solution.
me irl https://t.co/zI7VpV3i4d
Morning: Came into work, the conference room computer was apparently force-updated to Windows 10.Mid-modrning: Computer was in the trash.
Money based on secrets isn't doing so well these days, information is cheap AND profitable https://t.co/3DhSoVFhqs
@ryder_ripps it's Toyota, but luxurious.
Holy shit this is beyond dope @b_apothecary https://t.co/MgNe34SCMR
Legit mint Julep https://t.co/Au8Vj2y4Oi
Any history enthusiast knows if we ignore history we're doomed to repeat it; without activism we're guaranteed to https://t.co/pxkPifGKk1
In Florida, mini-vacation and some fun reading (they bookstore didn't have Altered Carbon @qtychr ) https://t.co/tvO6mWbFCk
Encrypted chat doesn't keep your data private if you're talking with a Google bot. You might as will be talking with an NSA agent.
To protect and serve.Serve who? https://t.co/jLy5s9pj0x
The DiEM25 manifesto: Democracy in Europe Movement 2025 https://t.co/Icm1CTgsCV
10 Cloverfield Lane. Cool credits and cinematography https://t.co/NIpaHrF65s
Electing the US president by a massive drawing of lots would send two strong messages: • We are all capable • We are all in charge
Reminder: Whisky is distilled to retain flavor, Vodka is distilled to remove flavor. Just say "No" to vodka. https://t.co/JMxXPhzVEK
Cop endorses tough on crime candidate, no surprises here. Move along. https://t.co/FW5aCAWmN8
sunday funday. I made a SVG animated logo of The Laughing Man (笑い男) from Ghost in the Shell: Stand Alone Complex. Up on github https://t.co/bMB8uyopqb https://t.co/zGET59aH9j
Chicken pot pie for dinner and bourbon chocolate pecan pie for dessert. I'm firmly on the pie train for all aspects of a complete meal.
i need this bed for weekends, why i hear my kid getting outta bed and running to my bedroom. https://t.co/NMZPKvuGVV
Thread: disappointing objects"High efficiency" washers/dryers.High efficiency just means washes use less water, requiring repeat washes. Dryers need twice the dry time. Efficiency is negated, and modem electronics means you need a new one every few years.
The most rational response to a crisis under hypercapitalism is "panic shopping". https://t.co/JeRzJOeYPC
Can't beat 1L of wheat bear after a long bike ride on a hot spring day https://t.co/3ICiJlxfb8
Why Budweiser is the last beer that should call itself ‘America’ https://t.co/9353NHNyBe https://t.co/Kwuz6TD52X
If Oracle wins against Google, the end result will be a migration away from Java.
Anonymity systems lecture by Isis Lovecruft @isislovecruft https://t.co/ymOfAcGqe2
SmartPhones are the death of personal imagination. How much time do you spend daydreaming vs "idle time" spent being entertained by devices.
I see many Bitcoin users demanding @bitcoincoreorgrun on platform x or y and angry its not already https://t.co/CnLQBaOOaZ
Moxie Marlinspike Makes Encryption for Everyone https://t.co/Ck9ua9YHWx https://t.co/Dah3oDO4nF
How @instagram new logo was made: https://t.co/2qlGCHCyGs
We have self-driving cars and drones that conduct our wars for us, but i still need to wipe my own ass and my shit still stinks.
The joys of dating in late-capitalism https://t.co/Qr8BXN8dOo
Because fighting for peace doesn't work https://t.co/sEFNUDGs9k
Sarah is killing it with this live commentary on the Google v Oracle case https://t.co/3VJqitpQW6
I met someone today who had never heard the phrase "herding cats" before.
Moses leads his chosen people to the promised land, but can't get in because Trump built a wall around it.
Awesome ambient set by Asusu (Boiler Room) London https://t.co/4m23SzGnkl
This lively conversation between Chomsky and @yanisvaroufakis is a great introduction to the economics of Greece https://t.co/wtsvJGeJ6Y
Sometimes I visit the mall to see how the church of capitalism has updated it's sermons https://t.co/XuWWLLI7w9
I live only a few blocks from these Russian spies, I remember the day roads were closed when they were arrested! https://t.co/0ECUCL7H7x
This article brings to mind how @aaronsw had been diagnosed with "clinical depression" https://t.co/1mkDiivV0r https://t.co/PLBB29fbHR
Facebook is the radio of the web, the same crap content everywhere, owned by and advertising a small handful of rich companies.
@ryder_ripps @nervcoffeemug I still miss Picasa
"We're listening to music as it disappears in front of us" https://t.co/kwwtT60srQ
@izaimo @bcrypt nope, those sites using those frameworks will be worthless
This is my first thought to myself every morning when I wake up: https://t.co/y7QFI3AOiC
Well written piece on Modi https://t.co/TSbcyxyvkH
Ever notice how Open Yale Courses favicon looks like a martini glass? https://t.co/JdMvIIMpK6
Startup idea: A smaller Fitbit, but taken as a suppository, so you never forget it.
"that is what I do, I drink, and I know things" —Tyrion Lannister@qtychr
Working on some Satoshi Nakamoto type R&amp;D shit https://t.co/uJz5MAkvUh
New England weather, you're killing me; its may and I'm sick of putting on a space suit just to go outside (jacket, gloves, rain pants, hat)
If you missed it a few months ago, Sarah Jeong(@sarahjeong) called it back in December, Craig Wright isn't Satoshi https://t.co/aKMTK9Q91L
TIL children are like adults, just smaller.
This bar obviously knows what it's offering 9 Million in Unmarked Bills, Seattle https://t.co/V8gKrz7aKF
Adventure bikes try to do everything by compromising, and end up being good at nothing. They're the SUVs of the motorcycle world
Truck driver, the most common job in 29 states in 2014 https://t.co/y5fm9Vqfl7 and "driverless trucks" championed by https://t.co/GsgA4BIXUh
This is my jam 🎵🎼 https://t.co/YRKxIZcqjB
Organized my bookshelf. Vertical are Read, Horizontal are unread. Piles grouped by (subjective) category https://t.co/zGGJSmpuI2
The Negronino — a (surprisingly better) Negroni variation:• 1oz Gin• 1oz Antica Formula• .75oz Amaro Nonnino• .5oz CampariStir on ice
Lazy web: can HBO Go users watch GoT live premiere tonight?
Me IRL @nervcoffeemug @JohnImadNasr https://t.co/EStjvLZBj6
TPP negotiator at the white house bribes New Balance with military contract to not oppose the TPP, NB says no thanks https://t.co/hTAHygptTD
I think I should go to the foot doctor about these warts https://t.co/dzrLDoMFsc
Encryption and libre-boot BIOS are two technologies that keep our devices in service to ourselves rather than in service to the state.
Attack.php huh? Seems legit &lt;clicks&gt;…&lt;dies&gt; https://t.co/k4Fr0GWOe1
Anything I say about virtual reality or vape always gets a few likes or retweets
ME IRL https://t.co/7LSM0W7AZd
yo, @sci_hub is my homepage, i mean homie.
In the age of cloud computing, we need to rekindle the sound of the server room: https://t.co/czogYbol4A @domainavial
I uninstalled @Instagram from my Android three days ago, and my battery life has extended roughly 3 more hrs.
The killer-app for virtual reality is that advertising will be beamed directly into our eyes. Who does VR serve?
This pretty much describes the horrible state of the hiring manager mindset in tech https://t.co/IoSGzSYPmB
I am on the Kill List. This is what it feels like to be hunted by drones https://t.co/HaYjt7wA0p
Sewell: "Technologists see an explosion of data where law-enforcement describes it as a 'going-dark'" https://t.co/WrzYwQ09IC
Weitzner on "safe-deposit box / safe metaphor": "We're all using the same safe with broken encryption" https://t.co/WrzYwQ09IC
Hardcore: Sewell just smacked down some alligations about Apple https://t.co/WrzYwQ09IC
The industry witness panel has started: Encryption debate https://t.co/WrzYwQ09IC
Live stream of "Industry and Law Enforcement Perspectives" on Encryption https://t.co/WrzYwQ09IC
This is true https://t.co/ExRtNTk9Vr
Officer awarded damages for pepper-spraying occupiers. https://t.co/caoAt7obGL
I'm going to only use the ClearText writer computer machine to write my bird writings https://t.co/Zq8uK0FM9U
Boston has seen a 45% increase in startup funding compared to SF Bay with a -19% decrease 2016 vs 2015 https://t.co/2QYZYwil4r
Federal courts have issued nearly 2600 secrecy orders, silencing Microsoft from disclosing searches https://t.co/H4fGrCs9wE
@JZdziarski @KFCAustralia the amount of red over white in that photo are alarming
Mind blown by the attempted scope of this Wikipedia article https://t.co/uu5NbpPaB5 😱
What a killer project! https://t.co/RBNozX5YS6
I'm now 💯% working remotely, paying all bills online, meeting friends, family, and lovers online, and all entertainment and projects are fully remote/online. I'm ready to renounce my physical body
The most covered story of 2019 was fatbergs, 2020 is Coronavirus
just like there is a cultural nostalgia for the Wild West, over the next few years there will emerge a similar nostalgia for the "Late West". The end of the Wild West was brought on by homesteads consolidated into property, and railroads bringing services and governance. 1/
I put together a comparison of the 2020 Democratic primary candidates on disability rights and accessibility. Especially relevant to my developer followers who are fellow web accessibility advocates #webaccessibility #accessibility #a11y #inclusion https://t.co/S6Hs0nXykh https://t.co/N3Jc0NkkWi
Hell yes https://t.co/oJ3GGQkVSO
ex-warren supporters, make your choice: are you on the Left or the Right? https://t.co/Z3cCuMgyhU
No surprise here, test says i'm a Libertarian Socialist aka anarcho-socialist: a set of anti-authoritarian, anti-statist and anarchist political philosophies within the socialist movement which rejects the conception of a socialist state. Take the test: https://t.co/YmZi2jY9pW https://t.co/0v4xBdixKG
@BFordin @MazinPolus @Ellahbie @BackintheUSA_us @TimothyWinfrey @RealSaavedra They may be left of you, but they're still centrists with blind faith in capitalism and trickledown economics
To be anti-war in the US is heretical. The New York Times is cancelled, this a completely blatant establishment hitpiece. They're obviously scared https://t.co/v1cv1WFEYO
Mike Bloomberg spent 500 million running for president, with that money... whats a banana, 20 dollars? he could've given every american a banana.
Adobes' open source (SIL Licensed) Source Sans, Serif and Code Pro family of fonts are beautiful https://t.co/UI2KsDtU7b and on GitHub!
Its been 12 years since I've published a DJ set: ambient/noise/beats, should be good for high-concentration work https://t.co/vvBNTuonlp
Jenkins is coming to the Sinclair #continuousintegration https://t.co/mBxsTpDomQ
Hillary lays it out clearly. Marriage excludes everyone except a man and a woman. Dont know which two specifically https://t.co/QIhmTR6P0x
Great songs feel like places or spaces you don't want to leave.
Jenkins is coming to the Sinclair #continuousintegration https://t.co/ayY1lTzv2q
Such amaze https://t.co/phHPbXDHRY
fun with combining characters ɔ⃝
Just repaired my (clothes) dryer. Door closed switch shorted out, cost like $2 for the new part #diy #righttorepair https://t.co/IU4uQw5G0g
TIL MySQL’s `utf8` only allows you to store 5.88% of all possible Unicode code points https://t.co/93hrkAlRiw
MRW using Linux and someone asks me to print something https://t.co/nmtcx0GarH
ME IRL https://t.co/AkjYyCd6Ur
Chrome extensions that exfiltrate date from 8 million users by @mweissbacher https://t.co/7n0B9BBLI3
Dat Amen break https://t.co/9OXRA9Wzra
This is a slap on the wrist for GS, but a slap in the face for Americans https://t.co/BPGKXg6zcm
Great site demonstrates why using Tor is a requirement these days https://t.co/JNEvTP17zv
I've replaced all my hobbies with this new sport: I will be fully dedicating my time to this sport. https://t.co/wHhWMfDRbe
Horseless Carriages 🔜Driverless Cars 🔜Destinationless Travel
We @NaraLogics have made the MITX Awards finalists list! https://t.co/abfYmcnPzZ
TIL MySQL arbitrarily limits utf8 characters to 3 bytes, WTF https://t.co/lvVmRRSwlS amazing blog post by @eevee
Its 5pm and github is down.
Study finds: People plug in USB drives randomly found on the ground. https://t.co/nDdvi3yjJ0
Pure gold, read the whole convo. https://t.co/tiUOhsZamr
Backpacking has taught me great respect for nature, this tornado video is witness to the power of these storms https://t.co/x5qZEzHruB
Just made my first purchase on the worlds first fully peer-to-peer market @openbazaar Who doesn't love stickers! https://t.co/ervn1LZBIR
#panamapapers produces its first result https://t.co/OhzGLslYXs
Ppl tell me i look like @FourTet especially if i grew my hair out so it got more puffy - amazing DJ set here https://t.co/hoTHmlAumI
Watching the live stream of protests against the PM of Iceland https://t.co/6hI4eBdgtT https://t.co/F7t5tvx1i6
Living the pod life, where the lifestyle is communal, but sex is banned https://t.co/tPm16cE76Z #dystopia
Brought patio furniture inside ✅Brought out winter clothes ✅Equipp'd fenders on bike ✅Turned on heat ✅I'm prepped for winter #again
Released an Arch AUR package for an emoji font based on Twitters Twemoji graphics https://t.co/H129eTIJcR @bhaggs @bderickson #emoji
Finally satisfied with my linux desktop customizations #linux #awesome https://t.co/eUy8G419Po
First rule of VIM Club, write a VIM cheatsheet: https://t.co/axtH04E1UT
Super excited to see Dear Leader Mola RAM join the social media! By the power of Kali #KaliMaShaktiDe https://t.co/XfOupqi5G8
ME IRL https://t.co/fVz9SmoO8S
Which is a major legitimating factor in her cause. https://t.co/VVEendp0M9
Wondering where Washington Post considers this in the spectrum of "unbiased" reporting. Set the tone in the 1st para https://t.co/8EdKUrTrUl
TFW company is paying for Microsoft but running free open source applications on Microsoft Linux Subsystem https://t.co/azIXGY8fn3
Such amaze in this North Korea AMA https://t.co/MeNDI1tO27
Windows 10 will soon have bash running "natively" atop Ubuntu https://t.co/Sf7w31tW6V
Bernie Sanders is a maverick, not sure why Sarah Palin isn't backing him.
TFW boss tells me i'm going to be working on a legacy project https://t.co/5HHBjzSmGJ
Unfortunate to see CloudFlare bucketing content-scraping with spam and DDoS attacks https://t.co/LwJaUkpbx1 #ScrapingIsNotACrime
Just say "no" to DRM in open platforms! https://t.co/mjWcjE3NUv
/r/ultralight has jumped the shark. OP buys a plastic spoon https://t.co/HUFeQvsniS
Jenkins 2.0beta is available and it looks great https://t.co/WHCgAxodU6
I've placed a bet that this comes true https://t.co/l0DAJ8sorG https://t.co/fJQrBGG9Mk
Keep the phrase "millennials are entitled" in your head as you read this https://t.co/rxOfxWvgyb https://t.co/MLeSUuRcom
Projects like @libreboot seem academic today, but it's necessary to ensure that a viable alternative platform exists tomorrow @domainavial
When I take vacation, i unpublish all my NPM packages because they go on vacation with me. #npmgate
Just replaced the cracked screen on my Nexus 5. Not to difficult, just need lots of dexterity. #RightToRepair https://t.co/plUZwaYrFK
If @Puri_sm can deliver on Libreboot, they'll deliver a new killer-platform that nobody else can even touch. https://t.co/BMm8iio6zs
If i had a dollar every time the NPM package for phantomjs failed to install, i'd have about $30.
ISIS / Al-Queda as Counterculture movement https://t.co/J2G0dPneYw
If you read one thing this week, read this. Otherwise, why do you follow me? https://t.co/tPO0LhIGSs
FBI has decided the present time is not the time to conscript corporate people into doing their surveillance. https://t.co/tX7R0rNJTp
This counts as legit journalism these day:What the *actual* fuck? https://t.co/kQ6wqlfq90
Sunday Funday at #LibrePlanet watching @libraryfreedom talk https://t.co/3EWBsL7TW7
I started reading Blade of the Immortal (無限の住人) when I was 16, finished it today ends the chapter of my adolescence. https://t.co/HyYDhyvKhf
This project looks *very* promising in the emoji otf space #freesoftware #emoji https://t.co/pmfKGqLz0g
Employees who don't have a degree but came out of a "bootcamp" (e.g. General Assembly, etc) make more than PhDs: https://t.co/N5B8Y9ciFT
Trying a new color scheme in vim today, going for that retro-future look https://t.co/D6zzQevBL1
Twitter has open source'd their emoji to share with everyone #twemojiparty https://t.co/t7uPTjnaOo
When's Sony going to release a shitty Aibo for the Internet of Things? (aka Internet of Doges)
Mega pull request: ~3,500 additions ~1,400 deletions. https://t.co/XyVzEp3yeq
ME IRL https://t.co/a2vgQ2biaL
Beyond intrusive and annoying, this is the major reason to use an adblocker https://t.co/X4M3042Aq2
So, The Saviors are basically Trump supporters, right? #trump #twd #TheWalkingDead
not off to a good start: "You can publicize your payment code the same way that you publicize your email address" https://t.co/gMPyjupSEp
todays jam: https://t.co/nLEgHV3w9O
Invented a new cocktail: The Newport Shandy: 1 Narragansett Tall Boy and a double shot of Grand Marnier. https://t.co/3cC0iHhcla
Seems relevant: downtown Boston, Irish Famine Memorial, seen in 2004 during the SARS virus outbreak https://t.co/iOE8g8S655
Anyone else notice the @valvesoftware "Valve Index" VR system looks oddly similar to the Memory Replacement machines run by the Combine in Half-Life 2? https://t.co/7Ipkh5mXRy
Painting Biden as a liar for his revisionist stances on civil rights, his arrest in Africa, and others is pointless when our current president is the Liar In Chief.
So big questions for @ewarren, who does Big Structural Bailey support? https://t.co/NT42n21bgD
I've always supported Warren as Senator, and absolutely LOVE watching her dunk on predatory finance bros on CSPAN, its a hobby of mine. At this point i'd love nothing more than to see her join DC outsider pal Sanders as the VP and watch them tear shit up together.
seems relevant. lets hope Warren puts her money where her mouth is and officially supports Sanders. https://t.co/57jkdNmtEJ
Pete Buttigieg won with 27% of the vote in Piscataquis Maine in an election after he had dropped out of the race.
Bloomberg dropping out to support Biden is reason enough reason to not-support Biden.
Second time this week a store couldn't give me exact change for a cash purchase. A sign of things to come. Consumers paying to use cash.
Must catch up with Twitter, these tweets aren't going to tweet themselves.
SillyMicrosoft https://t.co/DJZ0MCIvKc
Its not "free" if you give them enough personal info to satisfy KYC requirements and access to your bank account 😦 https://t.co/4EERSrVZOk
The technologies and weaponry we use abroad always comes back to haunt at home. https://t.co/kOvhILnyYl
I find it ironic that https://t.co/p59sGm5ape doesn't support HTTPS
Nadim, who works on encryption software, could go to jail for protecting his users data under a new French law. https://t.co/q52ndPyM9T
This song, on repeat, LOUD🔈🔉🔊. All day longhttps://t.co/Mt1BquUXmB
Whats the current progressive cyberstance on pleasantries, e.g. "Oh you got a haircut, looks nice!" Is that sexual harassment?
Gun safety, teach them early, yeah then often. This wouldn't have happened if she had armed her child earlier. https://t.co/tO6Dn6Ijuf
Me IRL https://t.co/Y6pFj7juZN
I've seen bitcoin code you people wouldn't believe. ASICs on fire at AWS, alt-coins fail on darknet exchanges... https://t.co/Ymw00hTghX
Trying to understand the rise of Trump? Look no further: "The rise of American Authoritarianism" https://t.co/0ClKTugJcD
Killer feature: Firefox reader now has speech-narration. Now you can listen to your "read-later" articles and cook https://t.co/Wpo5snhncu
If you use Atom editor, you ABSOLUTELY need to try this plugin: https://t.co/IhUyzcla7N
"fighting is good for Bitcoin…if its that easy to manipulate, then its not worth working on https://t.co/X9dHVDSY7c https://t.co/bbsUvL18PD
MIT Bitcoin Expo (Day 1) watch live https://t.co/TOf6b29YPp
A howto guide for installing encrypted Arch Linux on an Apple MacBook Pro https://t.co/mGqIH7HUia https://t.co/T2IXVc6JOM
CEO of Coinbase wants to toss out bitcoin-core team to benefit his business https://t.co/VKL0sHhlM6 https://t.co/Tf1gcytaTT
Amazing article about Linux boot and system init improvements "Rethinking PID 1" https://t.co/ilVJplWj3C
Nice to see the Bitcoin obituaries have increased to 95 deaths (of bitcoin itself) https://t.co/GsAbzkSGsn
Heres a useful bash alias for you git nerds:alias gpob='git push origin `git rev-parse --abbrev-ref HEAD`' https://t.co/BIStKPU77R
Read the Brief of Amici Curiae on #AppleVsFBI which includes support from Atlassian GitHub, Reddit, Twitter and more https://t.co/YZStl9o5BT
Yup. https://t.co/AHbkVnzIYF
Oh yea, Amazon has a smartphone! https://t.co/Pj5fFtr0xq
All the fun of ol' MSPaint.exe, in the browser: https://t.co/WaJH3Oiq1v
A Subaru WRX STI (GC8) without blister fenders: https://t.co/dFI7cuGVt9
"There is no reason to allow corporate access to our minds while vigorously denying state access." https://t.co/Xasrez9Etg
The question posed by the encryption debate is: Do we want to grant access to our thoughts?https://t.co/1zhEmgsvxt https://t.co/Ch0jZIZew7
Encryption matters because our devices are increasingly extensions of our mind, and our minds are private spaces https://t.co/1zhEmgsvxt
Ghost in the Shell, over two decades old, remains our most challenging film about technology https://t.co/4UUOY2nRqn
The worlds blackest black - Vantablack™ https://t.co/6oGPgbU7eo +@qtychr blacker than fuligin?
Go readSarah on the NY Apple amicus, she's needing out over it and it's wonderful https://t.co/KBQHAMRg8s
Leo finally wins the Oscars: https://t.co/iYSMyU66GI
So cold last week the pipes in my building froze, this week I could go for a swim. Global warming has officially jumped the shark.
Truely a magnificent piece of music and video art by @flyinglotus https://t.co/VlpbBqMNd6
Mozilla Servo (written in Rust) is building the browser platform of the future. This will. be. huge. https://t.co/zRQhWmCMDs
"On OS X, run this, on {Arch,Debian,Gentoo,Fedora} Linux run this, on Windows install x, y, z and jump through fire" https://t.co/Olh7p1bpEP
AND THE CONSTITUTION FORBIDS IT https://t.co/aFciDVBjV0
If your customers are mostly well-paid consumers with no free time, I’d be worried https://t.co/FvTidnj7GI
Soylent decouples socio-cultural norms from nutrition just as birth control did for pleasure and reproduction: https://t.co/LxxNYlJMaA
The TTY demystified, aka "everything you thought you didn't know about terminals" https://t.co/KktWkqAfTE
Mono has come full-cricle after acquisition by {{Novell | Attachmate | Xamarin | Microsoft}}. Mono is now Microsoft. https://t.co/PLnOf0lmDO
Best emoji :beer: in SVG, 🍺 from the Google Noto Emoji font repository https://t.co/96VXcwSisu
Beginning to think the UNI in Unicode is from Unintentional #standards
This smells a lot like the beginnings of a coup. https://t.co/xOVNvuzbxt
Finally understand UTF-8 variable width encoding in Unicode https://t.co/6kvQofhSUz
I read this as "Even more reasons not to use Microsoft, even though you already don't use it" https://t.co/iHSLkm4Ufb
There has never been a time in human history more capable than now of total surveillance, so use encryption. https://t.co/co6uXSzFMS
San Francisco: $675 for a bunk in a dorm-type room, "secured" by 22 cameras for that full "1984" surveillance feel https://t.co/OVCxBYcrIt
Hang on tight, the future will be all-male and very scary/sad. https://t.co/OCLA1SBo1H
Just laughed at a search i made 20 minutes ago. https://t.co/TwY38a8r4R
His idea has my full support. https://t.co/Nh7qAfa2sQ
The one good thing Trump will accomplish as President will be the banning of embedding of CSS in JavaScript.
My project today: "Arch Linux on a MacBook" https://t.co/i6LDQnMi7B by @zanshin
The public debate sparked by the Apple/FBI open letter would be illegal under the new UK "Investigatory Powers Bill" https://t.co/e4L1HwzpOt
Apples opposition to the FBI is about preventing companies from being conscripted to undermine global trust in our computing devices
"Must protect Homeland" – a bullshit imperative that shouldn't be used to justify unmitigated power. https://t.co/91HZaDpBtg
A nostalgic look at installing linux "a house of cards made of spiderwebs and magic" by @fun_cuddles https://t.co/6BzyCgf1wb
The tech bubble is about to pop (along with the rest of the economy), all the warning signs are here #TheEndIsNigh https://t.co/woZvmqii1e
The Second Crypto War has begun https://t.co/29knHVVbOl
‘‘Pee-Wees Playhouse’’ created a place where desires are not policed…" https://t.co/qMwtGlt8BF https://t.co/kqAie9IL09
The buzzword game in the Harvard Business Review is strong. https://t.co/aHN8a68Ctb
A sponge is interesting in that it works best if it's a bit wet.
Have an Early-2011 Apple MacBook Pro with a screen looks like this? They'll repair it until the end of this month. https://t.co/bFIxtcoCNv
This doesn't bode well for my plans to finish a choosing project this week. #applefail #apple https://t.co/G16zhQQd1r
SASS and mixins are great, but remember the KISS Principal. With great power comes great complexity; don't do this https://t.co/n8Wrf0loDH
Excellent interactive visual graphic about who marries whom: https://t.co/ovp8Xi2P97
France adds fuel to the fire as multinational corps, Internet and globalization make nation-states less relevant: https://t.co/INOwB9MjXH
China is about to scoop up a bunch of engineers who have helped to push the open web forward: https://t.co/b2Dz9H61uH
Growing Popularity of the new vehicle (The bicycle) 1874 New York Times https://t.co/ApRtKM0BBk
The best thing about WYSIWYG editors is that it allows non-experts to edit HTML.The worst thing is it allows non-experts to edit HTML.
@jonathanmarvens for what reason?
.com bubble, all over again. https://t.co/oMbnhMkYZh
Registered to vote https://t.co/QT8YctoTNF
Public key encrypted distributed file system, wow. https://t.co/9hnmJmqt9y
Europe can only issue law applicable inside their territorial jurisdiction, and cyberspace is a distinct territory https://t.co/FJof1t6qJG
Why we should rethink our relationship with the smartphone - Lior Frenkel - https://t.co/wzfv6KpSls
StackOverflow: "we’re going to gold-plate the Aeron chairs in the office. Then we’re going to upgrade the game room" https://t.co/BliqDvlTIi
nobody can learn ephemeral frameworks"[angular] framework comes close to 500 semantics…"https://t.co/QYZXOSLcdc https://t.co/7a4maEVJYs
A logo with no meaning for the taxi company that owns no taxis https://t.co/mrIiOVL0AJ
Ny new hobby— bomb-fuse base jumping https://t.co/7Qeck32TBS
Metal Gear Solid 2: Sons of Liberty https://t.co/DWK8MEP6IT
Good to know the peace deal from LAST WEEK is going well. https://t.co/phosPmCdGM
Actually an accurate statement 🤔 sadly https://t.co/0vG9RkjwHD
just me, doing my evening hobby. @qtychr https://t.co/5HTobVtU2r
👊Ward 2 in Somerville MA went for Bernie https://t.co/FqOrEH50xX
I ♥ Chibi Coronavirus Chan! | コロナウイルスが大好き! https://t.co/0pTFbJMxdH
@jonathanmarvens i feel like facebook got to see the photo of the piercing and twitter didnt 😰
“A Map of Refugees” by Sahil Zubair https://t.co/mpqN11RzQd
It's a simple HTTP request and user preference, this isn't motivated by technical complexity. https://t.co/Ze7d1Oo5j4
Easily the best air-flute performance i've ever seen: https://t.co/tlR9OPeC6h
Amber, a “Mutual Aid” Tool for bloggers &amp; website owners to help keep the web available https://t.co/KaWIxk34FW
"civilian casualties in Afghanistan “are projected to equal or exceed the record high numbers documented last yea... https://t.co/KovZdIAzWz
It doesn't matter if they're a real enemy or not: once you start shooting, they become one. https://t.co/UXeJoBORm5
By-far, the most damning account of the drone war https://t.co/0xoNJlRWE9
"CSS modules are great!" https://t.co/Q8b2WTMuQv"No, its like having an aircraft carrier to float in our tub"https://t.co/aSaUZ17RUS
Instead of scaling bitcoin, what if the US required licenses to operate nodes, locking bandwidth to monopolies like the Radio Act of 1927.
FT Davos 2016 and a focus on Bitcoin https://t.co/cdb2TdD6zu
I'm looking at you, ReactJS and @ReactJS_News:facepalm: https://t.co/Akkj6djQxB
I've humanized my JSON variables by naming them... jason. https://t.co/YiXiKQZrN2
If your framework either1) Reinvents HTML markup2) Reinvents JavaScriptI'm just not interested.
Magpie Developers: "Don't feel inadequate if you aren't lining your nest with the shiniest, newest things possible." https://t.co/rycfoxRNpE
I'm fine now, but I woke up feeling sick. I think i got the Gluten.
Open offices are bullshit: "Designed" to foster collaboration, people end up being asked to remove their conversations into break-out rooms.
The way this guy lends credibility to his bullshit about "the failure of the #bitcoin" is impressive, still bullshit https://t.co/bWMCln5fcu
More relevant today, this DJ Crystal with Smiley The Ghetto Child produced "183 (Head Nod Dub)" in 1997 https://t.co/McNLLNc8kA #antipolice
#IfIWonPowerball I'd pay Japan to reinstate the Tokugawa Shogunate
When I win tonights powerball I'm going to build a real death star.
When I win tonights powerball, I'm going to buy a PlayStation 4 and the Sun. Then I will destroy the sun. #IfIWonPowerball
When i win the Powerball tonight, i'm going to upgrade my websites ec2 instance to an c3.8xlarge instance. #powerball #wheniwinpowerball
OH "There are more women coding Ruby than Python because Ruby has gems and Python is a snake"
At what age do poodles transform into their final form? Asking for a friend.
Had a dream that my space civilization destroyed another civilization in close proximity. We used a planet to shield ourselves from debris.
"We can all be heroes, just for one day." RIP David Bowie.
Calvary (2014) #film https://t.co/BgrtBau24h
RIP East Coast Grill in Inman Square. I hope a horrible gentrifying millennial-oriented restaurant like Shake Shack or Panera goes in there
Home for the evening is a pub that basks in the warm aroma of Guinness.
Star Wars Episode VII. Yes.
1) Enter Le Mans2) Redesign race car to FWD layout3) ???4) Quit Le Manshttps://t.co/nEZzYS4YZS
I couldn't have said it better myself. https://t.co/HRPjSLLbnG
https://t.co/fQTZBA8fgK
Instagram's Million Dollar Bug https://t.co/i45rzM9mZJ
Lololo https://t.co/HAbLrNFjxp
'If it is “bourgeois” to care about your identity" https://t.co/TiRq9gACUy
TIL that the Fitzpatrick scale is used by Unicode to tell your emoji what skin color to use https://t.co/KQOWGuEt8b
FatBit: like a FitBit but rewards sedentary lifestyles. You start with 10,000 points and movements subtract points.
You sell fear, so of course you're going to say this. https://t.co/is3O7ydkjR
THANKS WIRED https://t.co/ujqAL4biXr
Amazing tune, Capone (aka Dillinja) - Friday https://t.co/rWRxT1zCWa #oldschool #dnb
Listening to this article about superintelligent AI read by a text-to-speech engine– I live in the future https://t.co/vPTlnUsuq3
A Retrospective — Responsive Designhttps://t.co/sYymDQZIdR
OH: "Oh, we're not really religious""Nobody is, its the 90s."
New favorite subreddithttps://t.co/ODgoDqPpnzupvoting is the best.+@qtychr
I have fun when naming systems. https://t.co/59xNi4Ce6s
Finally, a secure desktop to mobile messaging bridge! https://t.co/rC8B3oE0fw
Kazakhstan establishes a MITM, by law.&lt;Kazakhstan government&gt; "We (the state) gets privacy. Our people don't." https://t.co/kRh4VGKOyX
The UK has gone full blown Big Brother. https://t.co/1EIdYt6dEJ
"Always carry a flagon of whiskey in case of snakebite. Furthermore, always carry a small snake."– W.C. Fields
The End of the Internet Dream https://t.co/zmG4zb2THC #longread #worthit
If someone tells you their favorite movie character is the female from Under the Skin, run. Run as fast and hard and as far away as you can.
heterotopia and identity in psychical spaces in the film Ghost in the Shell https://t.co/k9DXWd0rKz
#Thankful for the compassion of the indigenous Americans to Pilgrims, religious refugees who tried to make a new home abroad. #Thanksgiving
Microsoft is moving to an "evergreen" browser release lifecycle. IE11 will be the last IE. IE IS DEAD, LONG LIVE IE https://t.co/vubYArr6Q8
The Future Of Food’ by a16z an interview with @soylent https://t.co/vRaDRUS5B2
The end of an era+@agrabau @qtychr https://t.co/w2qMpUF2Hu
"Europe is like The Eagles - Hotel California, you can check out, but you can never leave" – @yanisvaroufakis https://t.co/QJ1Sy1tDYC
To ban encryption will "help terrorist groups destroy the moral character of our politics from within" https://t.co/xMWVSl4gsi -- @kaepora
I'd pay to watch this debate. https://t.co/F0sPI551Zz
I sleep with:
The gang at @NaraLogics and I are in the #50onFireBos Finalist by @BostInno https://t.co/ih1NBkfIdk
@jonathanmarvens this is fascism, plain, simple and horrifying.
Rory Gilmore and Pete Campbell are expecting baby, hope he doesn't leave her too! https://t.co/C7pvzkTiMU
Me IRL https://t.co/3UsqGxXZMY
An in-depth look into ISIS ideology, worth reading https://t.co/fT8crtHK0D
HR 4038 is playing to a ISIS/ISIL/Daesh playbook and a corruption of our values. https://t.co/byqDfR8WIW
So @Keurig now makes K-Cups that make soup. They've figured out how to make you buy something disposable to just add water. #CreateMoreTrash
Encryption Is Being Scapegoated To Mask The Failures Of Mass Surveillance https://t.co/ZFUkAtaIA7
The true mark of a trade or practice is its passionately curated use of vocabulary.
If Biden gets the nomination, he'll make Hillary VP and then get on stage to give a speech. Then he'll tear of his mask and reveal that it's really just Hillary underneath, the VP will then tear off the Hillary mask and reveal it's Biden. The switcheroo, oldest trick in the book.
Between Trump, and potentially Sanders and Bloomberg we are tripling down on a US lead by curmudgeonly old New Yorkers yelling at the world.
'electability' isn't an argument, it's a word. What does it mean?
always self-publish. own your content, own the means of distribution. publishing isn't an industry any more, its a button. https://t.co/TMnKEPqJsn
Parasite, an anti-capitalist hottake1) Capitalism forces the poor to fight the poor for the scraps of trickle-down economics2) This makes the poor enemies of themselves, and enemies of the rich3) The rich are just as guilty in this violence, and wont emerge unscathed. https://t.co/vglxHSQF6H
Lowkey news today: The hellsite we've all grown to love is possibly going to become more hellishhttps://t.co/Eg2alRUVH4
Inquiring minds want to know: Does Sanders have binders full of women?
canvassing is like trick or treating except instead of getting candy you add people to a list of who to purge after the elections.
never get takeout ramen
Watched the live stream of the #Sanders2020 rally, but curious minds want to know:What is his plan to reduce car radio thefts? I'm sick of physically detaching the faceplate of my car radio to avoid theft.
palalel suns - autechre
My name in JavaScript: "0x"+(711386)['toString'](16).toUpperCase()
:facepalm: https://t.co/oy2t7j3xSb
I enjoy practicing coding kata on the FizzBuzz problem, now theres a @npmjs package for it: https://t.co/a2i99cLJKd https://t.co/SiUD05tEEd
Time to close the TSA https://t.co/gs1vn88YP3
I `attached` to a docker container and now i can't detach! SEND HELP!
MRW I realize that Facebook React build process uses Grunt to spawn Gulp : https://t.co/ExGeEwuKvb https://t.co/W4tcCXthrm
Let's twitter pool!
It's Friday
best emoji. ༼;´༎ຶ ۝ ༎ຶ༽
Remember SARS?
Fear Falls Burning - I Provoke Disorder https://t.co/5Ig7AgQSIA
"[bitcoin] will disrupt government, law, accounting, insurance and, last but not least, finance"– @jerallaire https://t.co/uOzqEYLHKm
I've posted my Subaru Impreza WRX STI race car on eBay, go buy it or at least retweet this: https://t.co/Nm4tv5AZ9s
grunt-contrib-imagemin hits 1.0.0. https://t.co/fng7XLx5JB
Neato: Rocks In The Sierra Nevada Actually Fracture On Camera https://t.co/G3CDpEDukM #geology
National Doughnut Day is bullshit, look at the wikipedia entry, date changs every few months: https://t.co/vdCwWLF5zA #nationaldoughnutday
Microsoft has jumped the shark. @MSCloud https://t.co/iDAK9VTJdi
Normally i wear a suit, but i enjoy more casual style when i'm working outside on the weekend https://t.co/1LQeU3i5wI
OH: "Bitcoin isn't going to die, its just going to hide under a dumpster".
Whenever i use the /wc (/window close) shortcut command in irssi, i always think "Water Closet". That weird?
The hardest part in keeping up with javascript build tools is dealing with all the stickers. https://t.co/8BjrYJ3VmO
Bitcoin has passed $400. I'm buying e̶v̶e̶r̶y̶o̶n̶e̶ cocktails if you retweet this!
Using Docker over automated configuration management, and a workflow from dev to prod using Elastic Beanstalk. https://t.co/qzjLTg4YyR
UK bans encryption. This is in effect, a ban on the right &amp; practice of privacy. https://t.co/2umhVMeRI2
Halloween Horror story: I order a Steak Bomb and the delivery guy brings a Steak &amp; Cheese.
LOL when hackers called the "whitehouse people" losers. https://t.co/gaIeV7umk8
CISA does nothing to protect people - it only incentivizes companies to become informants on their customers https://t.co/sbTH0C2DVV
I'm glad to see lots of people on twitter discussing / trying to see if they fit under a dumpster.
The elegant irony of the term "Nakamoto Consensus" is that the Japanese ideograms of Nakamoto (中本) means "Central Truth" #bitcoin
The first rule of writing good specifications or documentation is to define all the specialized terminology you'll be using.
I wrote a notepad app in HTML that fits in this tweet: paste this into your URL bar:data:text/html;base64,PGh0bWwgY29udGVudGVkaXRhYmxlPgo=
With the Experian/T-Mobile hack, Experian decides to troll everyone by offering mafia-style "protection services" http://t.co/537TM55UME
Architecture is now a tool of capital, complicit in a purpose antithetical to its social missionhttp://t.co/fywCf70UkC
The best TL;DR version of the dem debate https://t.co/dQi00tgB0h
Fun and interesting article explaining how "Appcoins are Snake Oil" http://t.co/vBdccLVlLt @qtychr
You can tell the 2-party system is bullshit when candidates that pose a threat to the 2-party system are excluded from debates #Lessig2016
In the spirit of Halloween, i relate an OpenSSL horror story: http://t.co/wUkyXy2u7i
curl is easily my favorite command-line utility
"what do I want out of this? Why do I want it to drop? And if it doesn't drop — what do I do then?" http://t.co/EGAtUdPIFB
"It is a scene that questions exactly what we have come to expect from loud, repetitive, electronic music" http://t.co/NFTlUtuL1E
great minds... https://t.co/Bj9wPHwZtV
I'm worried that people forgot that i exist because i'm not on facebook-- so my wife has become my facebook proxy. http://t.co/EmMAcWXsxk
The best part about school is realizing that 8hrs have passed and you just had an amazing time with passionate ppl
Bitcorn is a new cryptocurrency to send corn: a delicious starch inside a tough yellow shell that passes through mammalian digestive tracts
We have emoji for everything except the "J" that Microsoft Outlook users put at the end of their emails.
Very much this https://t.co/wSZkAVCoVP
Lessig is being excluded from the debate. Join @chrislhayes #letlessigdebate https://t.co/y6oCXFJPEl
Good tests become even more useful months later, when you forget exactly how that esoteric feature actually was supposed to work. #testing
Travel opens my mind to new perspectives and allows me to recontextualize existing systems of thought. http://t.co/Hq9ZWrQmfS
That moment when a busy intersection flows freely *because* the traffic signals went out.
The elegance of Donald Trump is that he's fighting a wrestling match while the rest are boxing. In wrestling, only the spectacle matters.
re: T-Mobile/Experian breach: They're basically saying "We got breached, but give us more private data and we'll give you 'free' service."
Because nation-states are irrational actors, policy is determined by outsize fears of small factors. https://t.co/eRct3exl9W
I really want to give a tech-talk on Docker in a very thick New England accent.
I finally identified the source of my anxiety: https://t.co/lmsqGBq3eH
the best emoji 🍺
Pope on Capitalism: "This is not a force of global impoverishment at all, but one of endless enrichment" http://t.co/ghOK7ObWUG &lt;/theonion&gt;
Why we're leaving Heroku: boycot Heroku and any other hosting service that supports mass surveillance legislation https://t.co/oWp8i253YA
internet.
Article: Hikikomori/Otaku Japans Latest Out-Group - Creating Social Outcasts to Construct a National Self-identityhttp://t.co/0Z7tNMu2Kq
420 https://t.co/raSb2JspSs
my dad fell into the conspiracy theory youtube rabbit hole just before Trump took office, his brain has been addled years of it, calls me todayHim: &lt;So a Chinese IT company was testing 5G networks in Wuhan...&gt;Me: Yup, ok?Him: 5G is causing CoronavirusMe: 🤦‍♂️ Ok boomer
Who going to Boston tomorrow for the Bernard rally at noon 🙋 hit me up and we'll chill or whatever and be friends
Episode 20: Metal Gear Solid with Felix Biederman by No Cartridge Audiohttps://t.co/Wenc9PjP4H #nowplaying
Its legal to buy DNC superdelegates. If anyone thinks the US electoral system isn't designed for corruption, they'd be wronghttps://t.co/ZEZJ1FxdVb
Do you think love can bloom even on the battlefield?
Having an ad blocker means something different when compared to a few years ago; if you block ads, and the site blocks you, it just means that the ads are primary and the content only exists to serve the ads.
i've been diagnosed with Coronavirus, if you retweet this tweet, you'll inoculate yourself. If you ♥️ it, you'll help spread the disease.
i think a found a new humble hobby https://t.co/5WVhEgeSvQ
Germans and Hungarians could learn a lot from 1845-1855 New York City; they accepted millions of Irish immigrants.
"Refugees are the price we pay for a globalised economy where commodities (not people) circulate freely" http://t.co/l7BuZv3uWa
3D printed TSA master keys built from only photos of the keys; they work. Master keys provide no security. https://t.co/dlOcYAtyKR
Would life have meaning if we lived forever? Would the sunset be beautiful if it was always on? http://t.co/8Q4hNrxvTH
9/11 is our Two Minutes Hate.
Because good war is the endless war! https://t.co/nIN9ju2CDe
The 'no screens' weekend is experienced as disconnection, but is anticipated by the moment of reconnection; which is shared on the internet.
"You can get a new iPhone every year" - aka Apple has institutionalized conspicuous consumption #apple
Apple keynotes are masters of cognitive priming "It is beautiful", "it is cool", "it's great", "this is amazing", "its faster", "the best"
Thanks to todays Apple event hosts for telling me how "cool" everything is.
Nobody has said it better. https://t.co/r1jAQIiX0b
Judge a countries patriarchy by the number of women on it's bank notes, for money is the seat of government power.
That feels when you get a google alert for your name, and the result is an obituary.
TIL that "pie" is named pie because the original meat pies main ingredient was typically magpie, thus the name.
The story behind the "Yankees Suck" phenomenon is a fantastic and riveting piece of cultural anthropology. https://t.co/IqELXK9bTF
If the internet had a smell, it would smell like a distant corpse.
Its quite sad to witness the deterritorialization of Japanese drift culture into American media spectacle. #drifting
Students at for-profit schools fare the worst: nearly 20% default within three years of leaving college https://t.co/LGUv225rBV
Becoming-Animal Is a Trap for Humans: Deleuze and Guattari in Madagascarhttps://t.co/OmOrQPBV9R
Companies posting job looking for "PASSIONATE PEOPLE" should ask themselves why the company deserves to be loved.
Its not enough that a new MVC/M* web framework comes out every week.Each is written in a new domain specific language we need to learn.
SWEEP THE LEG JOHNNY https://t.co/X4ZI4tSdkK
I would say "bae" if it was spelled bæ
this is pretty amazing. https://t.co/jvw3TCF4tg
A good alias for this command:killItWithFire$ boot2docker stop &amp;&amp; boot2docker delete &amp;&amp; boot2docker init &amp;&amp; boot2docker start#docker
#forsale: 2002 Subaru Impreza WRX STI road &amp; time attack race car -full specs#subaru #tomei #volk #modified #wrxsti http://t.co/e3Miuw3DJo
Remember that huge explosion in China? It left a honkin' massive crater: http://t.co/WXZgpVp7uG
I'm placing my bets on US stock market trading is halted sometime today @qtychr @garlick811
For sale: RASpec Impreza - Subaru Impreza WRX STI time attack race car http://t.co/e3Miuw3DJo
Registered for a course on Culinary Aestheticism at the School of the Museum of Fine Arts taught by @b_apothecary http://t.co/lDPV2MkCIG
Best Practices for Writing CSS http://t.co/rsdx88yUwT
When it comes to AI, we can't start regulating how our children walk before they take their first steps. https://t.co/nKmoHUkvjC
Proud to watch my coworker @jtpaasch eat 5+ pieces of cake today.
A perfect model to exploit maximum value from people who let their jobs define their self-worth http://t.co/vxRnH1AmPX
Much thanks to @SaraSoueidan for your articles on SVG. I'm addicted to your blog, such an amazing resource!
Sometimes i dream that i'm forced to write in Microsoft .NET and i want to die
Drone footage of explosion in Tianjin China shows a massive crater at ground zero https://t.co/t5ZO0vczKD http://t.co/8bMVvjWDvm
Tianhe-I supercomputer has shutdown due to the blast in china.
Relaunched our website, welcome to our new home on the web http://t.co/81yKj1Yqyp
Amazing talk about the past, present and future of the web: What Comes next for the Web Platform - https://t.co/iltacC4SHV by @slightlylate
Drivers license suspended for getting a bicycling ticket
This should have a #trigger warning #nsfw https://t.co/cIthcQ3DtP
I'm going to admit this looks very sexual https://t.co/cIthcQ3DtP
The Spiral Software Development Lifecycle for comparison #agile #responsive #lean http://t.co/rQ8yBsctFj
A "greatest hits" of the Waterfall Process of software development. msg me for the svg source. #process http://t.co/ffmayOyAfG
verified (adj.): An ordained narcissist. http://t.co/UdqE2W92wo
This is pretty fun,$ ssh http://t.co/j78bVnZZq4read more: https://t.co/uu3d51Qnb5
Whelp, this just project blew my mind up for the last hour: https://t.co/E1ImHOw5Da
The song "My Girl" by The Temptations is about Heroin
Rob Rhinehart write about giving up AC electricity here, http://t.co/ZPR5QITKe2 but sounds better spoken by a robot https://t.co/2wPqAUWzNB
Robbie Maddison rides waves on a dirt bike https://t.co/PpNvoiMmlx
"When to use git merge vs git rebase" Thoughts on the git workflows i find most utility usinghttps://t.co/8tMyNhTPFR
“So what do you do?”How Idle Conversation Escalates Tensions in Class Inequalityhttps://t.co/veYxjOObYx
"Inequality" is another name for colocated nation-states where the privileged can chose from the laws of their state and The Others can not.
"Capitalism" is a rudimentary resource-allocation algorithm that is optimized for corporate profits.
3D-printing is the horizon of the industrial era, democratizing the means of production, everyone is at once both the consumer and producer.
"In the land of the blind, the one-eyed man is not king, he is taken to be the hallucinating lunatic." Marshall McLuhan
The only reason I travel is to checkin on Foursquare. I've already seen the places in pictures and been there on Google Street view.
"Travel differs little from watching a movie... if people never leave the beaten path, nor do they ever ARRIVE at any new place" -M. McLuhan
"I've never seen a donkeys' tail kill a single fly. The tail is a deterrent, a hairy peacekeeping force." - Andy Merrifield
@jonathanmarvens the act of pretending is a child's main tool for learning. In pretending, the adult takes on a child's chief activity.
git push origin master
DARPA's Robotics Challenge got too heated, robots got drunk instead http://t.co/2DnyXrRfHr
This is a wonderful tool for pulling some interesting metrics from CSS http://t.co/MGyLcDZZ0j
Wish i could've been there, looks amaze! #HailSatan https://t.co/quxy0A0Qod
Google allowing people to use their services without Google+ is almost as good as #noboston2024 http://t.co/fcYAU8Lem6
Boston Olympic bid ends. YES!
People ask me "Don't you get bored of @soylent every day?" I just explain that what water is to drinking @soylent is for food.
Differences between security experts and non-experts http://t.co/Ewe72K47iY http://t.co/HhHRbMbDPb
@jonathanmarvens amen to this tweet!
Google is giving away code classes to women and minorities interested in learning how to code https://t.co/bJpb5W14iN http://t.co/cY2BROtxDO
TL;DR don't use proprietary databases 😉 https://t.co/mxsOsF2wRM
@jonathanmarvens intellectual property is theft.
I've long since switched to Transmission https://t.co/31MnsgjIzL
Project Vault at Google I/O 2015 is very interesting.... want to play w/one! https://t.co/dbWe5vJmtB
The majority of spam I receive comes from .us, .space, .xzy, .party, .link, .cricket, .science TLDs.
Me running $ docker-compose up http://t.co/84PW0TvyPy
Hobo'ing is going to be big this year.
PUBLIC ANNOUNCEMENT: Now using emoji for bullet points in git commit messages. EOM http://t.co/zlzssqltLC
$ docker-compose upMy god.
Whoa, Ellen Pao has resigned. Reddit was too powerful. Remember Reddit is about the users, not its code fyi @qtychr https://t.co/LnJzJ0Ah4e
Nice new use of an old paradigm https://t.co/bxz6ExW5Zi
Installed @threatstack today, and install log file had an auspicious modified-date: http://t.co/gJuAdJdyjv
Your devices will be used against you in a court of law. We live in an ubiquitous surveillance society http://t.co/HhfZJkk1GP
GitHub emoji support makes commit messages more fun! http://t.co/XEsDtBtdgW
@jonathanmarvens thats alot of sugar. CARBS.
I for one, welcome our new robot overlords http://t.co/BSRjl0Myam
That secure feels when you see /cgi-bin/ in the URL and a Flex app load in Adobe Flash.PS, its a bank.
ELI5: Finally someone asks how a blade-less fan works: https://t.co/ggYDGQYaLb
Greeks are economically imprisoned in a Greece-only economy. This doesn't work in a post-globalized world http://t.co/4j3H81daQx
Greeks will begin to feel the pain of fiat banking this week. https://t.co/6NViG6w0k8
So can we marry a corporation now? Seems like we could
MRW seeing the first line of someones bash script:#!/usr/bin/env bashand a calm wave of peace washes over me... http://t.co/fzDW54RyES
ppl are concerned about Colonel Bernard's yelling, but he is angry at 40 years of systemic injustice. People under 40 (i just make the cut🙏) identify with his anger, we've been indoctrinated since birth that our hate and anger only makes us more powerful: https://t.co/wTB0GAhx2X
When I first heard of Coronavirus I thought it was a plight on beer fermentation https://t.co/zqvZdUM4IV
on brand https://t.co/vAPv21NvTW
The utopian vision offered by democratic socialism is a critique of current capitalism, but doesn't go far enough to be a rejection of social organization by purely economic science. 1/n
GitHubs outages are due to the engineering staff sick with coronavirus.
if GitHub is having an incident, and your org uses GitHub for authentication for critical services, then do people just go home 🤷‍♂️?
hey guise, i bought a Tesla! https://t.co/Qrx8SG24GR
So I bought an Amazon Echo! https://t.co/7T4LQXr8QI
lived in Back Bay Boston, freshman in college at NEUplaying lots of Counter Strike, Shogo M.A.D and Quake III Arenastarted DJing drum and bassran the largest electronic music filesharing server out of the same dorm Napster was written in the previous year. https://t.co/Zv6NDcYKew
Metal Gear Solid: ✅ mission accomplished⭑⭑⭑⭑⭑ https://t.co/OxxHJwRpJV
i use a copy of "The World Is Flat" as a doorstop for my kids room. He regularly grabs it and tears out pages, and I'm like: https://t.co/9hwptYA3cT https://t.co/02p3uY5GHJ
I've come up with a new flag that best represents this week, and 'Murica.THE FREEDOM FLAG http://t.co/2m9X7AL7wE
Anyone got any great gifs highlighting the beauty and benefit of using Docker? #Docker #LazyWeb
Remember when Microsoft made Silverlight, and they made that sweet zooming photo-viewer demo? Then Netflix used it. Thats was rad.
CyanogenMod 12.1 + gapps (latest) crashing like a pro on Nexus 5 hammerhead, no fix in sight #cyanogen #cyanogenmod http://t.co/uTjCg7y18A
Best Docker container name, EVER http://t.co/R0fcpt39Be
OH: "AWSes Amazon Linux is just a fork of Windows XP running cygwin"
"Cloud computing" is when your computers are sad because they're running inside HVM containers and can't (quite) feel the bare-metal.
My favorite video game has been funded on Kickstarter! https://t.co/54rpCJSmJR
TIL Portland, OR has the most total breweries and independent microbreweries of any city in the world
This data center noise generator brings me back to the pre-cloud computing era http://t.co/czogYbol4A
@jonathanmarvens i'm going to make an app that lets ppl send DMs to ppl!
TIL prompt$ git archive --format=zip &lt;revision hash&gt; &gt; http://t.co/bURhHVzSqg
I'm drinking the Kool-Aid, Turkish style.
Portland, OR observation: why does every store sell Parveen scissors?
I'm out for the weekend, Portland &amp; Seattle, here I come! 👍
Its #NegroniWeek: Mexgroni1pt Tequila Fortaleza1pt Vermouth Del Professore.5pt Campari.5pt Ancho Reyes http://t.co/9zi1yn0HRx
Ya'llve done good, but this bill alone wont be enough to stop illegal spying. https://t.co/6NCXtnWOdl
Whats the difference between french cuisine and witchcraft?
My Reaction When I learned that Facebook implemented GPG encrypted email http://t.co/nNojgNZOiC
TIL: You can use &lt;keygen&gt; html5 tag to generate public/private key pairs: http://t.co/GVuAJPL1Uf
Ed Snowden made a truly patriotic act. https://t.co/VuQDX42Vog
Glass half-full or half-empty are different sides of the same coin. Something half-dead or half-alive are very different issues indeed.
Mitigated TLS Logjam and improved TLS configuration from B to A+ at SSLabs for @naralogics site #security #privacy http://t.co/IlH1QTq4C2
Some work on the race car last weekend http://t.co/QD4wxP7hLj
This is gonna be dope #prepared https://t.co/Fvg0emqE6N
An Amazon Dash "How It Works" article in 1 tweet. https://t.co/XR419B8ePp
@jonathanmarvens their off-menu meat juices are even better. "The CowJu" is my favorite: raw beef blood mixed with a bit of hot sauce.
&lt;Link-shortening domain expires&gt; A great disturbance in the web, millions of URLs suddenly timed out. Something terrible has happened.
StackOverflow released their Developer Survey: http://t.co/dvCTAmn98e
If you use webfonts, you need this:html, button, input, select {-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
Great minds discuss ideas; average minds discuss events; Small minds discuss people https://t.co/AlyXw105R2
I for one, welcome our new Turtle Overlords. https://t.co/3S2UzOFS0o
This matrix of SSL/TLS cipher names is super helpful in moving from nginx configurations to Amazon ELB https://t.co/CgG4zHyTQu
That feels when you finish building the deploy system, hit the [Deploy] button and it makes what used to be hours of work become trivial.
The Bathtub Principal: Hotel bathtubs have big handles. They’re just there to help disabled people, but everybody uses them.
I'm going to write a http://t.co/yDIRGZKcyT post about the elegant purity of deploying a web stack on Microsoft FrontPage Server Exentions
Serving users in China? Build your site using progressive enhancement, because your Google-CDN hosted Javascript will be blocked.
Joining @masdpirates to play with crypto fun! https://t.co/ggvwfLz2EA
Corporate Artwork is the most beautiful artwork. #art http://t.co/cRepLCCRIi
OH "Nobody cares about security until you make it a game"
That feelz when you find the perfect emoji.
Glad to have my name added to the list of supporters of @futureisnext http://t.co/knG85ffCRK web documentary project.
Improved the SSL/TLS configuration to an A+ Grade at SSLabs for the new @naralogics website #privacy http://t.co/rviN77Isct
Prediction: News publishers who ignore performance will have their milkshake drank by a tech company that prioritizes performance. Oh wait..
A persuasive article arguing for the use of 'data' as verb. https://t.co/B8c3TnOKCt
The beauty of Facebook Instant is that it seems to be moving Mainstream Media content to one easily avoidable place. #FacebookInstant
Step 1( of 3): SUCCESS. Thank you @couragesnowden ! https://t.co/kMBF1Cjtks
Better:var f='Fizz', b='Buzz', i=0, d3, d5;for (i; ++i &lt;= 100; d3 = !(i % 3), d5 = !(i % 5), console.log(d3 ? d5 ? f+b : f : d5 ? b : i));
@jonathanmarvens sorry! but not sorry! 😝
@jonathanmarvens did you see my FizzBuzz.is tweet last night?, its a thing of beauty 👌
How is the NYT publishing direct to FB a "seismic shift"? What does " direct" even mean?
FizzBuzz.jsfor (var f='Fizz', b='Buzz', i=0; ++i &lt;= 100; console.log(!(i%3) ? !(i%5) ? f+b : f : !(i%5) ? b : i)); https://t.co/EKVw4gjFu5
FUCK YES https://t.co/ZTuwRSopCA
“We certainly don’t need anyone going all Davy Crockett chasing it through the woods drunk with a dull hatchet." https://t.co/hE5OkVGPCh
Music, art, technology, privacy &amp; security. Join @masspirates and @together this sunday! https://t.co/XxQKI7FyXm
In a perfect world, I would be wearing blood squibs all the time, so i can feign getting shot during meetings when i hear bad ideas.
Wonderful insight into SVG internals https://t.co/MwwO79kPW4
Nice to see @xychelsea making the most of her free time https://t.co/6Rq8uoZc4P
First person to say 'internet' on twitter. re @mikebodge https://t.co/buS3vAMTMz
Just launched https://t.co/72qOQRHdAy yesterday. HTTPS-only, honors DNT and runs on @craftcms
Memories are stones in a tumbler, with time the edges are softened, but occasionally you'll find edges that cut.
Clover food truck no longer takes cash
Hooray! US Court of Appeals 2nd Circuit says s.215 of Patriot Act does not legally allow for metadata collection https://t.co/SHvlwGFAPb
"consumer hardware has gotten so low quality, closed and untrustworthy that it makes sense to build alternatives" https://t.co/A3GiCBZhGp
Nation states are the worst https://t.co/RIsEWmdBKt
Today I played with all the tech: Craft CMS, Jenkins, Ansible, AWS, SSH, Node.js, Grunt, Bash, CSS3, Picturefill.js, Splunk #fullstack
CSS Center-cropped images using negative margins, is there a better way without using css background images? https://t.co/QW7JLhH8tP
Lesson learned and a new best practice: always use lowercase filenames. Always
DickShirt: a condom with an hole for the penis head.
My rationale for abandoning gmail... Summed up nicely https://t.co/GFd2eRqCYJ
I hate that my favorite language has a bad name. 'Java' misleads while script is a pejorative for describing a turing-complete language.
Using CSS to opt-in to anti-aliased font-rendering is both non-standard and more complicated than you'd expect. http://t.co/hWtNn8YFVa
"good" developers know they can make their sites look nicer by opting-in to antialiased typefont-smooth: always;
@jonathanmarvens its because people have to poop (typically) once a day. That poo has to go somewhere, no?
clean-css is my new-favorite Node.js package https://t.co/aeewMdCLk4
TIL you can query a browser to see if a search provider is installed external.IsSearchProviderInstalled("https://t.co/BvYhpn7vfz")
Whale jumps the shark in GTA V https://t.co/GEI4iFEH1w
Warez, pre-release leaks, mp3s and the story of a music-scenster https://t.co/tf0fTo4dZa
JOMO: the Joy Of Missing Out learning a shitty JavaScript framework
You prayers for peace serve only the wealthy and those who kill and oppress blacks, why not pray for real justice? https://t.co/DWYi1hFa2F
To fight an adversary who speaks using the language of violence, its useful to directly attack a symbol of oppression http://t.co/2JpYoEhcRY
Biggest piece of bullshit. Ever. https://t.co/KPsaYdSZhn
Shamir got diff'ed! https://t.co/byjwqszgJM
Wow, I hope this is true! https://t.co/LegQzRyN31
Google will no longer recognize CNNIC Root certificates in google products http://t.co/KjnFpGPbul
Scaling CSS architecture patterns by @csswizardry. A useful deck in that its self-explanatory without the talk https://t.co/WK6y3dxmvh
Vagrant and ansible. Yes.
Man Without a Gun #DescribeYourSexLifeInATVShow
60 Minutes #DescribeYourSexLifeInATvShow
@jonathanmarvens @jocelynkrauss @iBrittDavis tiger claw, pro move.
The amazing thing about Biden is his ability to string together grammatical sentences absolutely devoid of any semantic meaning.
biden doesn't understand the difference between China and North Korea. #DemDebate
It was at one point, not anymore. Now it's the defensive team to the Republican offensive team. They're both playing the game of neoliberal capitalism. https://t.co/jMne38Gfld
revolution and social change must be done with practical action in addition to theory and law. It must be done in actions that change the zeitgeist—the common sense and spirit of the times must change to reflect these actions in order for the revolution to succeed. 1/2
aspiration content, but this thread is readworthy. https://t.co/cuZ6W3M9q0
OMG @UnionSqDonuts has sold out of donuts by 9:15am at the Voltage popup. I'm without donuts. Friday ruined. I'm literally dying inside.
Wikileaks released the sony email archive, totally searchable https://t.co/5ta2oEiusj
App idea: An app that tells you #CherylsBirthday
Keywhiz is a secret management and distribution service uses virtual (in-memory) filesystem to access keys https://t.co/vUl7BYdOWp
Remember wehn Foursquare wasn't shitty? http://t.co/25TvAcsjm1
A metaphor for torrenting music and movies http://t.co/YUO5RpAVME
Cyber-physical manufacturing could reverse this tide of outsourcing, pulling the mat out from developing economies http://t.co/KuUllhrZVx
My days jam - Alva Noto- Xerrox Helm Transphaser https://t.co/ehTaTo6wDb
Silicon Valley, its too real, too close to home. So good, but so bad becuz truth. http://t.co/FaqCDqzJ91
Stephen continues to produce quality prose that challenges our very concepts of sensation and perception. http://t.co/ba340LUOvD
Revelstoke next year? @qtychr @garlick811 @jaschang https://t.co/71PY3VqhBN
avast! anti virus installs an "Always Trust" certificate authority and replaces other certs with its own #mitm http://t.co/bfCYgSbcBZ
1btc wagered that this cop gets off without any time http://t.co/BZIf1KN6ae
TIL Today is #NationalBeerDay @thomdunn where is our beer-baby?
There's a Massive, Illicit Bust of Edward Snowden Stuck to a War Monument in Brooklyn https://t.co/ZcNQNc2Fyt
A better DNT is just T=1 : Rather than having users express a *wish* to opt-out of tracking, users should explicitly opt-in to tracking.
Donated to @couragesnowden for his whistleblowing. Snowden didnt leak to make a profit https://t.co/3zqBXfu8SC http://t.co/y2lE1aw7c2
OH the founder of GrubHub pitching his company:"Its like GitHub, but for food"
I'm glad the Hugo Weaving got proper credit on IMDB for playing all those Mr. Smiths in The Matrix http://t.co/OcXM0aHLQV
Hoping todays Executive Order is an April Fools joke. The implications for freedom of expression are horrible: https://t.co/3zqBXfu8SC
Currently: Exiting nginx.conf hell, successfully. http://t.co/1l73c3I5yr
Currently: nginx.conf hell.
I love any song that has the words 'in the club' in them.
“Approaches for Pushing Do Not Track to the edges” #dnt https://t.co/FMmjrkXE3V
DEA agent and Secret Service agents in Silk Road Case Face Fraud Charges http://t.co/qFgdArqDs4
Shots fired as driver uses SUV to ram gates at National Security Agency headquarters outside D.C http://t.co/kqvDw4Cv47
Anti-terrorism reinforced cockpit doors lead to the death of 150 people on the Germanwings flight http://t.co/zKekPicGAN
Cheese, ice cream, and yoghurt are just apps built on top of Milk. Bitcoin is like that, where @coinbase and @circle are some of the apps
"Apple Pay" sends the best spam http://t.co/YfeQL6Chfv
Here are the slides from the #bitcoin talk I gave today: https://t.co/CAxOI79UMt thx to @aantonop for his great book! http://t.co/uvDljUGcde
in the office March Madness bracket, I didn't win, nor did I lose by the most. I came in 2nd place as most-worst- thus am the truest loser.
I need to dry-run my bitcoin talk tonight. Anyone wants to listen and provide feedback?
Oh no, my #bitcoin talk weighs in a 90 slides and Appendixes up to 'E'... Time to trim the fat. http://t.co/XcdRMBfJBr
Full-study Mode today as i work through a talk on the politics and technology of Bitcoin #bitcoin #cryptocurrency http://t.co/ujZ57m8N0i
"The US does not support political transitions" http://t.co/nl6HeNGByF
Working on my bitcoin presentation: http://t.co/57WZaVDLI6 #bitcoin #politics
Where should I put my stickers? http://t.co/Oku9BCQVWq
Just logging into my NeXTSTEP system #osx #NeXT #stevejobs http://t.co/IorHTDeos4
TIL: window.navigator.doNotTrack || window.navigator.msDoNotTrack are available to check if Do Not Track is enabled.
"insurers may transform themselves from cheque-writing uncles into ever-present and interfering helicopter parents" http://t.co/Sn8JvQ3vwK
The best part of not being on Facebook is not having friends.
Hey guise, I'm just going to implement my own BLAKE2 algorithm now: http://t.co/wBGanlh1A7I MADE A HUGE MISTAKE
YES I got iOS running on my Casio F91W http://t.co/vECV9UuO9K
I'm going to assume that @wilto has died from a combination of wind chill and drunkeness. Element queries RIP
‘Understanding Media’ — Reversal of the Overheated Media” https://t.co/FOCHWvrQg3
Me IRL http://t.co/snooiaBwBs
“As you know, this science is not ours and is not our invention. ... encrypted email is a risky thing.” -bin Laden https://t.co/1cutQTCaO1
Google Chrome canary 43.x has removed the Do Not Track DNT feature? Can anyone confirm this? http://t.co/JWK4rlb4NR
OH: "Everybody knows I have gonorrhea" #truestatement
An excellent review of the problems with the 2015 Cyber-Surveillance Bill https://t.co/6aa6Mn430b
A beautiful side effect of using @twitter over Tor is seeing network activity in the onion icon http://t.co/KVDIikO8lf
Lots of spam in the last week from .science and .work TLDs.
CDNJS and CJDNS are difficult acronyms to parse:I propose the following capitalization to improve readability: CDNjs and cjDNS#cjdns
3d printed designer narcotics will be huge because then folks don't need to leave the house or interact with shady drug dealers.
Circle founder @jerallaire "Bitcoin is the HTTP of value exchange" #MITBTC15 http://t.co/3RbS54DiAV
Joi Ito poses questions to bitcoiners #MITBTC15 http://t.co/LCQuXE2wOY
Andreas @aantonop takes the stage at #MITBTC15 #bitcoin http://t.co/0NpUlztqKJ
"Litecoin is cheap and kids love it" -@SatoshiLite
Charlie Lee of @coinbase giving the keynote for MIT Bitcoin Expo #bitcoin #MITBitcoinExpo http://t.co/RThk8I1yvc
Ppl sometimes ask why i like OS X over Windows; my reply is always the same:OS X has better looking emoji http://t.co/o6wkMgrdFV
Pretty print API response body using python on the command line:curl '&lt;restful json api&gt;' | pythom -m json.tool
Java installer installs adware https://t.co/VV3HuzsU4i http://t.co/TLN8vCXaYL
Oculus VR and Microsoft HoloLens lead developers both killed by hit-and-run accidents OVR http://t.co/KmTrrxwiL1 MS http://t.co/oFeHdvHAJR
Badger, Badger, Badger Mushroom dubstep remix. https://t.co/ePEBA3bQ7E
lol weasel.
Me IRL http://t.co/9MopywOsxb
OOoooh, today is February 25th, start of the Iowa caucus recanvassing and recount!
i dream of seeing the horrors that US imperialism has enacted upon latin america come up as a topic in the debates. https://t.co/DRxXOpmgQV
The US military could up their enrollment if they counted trophies on the PlayStation or XBox networks as redeemable with a 1-to-1 correspondence to military honors.
I'm looking for a copy editor who'd be interested in reading a social critique I'm translating. Interested in The Situationists, Debord, Hegel and Marxism? Just looking for a quick read through with suggestions and wording edits. Hit me up, you need not be an expert in anything.
it me"Some leading activists then [at Occupy] continue to eschew electoral politics as fake politics." https://t.co/1r5nLQDkrg
imagine if public education didn't exist. Then a candidate platforms was "i'm going to create free Elementary to High School education for all".and your response is "no, nothing is free, we can't pay for it and i dont want higher taxes".Thats every "no-er" to Bernie today.
Open Whisper Systems releases Signal 2.0 - secure txt messaging for iOS today https://t.co/J9qZcQiEkn
The best outcome of #NetNeutrality debate is I now know how to spell neutrality.
A taco truck that runs on the bitcoin blockchain; the tacos are mathematically proven delicious.
♪ Listening to the ♪ soundtracks to Solaris (2002), Gravity and Interstellar all day. All are amazing for coding and focus.
This youtube video leaks all sheeps passwords 'Baa-ram-ewe' https://t.co/1WyguSJgQF
Job posting within INSCOM for techs with XKEYSCORE experience in 2011 http://t.co/arIr2C8NyC
TIL Why base58 encoding is used instead of base64 for bitcoin wallet addresses https://t.co/RsjsxWoEfq
What's the matter with PGP? http://t.co/0FnunTYVAI
Very sad, but not surprised to see Google censoring "adult" content on Blogger: http://t.co/ZA2oY0SCjo
So whos going to the MIT Bitcoin Expo 2015? http://t.co/vmdCp3ZQPq
блять сукатакова жизнь в Москвеanother killer /r/ found https://t.co/Di9gzQNq2d
Citizenfour is now available freely online https://t.co/o8nHR5IKeV
Pretty much the wierdest /r/ ever. https://t.co/qle8GKBUSn (╯°□°)╯︵ ┻━┻)
The Walking Dead: a post apocalyptic alternate universe where the word 'zombie' never existed.
My current jam https://t.co/f2t5w5nOoaNine Inch Nails - 20 Ghosts III #CitizenFour #OnRepeat #AllDayAllNight #NIИ
Security best practice: When choosing a security image for your bank, always choose the golf ball #opssec http://t.co/RWWSaoQWio
"Documents, leaked from numerous intelligence agencies, offer insights into the interactions between spies." http://t.co/FDmIvlgkMw
Want to watch the #Oscars2015 ABC live stream but not in an approved city? Use the Geolocater plugin for Firefox https://t.co/vectAvE6xC
"I remember spending hours playing my favorite potato games: peeling, mashing, baking. Truly, it was a golden age" http://t.co/iug2fS7Obe
The United States fears terrorism the way people feared witches in the 1600s. Lets put shit in proportion people.
What someone quits or gets their Twitter account suspended, what happens to their body?
Currently examining a wild copy of GCHQ malware shows signs of file-obfuscationhttps://t.co/bKrqfmZEHE http://t.co/j6mLppDLmO
At this point I'm assuming .ppt is the standard data-storage format for NSA.
Think NSA hacks protect business? Think again: Gemalto $AMS:GTO $GTO stock plummets after hack is exposed http://t.co/PLjjKzpiZE
"it was an attempt to try and cast the widest net possible to [intercept] as many mobile phones as possible..." http://t.co/k0WWYqJiuo
Excellent reporting by @jeremyscahill @joshbegley today. Y'all take bitcoin tips?
TIL Verizon, AT&amp;T and T-Mobile built an electronic pay system with the unfortunate name of “ISIS Mobile Wallet" https://t.co/irwmyb2MZf
"If you were not a government, but a student doing this [hacking] would go to jail for 30 years" http://t.co/200XDxNNFc
Some of my best friends are SIM cards 😷
Its a pretty shitty day in privacy news today.
intelligence agencies accessed the Yahoo, Google email and Facebook accounts of telecom engineers https://t.co/irwmyb2MZf
Zawinski's law "Every program expands until it has a chat feature"http://t.co/a57AXWpMat
The #superfish root certificate private key is now in the wild, and thus (and will) be exploited by malicious users http://t.co/KZ9wX1rfws
This site will test if your PCs are susceptible to the #Superfish MITM attack https://t.co/oZBqOdPr5E
Lenovo PCs are shipping with a OEM-installed MITM attack http://t.co/Sn696BKFVb re @qtychr
Reading the Kaspersky Security Analyst report on the Equation Group is riveting stuff https://t.co/vCXJl6sTJ4
@jonathanmarvens my attempt: http://t.co/FCYQ0ZPJl4
Dreamt that I still had a Windows XP system, booted it up and it immediately got infected with #ILoveYou virus. #OpsSecDreams
"Anyone who questions or challenges mainstream discourses can be labeled an extremist.” https://t.co/XZB0uoGHaO
Visiting https://t.co/28v46BaYUF illustrates how todays Executive Order gives power to the state and nothing for ppl http://t.co/2VVe2GmEWN
Executive Order on Cybersecurity Information Sharing is all about granting powers &amp; immunity to the state, and nothing to its people.
"There are things in life you can't simply reverse with the click of a button" The Follower https://t.co/7Exthj0ycW re @FLLWR_SHORTFILM
The @BarackObama Executive Order on Cybersecurity Section 5 on privacy protections is only 126 words long. http://t.co/i841AXmzWY
Apple's Tim Cook: 'Everyone has a right to privacy and security' http://t.co/KTir57Y2Jv
Ppl ask me why i still write raw CSS and not SASS/LESS/SCSS.A: Raw CSS has a more warm feeling.
Tomorrow morning = ☕🍩
White male, a weapon, a grudge.#6WordStories
#tbt Lake Powell, AZ http://t.co/L1J7wYvZDk
The lawn chair is the usual deterrent used by people to claim their parking space. My marionette is more effective http://t.co/VP0TDzJqIi
"In my day, the snow banks were so tall that we lost the Hancock building in one. I died that year." http://t.co/yztL4e0XCQ
Google Maps is 10 years old, lets remember how it was originally Keyhole; seed funded by CIA-backed In-Q-Tel https://t.co/mXsAXtfuZK
Who wants to chat: A/S/L?
Dreaming of the day I can use the `--decrypt` flag in gpg.
Worried that the reason PGP/GnuPG is so secure is rooted in its difficulty to use; Nobody bothers to break crypto nobody can use.
I've had a PGP/GnuPG public key available since 1999 and yet never met anyone who I could use it with. #ForeverAloneUnencrypted
Snow banks in town have gotten so high they've swallowed cars whole.Can you spot the radio antenna showing where … http://t.co/tH36nb8vDP
We lost @garlick811 in the powder. http://t.co/ffIGom3TwN
Endless pow at Sugarbush today, epic conditions http://t.co/hYMvyavDKF
"it will be possible to automatically ID you in any picture on the web" https://t.co/WjPytOttc7
GCHQ/NSA program called LOVELY HORSE to spy on conversations on twitter, including opsec stars @mikko and @thegrugq https://t.co/h2EgfClQRl
One major question about the new FCC Title II proposal is how it defines what it construed as "lawful content and services".
Good to see @TomWheelerFCC defending internet as space for free experimentation "without asking anyone's permission" http://t.co/Lfkq5cgiXg
Pipe the exhaust of your hydrogen-powered car into your dehumidifier, create a symbiotic relationship.
Keep on truckin' http://t.co/ouCosPlO7x
@jonathanmarvens trapped in the snow! http://t.co/LY554kreTl
Adobe Flash : Web browsers :: A hole : Condomhttp://t.co/ge8uJbpo2q
Now that Adblock Plus has sold-out, an alternative to Adblock is Privacy Badger https://t.co/iZZ0vSnv6e or µBlock https://t.co/0yNpB5EujO
Internet giants Google, Amazon, Microsoft and have paid AdBlock Plus to allow their ads to pass through its filter. http://t.co/vXandP2NbV
If your candidate has changed parties late in life, it's not because they've changed their minds, but because the two parties are so ideologically similar that the differences are merely trivial theatrics.
This is identity politics: not realizing that one can represent the working class ideas and yet not be working class. https://t.co/FqrSyNZJiZ
Bernie winning the DNC primary will be a bigger upset to the DNC than Trump winning at the RNC.
I love Blanton's because the horsie has an anarchist symbol Ⓐ on its foot https://t.co/dBKU0o9Mwj
Postmodernist video game idea for 2020, good for games like WATCH_DOGS:player: &lt;hacking into enemy 2FA secured account.game: "ACCESS DENIED, 2FA SECURED. Call or TXT the Phone?"player: &lt;chooses one or the other&gt;1/n
Alternate ending to the last ep. of "Friends"Rachael: "should we get some coffee?"Chandler: "Sure... where?"&lt;cast exits apt&gt;&lt;camera pans around apt, then zooms out&gt;&lt;zooms outside the building, revealing it as a tiny diorama placed in a high school lost-and-found in 2019&gt;
add corrupt to the reasons they suckhttps://t.co/aksxsJgBF9 https://t.co/0d3EEQFfsu
imagemagick: with great power comes great many command line arguments
#winatglue wins the post-modern advertising championship.
The Twitter / Amazon profile of me knows that i'm a very regular toilet paper user http://t.co/6UtxYM2d8B
First viewing of CITIZENFOUR, probably the most important documentary of the last 20 years. http://t.co/cibekiXEtp
Verifying myself: I am 0xadada on Keybase.io. L-IWw68LpD6URljYIkwPUOPz1v4OPxhTGP_N / https://t.co/cgrdGj7cEG
Excellent review of how to tighten the security settings in Google Chrome. https://t.co/TLGqbRdrxG
OSX users can use @homebrewcask to install @Peerio : Secure messaging and file sharing$ brew cask install peeriohttps://t.co/K7s3MuhAeY
Snow banks for days http://t.co/iJT7Er2u6F
Neoliberalism now open for business in Iraq "Shell signs $11 billion deal to build petrochemicals plant in Iraq" http://t.co/zy9VrbMVwV
Leaving the winter wonderland of Jackson WY for the snow blanketed town of Boston. http://t.co/H8Mxc9oe8T
Day 2 at Jackson Hole http://t.co/pzU6IPCi4S
Sunset in Jackson, WY http://t.co/zfjVVvAzYj
http://t.co/Ltn3IvpXl5
Four Shadows peak is casting shadows from atop Jackson Hole tram. #jhole4eva http://t.co/P66X4DMSlX
View of Corbet's from the Jackson Hole goldola, clouds clearing. #jhole4eva http://t.co/lLZy62L2nZ
How's my gap? Too much? http://t.co/cERpEJXyjZ
Lil steak, Gorgonzola, tomato cracker sandwiches http://t.co/eTYLg3xZ3q
Vernacular resistance to data collection and analysis: A Political Theory of Obfuscation - http://t.co/Vc1zDu2cyG
How would you get this js function to work?* add(2, 5); // 7* add(2)(5); // 7 * ( add(1,2)(4) === 7 ) === truehttps://t.co/GwFDekQV88
Todays judgement against #BarrettBrown proves that journalists like @ggreenwald and @ioerror work outside of US jurisdiction by necessity.
Journalist #BarrettBrown forced to serve 63mo in prison and pay restitution for linking to information hacked by an FBI informant.
Barrett Brown sentencing: Activist expresses 'sincere regret' but calls government conduct 'unjust' http://t.co/TXRI4qzldM
Boston mayor signed an agreement with the Olympic Committee banning city workers from criticizing Boston’s bid http://t.co/u8VqrKTLqS
Mozilla implements meta referrer to help restrict HTTP referrer data leakage https://t.co/h2ebPe1y6r
Obamas proposal to change the CFAA could make using your work-computer for personal reasons a crime http://t.co/vvnK9BB5lg
Post-#sotu bingo card.Notably missing from my guesses: environment, LBGT issues, consumer finance protection, e... http://t.co/tVA3CHEISA
Obama wants to strengthen the security and privacy but how does criminalizing encryption and allowing NSA to attack authentication help?
We know that #occupy has won when the President of the US says "the top 1%" during the State of the Union address #sotu
Pre-TSOTU BINGO CARD http://t.co/MNqH5MK253
This tutorial could've been sadder if the did_date values were all 0:SQL `INSERT INTO @girl`http://t.co/4Zi2kDCz6s http://t.co/lAD3K8baeQ
Happy with the updates to Android Cyanogen cm12 today #android #cyanogen http://t.co/rRhMCXgFlN
I've heard that @Localytics is currently being invaded by telepresence robots! re @virtudude
Startup idea: Its a food-delivery service like Seamless/GrubHub, but for cherry-flavored dum-dums.
My homemade maple syrup didn't pass the test, its been labelled an F-grade.
Lets remember that the FBI targeted MLK for a ruthless harassment campaign. The NSA can do the same to all of us. http://t.co/efL0OEUeUA
Privacy is necessary for a fully functioning democracy, its value is too great to sacrifice for increased police efficiency.
Justice Brandeis dissent in Olmstead vs United States in 1928 on privacy. http://t.co/HL0Yq83P1t
NSA Preps America for Future Battle http://t.co/e9oW7nxqCQ
SS7: Locate. Track. Manipulate: With only a targets phone number, you can intercept calls, SMSes, location and more http://t.co/RTTCRphqab
Witches used to ride on shovels.
If i stream random characters into frontdoor'ed encryption system, can the government press charges, claiming its encrypted content?
Encryption is a [digital] space free for experimentation with new creative moral activities and ideas.
Encryption is a [digital] space free from government encroachment in the public domain into the personal private realm.
Encryption is a [digital] private space free from any conceived social mask or identity.
Encryption is a [digital] private space free from the domination of others.
Encryption with a [legal] frontdoor is a married bachelor.
Encryption with a [legal] frontdoor is fat-free tea.
Encryption with a [legal] frontdoor is gluten-free water.
Obama says unbreakable encryption is a problem that needs to be solved.I say unbreakable encryption (read: privacy) is a basic human right.
Obama: "If the technology [prevents us] from penetrating that [communication], that is a problem." https://t.co/cW11J0wMoT
"We're not asking for backdoors, we believe in frontdoors through legal process that help to keep our country safe." https://t.co/ijZ0hf4rzo
Snowden documentary "Citizenfour" nominated for an Oscar award in Best Documentary http://t.co/PGgpibsnAi
Bathroom stalls without a toilet, just a place to charge your phone and a chair to sit on while the user surfs the web on their smartphone.
This was as true in 2012 as it is today, in 2015. http://t.co/muUZ6gRGh6
What crime did he commit?"Christopher Cornell researched the construction of pipe bombs, purchased a firearm and 600 rounds of ammunition"
The Dawn Wall: El Capitan’s Most Unwelcoming Route http://t.co/gXjR7ctRAb
USAttorney General visits Freedom of Press march in Paris despite no action against Ferguson PD arresting journalists http://t.co/ncdiUqBjaq
Always well document your code. You don't know what will happen to it, and who might have to inherit and maintain it.
Fuck. That. !. BREAKING: Boston Chosen As Host City For U.S. 2024 Olympic Bid http://t.co/Gso11bt6jf http://t.co/tHUVJsQkGn
Soylent's Magical Milkshake Is Now Worth $100 Million http://t.co/0C1r5WskbY
Internet submarine cable map 2014 http://t.co/vSWgNg2lqC
Extremely saddened (not surprised) by the Whitehouse response to the Aaron Swartz petition to hold the prosecutio... http://t.co/7RcLZSVs8d
In all seriousness, this is the best election campaign i've ever seen. Very much in the spirit of Rancière https://t.co/KF1vbEI4nz
Dear twitter: Of the people I follow, who do we all follow the most? +@bhaggs
First Prediction of 2015: Rise of the the word 🎅 used as a verb.re @jennschiffer
Aggressive Pours http://t.co/nm34SaAa6Q
Jenn Schiffer is a coder who thinks everyone should have to learn how to code so she can eventually stop. https://t.co/D7QTaZfWcl
LifeHack: Use your garbage disposal as a VitaMix #lifehacks
Its 2015: which minority should be leader this year?Wrong.Oligarchy always leader.
"Democracy is not a type of constitution, nor a form of society"... http://t.co/VyvHBjoo2F
This hold really isn't playing nice... but Its quiet in here tonight, and I can get some reading in between attem... http://t.co/YOd4JmQmKk
Afternoon reading http://t.co/GnG6ZWLAUo
"discipline is where the body is reduced as a 'political' force at the least cost and maximized as a useful force" https://t.co/0vCOKU2YdO
Technologies like Humin and Facebook aim to own and reorder the very nature of relationships between people http://t.co/fN0fhHTq0I #beware
NSL (National Security Letters) are todays equivalent of the lettres de cachet of the French Monarchy.
"[Police] shouldn't be collecting backdoor taxes because politicians are too cowardly to raise them" http://t.co/Fcu2HiDpYt
New Years Eve gift to myself #rye #bourbon #highwest http://t.co/OgFeJ5d1Qt
Some important points from the "Fuck off Google" talk by The Invisible Committee at #31c3 https://t.co/HMTjOiJ2K6
The Invisible Committee Returns with "Fuck Off Google" #31c3 http://t.co/nxqGyc4Tdr
"Home Alone is a profound social allegory for how the class struggle effects the proletarian youth in the west" http://t.co/54clcn8k2r
This article from election night is still the best summary of the demise of the democratic party* their austerity &amp; deregulations ravaged jobs and cut social safety nets* elites got richer* our children are worse off* Trump won by calling them outhttps://t.co/lEbjTr9O7G
wow, nobody voted for newspapers. You folks clearly haven't read "Manufacturing Consent" by Chomsky. https://t.co/3bvD6kqaKO
the most damning indictment of the Democratic party is that two of its lead candidates Bloomberg and Warren were previously Republicans. Its not that these candidates have shifted their politics, but that the Democratic party has gradually shifted Right over the last 40 years.
Warren came out against Bloomberg on fire, her old self who is just as anti-wall Street as ever.
"democracy is neither a society to be governed, nor a government of society, it is specifically this ungovernabl... http://t.co/UUa8C7vZP2
"politics is the foundation of a power to govern in the absence of a [legitimate] foundation" -Jacques Rancière from "Hatred of Democracy"
If Tony Blair thinks a book is "thoughtful and wise" then you know some serious neoliberal ideology lay ahead 😓 "... http://t.co/m3htuhRebM
"Gone Girl" is a perfect example of a post-partriarchy horror film
"modern corporations aren’t made to be responsible, they are made to generate profits” https://t.co/4qfyyqY1is #rancière
Hatred of Democracy: The thesis of the recent antidemocratic sentiment: democracy is bad when it allows itself t... http://t.co/J3uHiy1ZAZ
Delta security flaw allows access to strangers' boarding passes http://t.co/jahyIhfYQi fyi @qtychr @garlick811
Sony is issuing DMCA takedown notices to twitter users if they post internal emails from the hack, like this one: http://t.co/C4s0YFASH7
Protip: Don't read articles when the title begins with a number followed by a superlative.
The horizon of consciousness in a probable age of digital copyrights management https://t.co/J5CjkzNVXq
One nice thing about not travelling much is that i'm elligible to make stool donations: http://t.co/q4nipOyhd4lol @qtychr is jealous.
Naps, I'll take that. https://t.co/P0xa686k9Q
Protect our privacy and please veto HR 4681, aka The Intelligence Authorization Act for Fiscal Year 2015. http://t.co/z0qWL48WJN
Join the class! http://t.co/fIT4bCV1Nz
[giving employees] "vacation is cheaper than severance and training" http://t.co/U6PfFjWkip
6) Be satisfied with the cyclical argument the government has constructed to retroactively justify its illegal and amoral actions.
5) Claim that releasing the Torture Report will result in blowback, which will harm national security.
4) Utilize fear-mongering tactice to prevent the release of torture report.
2) Torture people.3) Stonewall, delay and classify investigations into Torture.
Here is the takeaway from todays Torture Report release:1) Claim that we need to use Torture in order to protect national security
He knows when you're sleeping.He knows when you're awake.He knows if you've been bad or good.He works for the NSA, for goodness sake.
This guys has my dream-job http://t.co/nUhuqLxCrT
"Even when officers get caught, they know they’ll be investigated by their friends, and put on paid leave" https://t.co/YFu3532x8g
"Freedom" in The Stanley Parable http://t.co/sH17lG2emJ
Just a reminder:The police don't *allow* protest.Protest is a right.Permission not required.
If we have video evidence of cops killing folks, and they never get indicted as-is; than how are cops wearing video cams going to help?
Saying "the officer used the least amount of force necessary" and it's resulted in death, you're conversely saying death was necessary.
Millions of people deposit their money into big banks that profit from the interest. Then ppl ask for loans, banks say no. That's fair?
Between the Salted Whiskey and Fluff flavors, I'm convinced @IceCreamGracies is the best I've had.
I'm giving a talk at TechCon this year:"Internet &amp; Computer in Practice"
Biddah Cidah:6oz Apple Cider3 dashes angostura bittersStir and serve warm@angosturausa @angostura_tt http://t.co/i24ZuqBYzo
Obamas response to Mike Brown #furgeson is to give more money to the Big Surveillance State apparatus
Just a reminder: If your kewl new web technology has moved outside the browser (ie SASS, Coffee), I'm simply not interested.
I feel bad for people who jumped onto the Angular bandwagon http://t.co/pebKxlOZBK
The Babadook is an amazing fresh take on the creature horror genre. I hope it gets some wider acclaim. Go watch it!
I'm opening an artisanal Farts CSA. All the farts originated from locally-sourced foods. Sign up today http://flatulence.gas
My Christmas shopping is done! http://t.co/9N3oCE6f2y
"Shang was harsher than most of his fellow Legalists in that he believed that widespread prosperity would ultimat... http://t.co/PEJe803iur
The extended cut of Prometheus is actually a good movie. The original cut, unfathomable. http://t.co/5jX4seL11w
Perfect night for a widows kiss cocktail
"Good Protesters and Bad Rioters, or between ethical non-violence practitioners and supp... http://t.co/wHoyLxod6X http://t.co/ETyBSctpRr
In defense of looting as a political act of self-empowerment and against unequal property rights http://t.co/2JpYoEQoRA
Debt, violence and debt as an enabler of Patriarchy: "Certainly the more militaristic the state, the harsher its ... http://t.co/zHPqMkX5nt
TIL Ninja wasn't so much a full-time gig as it was mostly being a farmer, who sometimes got ninja jobs on the side.
Who's jealous of my Pelican case organization skills?#pelicancase #RASpec http://t.co/5ne8JK76R8
The barrel aged thing had been commodified http://t.co/Kac917U18R
So the media and police are establishing battle lines in Furgeson; who's the enemy?
UAVs could be a new hobby, but I already have to many hobbies #uav http://t.co/UjjLphkaju
Finally got around to organizing my tools, this time in a Pelican Case http://t.co/mJKtJTK168
So that ice bucket challenge; I think my friend forgot to challenge me. Is it still going on? Guys?
A Blockbuster video themed-dive bar, staged in an alternate history where BetaMax won the video format wars
The "sharing economy" is bullshit. Its not sharing if a (monetary or social) credit or debt appear between the parties involved.
"the top 20 percent of buyers for most any consumer product account for fully 80 percent of sales" http://t.co/gltX1ut7Gi
Charts for people obsessed with Serial http://t.co/k2eeoYLYom
You know its getting closer to Thanksgiving when then Christmas music starts playing.
The worst thing about Biden as the Democrat candidate is how we could've picked literally anyone to run against Trump, and as long as you're voting against Trump you'd vote for that candidate. In picking him, we've already compromised so much potential for real social progress.
The Coronavirus economic stimulus package being debated by Congress contained a number of bills proposing a U.S. “Digital Dollar” that had been introduced during the stimulus negotiations by @virtuallylaw https://t.co/mwm6yhbP8Z
Altered Carbon S02 was very different than the books, oddly too much focus on Takeshis borderline obsession w/his sister. Harlans leaders are pushing back against the Pretectorate, which IMHO seems like a good move because they're basically an evil empire. Kemp is a puppet wtf?
Should've been called "Council of East Coast Elite States" https://t.co/fTJ4UnkESI
Because I'm not lifting I've lost 6lbs of muscle weight, and without climbing my arms are noticably stick-like. My running endurance is 👌. So, a new crisis-fit/thin chic look 🕺
"for millennials, it seems like there is any good news at all"Sure there is: capitalism is crumbling in our lifetime! https://t.co/me2phROtKv
new prediction: Joe Biden quits his presidential bid, endorses Trump https://t.co/4EmYAIt47V
nor am i. https://t.co/xnikWHEy9M
NStar, our local power🔋company just called to tell us that we may lose power today due to high winds, so just in case, we shoul
https://t.co/CQ4i2fmAQY
Bernie: the "actual" democracy candidate. https://t.co/IZ8rKxozPn
Warren clearly believes this country can still be governed as a cohesive single unit. This is wrong.
holy shit, the drop. waaaaiiiiit for it. https://t.co/hozHSu0ys8 dnb deconstructed.
who remembers that giant robot anime where the characters would recite this semi-satirical initiation sequence:"I habbu contororu"..."Pouwaa ON!""SUICHI, ON!"
My partner organized our spices, just imagine if she organized the workers in order to seize the means of production! https://t.co/7nOfr2bx8X
fun historical fact: during the Paris Commune of 1871, National Guard units searched the basements of Catholic churches, looking for evidence of alleged sadism and criminal practices.
The evolution of the last few seasons of #TheBachelor is an entire generation of contestants who've grown up watching the show, modeled their expectations of relationships on the show, and mistake drama for love.
gaussian noise! no surprise there! https://t.co/e7UyUbuCBD
I hope Ryan is ok, he put both feet in, the wheels were locked, indicating he was alive when it finally landed. https://t.co/vaDIoyAQNl
A Perfect Way to Believe.
An Improved Way to Live.
Why fight the Keystone XL project at the government level, its already being built, without government approval. http://t.co/noErJF1aYu
Serious cookery: Bacon Brisket Beer Chocolate Chili for dinner.#cooking #bachelorchow http://t.co/T01Jfyz56a
After working on the #subaru race car all day, it's nice to make target practice on a Subaru door. http://t.co/1k9Q6cJK8A
Made progress on the #RASpec today.#bugeye #subie #subaru #timeattack #volk #ce28n #wrxsti #impreza http://t.co/rj6h8gNueK
When I hear "We can see the light a the end of the tunnel"I always imagine the light is coming from a train barreling towards us.
TIL @serial podcast is just an advertising campaign for weed, paid for by the Colorado Weed Farmers Association.
Clever spam link:http://t.co/vhXhY2ylDn1 Does google Are you Feelin Lucky search for lshzpwzwatxqb 2 btnl=n Loads first result3 Viagra!
Me writing AmpScript all day: https://t.co/lFJKaqZbZW
Multitasking: Watching the Rosetta Mission on XKCD and Mission control livestream http://t.co/5pPg9VzxSA http://t.co/g1132BVNCe
Reggae night http://t.co/04vVTxihVa
East Cambridge http://t.co/avLETYMtOp
Me at work http://t.co/YYA5H2iZtF
art
RIP "Full Stack Developer" http://t.co/eJrKHxQm5F http://t.co/q0JIUcMd5J
Me at work: http://t.co/RkmCWqJ8M0
Thomas Edison invented things the same way Steve Jobs invented things. He polished things invented by others, and sold them.
MATURE Subaru Impreza WRX, one of my all time favorite #bugeye beasts http://t.co/CqgZ9GFZMO
RASpec Impreza heading off to get tuned #impreza #wrx #wrxsti #subie #subaru #bugeye http://t.co/hvDCGQmn4b
[Amazon] makes/markets/sells the product, but the customer puts the product in a drawer and never uses it http://t.co/n7T6KkZd9S
T9 tweting lifstyle when having to type the same char twice sux
#tbt at Lake Powell Arizona #sky http://t.co/5ZPt1wmvK4
When FOR loops are actually WHILE loops: #wtf http://t.co/79aCJicoEO
I'm a lover of shitty stock photography:This girl is saying "You're bullshitting me" http://t.co/yZkPsLeQbV
Boston Burger Co joins Mt Barleys Tasty Burger Flat Patties &amp; Shake Shack in Harvard Square. @whatelsie suggests we rename it Burger Square.
Finally broke down and got a cell phone, Nokia 106.3- has a radio! #retrophone http://t.co/vJXZanobrA
The RASpec Impreza, coming next spring to a track near you #latergram http://t.co/iS5QGWBLEc
Wonalancet NH #WODC http://t.co/BvngH0q8Ok
The last in my Passaconaway-Whiteface-Tripyramid series. Arriving back at Ferncroft (the start of the thru-hike) ... http://t.co/P7f746Pvxk
The North Slide on Tripyramid, its no joke. http://t.co/lv0VK0wCZr
More of the step decent down the North Slide trail on North Tripyramid http://t.co/9UuHGuyjeU
Happy Halloween! This is my costume #doge http://t.co/kXVBXlRFJm
Descending the North slide of North Tripyramid Is not recommended http://t.co/AUxjayldl2
Heading up South Tripyramid on Sunday. Amazing colors despite the rain. http://t.co/hTIWwFLoOX
Sunday morning, hiking along the Kate Sleeper trail to the Tripyramids http://t.co/TcJB0qG7Ql
Early morning #campvibes, rained overnight but we were cozy inside#sandwichrange #OutsideCouncil http://t.co/L7kuMUGFl0
Camp Saturday night along the aptly named Kate Sleeper Trail#OutsideCouncil #backpacking #newhampshire #blackdi... http://t.co/CXX5li4IsH
I'm handing out Ebola candy for Halloween this year. #ebola #candy
Making dinner on the EverNew just past the summit of Whiteface. #OutsideCouncil #newhampshire #backpacking #camp... http://t.co/Q6F5WCeFpy
What do El Farolito, Neptune Oyster, and Lambert’s Barbecue have in common? They're all restaurant 'supernodes': http://t.co/nGrKEkxWM8
"LaBeouf’s apologies for plagiarism were themselves plagiarized the same day he plagiarized them" https://t.co/55glJIKw7I #metamodernism
North western view from Passaconaway to our destination: South, Middle and North Tripyramid in the left foregroun... http://t.co/0Zn8fCnnve
The Wonalancet Wilderness is one of the few old-growth forests not logged during the boom of building driven by P... http://t.co/5rDqMgpyUK
In Ferncroft, @jaschang_ crosses Avalanche Brook#OutsideCouncil #newhampshire #newengland #sandwichrange http://t.co/yoQsktOgtg
I think I figured out my Halloween costume: Sexy ISIL militant.
Starting our thru-hike in Ferncroft, the trail uses right - of - way through some private property.#OutsideCouncil http://t.co/6TGplkjCLk
The thru-hike began in Wonalancet, a hamlet in Tamworth NH. Whiteface is visible center-left.#OutsideCouncil #n... http://t.co/D7YZCfkHjd
View of Mt Chocorua from summit of Passaconaway#OutsideCouncil #newhampshire #newengland #autumn #leafpeeping #... http://t.co/bM9PIsHonX
Zealand Pond, Zealand Notch, New Hampshire on a hike 2 weeks ago.#nofilter #crawfordnotch #newhampshire #neweng... http://t.co/4aCP6jusG5
Backpacking trip this weekend : Passaconaway-Whiteface-Tripyramid thru-hike! #OutsideCouncil #backpacking #white... http://t.co/aDm4CKHP0v
This guy explains why Apple will drink Googles Milkshake with Apple Pay http://t.co/TQ178kovOD
Throwback Thursday to a bachelor party exploring Lake Powell#tbt #lakepowell http://t.co/LR3vEHNaGg
Hurricane Gonzalo's winds reverse flow of waterfall in UK http://t.co/36ikkqiK8z
Riding my bike to work today: http://t.co/oZEe71292W
Christianity is a moral obligation to payoff debt, Jesus Christ as the debt collector, we all owe him because he "paid for our sins". #debt
Planning a 2-day trip to the Sandwich Range Wilderness.Hike begins in Wonalancet, part of #WODC along a farm-ro... http://t.co/VciDkZDsxC
Planning a backpacking trip for #OutsideCouncil next weekend. http://t.co/JzTkG2QTHn
Piper#portrait #doge #poodle #toypoodle http://t.co/lqQlfbz4JP
The Pemigewasset Wilderness #newhampshire #OutsideCouncil #hikeNH #vsco #commuter #levi 📱📷LG Nexus 5 http://t.co/fxbsEQrgCq
Cat approved http://t.co/wDrUnDDxph
Glad to announce I no-longer pay Comcast for internet. #netneutrality
View of Mt Webster from Mt Wiley, last of my series hiking in #crawfordnotch last weekend.#OutsideCouncil #hike... http://t.co/JtNdQsA0zp
CITIZENFOUR - Official Trailer: http://t.co/wLHr2MKSTV
OK OK, iMac with Retina display, i'm curious.
Apple continues to propagate an idealized image of thinness in order to sell the new iPad. Fat devices should celebrate their diversity.
View of Mt Webster from across the valley on top of Mt Wiley#OutsideCouncil #newhampshire #crawfordnotch #hiket... http://t.co/l3LUzXyC7z
What We Eat: An infographic on what the world eats, compared by type-over time: http://t.co/G1DVr4ghqx http://t.co/dQvC3WJKDw
Floored by how much better Open Mesh networks are than standard consumer wifi. Cheap, fast and works amazingly well. http://t.co/ngw90aq9eI
View from the summit of Mt Tom, looking south over the Pemigewasset Wilderness to Mt Carrigan (center)#OutsideC... http://t.co/NemczRix5M
My tent site for the night, Ethan Pond up in Crawford notch, NH#OutsideCouncil #newhampshire #hiking #hikethewh... http://t.co/tilKNuAPPk
Mount Wiley is typically climbed from the north via the A-Z Trail, we climbed from the south which is known for i... http://t.co/RLotWekeWA
"and much of the essence of building a program is in fact the debugging of the specification." - The Mythical Man Month
"Systems program building is an entropy-decreasing process, Program maintenance is an entropy-increasing process" -The Mythical Man Month
#zealandnotch #OutsideCouncil http://t.co/U1WAVNpKff
View of the valley below the Zealand Hut, Pemigewasset Wilderness NH. The valley is enclosed by hills on all side... http://t.co/dXKzlJj0kD
"I don’t think there’s any reason to have variables in the CSS language" https://t.co/K5wsgcNfJk
"Skype changed the world, yet it’s only gotten worse with every passing year." https://t.co/02ZopfDyRR
Overlooking the Pemigewasset Wilderness from the western Wiley-Field-Tom ridge. The Pemi is the most isolated unb... http://t.co/BL3jdKplBI
On top of the summit of Mt Field, the rime-ice was building up something fierce. Winter is coming. #OutsideCounc... http://t.co/QeRCNXpl7q
I think I caught the bola this weekend.
Overlooking Thoreau Falls with my dad, along the Ethan Pond Trail#OutsideCouncil #hikeNH #hiking #newhampshire http://t.co/rPa9Shvsx2
Adolescent moose around the Zealand pond area#OutsideCouncil http://t.co/L0uvdnUi5k
View East-Southeast from the summit of Mount Wiley yesterday.#crawfordnotch #OutsideCouncil #hikeNH #hikethewhites http://t.co/vnNkQ5SBEG
Mt Wiley-Mt Field-Mt Tom Hike, with my dad, attempt #4 is this weekend.Attempt 1 abandoned due to foul weather.... http://t.co/1OeXnFzlov
Austerity candidate https://t.co/E98Z9Q5Caa
"[the integrated spectacle] coincides with the generalized disappearance of all real ability. A financier can be a singer, a lawyer a police spy, a baker can parade his literary tastes, an actor can be president..."Guy Debord "Comments on The Society of the Spectacle"
things you buy that are really ads
So Bloomberg isn't attaching Sanders, but attacking Sanders supporters directly. Great plan. https://t.co/x84FFzLllX
when the beat drops at 31:15 https://t.co/8DrKF4aCvN
Life goal achieved: I got my dad to admit that no, Trump didn't, hasn't, and won't "drain the swamp". Y'all, y'all.
The fields of computer science and software engineering in industry, very very different in fact. A great thread: https://t.co/eqAob2zYHN
Trump proved that qualifications are not required to be president https://t.co/ifc8xtTYhI
Abolish ICE, resist them, stop them, deny access to resources, block their path, slow then down, do not comply. https://t.co/349RZOTqnp
Which?
Which?
CSS invented 20 years ago today. Håkon W Lie posted the proposed spec 10 Oct 1994 http://t.co/sbZKIsPeWX
Making more progress on the #RASpec Impreza. Oil cooler mounted.#impreza #maximumattack #timeattack #subaru #su... http://t.co/LRt6DSoqGa
"I remember when the idea that the internet would be allowed to subvert the will of despots ... was preposterous"https://t.co/kjwtTa47uU
Ramana @ramanaL gets his #maximumattack on at @Climb2theClouds 2014 in the AWE Tuning Audi S4 https://t.co/tjrotvdXhD
Software cookies: baking Soylent cookies with cocoa powder from a recursive box design.#recursion #soylent #bak... http://t.co/ynDHCZnjJ2
Am I the only one with significantly more SPAM in my email this week?
Andreas M. Antonopoulos educates Senate of Canada about Bitcoin. Endless, Endless amounts of win here: https://t.co/oDmRsEdJdf
Hindu Vedas described birth as the creation of debt owed to the figure of Death. The debt is paid with death, and... http://t.co/fdrrMhwg6M
Waiting for when Apple releases OSX "Joshua Tree" and everyone hates it
This is how we cut a Release Candidate at @nara__me http://t.co/b3xs6RK9nP
I just took this photo on a Samsung NX300 and sent it directly to my phone over wi-fi, i live in the future. http://t.co/f4gkWfC8RO
Summited Osceola with friends#OutsideCouncil #hikeNH #latergram http://t.co/qauRJqGe2m
I successfully delayed learning Flash for so long, I never had to learn it before it became obsolete. Sad to say I'm learning SASS today.
Today is the day #freeburrito http://t.co/NFw2UyqQ0Z
View from the summit of Mount Osceola (last weekend)#OutsideCouncil #hikeNH http://t.co/7SbuolkzbK
Tonight's choices: hunting, fishing or drinking.
The only bad part of eating a @unionsqdonuts is when you've finished eating it, and think "Oh man there's no more donut"
Delicious, fun and a contraceptive! http://t.co/qCmJD2qEns
I hate nothing more than when companies like @TimeOutChicago prevent you from unsubscribing from their spam emails. http://t.co/8pghAzFi7P
Fascinating thread about the new "Windows 10" name: https://t.co/dSObHKw6PJ
A macro view of early autumn colors in New Hampshire from Osceola summitAn homage to a close cropped photo @jas... http://t.co/WOOPAfAUKn
Professional climber, mountaineer and snowboarder for @jonessnowboards Liz Daley @liz_daley died in an avalanche ... http://t.co/PKZR1M9Z1h
vim tip of the day: search and replace in all open buffers :bufdo %s/pattern/replace/ge | update
Logistics for getting home from work with my new board. #snowboarding @jonessnowboards http://t.co/dLnI1Dlrpg
Todays adventure: Started the morning with Bulletproof coffee and easing into a day of Soylent. #FutureFood #farts
Taken through a Kodak Pleaser Trimprint instant camera viewfinder#nofilter #kodak http://t.co/wrLHifp2yq
http://t.co/xBBBqUKU2l
Late September from the summit of Osceola#osceloa #hikethewhites #OutsideCouncil http://t.co/TLl5XnjBfI
http://t.co/HyRkvhfkQe
The RASpec Impreza heads into the shop again for final touches #wrx #subaru #timeattack #impreza http://t.co/IiLPl8CPS6
View northeast from Osceola summit.East Osceola in foreground, in mid-ground is Hancock (left) and Carrigan (ri... http://t.co/wC5VZMtGvg
Mount Osceola view to the south http://t.co/FPI7cNK5KC
Beautiful hiking up Mount Osceloa today with friends#OutsideCouncil #mountosceola #hikeNH http://t.co/U343gNC4PE
The Secret Goldman Sachs Tapes by Michael Lewis http://t.co/IJqpKEtQTL via @BV
Made New Tom Haverford gif tonight http://t.co/z3hNGgl9Ej
MRW I realized i wrote the code that caused the #shellshock bash bug http://t.co/jLGdOpOwlk
Anyone know a tool that transcribes text using a more limited corpus? IE: Converting marketing babble into 4th grade engish #lazyweb
Soylent kit arrival #soylent http://t.co/tkFsjr0BB8
Tonight was a quite productive sherry &amp; cheese tasting. Thanks to Kim at @thewineandcheesecask for the advice!#... http://t.co/Ru0KneHD7D
After finishing The Quiet Buddhist, V3 http://t.co/17Xp7YzvwH
The Wave V2 http://t.co/27mluiLePo
Employer as Parent: Provide room &amp; board, a playroom and allowance; and the employees become loyal exploited children http://t.co/4bJAVoVz8w
I feel old because I had to lookup snowboarding lingo:but•ter•ing (bŭtˈəring): Leaning on the nose or tail of the board to pivot sideways
http://t.co/MtU9FEdYkf
Bouldering in Lincoln Woods, RI http://t.co/1YMGr07E9o
1990. I wish I was still as cool as I was then. http://t.co/bQy9IdIbcA
Backroads are the best roads, Sugar Hill NH http://t.co/Bh3lHz1fiI
Sugar Hill, NH http://t.co/bqH0W7DEDN
Mt Wiley-Field-Tom trip canceled. Forgot my sleeping bag but at least i got this photo. Franconia NHCould've b... http://t.co/3JsjaZdjxa
Trail plan in progress for MtWiley, Field and Tom http://t.co/bE1boa0pNs
"Fun Size" candy just means you have to eat more of it.
Next time you hear your 'Murica-tooting pal ordering a PBR, Schlitz or Lone Star, tell them they're supporting Putin http://t.co/M8mpPA1XZp
Burning Man is the commodification of a temporary egalitarian holiday: http://t.co/m99AJp9bC7
Google Earth and CalTopo are wonderful tools, but you can't beat a paper map and trail guide. http://t.co/OC3YNMa8i1
The "doctrine of international community" is what is used to justify the Global War on Terror, the New War in Ira... http://t.co/6NxiTtgDEq
"I'm not sure I can breathe air unless it has Wi-Fi in it." - @wilto @refreshboston
View from Watertown http://t.co/zklN8Pbw19
Now that Larry Ellison is stepping down as CEO, who will be herding cats at Oracle?
Weekend Plan: Mt Wiley - Mt Field - Mt Tom.#hikeNH #hikethewhites #crawfordnotch #newhampshire http://t.co/4jDsnj2ET2
Bruce, tell me a bedtime story:cat /usr/share/dict/words | perl -e 'print join("", sort { rand(1) &lt;=&gt; 0.5 } &lt;&gt;);' | say -v Bruce -r 180
Which?
💥 holy shit, epic story here folks https://t.co/EV89TAqG9b
Democrats: the throwback Republicans from the 1980s https://t.co/vxd0ij1nsK
Unwavering https://t.co/yaRIf4AyI8
lead singer from Portishead sings to Kenryk Gorecki Symphony No. 3. My god.https://t.co/rA7CXCwCHB @ARABIAFATS get on this!
👏👏👏 https://t.co/QsdfL51HPO
There aren't enough twitter bots that discuss anime and sports-related anime
Luxury apartments: You live in luxury because you have Home Depot fixtures, an elevator and PS: You Still Rent.
Somervilles' Assembly Row: Welcome to luxury living where you live on a landfill next to a fetid river, above a mall next to Home Depot.
Somervilles' Assembly Row: Pay $2500/mo to live in a shopping mall "youre going for class without the extravagance" http://t.co/N4i2Z0mt7e
Binney street commute to work. http://t.co/dKsaVv9Juy
This is why i'm hesitant about buying a motorcycle: https://t.co/wmklYwlQlS @b_apothecary @qtychr
The best part about Google+ is none of my friends there have kid photos to post.
Tellason Ladbroke Grooves 2.5yrs, 2 rinses vs brand new.The old pair are going into semi-retirement, into a hap... http://t.co/LenWoIM8ib
A comparison of some AliExpress shopping. Ray-Bans, which is the real vs which is the fake?#counterfeit#rayban... http://t.co/THw7qsIsw7
Whats the point of a security question, when all the information is publicly available? http://t.co/xe8sKAmV3b
After party venue http://t.co/GKBBUwVYfE
Wedding photography appreciation day is today. #davidandkate4eva http://t.co/b1FsTts0Qt
Dinner service#davidandkate4eva http://t.co/6PMROC3Rv2
Everyone's taking pictures! #davidandkate4eva http://t.co/e68vqGQvgK
The ceremony is about to start! #DavidAndKate4Eva http://t.co/siYBSZysBg
Nothing makes a wedding better than free drinks #davidandkate4eva http://t.co/rOslgUnT9G
#davidandkate4eva http://t.co/mBYlFeHTif
Aww Sam kissing Toya http://t.co/wxTo9YyjD6
Speeches! #davidandkate4eva http://t.co/XAcBUeE0Ma
Rehearsal Dinner #daveandkate4eva http://t.co/K023nS1Kty
Got the wall to myself today. http://t.co/Cdyz205K9M
GitGrub : A social version control system for takeout food.
carbs
Yo @fightfortheftr @demandprogress the #InternetSlowdown lightbox widget is still opening despite being after 9/10. Any plans to deactivate?
Surprised that no company has made a watch where the crystal is made of a slice of pure diamond.
9/10 NEVER FORGET http://t.co/YaYEaZG0us
Dinner shoot http://t.co/VERIrS88cP
Yume wo Katare is open tonight, who's in?
1000hp nissan s14 first test drive: http://t.co/zk9I12E7I0 whelp, time to go home!
Twitter made the mistake that if i follow @DennysDiner, i should also follow these other fine victuallers. http://t.co/a4sHGBj75d
If big telco's get their way, the slowness we see on the #Apple #livestream will become the norm. #NetNeutrality re @demandprogress
Wrote a bunch of CSS manually.1) CSS feels antiquated2) CSS lets you write fugly code3) SASS lets you write fuglier code4) Write CSS
Productivity tip of the day: Mute #apple before its too late. http://t.co/B8j6XbfDiG
I agree with everything here by @alisaprosenaya http://t.co/s4ud3US4Bv
yo @qtychr the @Savenors on Kirkland re-opened with its redesigned interior. Its amazing.
Riding around looking for urban bouldering routes. Found one good one, need a spotter. Who's interested? #climbi... http://t.co/JOp1TYetIf
Holding the TV for my wife. http://t.co/BsSHnUuJHK
Current status: searching for and removing hundreds of shards of glass out of my gravel driveway. #storm
Just watched this storm destroy some of my patio. #Cambridge #storm #somerville
Big, beautiful clear chunks of ice. #cocktails http://t.co/6DPGUT6aQC
Currently: buying a cork at the hardware store.
Currently: extracting many many ball bearings from the garbage disposal. #homeownership
Throwback to that time I tried to pet mountain goats climbing White Coomb, Scotland http://t.co/Vmz0BqF2Bm
Land Cruiser #landcruiser http://t.co/fyXoJLudMw
Pushing a major refactor to production without refactoring all the tests: http://t.co/RIj1Pb6n5e
A social network for Amish dogs, just funded for $45 million http://www.nope.nope/nope/nope.html
re: WHOA. "With $30 Million More in Hand, IFTTT Looks to the Internet of Things" http://t.co/eQbjKZE0qX
B-boy circle at DJ Shadow vs Cut Chemist http://t.co/ishelhNTij
DJ Shadow vs Cut Chemist http://t.co/HNLqlN96CH
DJ Shadow &amp; Cut Chemist http://t.co/jE57XyoTe1
Hero or traitor: the debate changes when we discover Edward Snowden released #TheFappening photos.
Industrial area of Everett, just across the Mystic River from Somerville. There is also a huge wind turbine there. http://t.co/zXe6vF1AI7
View of Boston from East Boston http://t.co/Wh94ViPSGW
Another view worthy of a panorama out in the Natick MA wilderness. Here you can see the beautiful "deconstructed"... http://t.co/vhZ7uHzdgx
Like father like dogdaughter, both working on our facial hair. http://t.co/5vhzuRTFp1
Piper Paige Peppermint Patty Lashley-Adams got a haircut today!#grooming #haircut #doge #vscocam http://t.co/Kvc5s4KuZs
Amazing panorama views of the wilderness out in Natick, MA. People really should do more hiking or here. http://t.co/jqpTDxeiYs
If you order a French 75 and it comes with Gin, send it back. It's made with Cognac because Gin ain't French. #cocktails
View south from Agony Ridge, Franconia Notch NH http://t.co/IcKZKdHlG9
Beacon Hill cobble stone streets.#BeaconHill #Boston http://t.co/HertT9Wmwg
Explored the back alleys of Beacon Hill today. Many gems yet to be found.#BeaconHill #Boston http://t.co/vwUKSMtLta
I found this hidden garden on Beacon Hill on Boston when I put my camera lens through a crack in a doorway I coul... http://t.co/qVfErFSzMo
Perfect weather for a Mint Julep.3 Tbsp Sugar Syrup2oz Bourbon (W.L. Weller 12)3 dashes AngosturaMint leaves... http://t.co/y4aMvF0lyL
Backstreets of Beacon Hill http://t.co/RdqjVkVpLt
The former Locke Ober space is being renovated, looks like they're keeping a lot of the original bar from 1870s.
A recent beautiful renovation on Dana street, Cambridge MA http://t.co/jxwUN0dgxK
Watching movies, drinking cocktails.Tonight: "Perfect Sense" with a Morning Cocktail. http://t.co/u2xSdIQnAQ
Market Basket victory: worker-friendly, fair business trounces looting klepto-investors http://t.co/srz9S8efKf
Mt Lincoln from the Old Bridle Path Trail http://t.co/4hTRxJGoGF
SASS &amp; LESS &amp; Rework is a bandaid for cutters.
MIT dorm kids build some sort of fortress in East Campus. The siege shall begin tonight.#MIT #YoureEitherWithU... http://t.co/GUTmmz8vT5
High country along Franconia ridge http://t.co/ckSIQtCiX5
Lil' Piper. Happy National Doge Day! #doge #NationalDogeDay #NationalDogDay http://t.co/TRVll7rMaq
Summit of Lafayette #selfie http://t.co/FnbeSENvhw
A Kosher fresh-juice bar in Brookline named "Fruit Jews".
Falling Waters trail #vscocam #franconia #hikeNH #hikethewhites http://t.co/VRypAO9WN6
Looking to mt Lincoln from the ridge after my Haystack. http://t.co/d95Vn2loCK
Shining Rock on the west side of Mt Haystack while ascending the Falling Waters trail. Yesterday we did FWT to Fr... http://t.co/ce8XGf5ckN
View of Canon cliffs from Mt Lincoln http://t.co/cxGnpATmJN
Panorama from atop Haystack http://t.co/Jklg7f2fWV
Hiking Falling Waters trail to Franconia ridge http://t.co/VDJ9uggAGR
Proof-of-life#selfie http://t.co/whDVozJrum
Tonights spirit tasting #spirits http://t.co/bZJrXJe7N7
Without war, ISIL is a fringe terrorist organization. With war, it is a state. http://t.co/YO5zQkOWYV
2020 will be a big year for my representatives. First the poodle wins at Westminster, next will be Bernie winning the Hellworld nomination. https://t.co/g8hfB8FH81
The establishment literally won't even name the first place finisher https://t.co/sgL6i9NWTg
This film is able to do what no documentary film on food production could ever do: generate empathy10/10 great film, would rewatch. https://t.co/xxDFhrUnN2
i get it, its cute. but WHY IS THERE A CAMERA ALWAYS ON IN THE HOUSE? https://t.co/QMDPhnIJRq
just because McDonalds sells the most burgers don't mean that it tastes good, or that its actually food. https://t.co/de0zxn7AnZ
this sums up the greater DNC https://t.co/ubL2FBRGEq
one of my microgoals in life is to live in Cambridge, UK (again) and speak with my fake british accent the entire time.I want to visit a friends house and have the following conversation:host: "can i get you anything?"me: "'allo luv, how 'bout a cuppa?"#lifegoals
The Characterless Opportunism of the Managerial Class https://t.co/fOvzIbbTJE
When police say they're arresting the bad apples, it shifts the enemy of the protesters from the Police to an enemy amongst themselves. 1/2
I dunno guys, these #furgeson protesters look pretty threatening to me! http://t.co/d0vE05TCpK
Obama: "We're deploying troops in our 2 biggest enemy regions1) Iraq2) Ferguson."
The wait is long coming into the US along the Canadian border. http://t.co/SicbNekP6W
Dinner is served http://t.co/MKLPTKRdCP
Beer flight at Dieu du Ciel! http://t.co/i0DNRDG5zZ
Drinking a Blanche du Paradis by @Brasseries_DDC - http://t.co/t0H3H9B3aw
1st in our race, first overall for the day. Winning feels good at go-carts. http://t.co/NirKgI4Pfv
We're going go-carting for Davids bachelor party. http://t.co/AOycoRM89C
Ski shots for David http://t.co/dueIlF6KSS
Road fuel for David's bachelor party in Montreal.Matt puts the 2014 "Best of Boston" Boston Magazine donut to t... http://t.co/U9aeQGMqgR
"We used to be able to hold media accountable for misinforming the public. Now we only have ourselves to blame" http://t.co/gZCxmTgQpJ
Reminder, This is how the media covers peaceful protests. http://t.co/scAYtkiUgN
When you hear the term "Homeland Security", you've got to ask yourself "Security for who?" #Ferguson
The United States celebrates its freedom to peaceably assembly with fireworks. https://t.co/y4ozi91pxM #Ferguson
A summary of US Policy:Syria: Support rebels against Assad.Iraq: Support the Kurds against ISIS.Cliffnotes: Syrian rebels are ISIS.
Obama: I brought US Troops out of Iraq.&lt;Literally the next day&gt;Obama: I put US Troops back in Iraq.
http://t.co/IDHYmPBYD4
Piper: "RAWRRRrrrrr!"Ron: http://t.co/55PfIXLlc0
Office printer ran out of ink during our websites build process, we can't release the new version until we get a new cartridge.
Unsure who is the Enemy Du Jour today? ISIS, Terrorists, commies? lmk.
How software interviews work:"Do you know ALL these technologies?"Interviewee: "Not all, but i can learn"Interviewer: You're not hired.
Nara "We want people to get out and do rather than having to read and understand all the reviews" http://t.co/EX9yFqwjAhre @Nara__me
Organizing my 57 friends#spirits #alcohol #thingsorganizedneatly http://t.co/rSuEJDcNpA
Croatian goodies acquired LtoR: Red wine, dessert wine "first kiss", dessert wine " Hectorovich Prosek", two bott... http://t.co/fYb6WJaXPE
Taxi➡wait in line ➡plane ➡wait in 2 lines ➡plane ➡wait in 4 lines ➡taxi ➡drop off luggage ➡car ➡pickup dog ➡car ➡... http://t.co/BEg69IrbGq
One of the abandoned stone villages is Malo Grablje, near Milna on Hvar. Here one family opened a restaurant in t... http://t.co/OIKyWuHYlK
Yesterday we visited a few mostly abandoned villages that used to farm lavender, but are now largely abandoned si... http://t.co/8RzlQ1uE2m
http://t.co/CzNoLqX243
Hvar city http://t.co/DKDhvbcJD7
Overlooking from the Spanish fortress #hvar http://t.co/On9liP1ByH
David Embury longs for the early post-prohibition days when 20yr old bourbon flowed like water http://t.co/BeHFeG4sgD
Our hosts brought out various bottles of Maraschino liquor from 150-40 years old. I had mentioned my admiration o... http://t.co/kkdpEPpHAd
Enjoying Kapetanova Rakija or a local spirit and the words of Embury. http://t.co/t1EuUfEcSv
Stephen has arrived for the wedding http://t.co/JhSVTHkkh8
I like Hulu because you pay for tv AND see commercials!
For a beer this old, its help up *very* well. Delish.... (Harpoon 100 Barrel Series #11: Framboise) http://t.co/5zVK6kdOqM
I get very strange spam. I replied "Yes"-not because i'm interested in the "P.A" job, but to see where this chat goes http://t.co/doJsh18E76
Wednesday night #KO #vscocam http://t.co/m9WdiWGSyd
This is why Americans are so disgusted [..] and believe that Washington is in cahoots with Wall Street:#RevolvingDoor http://t.co/5yooqH3pDF
I can feel the days getting shorter; already. http://t.co/sZVg2eYWVy
Axe Project is complete. Maritime varnish came out perfect. Its glossy, clear and flexible so it won't crack whil... http://t.co/IPLEj0ZMSI
The Improved Whiskey Cocktail2oz Willett Straight Rye (or other overproof rye)0.5oz Maraschino0.5oz Simple syr... http://t.co/mhM9txFdfK
Lazy Sunday, enjoying "Drink &amp; Tell" by Frederic Yarm. Nice to see his shout-out to the magic of @b_apothecary http://t.co/mi1oEFveRF
Masking off the handle for the final varnish layer, using the latest issue of @superstreet (already read it) http://t.co/cZmi1zQc93
Gar loves playing Martini Big Jengs http://t.co/y0u1EfGdep
Greg found this home brew from 2011 in Bukowski cellar fridge. Made with brett yeast. http://t.co/vPQ7WlOuqL
Copenhagen Cocktail:1.5oz Bourbon (Fighting Cock)1.5oz Apricot Liquor (Rothman &amp; Winter Orchard)0.5oz Gammel D... http://t.co/C6nxR75SYL
Axe project progress: Part 2.A White http://t.co/5P9tQ28CVS
Awesome sunset from my building rooftop http://t.co/mBa7QWCBeg
Israeli Defense Force goes on the offensive. I'm offended. #gaza
Proud to see Salem cutting ties with Gordon College over its anti-LGBT policies http://t.co/jPIUJ155ki
Microsoft fires 18500 using Newspeak: "realign our workforce" "synergies and strategic alignment" http://t.co/eecckAmS2g
OH: You can't Make me Phake my Grunt! Gulp.#buildallthebuildtools
This is the best "homepage" I've ever seen: http://t.co/hsTqhA0ZTAThe amount of personal info divulged is scary, however.
Switched back to Chrome as my primary browser. Keeping Firefox around, it just gets sluggish the longer its open.
My axe project is starting to come together: Part 1 red. http://t.co/KTYcZLJsNM
Messi choked #GERvsARG
Goetze! #GER
the most banal way we lose our democracy is by allowing our politics to become nothing but trivial vaudeville acts. We lose when rational public discourse is increasingly made irrational, inauthentic, trivial, laughable, and eventually ignored.
It's crazy that @Xerox is known for printers and copiers but they invented the entire "Desktop" metaphor and the term "user interface". It's too bad, however, that their idealized vision user experience was based upon the metaphor of looking at a desktop all fucking day long
wtf duders, its wicked windy in Boston and my office building is swaying and the walls are making popping noises
they could all go out into the streets at once. https://t.co/ARXClCaiqb
if mike bloomberg becomes president, we can expect sugar, coffee, chocolate and anything fried to become Schedule I drugs.
Drinking a German pilsner go #GER #GERvsARH - Drinking an Interval Ale (Summer Pilsner Fusion) - http://t.co/6SazPE5w1g
Paddle boarding lifestyle #docklife http://t.co/IYZ0xZLnqk
Behold: my wedding gift to myself. I just named her: "Ultima Ratio". http://t.co/Kl71w8eVC5
A study on perspective http://t.co/6iFLuS8HJG
A study on perspective http://t.co/SiRZhLR6Uj
re: UK "Emergency Legislation" on surveillance necessity: Any laws drafted and passed in fear is bad legislation qed http://t.co/TbMzKghX7M
Anytime I see legislation pushed through, and marketed as "To Keep You Safe"; it sets off huge red "BULLSHIT" flags. #uk
Boston Globe keeps pumping articles about "Luxury" "Micro Urban" apts, this is what I see: http://t.co/xeFsVtpTFY http://t.co/GKqwjl9LtM
LOL the irony in the police creating child pornography to indict a child for creating child pornography http://t.co/Zyr0ze5So2 #wtf
The seating chart for my wedding is done! It was very easy, it basically works itself out. http://t.co/kAZ2ukpN0y
Celebrating the massacre of Brazil go Germany! - Drinking an Aecht Schlenkerla Eiche - http://t.co/5gnd6qu9i1 #photo
I will never drink a Caipirinha ever again. #BRAvsGER
The #BRA goal was a #pitygoal
So now #GER is closer to double digits than #BRA is to catching up #BRAvsGER
Brazil doesn't have Tim Howard #BRAvsGER
#GER is going for double digits! #BRAvsGER
The TEARS OF CHILDREN CRYING 4-0 #BRAvsGER
My dream of a route against Brazil! 3-0! #BRAvsGER
Looking SOLID #GER like pinball in the zone! #BRAvsGER
Yaaay #GER gogogogo! Best those colonials! #BRAvsGER
"corporations now have tools to model our personality, and effectively nudge and shape our desires and dreams" https://t.co/ZMHysRBC5P
Besties hanging at #SilvaBlanchWed http://t.co/SpGvaWS6xn
1) Build some condos with Home Depot materials &amp; IKEA fittings2) Call it "Luxury"3) Profithttp://t.co/kupNwsJqdL
Watched the Brazil vs Columbia game at Double B's on Friday. http://t.co/kgqA4fJRq5
#SilvaBlanchWed #friends http://t.co/jQ77iTvwJd
Bride+Groom #SilvaBlanchWed http://t.co/WZyyYhld8k
JPL http://t.co/tIGQDYAvjv
Religion building at #SilvaBlanchWed http://t.co/Ge5T7HktMg
#besties http://t.co/W6iNrJlOq6
Watching #BRAvsCOL at Double B's with a BBC Steel Rail pint for $4.50 #amaze http://t.co/3kTYOdfu5I
Old beautiful brick Victorian in Hatfield Massachusetts http://t.co/o3BJkQ4LHH
Old Mill Inn Hatfield Massachusetts http://t.co/LSl4FfMsEe
Aptly named Old Mill http://t.co/5VA8lrSjgb
Watching a maelstrom come across farm land. Scary storm. http://t.co/F0nOmUYsqD
Staying at the Old Mill Inn, Hatfield Massachusetts. http://t.co/BnTBIR39gz
Visiting Hatfield http://t.co/L854QWNtJ3
Looks like the funding of #MaydayPAC could finish today!, just need a few more donations. http://t.co/LyZ5EjF0WV GOGOGO
Syria, Iraq and ISIS: A wonderful graphic at NYTimes by @jashkenas http://t.co/i6NLphM9xy
Which axe is the best value: @bestmadeco vs Council Tool: @jaschang i'm gonna chop some trees on your land. I chose http://t.co/5p7HQYqYS9
240 MAXI // Climb to the Clouds 2014 // Trailer: http://t.co/4ID5FIyyLH by OldowanMedia featuring @dentsportgarage
Cambridge view of Boston on a sweltering day http://t.co/NY9bZXsU4F
Goal by Green, next by Howard and we're in! #USAvsBEL
Tim Howard deserves the US Medal of Honor. #USAvsBEL
Omg the penalty kick failure by the Swiss, 2x fail. #ARGvsSUI
Watching #ArgvsSui http://t.co/xYn6c4H1pN
Money has corrupted our democracy. Can we fix it? Act now, join #MAYDAYUS -- let's try something new: http://t.co/Vd3DS3qjeU
Looking north from Mt Cardigan, Franconia range in the distance. http://t.co/C5ETb4mAZC
My reply to @ramanaL : close but i got closer :) http://t.co/6eeYX9sUA3
Southeast view from Mt Cardigan http://t.co/jdyWSAWa7z
View of Newfound Lake http://t.co/KuqIFA2Y3T
Mount Cardigan fire lookout cabin#hikenh #cabinporn #newhampshire #newengland http://t.co/DLKeg4yUhm
Southeastern panorama from Mt Cardigan http://t.co/81AaiTIunw
View from Mt Cardigan http://t.co/SJtIxNcFCe
Start of weekend festivities from Wine &amp; Cheese cask deli http://t.co/3dVrOY6zWP
This weekends backup plan http://t.co/W6avzJah1C
Wondering if British-speaking developers feel like they're writing in an American accent they write background-color: gray; @csswizardry
Time alone is rare. A quote from a book I'm currently reading http://t.co/TaTbOxMTqV
Boo! Supreme Court made Aereo illegal http://t.co/S2ARa1RrtOYay! Supreme Court made Police phone-searches illegal. http://t.co/4a4RvptHzy
Italy playing with 10 men, that call was bullshit: Italian basically brushed the guy #WorldCup
So I finally got my first tattoo finished today!#doge #dogetattoo #tattoo #muchouch #verycolor #muchneedle #sopain http://t.co/k5oXiCY77e
Mt Willey from the Ethan Pond trailhead, 6pm http://t.co/QFZcCOUEHU
1369 Coffee has the best sign boards #cambridge #inmansquare http://t.co/g8k1VZbzoM
Where are my friends? http://t.co/1FM3Ccj6od
Today is the longest day of the year #UseItOrLoseItI woke up early to enjoy it; whole. http://t.co/hDEkovN5dQ
Living the #docklife almost expected @robertchampion to be here http://t.co/cRONdh7KEs
MIT photo sesh#cambridge http://t.co/opGuyXpbLd
Longfellow Bridge Gallery of Public Accomplishments http://t.co/51GMfVPSXL
"The clash between diversity and global uniformity which .. is now in play. You are the troops."-Julian Assange http://t.co/hRrZVslM3d
Officially: My favorite saison - Drinking a Tank 7 Farmhouse Ale by @Boulevard_Beer - http://t.co/HO6E8RbFsw
I literally don't understand how to entertain guests if I'm not serving beer, wine, spirits or cocktails.
I knew it! #music # http://t.co/qGzW1s0kuR
Disgusting to see License Commission @CambMA is trying to shut down @Uber_Bos under the radar. Speak Up Here: http://t.co/6vqcP9yfmo
Game of Thrones on HBO GO: The stream will be dark and full of errors. #GoT
Final (4/4) of my Ethan Pond series. 6:25am as sun brushes the peaks with light.#newengland #hiketheAT #newhamps... http://t.co/V8inG7wJgp
Thats right. lint free, 120 ftw. every day. http://t.co/br0gdwG2dW
Yume Wo Katare: The Restaurant That Is Never Open.
Union square. One of the homes to the American revolution.#somerville #unionsqaure http://t.co/7Nl1F1nxAX
#billandmarjiesawesomewedding #billandmarjiesexcellentwedding http://t.co/oJJR70tXbA
http://t.co/Tef9wlRdc7
Finally got my Evernew ultra-lite stove. Compact, light, nested-doll design, no moving parts.Uses the design phi... http://t.co/PSYtaeX1qm
URL MORE LIKE HURL
You know Facebook bought Instagram when: http://t.co/8toiZHXQ70
Take three of my sunrise at Ethan Pond series 5:45am just before sun comes over the hills #newengland #newhampshi... http://t.co/6RIBr6JWL1
dissatisfaction is the raw material for conspicuous consumption.
Copyright is the subjugation of ideas to slavery. Here is a great illustration of the abuse of copyright by major corporations to undermine not only fair use, but completely unrelated free speech and discourse https://t.co/pH8DoA10RY
we all need to find ways to empathize with those we disagree with.my approach is to imagine the skeleton inside the other person as another person trying to get out.
Amazing, i didn't know Nancy Pelosi was such an amazing ventriloquist, I can't even see her lips moving to make the puppet talk. https://t.co/GjyJ324fPu
If you're not convinced that the DNC isn't stacking the decks against Sanders (again), look no further than this amazing journalism done by @kgosztola 👇 https://t.co/lvR4UmIXDc @qtychr its a whos-who of 2016 anti-Bernie ex-Clinton skeltons including John Podesta of THE EMAILS!
Take two in my sunset at Ethan Pond series. 9:30pm#nofilter #newengland #newhampshire #hiketheAT #hikeNH #later... http://t.co/wPfy4GxOZx
My own private utopia in the mountains; Franconia NH#whitemountains #franconianotch #hikethewhites #hikeNH #new... http://t.co/5X4V3vdvIU
Lunch at the office@qtychr this is the building I work at http://t.co/KjRTqBiNmE
Anna’s Taqueria in Brookline, Chang noted, “Nothing is great but the sum of the parts makes it very good.” http://t.co/fTbMTuc81X
North Haverhill, NH#newengland #latergram http://t.co/5UMrZbFhEc
Sunset at Ethan Pond #campvibes #hiketheAT #hikeNH #hikethewhites #hiking #sunset #rei1440project #whitemountain... http://t.co/nQsyZVEyrt
3 Reasons to hate URL shorteners:1) When any redirection-provider dies in the redirect-chain, URL is broken.2) See #13) Redirects suck
My new desk at @nara__me rises to become a standing desk or falls to become a kneeling desk#officelife #dilbert ... http://t.co/uoduGMmOcY
Quechee Gorge, Vermont#vermont #instanature #latergram http://t.co/CovddxId9F
Ripley Falls in the early morning Crawford Notch NH#hiketheAT #hikethewhites #crawfordnotch #instanature #rei14... http://t.co/wOC2sKno94
Ethan Pond all to myself at 6:50am#newengland #crawfordnotch #mtwiley #appalachiantrail #hiketheAT #hikethewhite... http://t.co/IrpH74gVAt
Did you even read the HIG, bro?
The TicketMaster class-action settlement is a lesson in how US courts directly send help private-interests: Coupons http://t.co/Y5L0HUaWrG
My newly-wed buddy Erik Ibsen gave me a birthday flow-chart:What expect on your wedding night:#praisegod #blessed http://t.co/bHCu8tJjmu
Welcome, mid-thirties.#34
The American Revolution: the power of an idea; fuelled by rum.#rum #revolution #murica #1776 http://t.co/BbONOQ4uTA
When British lieutenant Williams described Boston to Parliament in 1775: "perhaps no town of its size could turn ... http://t.co/vNKKQcZjBW
Negroni served from a Methuselah #negronizilla #negroniweek http://t.co/vESC1LJNu7
Aged negroni for #negroniweek at @tapandtrotter #negronizilla http://t.co/WnaiuYXrdM
Watched Game of Thrones s04e08 last night, my summary:"It's not TV. It's HBO."#GameOfThrones
Fishing boats of Newburyport http://t.co/O6abJp89Xz
On the beach#newburyport #vsco #vscam #beaches #newengland #spring http://t.co/gCuLHI0wBo
Happy Thursday drinks at State Park #vsco #patiodrinking http://t.co/jVJ8mMlz8b
Follow the boardwalk#vermont #hikevt #longtrail #appalachiantrail #hiketheAT #backpacking #backcountryGlaston... http://t.co/h4cIEOvAYU
Sometime the trail can gently pull you through the forest.Glastonbury Wilderness#vscam #vsco #vermont #longtr... http://t.co/KvNdc6rLsr
Starting a foggy hike up Glastonbury early after rain. #hikevt #vermont #vscam #vsco #hiking #nature #longtrail ... http://t.co/Fv7rusNaYs
Fresh Pond #cambridge #vsco http://t.co/HIL74RLMVV
One day... #streetstyle #r32 #skyline #regram http://t.co/t0u8CsL8He
Patio tacos and tequila at my favorite #patiodrinking spot: El Potro http://t.co/5vpm1l5ZX1
Visiting Maccu Pichu with @qtychr http://t.co/TTI0wrUhpo
Better to Buy or Rent: I put in my details, and looks like it doesn't matter: http://t.co/M6WmqlNgWl http://t.co/iFLIdzWGi1
My #throwbackthursday jam for today, Peshay - On The Nile #tt https://t.co/KrMdkm6oGL #jungle
http://t.co/lwyCHCduSD
A beer so dark it literally blocks out the sun. Omnipollo Agamemnon. #beer #craftbeer #swedish #patiodrinking http://t.co/QPKeMg53nD
OH: "Now touch me where you touched the doll showing me where the bad man touched you."
Speedhunters has obviously transformed into a content marketer for Vossen wheels http://t.co/08j8UsJdv9 #maximumattack #iamthespeedhunter
West Ridge trial from Glastonbury to Bald Mtn#trails #trailvibes #hiking #hikevt #vt #vermont #vsco http://t.co/g7Q6428xvc
Early morning at Goddard Shelter, Glastonbury Mtn #campvibes #hikevt #vermont http://t.co/qNSq3kcEfr
View of the West Ridge from fire tower stop Glastonbury Mtn #vsco #vermont #hikevt #hiking http://t.co/wkGr256lEt
Farm country Vermont #vt #vsco http://t.co/x12nKt185X
Somewhere on a Vermont dirt road #vt #vermont #hikevt http://t.co/ssUzqO6kss
Reading about the route prior to setting out. Glastonbury mtn is the "most remote" in the Vermont wilderness #bac... http://t.co/uqDYiAG5fy
"Dealing with stubborn, ignorant, rich people in power is one of the hardest problems in computer science." https://t.co/DTm3gYZ9Xr
Pls RT: Obama must demand that the FCC restore #NetNeutrality. NOW! http://t.co/wab6RVkkhg via @demandprogress
Is it possible to use &lt;img srcset&gt; to load *smaller* img in larger viewports? http://t.co/o9NNAsmfVA+ @wilto @scottjehl @jonathanmarvens
Backpacking rations for a 2-day trip this weekend, for 1 person. $30 total.Day 1:-Bagel and apple-Cliff Builde... http://t.co/H0MP25QIrD
When visiting Somerville, stay out of Central, Prospect and Winter Hill. Its The BURGER DEAD ZONE #somerville #bu... http://t.co/aUvlP1mS8o
The pothole that threw me off my bike tonight and fucked up my hand. http://t.co/HS7WP8lMkR
The best part about going over your bikes handlebars: A reevaluation and respect for ones relationship to the ground.
Stephen in HUGO Hugo Boss #boss #suit http://t.co/Jivv8gqG0g
“Opposition to her [Hilary Clinton] is going to be depicted as misogynistic.” http://t.co/eMwrhgF3oG
Its been too long http://t.co/9C2S0rUZ6q
Found some Fiddleheads in my parents backyard #mansfield #massachusetts http://t.co/5gKMxmY6QW
Ferrari 308 http://t.co/ABzxaegRWv
New #cadillac face is looking strong http://t.co/TZ1KGwaWFf
Sing-along at Jacob Wirth http://t.co/JYz895FoTs
My dog is literally the cutest dog. http://t.co/zWqi76ahqT
I declare Today as "research &amp; development day with &lt;picture&gt;" here at @Nara__me http://t.co/WiwJ7ZeZ0E
Archstone Kendall Square follows Alexanders "Enclosed Gardens" pattern. #architecture #garden #gangoffour http://t.co/2lD9txEZ1f
A Documentary about The Web: What Comes Next Is the Future. Lets get this funded! http://t.co/IT64OVnVPx
Agile folks: What processes do you use to feedback post-design iterations on a feature back into design to prevent design-regression?
Amazon, Facebook, Google, Netflix, Twitter take "a stand" in favor of net neutrality with... a letter.Good job?http://t.co/GOeTj26AUk
Super clean Delorian seen near Inman Square, Cambridge MA #delorian #crispywhips #vsco #vscam http://t.co/FOnA0LyLpD
Very informative article describing two sucessfuly Git branching models, and the pros-vs-cons of each: http://t.co/GZptHhQ9TS
Its patio drinking season, what am I missing on my list of the good spots?https://t.co/fgdBbSqm2imissing any? @qtychr @garlick811 @aroldan
This will be the best thing i read on the internet today: http://t.co/OE5wJz2Ndt
Good one, FTC: "consumers once arranged for taxis by hailing one from a street corner or by calling a dispatcher". http://t.co/zRGSbdmkea
I can live on Taco Bell for a week on $24. http://t.co/ojMglbxmYL
The curse of living next to @tapandtrotter and smelling their delicious grilled treats while on a fast.
Too many feels: http://t.co/7LVnTnPiXO @qtychr @garlick811 @nervcoffeemug
Nononononoyes Truck driver epic save: http://t.co/ar7sVL8sYF @qtychr @garlick811
Back in computer land for the week. #vsco #css #boxmodel #webdev http://t.co/TbVpYjhHkc
Killer infographic http://t.co/HMQjmmGhUh
Killer infographic http://t.co/YTRaWXzg3a
Lived in Cambridge 10 years and never once saw this antiques store open. Today that changed. Hoarders paradise. I... http://t.co/Wl60sKKs8d
Purgatory Chasm http://t.co/u3S6N9O7NM
I found Mikkeller AND Twelve Percent side by side! http://t.co/GR8TQXdavp
At the Old Manse, Concord http://t.co/JEnihZrCl4
Arlington Great Meadow http://t.co/qAPjGMB0Vg
CBC 25th Anniversary party! http://t.co/VRVjUwOtXK
Trolling at its best: http://t.co/myzl8mqZGw
I'm never a hater, but when i'm a hater, i hate big:https://t.co/j6XtNye7Bo
'Anemoia' is a feeling of nostalgia for a time or place you've never directly experienced. .I'd always wanted to play "Metal Gear Solid" ever since 1998, when at my friend Glens house, staying up way too late watching him and Steve playing through the levels. 1/n https://t.co/EMx4LuAYOm
Squarepusher, AI, advertisement as violent objects. Hes playing in Boston in April, FYIhttps://t.co/5aive4VXC9
The Iowa DNC would rather burn down the entire caucus system than admit that Bernie won.
RASpec Impreza #wrx current form @qtychr #tbt http://t.co/QtyeKijZmJ
My RASpec Impreza, pre-resto racecar conversion. #tbt #vsco #wrx #subaru http://t.co/fVA0Ob6AN0
Washington state #pnw #vsco #campvibes http://t.co/IjrBnhCOPT
Harvard Yard in spring #vsco http://t.co/kvDnv5g4ws
#tbt #selfie http://t.co/fsKEheOxj3
If Heinz had the lobbying clout as the insurance industry, toothpaste would be Ketchup, and spaghetti would be covered in Ketchup. By law.
CSS Should be Deprecated: https://t.co/kNEaGseTQ8
Yo @BradCastaneda your website is busted. http://t.co/TB1ZoGfZqp
I follow the mantra "Dont follow those trying to sell you something", but for @UnionSqDonuts i make an exception.
I just backed What Comes Next Is the Future on @Kickstarter http://t.co/IT64OVnVPx
What Comes Next Is The Future: A Documentary about The Web.I just backed this project SO HARD:https://t.co/nfdV1L83BM
The horror of terrorism is not the act of the terrorist, but the response of its victim.
Its about that time of year http://t.co/Or8uWpKKjk @qtychr @garlick811
I'm pretty sure this would also work with larger burritos for (the larger) Guinea Pigs: https://t.co/ru4FQL2D2s fyi @_gsmith
US Postmaster "You want to improve service for customers; but citizens arent customers—400 junk mailers are" http://t.co/MSXRG8FAVG
Enjoying seeing C today. http://t.co/rA4DjTQryQ
Piper Paige Peppermint Patty http://t.co/5bfSocapI4
Tech workers awarded $4700 each for having an entire industry average salary artificially suppressed for years: http://t.co/m7yPC5UvNa
The Web we want! http://t.co/vexLPD8O8R #firefox
http://t.co/ClSh7mzlFG
Interactive visual playground for a deeper understanding of Git, built using D3 http://t.co/fByPFrLJcW
This is the first video game that really makes me question... well everything:http://t.co/3nO29opr50
Huge sale http://t.co/5uK22VwjxK
Greenpoint http://t.co/ZlZTIr6CF7
How to dip a french fry in two different kinds of condiments: https://t.co/EWhoNiOL4S by @_gsmith
First Wave, then Buzz, now Google+ is saying farewell http://t.co/XjmTqySKck
Maintain true net neutrality to protect the freedom of information in the United States. http://t.co/5k26wtT0ZT
"It's not that bad" http://t.co/96qkONIHer
Who is a well-developed Lawful-Evil character in movies or fiction? #fascists #affiliations
Reminder: Former FCC Commissioner Meredith Baker, voted in favor of the Comcast / NBC merger, is now the head of Comcast’s lobbying office
Why do i *have* pay for cable with Internet?Because cable companies bought all the ISPs during the 1990 and 2000s, and there is no choice.
I've seen my share of retired gifs, but this takes the cake: http://t.co/bfo8zNZxoc re @qtychr @garlick811
A social network for Amish software developers and their dogs. Integration via a SOAP API. Amish hate REST.
Thinkin' 'bout starting a startup to jump-start the RSS bandwagon, on kickstarter. Starting today. #startnow #start #startmenu
TIL How Game of Thrones intro credits change with every episode to reflect different activity on the world map http://t.co/q3YPAmX1fD
Loool, watching #myNYPD explode is a fun activity.
Apple riffs on Braun designs ad infinitum http://t.co/rMBPZbDCjy
This dude flew his DJI Phantom into a fireworks show, wow. Such amaze http://t.co/MfpMCFQRF9
[SUBARU] SUBARU "WRX STI vs StickBomb": http://t.co/ibrXN5Y8I7 via @YouTube
Remember, motorcycles can be fun http://t.co/8gBFTKE8YF re @b_apothecary @qtychr
Where around Boston can in get some Cantillion?
TIL James is Lebrons last name.
#selfie http://t.co/20jRWXKyA5
Everytime I go to Yume Wo Kotare and it's closedA little part of me dies.
Changing passwordsAll day long.My #heartbleedsPasswords strong.
Hey @Fidelity, why is your password policy so ridiculously weak? You're a financial institution, please be better. http://t.co/Ah3A5VdX08
A favorite pastime of mine is coming up with unique responses to recruiters. #recruiting #email http://t.co/JKoefVy4x2
This is how i fix bugs these days http://t.co/v9RkP7sXoB
I'd make a joke about todays news that a rapper named Johnson who severed his penis, but the joke makes itself. #penis
Surprised to wake up to the sound of people scraping ice off their cats
Calumet moved to this improved location about a year ago, but fancy stores won't solve the problem that people no... http://t.co/zBxlkjfsEt
"We provide a High-Frequency Trading REST API supporting multiple Bitcoin markets for Amish developers and traders" #BitAmTrade
This 1970s take on Game of Thrones as a sitcom is pure win. https://t.co/f0zXwe0Mwm
Pure dashboard! http://t.co/tpWWhbua9I
The eves on this house are amazing #homes http://t.co/2jpwn1KJna
Land Rover series 2a I found in Brookline. http://t.co/p22BJdANMe
Dinner is served http://t.co/9NlQRHQDyN
http://t.co/BflGyReTRv
This beer by @About__Blank goes great with chocolate. The beer is amazing! http://t.co/zwLu1c3lcG
"Who's a good girl!?" Someone asked Piper. "Its an oversimplification; we (dogs and humans) have aspects of both ... http://t.co/2aIaeuZXy0
I bet this describes Edward #Snowden http://t.co/IYOqlqY1vQ
Crossfit will be popular with the Amish because it doesn't involve machines.I'm going to Kickstart AmishFit: Amish Crossfit Gyms
So let me get this straight:NSA kept #heartbleed in its back pocket for 2 yearsNSA is there to protect us....From who?
The sweet eternal embrace awaits us all. #death #architecture http://t.co/Il30vYRbJe
I'm watching @ggreenwald &amp; @laurapoitras fly home to recieve the Polk Award for their work on the #snowden files http://t.co/SXDqloGRwh
Pliny the Elder. Yum. #beer http://t.co/MP1U3ReT9c
A social networking site for Amish people, crafted by Amish developers.
Listening to Jupiter: https://t.co/XKG18szzcK #drone
More reasons than ever to switch to @BitTorrentSync http://t.co/SxenaZzZbV
"certificate authorities which are Queen certificates - their job is to sit safely in the hive and have babies" http://t.co/PaNp59gpCF
The bread socks are playing sports. http://t.co/WENwmhxtSq
This is me delivering a new feature to the @Nara__me QA team to review http://t.co/PCiUnOVp6K
TIL: CSS `visibility: visible` shows a child element even if its parent is hidden http://t.co/ILftWScJaU
i'm gonna start an arcapella group with @jtpaasch and only sing the Dawsons Creek theme song.
Thread: The 2020 presidential debate is an exemplar of the theatrical struggle that merely offers two versions of the same politics. This is an identity politics that is incapable of articulating anything beyond spectacular late capitalism. 1/n
Actual question: is a Peloton just a stationary bike with an iPad glued on?
This isn't even satire anymore, its just reality. https://t.co/Ow8lKtgXW1
How can we trust a political-media spectacle where the candidates control the very media that influences the elections that elect them? Bloomberg on the failure of Bloomberg in Iowa "make it look like it was rigged" https://t.co/fxCCLzLgZP
Update: Cold C, like Cold A, but more coughing https://t.co/0zycGLuUCA
Microsoft CTRL+ALT+DELETed Windows XP yesterday. Its official.
I really enjoyed writing this line of CSS: http://t.co/kb2Lobj0ZR
Today's reading http://t.co/8CjOgcx3pp
what is yoghurt?
"Mr Edison warned the customer not to heckle. If she heckled, he had a set of withering put-downs. She kept quiet." http://t.co/WRuxK4y9g9
Currently listening to: "Peepshow - Part 1" http://t.co/r5uu5af8SB
My summary of the season premier of Game of Thrones: http://t.co/pk8gCNVpMr #got
Breakfast http://t.co/dPrR0v03UF
Can't get much dirtier than this. 5 months of daily road grime. http://t.co/FljJ5Ds6Vx
http://t.co/CMNMxm81lx
#sourbeer http://t.co/Rg8Kycbbj2
#sourbeer - Drinking an Original Ritterguts Gose by Brauhaus Hartmannsdorf - http://t.co/ChAUSMYtbj
I think Mozilla is taking this April fools joke too far :(
My latest CSS masterwork:http://t.co/ozynnY3COqStyling the latest http://t.co/4Jm3EweS3u version
Twitter just went JDM 🔰 #jdm
Most controversial topics on Wikipedia (Film, literature, sports, music take the top, politics last) in 2010 http://t.co/7XNMLsUwQF
So delicious. Very savory. much wow http://t.co/6T9JZExkSc
Saison Dupont... Only older... http://t.co/zGF1s8eCk1
Thanks for the protip http://t.co/322glDMTao
Snax http://t.co/cPVwMkhPMA
Craigie tasting with jpl http://t.co/NTpwxl2db4
Perfect Day at MFA http://t.co/9YuIU8bj0f
Freakonomics (finally) does a podcast on #Bitcoin http://t.co/0YfrQTHbta
I need to hire a project manager, here are some interview questions I'm thinking of asking: https://t.co/XTKLoVkJyE any thoughts?
I've been the asian guy in this meeting, many many many times https://t.co/MmL35blqPc
Real-Time cyberwar charts: http://t.co/Ybvpujor1s
"Immersion is nice, but presence is something else again" http://t.co/YEJevMNNcD
Someone blew it at twitter when t.co links first go out over http before going back to the https destination. Makes people vulnerable.
Deli sandwich http://t.co/xzaaVxURn1
Top 3 twitter trends are all foods: http://t.co/1U1AUnq1YO
Finally, a reason to watch NASCAR http://t.co/AXtDw3cpY4 #dogecoin #NASCAR
Where can I get a sandwich like this around Kendall squ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment