AM – Attribute Modules for CSS - <AUTHOR> http://glenmaddern.com/articles/introducing-am-css

<comment><USER2> Why should "rounded" and "large" be classes?

Isn't

...

plus a bit of SASS

        .buy {
            @include big;
            @include rounded;
        }

enough and more correct?

If you embed "big" in the HTML, how do you go from mobile to desktop? Maybe that button should be "big" on desktop, but only slightly bigger than normal on mobile. If you specify its _role_ rather than its presentation, it becomes very easy to override the style in CSS with @media selectors.

PS: BTW, <button class="buy">...</button>, no
 needed.

<comment><USER3> In my experience the lower level classes increase flexibility, maintainability, and sanity of your css. It's what allows bootstrap to be such a powerful tool for so many products.

Using a conceptually high-level naming scheme won't scale very well as your team and site grows. Eventually someone will say, I need a large rounded button, I can use the .buy class for this contact form. Or perhaps your team is very disciplined but ends up with 10-15 different ways of specifying large rounded buttons.

You'll potentially end up where .buy makes sense in two different contexts which will then increase the complexity of your css:

button.buy {...} h1.buy {...}

Having .button .button-rounded .button-large helps you keep your css simple allows it to be remixed and reused in ways you haven't planned for yet.

Not to say semantic classes are wrong, I like them, but I have yet to see a system for it that doesn't break down after a certain size for a project/team.

<comment><USER4> I've started combining both approaches, with help from SASS's '@extend' directive.

What I mean is, I have a section of my CSS for defining all of those simple, modular classes like 'button' and 'button-rounded' (I start with bootstrap for most of these and then add more as I need them), with the idea that I'll reuse these over and over.

BUT, these never get used in the HTML directly. Instead, I have a second section of my CSS which contains definitions for those high-level, one-time- use rules. So, for instance:

      // Low-level CSS (don't nest anything or it breaks @extend)
      .button { // basic button... }
      .button-large { // large button... }
      .button-rounded { // rounded button }
      .button-primary { // blue button }
      .button-warning { // red button }

      // High-level CSS (avoid nesting, but sometimes it is okay)
      #buy_page .buy_button {
        @extend .button;
        @extend .button-large;
        @extend .button-primary;
      }
      #settings_page .deactivate_button {
        @extend .button;
        @extend .button-rounded;
        @extend .button-warning;
      }

The big rule for the HTML is that I can only use IDs and classes from the high-level CSS, and should really only have one class/id per element. For the most part the high-level selectors are 1:1 with the markup, but things like widgets/components it's okay to reuse them on multiple pages.

The major exception here is the CSS for actually laying out pages. I don't use a class-based grid system. Instead, I map
 tags to rows and /
/ tags to columns. The grid behavior is defined using Susy[1], and for specific pages I can modify the standard layout pattern if necessary.

The result of all of this is CSS that is easy to navigate. The low-level CSS is highly reusable, and the high-level CSS is structurally similar to page content, yet keeps the presentation information entirely out of the HTML. It also sometimes results in very long selectors, but that's actually not an issue performance-wise and has yet to cause me any issues.

[1]: [http://susy.oddbird.net/](http://susy.oddbird.net/)

</comment></comment></comment><comment><USER5> This looks a promising approach to the chaos that is writing reusable and maintainable CSS. I wonder about performance though, especially on mobile. Will this perform as good as regular class-written CSS, even if you have >2000 loc CSS files?

<comment><USER6> Attribute selectors have the worst performance of any selector. Coupling that with the =~ operator is even more cause for concern. This is why classes and id exist.

<comment><USER7> No, :nth-last-child(n) has the worst performance of any selector.

<comment><USER8> span:nth-last-of-type(2n+1):not(div) > span ?

Edit: I reversed my edits to maintain proper history.

<comment><USER7> Actually, I spoke to soon. Since selector engines work right to left, this would first narrow down the list of elements to all the spans in the document. Assuming thats a fairly small percentage of the overall tags in the document, this selector runs at .0023 ms on my MBP w/ 8 GB or RAM.

Sa'll good.

Edit: For the record, bGriz edited his comment, making my comment invalid.

Edit (2): Thanks!

<comment><USER8> Definitely fact.

</comment></comment></comment></comment></comment></comment><comment><USER9> Looks like tal:attributes to me. That was a terrible idea before, and its a terrible idea now.

Honestly, what problem is this _actually solving_?

You have .foo, .foo--bar, .foo--extra, and you're concerned the style tags are what... not pretty enough? Too hard to visually parse? Too complex when you're building a large css framework?

I really don't understand the problem.

...but having worked with tal, I can hands down say I hate the custom attribute syntax; it scatters the style into multiple locations and makes it unclear what parts are data and what parts are presentation.

I thought we all agreed that:

         Its 1998! Hi!

Was a bad thing. (and that was fifteen years ago... lessons from the past or whatever...)

<comment><USER10> This is a terrible misinterpretation of the article. It's not even tangentially related to hard-coding styles into HTML. Attribute models retain the ability to abstract style away from the HTML. Take the example used in the article, am-Button. Using the AM approach, you retain the ability to update the font-color, size, base styling in one place in a separate block of code (css, scss, whatevs). The styles are by no means scattered into multiple locations.

<comment><USER9> Certainly having a custom attribute that bundles multiple styles is novel.

...but having single attributes for color, font size and base styling is what attribute styles in early html _were_.

I think its disingenuous to suggest this is fundamentally different because these are _custom_ style attributes (am-font) instead of hard coded style attributes (color).

The point is that presentation and data should be _distinct_ in markup, and this use of custom attributes muddles things.

I can easily imagine some css framework providing css attribute classes that get used just like the old html style attributes, with all the same markup clutter and maintenance issues.

oh, want to change a style? now you have to change the markup attribute instead of the style sheet <\--- this is why multiple display classes (btn-- big) and custom attributes are fundamentally an anti-pattern.

Markup should be tagged with meaning attributes (btn--buy) and the styling done via stylesheets.

</comment></comment></comment><comment><USER11> I've gone full BEM on a recent project of mine, and it's been a godsend. Name our block elements by function, take advantage of SASS's abbreviated BEM syntax, reuse actual presentation styles with mixins, and use helpers within our templates to vastly minimize BEM's noisiness in the markup we work with. The modifiers are also great for capturing variations.

AM strikes me as clever, but I can't see it replacing class-based styling. At best, with some extensions, it might be a slightly more abbreviated way to write BEM, but decent tooling can do that for you anyway.

</comment><comment><USER12> You may prefer the regular "data-" prefix ([https://developer.mozilla.org/en- US/docs/Web/Guide/HTML/Usin...](https://developer.mozilla.org/en- US/docs/Web/Guide/HTML/Using_data_attributes)) to "am-", especially if you want to be compatible with React.

<comment><AUTHOR> You can definitely do this, though I think "data-am-" is better to avoid conflicts. React ignores unexpected attributes at the moment, but can't forever with Custom Elements (since it can't know what valid attributes for new elements are).

We've got an open discussion on this point, if you want to contribute there: [https://github.com/amcss/attribute-module- specification/issu...](https://github.com/amcss/attribute-module- specification/issues/4)

<comment><USER12> "data-am-" would be a good choice indeed :)

<comment><USER13> Absolutely! The prefix is optional (but recommended). If you're comfortable with data attributes (or, they're required for some reason), thats cool too.

</comment></comment></comment></comment><comment><USER14> This will be horribly slow for DOM-heavy projects.

</comment><comment><USER15> What's the problem with `class="btn large rounded"` and then in css:

        .btn {}
        .btn.large {}
        .btn.rounded {}
        .btn.large.rounded {}

<comment><USER16> There's nothing technically wrong with this, but one could make the argument that once a project expands beyond a single developer, you have a greater chance of namespace collisions with vague class names like `.large`. Eventually someone will come along and make a `.large` class for headlines that will make your buttons have 36pt labels.

Edit: I have a suspicion that most attempts at "semantic" CSS are a symptom of a slightly OCD designer wanting to write pretty markup, which is, in my opinion, probably the last thing you should be optimizing for productivity.

<comment><USER17> Except here .large doesn't exist on it's own, it's only used inside the .btn selector.

the .large class for headlines would similarly only be used inside the .h1 selector.

So there would be no collision in this case.

<comment><USER18> You can't guarantee that someone won't add a 'top-level' class name in the future that matches one of your 'modifier' class names. It's essentially the same argument as saying that global variables are OK because no one will ever have a global variable with the same name as yours.

</comment></comment></comment></comment><comment><USER19> I agree that this approach solves a problem. But using custom data attributes for styling is just not as easy as using classes and I do not think I'll ever use such approach.

</comment><comment><USER20> `class="btn btn-large"` was sufficient for all the projects that I've seen so far. I'm honestly curious about the scale of the applications requiring such measures (there were some other attempts IIRC) and whether they "work".

On a side note, the name sounds funny in Turkish but I guess that's a minor concern.

</comment><comment><USER10> I really like this approach, but I think the thing that is currently missing is preprocessor/build support. The primary use case for this would be large- scale web applications -- it's probably overkill for anything else. Unfortunately, for large apps, the performance hit of using ~= is unacceptable. However, most large apps use some kind of build system - grunt, gulp, make, etc, and writing a task to convert these into old-fashioned CSS class names as part of the build seems entirely doable.

</comment><comment><USER21> Very interesting approach. One small peeve: this method will not allow you to use Sass/LESS nesting.

<comment><USER22> why wouldn't it? Attribute selectors are just selectors.

        [foo] {
          color: blue;
          background-color: pink;
          .bar .baz {
            [qux~="ok"] {
              color: red;
            }
          }
        }

compiles to

        [foo] {
          color: blue;
          background-color: pink;
        }
        [foo] .bar .baz [qux~="ok"] {
          color: red;
        }

as I'd expect.

<comment><USER21> Oh, lovely! I must have been mistaken then.

</comment></comment></comment><comment><USER23> What is the performance of an attribute selector?

<comment><USER24> These selectors are evaluated globally, checked against to EVERY NODE in the DOM. You might as well write

      *[am-Button]

just to hammer home to the reader that performance is going to be a problem with this selector approach on any complex DOM.

If I recall, CSS performance can roughly be gauged by the key selector (right most thingy on the selector) like this:

      * inline styles = fastest (ok, this doesn't have a selector, but it evaluates fast!)
      * id = fastest-ish
      * class = fast
      * tagname = slower
      * any/everything else evaluated like global = super slowest

</comment></comment><comment><USER25> interesting approach! any real web/app using this technique?

<comment><USER26> I hacked together a markdown editor with previews. To allow the user to change how an image was displayed they could put space separated options in the alt text values of the syntax.

eg. ![Cute-Cat aside max500px](/path/to/img.jpg)

Aside & max500px were then picked up the CSS using the images alt attribute as the selectors.

It was a terrible hack but it worked.</comment></comment>


Gmail Gives Away CIA 'Spy' in Russia  - <AUTHOR> http://www.wired.com/dangerroom/2013/05/russia-spy/ <comment><USER2> How did Gmail give the spy away? Is this just a say attempt to tie the news into something techy? "Spies used Gmail" wasn't interesting enough, so they just had to make up facts?</comment>


Ask HN: US-internships for people already working? - <AUTHOR> Hello HN, some children dream of being an astronaut or working as a firefighter.
When I was in my early teens, I wanted to become a lawyer in the USA. I have to admit that my inspiration was heavily influenced by the film adaption of John Grisham's novels.
However, things turned out slightly different. I was interested in technology very early and moved on that path. I never left my home town really, because I felt I've had insufficient funds, felt responsibility for my sick mother, and other personal stuff, so anything I did, dragged me back to my home town.
Now I have a life I cannot complain about, really. I've a pretty good job, I'm satisfied with my salary, I have plans to continue my career path.
However, the idea of being in the US is still in my head and pops up from time to time very overwhelmingly.
I am now 31 years old, so I thought, just before starting with family planning with my girlfriend, I'd like to experience some "work and travel" in the US. However, I don't want to do farming etc. I was more thinking about "internships for professionals".
Is there an opportunity to work for a US tech company (startup or big company does not matter), which pays my bills and gives me a few month of experience in the US?
Why? Because I sometimes feel a big regret if I not try. My project should be open-ended. So, if I get a job offer afterwards, I might consider moving to the US; if not, I've made a few months of worthy experience.
Is there such a tech-intern program for professionals? Or what could be a way I can go?
I'm EU citizen, if that matters.
Thanks, HN!
S. <comment><USER2> I don't know of any openings specifically, but my guess is that if you have a little experience and the desire to work in the US, you could find a company that would hire you pretty easily.

<comment><AUTHOR> You mean as a speculative application outlining my personal situation/desires? Because I don't want to make a commitment for a "job" with weeks of recruiting and stuff...</comment></comment>


Political groups use "deeply spooky" protester location data, report finds - <AUTHOR> https://arstechnica.com/tech-policy/2020/06/political-groups-use-deeply-spooky-protester-location-data-report-finds/ <comment><USER2> These kinds of pieces are _sort of_ accurate. I have run a lot of ad campaigns on Google and Facebook (I don't do this kind of work today), and if this kind of thing comes up in conversation, I like to say that anybody can set up an ads account with Facebook or Google and see how it actually works.

Yes, you can create an ad and set it up to target people live within a certain area or have visited a certain area (and/or a number of quite creepier feeling criteria), but that's it.

They are not "selling your data" to advertisers. As an advertiser, all you get is some statistics about who your ads got served to, and they are pretty shitty and vague.

"You said you were willing to pay $10.00 USD per click for people who have been within (LAT,LNG of XYZ hospital) within the last 30 days. We declare that 150 of the 200 ad clickers have indeed visited that location. That will be $1,500 USD plus some lesser amount for the other clickers that we somehow served your ad to. Let's call it $1700, we'll take it out of the prepaid account you had to set up before we even ran the campaign. Thanks for advertising with us, and if you don't like it, good luck finding another ad network with anything approaching the same exposure."

</comment><comment><USER3> The article didn't really say how the private companies were obtaining the geolocation data. Sure, people can give apps permission for location data, but I think it unlikely that people install apps from political consulting firms. Anyone know who or what is the third party who sells the location data to the political consultants?

<comment><USER2> The advertisers don't obtain the data. The articles that discuss this are always careful to use phrases like they "use" the data.

They set up an ad campaign in Facebook or Google or another similar network, and they have to decide who to "target."

Google and Facebook, and other networks to a much lesser extent and perhaps through other apps that people wouldn't expect to be related, have tremendous data troves about people.

This includes phone location data and history, and data from partners about things like what types of purchases a person makes on their credit cards, whether they are a homeowner and their home value, income... things like that.

All the advertisers actually get is the ability to say something along the lines of "This ad should show to people who were at or near X location and make less than X amount of money."

They don't "get" the data or have it "sold" to them. They are able to "use" the data in a very indirect way.</comment></comment>


Cops in this city have not killed anyone since 2015. Know Why - <AUTHOR> http://www.huffingtonpost.com/entry/salt-lake-city-police-de-escalation_us_591c9070e4b03b485cae1129?ncid=inblnkushpmg00000009 <comment><USER2> TL;DR -

Salt Lake City (~200k pop?) had some police shooting scandals (~1/yr?). In all cases, the shooting was deemed justified.

They're now practicing "de-escalation", and haven't shot anyone (justified or not) in 20 months.

It also occurs to me that they outsource the shooting to SWAT or something, but that seems reasonable to not include in the statistics.</comment>


You Know You're Getting Close to Your Customers When They Offer You a Job - <AUTHOR> http://steveblank.com/2009/10/15/ardent-war-story-4-you-know-you're-getting-close-to-your-customers-when-they-offer-you-a-job/ <comment><USER2> I'm responding purely to the title, here, because the meat of the article dealt with a slightly different situation than I have experience with.

After my last attempt at building a product, I'm going to be very careful to keep customers at arms length in the early stages. I fell into a trap where I had one big customer who was paying a disproportionate amount of my bills, and getting to close to them kept me from getting close to other customers (or potential customers). At some point, I effectively turned into an employee who just so happened to be paid as a vendor.

This seems like a natural trap to fall into when trying to bootstrap something. It's awfully hard to turn down revenue, making it easy to become basically a consultant to one particular master.

<comment><USER3> Your problem is not that you were depending too much on customerS. It was that you were depending completely on _one_ customer.

 _I'm going to be very careful to keep customers at arms length in the early stages_

That sounds like a very scary strategy to me. How do you plan to know if your product will be of use once built?

By all means, don't become a consultant to one customer. But you don't have to become a consultant in order to get valuable feedback from multiple customers that are representative of your larger target market.

<comment><USER2> _That sounds like a very scary strategy to me. How do you plan to know if your product will be of use once built?_

Well, you never really know, do you? In many cases, potential customers don't really know either. I basically know what I want, or think I want, and can build that. The goal is to build it quickly, _watch_ people use it, and then adjust based on that.

I knew exactly what my one big customer, my 3 smaller customers, and a few potential customers wanted. I couldn't produce all of that, and erred towards producing what the people who were giving me the most money wanted.

The important goal (for me) is to have some buffer time where earning ze monies isn't a life or death problem, thus giving me the ability to insulate myself a bit from people who can give me money (you know, assuming it makes sense). "Arms length" doesn't mean I don't talk to people, and I don't spend time watching how they work. It means we're not financially linked right away.

<comment><USER4> That's a quote from the days when Joel Spolsky wrote really interesting stuff.

      Before I tell you how we prioritized our list of
      features,  let me tell you two ways not to do it.

      Number one. If you ever find yourself implementing a
      feature simply because it has been promised to one
      customer, RED DANGER LIGHTS should be going off in your
      head. If you're doing things for one customer, you've
      either got a loose cannon sales person, or you're slipping
      dangerously down the slope towards consultingware.

Set Your Priorities - [http://www.joelonsoftware.com/articles/SetYourPriorities.htm...](http://www.joelonsoftware.com/articles/SetYourPriorities.html)

</comment></comment></comment></comment><comment><USER5> _During the question and answer session my heart was in my throat since like any good marketer, my depth of knowledge was no more than one level away from being a complete idiot._

This is exactly why I have always thought that it was better for a technologist to learn marketing than for a marketer to learn technology. For any technology product, sooner or later you'll have to get more than one level deep.

The technology industry standard of salesperson supported by sales engineer has worked fairly well, but for a start-up, you should be able to talk to anyone about anything regarding your business.

It's unlikely that anyone else would demonstrate the same passion for your product than you. Sure, you could enlist help that will keep you at your terminal more often, but you'll still have to be your own first evangelist. Too much gets lost in translation any other way.

<comment><USER6> A good marketer is just as hard to find as a good engineer. And it's more than just knowing some subject matter. There's almost an instinct about it. Marketing isn't just like learning another programming language, it's like learning another discipline. It would be like being asked to learn psychology. Sure, your engineer could probably get a basic proficiency in a few months, but real skill comes from years of practice.

The best team is probably one of each, as a good engineer and a good marketer will both have their own strengths and know when to defer to the other for their weaknesses.

</comment></comment><comment><USER7> The author, Steve Blank, will be speaking on Nov 19 in San Francisco. <http://www.meetup.com/Lean-Startup-Circle/calendar/11393583/></comment>


Facebook To Settle With ConnectU - <AUTHOR> http://www.techcrunch.com/2008/04/07/facebook-to-settle-with-connectu/ <comment><USER2> Congrats to the two people from ConnectU who post here--any thoughts? Did that ebook help sway Facebook's decision?

</comment><comment><USER3> The connectU guys really illustrate the true character of Harvard rowers.

/Last famous Harvard oarsman was Ted Kaczynski.</comment>


Take control of your sprint delivery - <AUTHOR> https://medium.com/unleash-hosted/take-control-of-your-sprint-delivery-52a2c6cb8fb6 <comment><AUTHOR> A feature management system such as unleash-hosted can give you full control of your sprint delivery. In this article we will explain why and how.</comment>


Snap lays off two dozen employees - <AUTHOR> https://cheddar.com/videos/exclusive-snap-lays-off-two-dozen-employees <comment><USER2> Doesn't seem that large a number. According to Wikipedia they employ 1,859.

<comment><USER3> No, but it is interesting that the layoffs are concentrated in the "content" division. Maybe a sign of where the company wants to head (or not head) next.

<comment><USER4> Filters and Bitmoji nonsense fun!

</comment></comment></comment><comment><USER5> Snap still hasn't found its place. Although Spiegel is, in many ways, in an enviable position (extremely wealthy in his 20s), he also isn't. Facebook basically decimated Snapchat stories, and Snapchat is trying to become my generation (and the next's) Us Weekly. I think most people bet on them as a social media and technology company, not a tabloid rag.

But user acquisition is down, the Spectacles were a flop, and their new re- design has been met with a resounding "meh." I'm curious what their next move will be. These layoffs might be a sign of things to come.

<comment><USER6> In my (early 20s, fairly normal) circles Facebook Stories is seldom used, and Snapchat is actively used. Just not the parts that Snap wants us to use (i.e. anything besides the core product).

<comment><USER5> Sorry, should've been clearer, I mean Instagram (FB owns it) -- most of my friends (early-20s to early-30s) use Instagram. A minority use Snapchat.

</comment></comment></comment><comment><USER7> Did anyone else find the coder vs engineer analogy strange? Especially given that this was presumably sent out to the whole company.

<comment><USER8> I didn't. Coders are often mistaken for engineers and in the Bay Area especially there is a strong emphasis on coding ability over engineering ability. Coding and Engineering are different skills.

The memo is a bit too dismissive of coders: to me it makes them seem as though they're inferior, less aggressive, or less able pseudo-engineers.

<comment><USER9> Can you expand more on what, in your opinion, is the difference between a coder and an engineer?

<comment><USER10> Even legally, there's a difference. For example, if I was only a coder or programmer, I could not work in the US, as my work permit is ineligible to those professions. You have to be an engineer instead, software or systems or network or security engineer for example.

The difference is that a programmer is someone who knows how to program a computer in one or more languages. An engineer find ways to apply mathematical and computer science theory to real world problems. It knows how to navigate the real world constraints of limited resources to provide optimal return. It has a basic knowledge of ethics and takes it into account. It can lead and direct teams of coders and help them more effectively solve a business's problems. Its aware of existing technologies and can design ways to solve new problems through architecting those technologies in new ways. Finally, an engineer is a qualified professional in an engineering discipline, so it has accredited paperwork.

But, its all mostly BS in that lots of people with programmer or coder titles do all that, and lots of people with engineering titles don't. It was mostly introduced so that software be taken more seriously.

<comment><USER11> What is your source for this? As far as I know, there is no official designation for "software engineer" in the US. Nor any official certifications or accredited programs. Computer science is the degree programs most take.

As far as visas are concerned, what would the criteria be to verify a software engineer instead of a programmer.

<comment><USER10> My source was mostly my lawyer consultations. I tried to find online sources, I think this link is good: [https://www.tnvisabulletin.com/nafta-tn-visa- engineer](https://www.tnvisabulletin.com/nafta-tn-visa-engineer)

Under Nafta, programmer or coder is not an approved listed profession. Engineer is. It does not list the sub-category of Engineer, so Software Engineer is normally included. To qualify as an engineer you need to meet the accredited requirements, which are either an engineering license, an engineering degree or a minimum 3 year bachelor's degree. As stated in the linked article, the INS is sometimes more strict, and only accepts licensed engineers or engineering bachelors, even though that can be contested.

Now if you read this link: [https://www.tnvisabulletin.com/nafta-tn- blog/2016/7/14/2016/...](https://www.tnvisabulletin.com/nafta-tn- blog/2016/7/14/2016/tn-visa-approval-for-software-engineer-with-degree-in- math)

You see it specifies that the USCBP considers a job role where the majority of the work involves coding does not qualify as a software engineering role. That would be a computer programmer role instead, which is not approved for TN work permits.

If you look at OOH, they distinguish between computer programmer and software developer. The latter role description is what Software Engineer role should also be like, I couldn't find a source, and OOH doesn't list software engineer, but it matches up with what I was told by lawyers.

[https://www.bls.gov/ooh/computer-and-information- technology/...](https://www.bls.gov/ooh/computer-and-information- technology/computer-programmers.htm)

[https://www.bls.gov/ooh/computer-and-information- technology/...](https://www.bls.gov/ooh/computer-and-information- technology/software-developers.htm)

<comment><USER12> If you look at the number of people employed in each of those job classifications, Software Developers have 1.25 million and are expected to increase by 300k in the next 10 years while Programmers have 295k and are expected to decrease by 22k in the next 10 years. So "Programmers" is already only 20% of the total and is expected to decrease to 15%.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Interesting that around the same time both Facebook and Snapchat are turning their focus away from sponsored content and focusing on friends.

</comment><comment><USER14> Perhaps it was the team that pushed out the latest UI update. Honestly, it is so bad that nearly all my friends have stopped using it for stories.

</comment><comment><USER15> Oh, Snap!

(Somebody had to do it)

</comment><comment><USER16> Stick a fork in them, they're done!</comment>


Climeworks lays the foundation to scale up carbon dioxide removal significantly - <AUTHOR> https://climeworks.com/news/climeworks-has-signed-groundbreaking-agreements-with <comment><USER2> Having refused to do 1000 other things.

We're now offered a 1001st option.

We will refuse this option too. Because the problem isn't that we can't stop climate change, it's that we don't want to.

That's not a science, engineering, technology problem. It's a human nature, leadership problem.

<comment><USER3> But if some technology makes it 1000x easier, cheap, and doesn't require the involvement or even consent of governments, then that's a win for science right? And avoids leadership / human nature.

<comment><USER2> If you could find a solution that was a few tens of billions times cheaper than any current solution, a private individual might be able to fund it. That might work. But right now, no government will pay even for a solution 1000x cheaper than current options.

This is why no one is considering Geo Engineering.

Remember, if you don't want to solve a problem, the cost of solving it is always too high, even if the cost is only 1USD...

<comment><USER4> I think geo engineering is not heartily pursued out of an abundance of caution: having established we can seriously damage the climate, many of the solutions that try to put the breaks on look even riskier because we don't want to overshoot. Or rely on unproven technology when the crisis is here, now.

(Not to be flippant, but the relevant xkcd: [https://xkcd.com/349/](https://xkcd.com/349/) describes this well: sometimes things get a lot worse when an engineer tinkers with them.)

<comment><USER5> Geoengineering by taking excess CO2 out of the atmosphere, using machines that we can simply switch off, and storing the CO2 in deep basalt formations where it turns into rock, is almost certainly lower risk than leaving the excess CO2 in the air.

That doesn't mean we should rely on this entirely and not attempt to reduce emissions. But we're also past the point where we can rely on emission reductions alone.

<comment><USER2> If we don't have the will (budget) to stop emissions at source, why would be have it to go out and sequester it from the general atmosphere? Isn't that harder technically, more expensive and more energy consuming etc?

<comment><USER6> The people who want to reduce CO2 in the atmosphere may not have the power to stop emissions at source, while they do have the ability to sequester.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Great to see air mining getting featured on HN!

For an index of 100+ companies working on mining carbon dioxide from the air, check out AirMiners [http://www.airminers.org](http://www.airminers.org)

<comment><USER8> What's the economics of this? Who buys tons of carbon?

<comment><USER9> There are surely others, but the ones coming to my mind right now:

\- Agriculture: lots of CO2 are produced on-site under greenhouses by burning gas, because it speeds up the growing of crops.

\- Sparkling drinks industry.

<comment><USER10> A counter top Sodastream that pulled CO2 out of the air would be _novel!_.

<comment><USER11> [https://what-if.xkcd.com/88/](https://what-if.xkcd.com/88/)

<comment><USER10> Thank you so much for this!

</comment></comment></comment></comment></comment></comment><comment><USER12> Another company to watch in this space is Terraformation, using reforestation to efficiently offset carbon at scale.

See: [https://medium.com/@yishan/a-massive-global-reforestation- pr...](https://medium.com/@yishan/a-massive-global-reforestation-project-is- how-we-fix-climate-change-36afc6d4dc2)

<comment><USER13> Cool concept. I think these ideas are where the actual solution lies. Plants and trees can do a lot of carbon sequestersting--at scale no less.

<comment><USER14> I could be majorly misunderstanding how it works, but as far as I'm aware plants/trees are not really a solution. Plants are part of the carbon cycle and the issues is that we took sequestered carbon and injected it into the carbon cycle. To make plants a solution you would need to take all the plant matter after the plants die and sequester it somewhere where it can't decompose. I think planting trees helps delay large scale issues, but it doesn't actually solve the problem. Maybe there's some increased plant to land area ratio that means a larger percent of the carbon in the carbon cycle is always spent in solid plant form? Even if that's the case it requires always maintaining this amount of plants even as populations grow or cutting down trees after they grow and storing the wood in a vacuum chamber or something like that.

<comment><USER15> You make a good point, but I'm sure the rate of decay matters a lot in this situation as well. Properly treated wood used as building materials could last decades or even centuries without significantly decaying if planned and managed properly[0], but a dead tree on a forest floor will decay very quickly. If we start rapidly growing trees en masse, it might work almost as well to imagine some grand building projects in lieu of giant sealed burial pits. Likely, we would need to do both. And like each offered solution on this topic, plants alone will not fix everything. I'm also interested in some of the novel engineered materials we might be able to make with wood if we discover efficient processes to do so[1]. It irritates me a lot when people lazily say, "just plant trees", but they can for sure be part of the solution.

0\. [https://www.bbc.com/future/article/20190717-climate- change-w...](https://www.bbc.com/future/article/20190717-climate-change- wooden-architecture-concrete-global-warming)

1\. [https://umdrightnow.umd.edu/news/umd-researchers-create- supe...](https://umdrightnow.umd.edu/news/umd-researchers-create-super-wood- stronger-most-metals)

</comment></comment></comment></comment><comment><USER16> Has anyone made a paperclips/cookieclicker-esq game about carbon sequestration yet?

<comment><USER17> Underrated comment

</comment></comment><comment><USER18> The USA does 5903 million metric tons of co2 annually [1]

You'd need 1.5 million of these to remove just the USA's yearly co2 emissions.

[1] [https://www.epa.gov/ghgemissions/inventory-us-greenhouse- gas...](https://www.epa.gov/ghgemissions/inventory-us-greenhouse-gas- emissions-and-sinks)

<comment><USER19> True, for another perspective, one way across the atlantic is about 1 ton, so this is 2000 one way trips or (roughly) 10 flights of 200 people.

On the other hand, if this amount doubled every year, it would equal total US CO2 production in 21 years, total global CO2 production in 27 years.

Agree with the other comments that preventing emissions in the first place is far more efficient. Also, I think that CO2 removal is now included in many climate change models, so the benefit might not be too great.

<comment><USER20> > On the other hand [...]

This tells more about the ridiculous progression of exponential functions than about the efficiency of this process.

<comment><USER19> Agreed that doubling every year is wildly optimistic, other technological growth is much slower, e.g. mobile phones were about 36% annually between 1990 and 2018: [https://data.worldbank.org/indicator/IT.CEL.SETS.P2](https://data.worldbank.org/indicator/IT.CEL.SETS.P2)

</comment></comment></comment></comment><comment><USER21> To me this looks all like snake oil currently. The problem is, that carbon is not a pollutand (like fckw) but the energy carrier-source. So generally to take it out from the athmosphere you need more energy then you got from putting it into the athmosphere (backed by the laws of thermodynamics). So it would only make senso if you have huge (i mean HUGE) amount of renewable energy which somehow is too far away from the industry to use it directly. We are not at that stage. The real problem is to generate enough renewables. Then you can first start to replace your fossil plants by those and then later down the line maybe this technology starts to make sense. For iceland they could just build more aluminium plants now and this would probably be better for the total CO2 reduction.

An analogy: Its like we have a hydroelectric power plant, but people need so much power the water coming out of it is flooding towards the city to distroy it and there is an article 'scientists invented the 10 gallon bucket, allowing to move water back up the dam faster.'. I think this is also harmful, since these kind of successes might give people the wrong inpression where we actually stand.

<comment><USER22> You'd be correct if this system was reducing CO2 to elemental carbon, but in fact it stores CO2 in the earth, not carbon (or hydrocarbon). So it's equivalent to burning fossil carbon, extracting the CO2 from the exhaust stream, and storing that waste underground. The enthalpy of combustion of the fossil fuel that went into the atmospheric CO2 doesn't need to be recovered for this process, it only needs enough energy to concentrate atmospheric CO2 and pump it below ground into geological storage.

<comment><USER21> I am a bit suspect about storing co2 underground. I mean what is the common leakage rate? These storages will become the green house source of the future, or not?

<comment><USER23> What if we stored it as a liquid rather than a gas. Hmmm ... I've heard some things about C8H18 ...

</comment></comment></comment></comment><comment><USER24> Carbon removal is definitely required at this stage.

I read a lot of "Trees are _The_ solution"-esq news whenever Climeworks is brought up and while they do sequester carbon the reality is they are slow and cannot solely be used to lower atmospheric CO₂ levels.

Earth, as we know it today, has the potential to plant an additional 0.9 billion ha of canopy cover (~1.2 trillion trees)[0]

Trees will ultimately help in the long run, no doubt, but will need to be supported by a myriad of other methods such as Climeworks. Ryan Orbuch of Stripe wrote a great primer on some of the other carbon removal methods[1].

If you want to really take meaningful action, choose taking CO₂ out of the air over carbon credits. Even if we reduce to zero tomorrow there is still an excess of carbon dioxide already present in the atmosphere today.

[0] [https://carbonremoved.com/learn/forestation/](https://carbonremoved.com/learn/forestation/) [1] [https://www.orbuch.com/carbon-removal/](https://www.orbuch.com/carbon- removal/)

<comment><USER25> I like the idea of stacking up a lot of 1 meter cubes of carbon into nice shapes. Each cube is just over 2 metric tons of carbon, or the equivalent of 8 metric tons of carbon dioxide. 20 cubic kilometers per year is enough to get us back to pre-industrial levels in no time, and build some interesting monuments while we're at it. A roughly 4-kilometer tall pyramid, anyone? Low low price of 2 trillion dollars each.

<comment><USER24> Interesting concept!

I came across a company making CO₂ negative thermo-plastics the other day[0] which is the closest so far I think we can come to your idea :-)

[0][https://www.madeofair.com/](https://www.madeofair.com/)

</comment></comment></comment><comment><USER26> Random question - At what scale do we need to do this to get back to where the planet was 50 years back?

<comment><USER25> 3210 gigatonnes of CO2 in the atmosphere (410ppm)

275 ppm (Target PPM, based on pre-industrial levels)

3210 gigatonnes - ((3210 gigatonnes / 410) * 275) = 1057 gigatonnes to remove.

Advertised scale: 4000 tons per year

(1057 gigatonnes / 4000 tons per year) = 264250000 years

reasonable timeline: 30 years

30 years / 264250000 years = 8808333x increase needed. Call it roughly 10^7 times faster.

So, a lot.

<comment><USER27> > 275 ppm (Target PPM, based on pre-industrial levels)

Who says this is the ideal level to be at?

<comment><USER15> [https://cdiac.ess- dive.lbl.gov/images/air_bubbles_historical...](https://cdiac.ess- dive.lbl.gov/images/air_bubbles_historical.jpg)

There are dozens, hundreds more studies, graphs, and other data to answer that question. At this point, due to the overwhelming amount of research data available, this kind of question should be considered as made in bad faith.

<comment><USER27> This graph does not answer the question at all. Why is not the ideal level 100? 200? 300? 500? If you have never been at 500 how would you know if the outcome is actually detrimental overall? You can't make models when you don't have historical data outside of your training set, that's a very simple rule that everyone can understand.

Al Gore made ridiculous claims back in 2008 about how bad it would get in just 10 years (making it seem that the trend was linear, which it isn't) and he was completely wrong on most of them - so the question I raise is very much valid.

</comment></comment></comment></comment></comment><comment><USER28> I've always wondered if someone could bio-engineer particularly dense wood as a way to sequester carbon. But I admit, I know next to nothing about how anyone would go about doing that and what the constraints would be, other than its extremely tough to make genetic engineering work.

<comment><USER29> There already are some like the Empress tree. A big problem with any super trees is that they tend to be highly invasive

<comment><USER30> That seems like a _good_ thing if you are serious about scaling up their use...

<comment><USER29> I mean you could in theory make a plant so good that it would outcompete almost any other plants. Then you might get a fungus or other disease that targets that monoculture and can now easily jump through the whole globe since it's covered in the same super plant. Being invasive is not a good feature.

<comment><USER30> That isn't what invasive means. At all.

<comment><USER29> Can you elaborate? Invasive means many things [https://www.fs.fed.us/wildflowers/invasives/](https://www.fs.fed.us/wildflowers/invasives/)

</comment></comment></comment></comment></comment></comment><comment><USER31> This seems completely ridiculous. If it was profitable to do then companies would be doing it directly at the source of emissions more much efficiently.

<comment><USER32> Realistically carbon removal will only happen after we removed most carbon emission sources. Carbon removal will likely be more expensive than reducing emissions for decades to come. This is a future technology for the time, for the "fuck, we already produced far too much emissions, what do we do now?"

<comment><USER10> We're well past that point.

The things are melting.

Stopping all CO2 production tomorrow isn't going to re-freeze the melty bits.

</comment></comment></comment><comment><USER33> I first heard if this tech from the Netflix series, Down To Earth.

I think sequestering the carbon into the soil through plants is a better idea. The mineralization will not be bioavailable in the ecosystem. It isn't as if carbon itself is a bad thing so much as its excess amount in the atmosphere. Futhermore, having more plants and fungi and living ecosystems fixes other problems besides greenhouse gases in the atmosphere.

Or better yet, fix the underlying thing on our global civilization's obsession with technology that emits all of this in the first place. I am not necessarily talking about the tech so much as why we in our society think we can't live without it.

<comment><USER34> it's a bit of an intentionally snarky response but any time anyone talks about machines to do it, I always reply: they already exist, they're called _trees_.

<comment><USER35> Respectfully ignoring the snark, we have an immediate problem and tress aren't fast enough, take up too much land, and the land needs to be suitable.

I've watched the past 30-odd years - and my father for 50-odd years before that - as fertile farmland with good reliable rain (this is not a common combination in Australia) has been built-over with housing. Agriculture has been pushed further out to areas with less fertility and rainfall.

Most of the remaining wide open spaces in Australia can support little more than bush and patches of grass. All the good land with rainfall has people living on it.

<comment><USER27> > take up too much land,

Most of the land on Earth is not used by humans. Where are we lacking space, exactly?

<comment><USER36> Most of the fertile land is in fact used by humans. And planting trees in remote areas is not good either: you need to cut them down and actually sequester the carbon if you want to do something about climate change. Just having stable forests is a far too small carbon sink (and the change in albedo from dark trees actually works against you in many areas of the world). Reforestation is good, but trees alone are not enough.

</comment></comment></comment></comment></comment><comment><USER37> Are they really going to beat the efficiency of trees or algae? I _highly_ doubt it

<comment><USER38> It's extremely easy to beat the efficiency of photosynthesis since plants are so inefficient. The highest estimate I have seen for carbon sequestration by trees is 7 tons of CO2 per acre, which doesn't include losses from converting wood to biochar for long term carbon capture. Direct air capture of CO2 requires about 2000 KWh per ton of CO2. An acre of solar panels produces an average of 357000 KWh of electricity per year. That means that direct air capture is at least 25x more efficient at converting solar energy to captured CO2. That efficiency is important considering the scale at which we will need to sequester carbon in the next few decades. Cost efficiency is a different matter, but even then I believe direct air capture will beat biochar very soon if it hasn't already.

<comment><USER39> Why we are blindly fixated at CO2 only? The artificial cure may be worse than disease. Plants sequester other substances and retain water, regulate temperatures and is home to biodiversity. With artificial solution we will endup with dead deserts of hard to recycle hardware. Nature did it better for millions of years.

<comment><USER37> Until carbon sequestration can make bricks or another useful material as a carbon sink, it'll sit as a niche own used for virtue signaling by politicians rather than actual change that moves the meter.

<comment><USER39> Not even bricks as by time they will become garbage and yet another recycling issue. We would need to dump it back deep underground into mineshafts and oil wells.

</comment></comment></comment></comment></comment><comment><USER40> FAQ on the topic: [https://www.usgs.gov/faqs/what-carbon-sequestration?qt- news_...](https://www.usgs.gov/faqs/what-carbon-sequestration?qt- news_science_products)

</comment><comment><USER41> So if humans are putting 38 billion tons into the atmosphere every year does this even make a dent?

<comment><USER42> 38,000,000,000/4000 = 9,500,000 plants needed to get to net zero, just for the the carbon we are currently putting out, to say nothing of all the carbon currently causing warming...

Seems reasonable to say no.

<comment><USER16> How much carbon release is needed to make 9,500,000 plants..

</comment></comment></comment><comment><USER43> In the distant past we had much higher CO2 levels but the sun was also about 4% weaker.

At this price point, launching a few million tons of solar shades into the L1 Lagrange point is probably more economical.

<comment><USER44> What's the price point? I didn't see anything in the article/press release.

<comment><USER43> Solar shading is on the order of $1 trillion per decade, assuming SuperHeavy+Starship and full reusability as I recall ($10,000 per ton). As a bonus, the capability to launch 10s of millions of tons to orbit fundamentally changes the capability and reach of humanity.

Sucking gigatons of CO2 from the air at the current efficiency is basically infinite dollars, but it could conceivably be cost competitive with the solar shade in a few decades. It basically just requires massive amounts of fully renewable energy, so the benefit is it's a massive renewable energy generation subsidy.

But renewables are already more than cost competitive, the problem we have now is energy storage (batteries).

<comment><USER44> I mean, maybe a solar shade is possible, but it still requires a massive engineering investment and maybe has some accidental risks like "ends photosynthesis" (which is hyperbole, but still, it's a big one shot project with global consequences).

DAC has limitations that likely keep it from being the sole solution to CO2 levels, but it can be developed incrementally without much risk and then deployed on the margins where it makes sense (e.g., on top of geothermal, in the Sahara next to a PV array).

<comment><USER43> The L1 Lagrange point is not perfectly stable. Anything we put there would drift after about a decade. So it requires constant upkeep but also means nothing you do there can be catastrophic.

Both technologies are not "one-shot" but rather are things which are deployed along a spectrum measured in "gigatons of CO2 extracted" or "tons of diffractive material deployed".

You don't put one big mirror in place as a binary thing. You deploy thousands to millions of tons of "mirrors" overall, ~100 tons at a time. Imagine a payload of carbon fiber snowflakes which get dropped off, coated in such a way that they self orient broad-side toward the sun.

I wonder what the _effective carbon offset_ of 100 tons of diffractive material at L1 buys you. Given that you could draw a direct cost/benefit comparison.

</comment></comment></comment></comment></comment><comment><USER45> Lol, so rather than sending the energy elsewere to stop CO2 being released (there are many ways to do this, currently Iceland does it through Aluminium production) we do something useless like putting CO2 into the ground.

If only we could do some sort of bio-tech and create some sort of plant that could convert solar energy in sequestered CO2. Plants are pretty useless as well I guess.

Random fact Iceland abundance of energy is from dams and nothing to do with geothermal, that's just for branding because it's cool and people can't think.

</comment><comment><USER46> Silly q: don't we need to also remove co2 from the upper atmosphere as well? How much missing is there with the lower atmosphere?</comment>


A Few Thoughts on Cryptographic Engineering - <AUTHOR> http://blog.cryptographyengineering.com/

<comment><USER2> the permalink for this article can be found here:

[http://blog.cryptographyengineering.com/2014/11/zero- knowled...](http://blog.cryptographyengineering.com/2014/11/zero-knowledge- proofs-illustrated-primer.html)</comment>


DigitalOcean announces new New York datacenter with IPv6 support - <AUTHOR> https://www.digitalocean.com/company/blog/announcing-nyc3-with-ipv6-support/

<comment><USER2> Finally! Unfortunately you only get 16 addresses (::xxx0 - ::xxxf). It's not usually encouraged to give out such small allocations, even to end users, and this is even smaller than, e.g., Linode's already quite small maximum allocation size (4096 addresses). Well, anyway, at least the VMs finally have IPv6 access.

Now they just need to get custom images and custom kernels working and they'll be back on par with Linode as far as I'm concerned.

</comment><comment><USER3> Is IPv6 so special these days? Even budget VPS-in-a-box (the ones with a SolusVM panel) seem to come with IPv6 nowadays.

<comment><USER4> IPv6 really shouldn't be special in this day and age. It's just part of the Internet.

The problem is that most hosting providers and ISPs have yet to figure this out.

</comment></comment><comment><USER5> at least!</comment>


Make your Girlfriend Happy Webapp - thoughts for Valentine's - <AUTHOR> http://www.jonathanbrun.com/2011/02/make-your-girlfriend-happy-my-side-project.html <comment><USER2> The link from your blog post is broken.</comment>


The Algorithmic Is Political - <AUTHOR> https://bostonreview.net/science-nature-politics/annette-zimmermann-elena-di-rosa-hochan-kim-technology-cant-fix-algorithmic <comment><USER2> Please keep the title as in the article "Technology Can't Fix Algorithmic Injustice" unless it's linkbait or misrepresents the content.</comment>


More Good Programming Quotes, Part 2 - <AUTHOR> https://henrikwarne.com/2017/09/16/more-good-programming-quotes-part-2/ <comment><USER2> Every developer has a test environment. Some are lucky enough to also have a separate production system.</comment>


SEO - <AUTHOR> Are there any tips towards reaching success by the start up SEO business? That might be very helpfull! Oh, any idea by choosing the right SEO Tools? <comment><USER2> We use ahrefs and Similarweb for SEO.</comment>


Why the Raspberry Pi will save the UK - <AUTHOR> http://petenelson.co.uk/2012/03/why-the-raspberry-pi-will-save-the-uk/

<comment><USER2> Elephant in corner of room: The City which he is so contemptuous of is the one industry in the UK that pays technical people fair wages.

I studied Mech Eng at college; no-one does that who doesn't _want_ to be an engineer. When I graduated in the mid-90s there were no jobs, so I went into high-tech. But my CV is still floating around, and I occasionally get called by recruiters in engineering. Now I am no rock star, I am paid well (market rate) but not extravagantly so. But these engineering jobs pay a fraction of what I earn, for the equivalent years of experience. And they wonder why no- one wants to do it?

This comes back to the old class system which is still strong in the UK. No matter how educated, an engineer is not "one of us" to the management class, and will never be paid fairly in the old industries, never more than a paper- pushing middle management bureaucrat who went to the "right" school. Only high-tech (enlightened) and The City (where managers are so well paid that they don't feel threatened) pay technical people fairly.

Anyone smart enough to be an engineer - and there are plenty who want to be - is smart enough to not be exploited in that way. And _that_ is why manufacturing died in the UK.

<comment><USER3> Manufacturing actually died in the UK because of the unions. Workers became greedy, and unproductive. They were unable to compete with other countries, and instead staged big endless strikes demanding ever rising salaries, better working conditions etc - which made them even more uncompetitive with emerging countries.

You can either have great working conditions and pay, or a good manufacturing industry. Can't have both. Some other poorer country will just treat their workers worse, and so be more productive.

(I'm reading "Thatcher - the downing street years" at the moment - a great read).

<comment><USER4> "You can either have great working conditions and pay, or a good manufacturing industry."

Someone needs to explain this to the Germans then.

<comment><USER5> This is a valid point but at the same time - can every country make a lot of money selling extremely high end luxury goods? It seems to me (but I'm very open to information that would change this view) that Germany occupies a rather special position that doesn't scale out world-wide.

<comment><USER6> > can every country make a lot of money selling extremely high end luxury > goods?

It seems to be working well for Apple...

In any case, the biggest car company in Germany is VW, and I wouldn't consider them a "luxury" car manufacturer. And most of the _Mittelstand_ in Germany are companies that are not household names, but are very successful in their particular industrial niches.

</comment></comment></comment></comment></comment><comment><USER7> I grew up on Apple 1 and 2, BBC Micro, and Sinclair ZX80/81 and Spectrum. Computing was new, exciting, available, and there was nothing like it or better at the time. These machines and what they represented were the future. They were even trendy. They were a 4 day week even!!!

That is not the case now.

While I admire the great priced hardware and look forward to playing with a Pi applying them to various "problems", I cannot see this kids lark at all. I showed my kids these things, and they have no interest in them what so ever. They have PC's, laptops, tablets, smart phones, Xboxs, PS3's, etc, etc. What do these things do? Not a lot. What can they be made to do? Less than everything we all ready own. They are impressed with it's size and price, but that is all. All they see is a very small computer that can do these same things their current machines can do, just.

Education? Think about schools (UK schools in my case). Budgets are squeezed, curricula locked down and time tight. Not to mention the lack of low level computing skills in the staff. Well, high level isnt much better, one of my kids acts as a class assistant because the teacher is pretty much clueless. Who is going to champion this and when? How are kids going to be motivated to do this low level stuff when they have alternatives that are much more exciting and "hip"?

Im sorry, I don't believe the Pi is going to solve the education aim at all. The idea is commendable, and I recognise the problem and support any attempt. But I honestly don't see kids getting excited and I don't see any structure that will either capture or motivate them.

Sure, they are selling. Rightly too. But who too? 8 year olds, or geek experimenters like me? I mean, I can see loads of geeky uses. Im loving it. But any kids? Any primary schools? I was in primary school when I first encountered a computer. Secondary school it too late.

I dont want to be down on it in any way, it is a brilliant bit of kit, incredible price too, loads of uses, I must have one, but cant see it starting an educational revolution like BBC Micro (and many others) did.

I mean, its just too darn complicated. The old ZX81, 4 chips. The circuit is so simple. The software was simple.

You know, its just so darn complicated now. There is too much of a gap.

Ooooooo. That was long, and a bit garbled. Sorry.... :)

</comment><comment><USER8> This is largely the argument I made in The Guardian: [http://www.guardian.co.uk/commentisfree/2012/jan/11/ict- brit...](http://www.guardian.co.uk/commentisfree/2012/jan/11/ict-british- computing-renaissance)

Let's hope it comes true!

<comment><AUTHOR> Yes - I read your work in January and it invaded my consciousness. Sorry if I have regurgitated anything but this message needs to be spread!

<comment><USER8> No need to apologize at all! Let's hope it comes true (and let's hope I can get my hands on a Raspberry Pi one day :-)

</comment></comment></comment><comment><USER9> >>>This is where the Raspberry Pi can save us: it's now affordable for the government to equip any child in this country with a machine which they could take home with them and play with.

I have a problem with idealism like that. Andrew Carnegie thought if we had public libraries, it would enable people to help themselves. And where are we today? Education is free too, and where are we today?

I'm not saying that it might not help a small crucial group of children who -- through their _own motivation_ \-- will go on to do great things that will change their lives. But recognize that is the likely reality instead of pining for a universal enrichment that is never going to happen.

A chicken in every pot sounds good, but not everyone knows how -- or wants to learn how -- to cook.

<comment><USER10> You are greatly underestimating the value of public libraries. Even if we agree that only a few motivated individuals actually used the libraries, that itself is enough justification for their establishment (IMO). For instance, Richard Feynman used the public libraries extensively, and he has been a source of motivation for many generations of physicists/ engineers (including myself). (Being from India, when I was younger, I really did feel the disappointment of not having access to a public library.)

</comment></comment><comment><USER11> Sorry to go against the herd mentality, but what?

"I write this as the Raspberry Pi is selling at 700 units a second" Really? That's 42,000 per minute, or a million a day. Sure about that?

This is apart from the fact that the rpi is _just a PC_. There's no new software, educational or otherwise. You can't just give every schoolchild one and expect anything particularly new to happen on it's own.

Finally the claim that a new model of computer will 'Save' the UK is so beyond ludicrous that I don't know where to begin. The device is not even manufactured in the UK!

I'm all for the sentiments expressed in the article, but let's try and keep the hysteria in check. There's a lot more work ahead.

</comment><comment><USER12> I'm also hoping that RPi will kick off something here in the UK. But is there evidence that access to a computer is the main hurdle for kids wanting to learn programming in the UK? Clearly, the US hasn't had a Raspberry Pi.

<comment><USER13> It's not about access to a generic computer - it's access to a computer that positively invites tinkering.

<comment><USER14> Absolutely! RPi is cheap but every bit as powerful and _complicated_ as a full PC. I don't see why everyone is saying it will revolutionize programming education for kids. They don't need cheap computers. They need _simple_ computers; a "microworld" in which to play as Seymour Papert would say. That's not the same as an abstracted away or dumbed-down machine. Give them a constrained, simple environment and they'll have fun stretching it in ways you'd never imagine.

Something closer to the Fignition side of the spectrum. (I've personally liked taking my kids back to Papert's Turtle Graphics on such a simple machine: <http://bit.ly/figlogo>)

</comment></comment></comment><comment><USER15> I share the authors desire for there to be more programmers and that software will eat the world.

However why do we need a Raspberry Pi? Can't you make software with any computer (except recent things from Apple)? Or is it a case that RP, being so popular will get people talking about creating and playing with stuff?

<comment><USER16> This is true but for a lot of parents there is one computer in the house and it's pretty precious, the kids can't 'fuck it up'.

Now, with a rp, when a kid says "I'm gonna strap my computer to this servo, and that servo to some junk in the garage and throw it all off of the roof AND IT WILL FLY!" a few less parent will freak out and there is more of a chance we can all benefit from what ever is in this kids head..... and latterly smashed on his lawn :)

There are a lot of ideas in kids heads that just don't see the light of day.

<comment><USER15> Yes experimentation is great. _but_ , many teenagers already have a laptop (or parents have their own). Surely there's lots of people with 2+ computers.

<comment><USER16> Yeah there are lots but even the poorest can afford a RP, which is more and more is better.

Even the richest parents would think twice about allowing little alice to throw her laptop off the roof.

As a kid that grew up without a lot of stuff and my parents struggled to get me my first computer (Oric 16k). It changed my life. I think the RP will change more lives and open up more avenues to genuinely poor kids who want to experiment.

Great ideas are not just generated by middle/upper class kids, us working class kids have great ideas too _.

_ I realise this is a great generalisation and we live in a 'class-less society' and money goes up as well as down and some kids will indeed use RP to record their sisters undressing and some kids will try and snort their RP up their nose BUT it's a genuine opportunity for ALL kids and I endorse it.

</comment></comment></comment></comment><comment><USER17> Interesting that this article does not mention three things:

1\. The designers of the Raspberry Pi have said that while their intention was to design and manufacture the device fully within the UK, the latter turned out to be impossible from a business perspective due to the high import taxes of materials for electronic assembly.

2\. Why will the untested potential of the Raspberry Pi "save the UK" when an already extremely successful and much older electronics company like ARM (also based in Cambridge) has already got there first? ARM's devices are used all over the world for the lower power efficiency of their CPU designs, most notably in Apple devices.

ARM's success has had no impact on the trend towards services in the UK economy since its founding in 1990.

3\. When the size (GDP impact) of the City relative to the UK real economy is _six_ times larger than the size of Wall Street relative to the US real economy, you can be sure that if there is any change it will be very slow indeed.

The UK long ago given up the many benefits of engineering and manufacturing. It takes a considerable amount of time to ramp up the expertise to build competitive products in the world today. Just look at the centuries old Germanic Mittlestand and the 40-year Korean engineering sector development - the formerly fastest economic developer in the world. Also, engineering in the UK (unlike in the rest of the EU) has serious cultural and financial downsides plus little government support.

</comment><comment><USER18> what's with the increasingly histrionic posts here? one small computer will not "save" a particular country any more than one hack of github will destroy software development as we know it.

did "raspberry pi might increase interest in software development slightly, although it's hard to see why this should be restricted to the uk since it's available internationally" not sound catchy enough?

</comment><comment><USER19> Cultural note:

Several huge industries have been closed down in the last quarter of the 20th century. Governments were adamant that subsidies absolutely were not available to those industries. Many people have lived in relative poverty for years, in areas with very high rates of unemployment.

And then the banks went into meltdown, because of greedy irresponsible sometimes criminal behaviour; and these were the same banks that were talking about the importance of pure market forces and no government intervention; and these banks were propped up at vast expense to the UK taxpayer; at a time when many well loved public services are being cut; and those same greedy bankers (despite being in position when their banks lost billions and needed support from tax-payers) are taking huge bonuses.

<comment><USER2> Oh PLEASE. Do you honestly believe this?

I suggest you do a little reading, start with the Industrial Reorganization Committee and the Wilson government (1964).

</comment></comment><comment><USER20> I love this article. While reading the comments I had the following thought. That the RP is somewhat intimidating and exposed as a raw piece of electronics. While you or I have plenty of keyboards and mice around, and no doubt schools do too, what about the people who don't? Has anyone reading this had any experience building something like this? If we could package the cheapest screen with the cheapest mouse with a small case some people might find this a useful package. Seems like a good candidate for a kickstarter project? To be clear I wouldn't intend this as a business, but as a way to contribute to the RP project. (I think I would actually like to buy on e of these as I ony own laptops, so I have to buy all these peripherals anyway when I get my RP)

</comment><comment><USER21> I remember the BBC Micro!

Oh for our kids to learn how and why of computers, and grow up to rule them instead of be ruled by them!

</comment><comment><USER22> Off topic, but I LOVE how every post on your blog has a different background image. Is there a theme for this or you did it custom?

<comment><AUTHOR> This is a custom theme called: five3 Personally I really like it too

</comment></comment><comment><USER23> A webdeveloper blog that does not work in an up-to-date browser (Opera)...

I get it when it is WebGL, but not for static text.

<comment><AUTHOR> Sorry - but I just used a pre-built theme - because if I didn't do that then I would never get time to actually write any blog posts as my own site takes a very low priority for coding time! Saying that I do like this theme and think the dev did a good job. I have removed that overflow hidden on the body - thanks for the suggestion - so let's hope it's readable now

<comment><USER24> for what it's worth, I found the parallax effect on the background image rather annoying.

Every time I scrolled every single visual reference point of where I was reading changed.

</comment></comment></comment><comment><USER25> But won't somebody think of the children!!!

Oh they are. I'll shut up then... :)

</comment><comment><USER26> This article reminds me of the description of the economy of post-collapse america in Snowcrash.

"When it gets down to it — talking trade balances here — once we've brain- drained all our technology into other countries, once things have evened out, they're making cars in Bolivia and microwave ovens in Tadzhikistan and selling them here — once our edge in natural resources has been made irrelevant by giant Hong Kong ships and dirigibles that can ship North Dakota all the way to New Zealand for a nickel — once the Invisible Hand has taken away all those historical inequities and smeared them out into a broad global layer of what a Pakistani brickmaker would consider to be prosperity — y'know what? There's only four things we do better than anyone else:

music

movies

microcode (software)

high-speed pizza delivery"</comment>


CyanogenMod developers passing on Samsung Galaxy S4 - <AUTHOR> http://www.androidcentral.com/cm-developers-passing-samsung-galaxy-s4-should-you

<comment><USER2> That was foreseen.

For me a reason not to upgrade from S2 to an S4, HTC One probably... Hail Cyanogenmod!</comment>


Profits = Freedom - <AUTHOR> http://37signals.com/svn/posts/2223-profits-freedom

<comment><USER3> This is typical of what drives me crazy about 37signals. They say several things that are true but then claim that there's a causal relationship between them.

Take this post.

Premise: Profits = Freedom.

Results:

Company runs without debt: unrelated to profits. Profitable companies can use debt as a tool, and they cite their lack of credit history as causing a problem! Debt free is not the same as profitable.

We trust our employees: this has everything to do with hiring and nothing to do with profitability. They can offer the benefits they list _because they're profitable_ , but profit doesn't make them trust their employees.

We speak our minds: this is because they have controlling interest in the company, not because they don't have debt. Again, no relation.

This would be confusing as hell for someone that tried to build their business based on the advice in this post.

<comment><USER4> The 37signals posts often seem rushed.

<comment><USER5> Probably busy counting profits.

<comment><USER6> Or not worry about losing a little profit here and there for speaking their mind.

</comment></comment></comment></comment><comment><USER7> I found it amusing that the <title> of the page is:

        Profits = Freedom - (37signals)

Which is the same as saying:

        Profits + 37signals = Freedom

Doesn't sound very helpful to us who don't have 37signals.

<comment><USER8> Could be fixed by using an —

</comment></comment><comment><USER9> Rather fluffy article but one point I'd like to raise is that it is odd for a consistently profitable company to avoid debt.

Debt can be a good thing, it can help finance growth or reduce monthly costs to increase cash flow. For the same reasons there could be justifiably good financial reason to get a mortgage even though you could pay for the house in cash, relating to tax benefits and other incentives.

Once you are consistently profitable, or have a high paying job that affords significant personal cash flow, you might be inclined to forgo all debt entirely, but on the other hand once you are in this scenario you are the least likely to default on a debt and have the capacity to take bigger risks by borrowing without ruining either your credit or causing an immense about of stress.

It's great I guess that they don't take the debt approach, but it's not necessarily a positive thing, and I bet I could look at their financial statements and see tons of opportunity to leverage debt that would free up cash flow so they could be making better use of their capital.

<comment><USER10> >> _"it is odd for a consistently profitable company to avoid debt"_

It's also probably not true, unless 37Signals uses their debit card for every random purchase they make.

A credit card is a perfect example of why debt is not categorically bad. If you pay off the debt within 30 days, you have a 0% interest rate. You also probably earned some kind of rebate, airmiles, or loyalty points. And you probably saved time over trying to pay for the product using cash or check.

Purchasing with a credit card is a small example of how intelligent use of debt can be a wise business decision.

</comment></comment><comment><USER11> I think the main issues here are ones of capital scale and efficiency. I believe 37Signals' tenets work well for low headcount, extremely capital- efficient businesses such as software development, hedge fund management, or specialty insurance.

Unfortunately, there are many enterprises (drug research, agriculture, smelting, office construction, theme parks, waste processing, private space exploration, etc.) which are fundamentally dependent on large amounts of capital both during the start-up phase as well as to ensure daily continuity of operations.

Most of these capital intensive business also demand a reasonably large staff to support these daily workflows.

With a larger staff comes the increasing probability that one bad apple will be hired. Just one bad apple can bring an entire enterprise down without a reasonable set of security and trust-limiting thresholds on capital expenditures and workflow control. The Union Carbide chemical spill in Bhopal and the Barings bank collapse come immediately to mind.

A prominent COO once told me that for every 100 hires, he expected to pick-up 1 bad apple every 2 years. In his context a "bad apple" was someone whom, over time, would repeatedly and deliberately attempt to criminally defraud, sabotage, or publicly discredit the company.

With those odds, basic human nature, and capital-intensive business economics, it's not hard to see why these enterprise's mores on debt and individual trust run counter to 37Signals' philosophy.

</comment><comment><USER12> I read this as - "If you want real freedom, you don't just want to run a company, you want to run a PROFITABLE company"

The point being that running Twitter isn't freedom until Twitter doesn't need to constantly ask others to pay the bills.

<comment><USER13> You need more than _just_ profits, though; you also need all the equity. If you run a profitable company but are beholden to investors, you still don't have complete freedom, though they might give you more leeway than if you were losing money.

</comment></comment><comment><USER14> Only on the web is completely stone sober run of the mill stock business advice considered revolutionary and "out there". 37signals' advice is pretty straightforward: build something worthwhile, charge money for it, make a profit, grow based on your profit not on some hypothetical ideal, etc. Mundane business advice in any other industry.

<comment><USER15> There are millions of web businesses making extremely big profits - <USER2> advertising, leadgen, and even a few like 37signals from subscriptions

37s advice about charging is still quite a niche model for the web though. But I'll resist the temptation to start another 'get users to pay' vs 'advertising debate.

Grow based on your profit isn't really 'run of the mill stock business advice' though. Some businesses take time to build. Some require a few years investment. Some can be profitable straight away. One size doesn't fit all.

If you want the lowest risk sure fire way to make money online though, it's certainly "Find a niche" -> "Create useful content" -> "Promote" -> "Monetize through advertising".

The other thing is that in the several autobiographies I've read, people who create really cool stuff - for example Walt Disney, Richard Branson, Duncan Bannatyne... They're _always_ in debt. They're always running from one thing to the next by the skin of their teeth trying to get the next thing financed. Investing all their profit and more into building and growing. But they're also workaholics as well. So what do they know ;)

<comment><USER16> I'd say the more sure-fire way is: "Create something useful" -> "Charge for it".

Now there's always the risk that nobody wants what you made (see fendale's comment), but lets assume for a sec that that's hard either way. Here's a very dry analysis of the path to money for both:

Advertising model:

\- Create something useful

\- Find an audience

\- Find advertisers

\- Get advertisers to pay you

Product model:

\- Create something useful

\- Find an audience

\- Get audience to pay you

That's at least one less step in the 'product model'. You can even argue that to properly execute the advertising model you'll actually need one more step in between: "Create an ad placement strategy" ("Create" as in "design and implement" in all cases here).

Getting money from the people who experience the value of the "useful thing" sounds a lot more direct (and more efficient, which correlates to a better return) than getting the people who value the attention of the people who value the "useful thing" to pay you.

I don't have any first-hand experience with the ad-supported model, but I seriously question whether it's a/the sure-fire way of making money online.

<comment><USER15> Problem is, people expect things to be free. By restricting yourself only to people willing to pay money, you've cut out most of the internet population. You might be restricting yourself to a small business.

There's also a heap of other reasons... for example, if you create X, and sell it to users, you're only selling one thing. By advertising other peoples products, you can be selling 1,000 different things. The chances of success are vastly increased. Also, if you sell directly, your users are likely only to purchase once from you. If you run advertising, they are more likely to generate continuous revenue for you, from multiple products.

<comment><USER17> > Problem is, people expect things to be free.

Businesses don't.

> By restricting yourself only to people willing to pay money, you've cut out > most of the internet population.

No, you've cut out freeloaders who expect something for nothing, people you generally don't want anyway. This isn't cutting people out, it's filtering out bad prospects. People who want stuff free are the worst customers, I'd much prefer those who are willing to pay for something they find valuable to them. You can avoid a lot of scaling problems by only focusing on paying customers and there's no shortage of paying customers if you build something of real value.

<comment><USER15> If you want to do business to business, then sure. Personally I don't particularly enjoy that.

Also the point about 'avoiding scaling problems' is sort of funny. You can certainly avoid scaling problems if you don't try and grow big.

<comment><USER17> Growing big and growing profitable are entirely different things. If you get profitable without getting big you do gain the benefit of not being forced to scale on borrowed money. The goal of business isn't to be big, it's to make money.

<comment><USER15> Getting profitable is easy. It's the getting big bit which is hard.

The fact is, it's often easier especially online, to solve the hard problem (get big) first. Once you've done that getting profitable is a walk in the park.

<comment><USER17> > Getting profitable is easy. It's the getting big bit which is hard.

Exactly my point, and since the point of most business is to make money that should be the obvious first goal. Getting big is for dreamers, it's a lottery, getting profitable is the sensible goal. Get big later, or risk failing chasing wild dreams.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Right on. Surprised to hear the criticisms in these comments since this seems like such basic advice: don't have debt, work in a context of trust, and the desire to have everyone do good work.

Not having debt is fundamental for real freedom. Not having debt is worth giving up some material crap for.

Trust people. Make adjustments on an individual basis if it is ever necessary.

We all want to do good work that has a positive effect on the world and make money to support people we love. Try to set up an environment so people can do their best work.

</comment><comment><USER19> From <http://news.ycombinator.com/item?id=171567> by redorb in response an earlier 37signals post at <http://37signals.com/svn/posts/979-quit-your-job>

        "Life is too short to work at a job you hate,
        but everyone has to do something someone else is willing to pay
        them for." Sid Emmert

</comment><comment><USER20> i'm curious no-one here (or in the article) name checks amartya sen - <http://en.wikipedia.org/wiki/Amartya_Sen>

the concept of "feedom" (and the idea that being able to maximise it is a good thing) is very similar to his "capabilities" - <http://en.wikipedia.org/wiki/Capability_approach>

</comment><comment><USER21> Lack of debt might be good, but lack of credit history is bad.

As an individual, even if you don't ever want to get into debt and pay for all your purchases up-front, you have to make an effort to build your credit history. If you don't have a good one a lot of things completely unrelated to debt become a lot harder in our society.

Same thing applies to companies. Possibly even more.

<comment><USER22> This of course assume that credit history is both good and the only way to do it.

In Denmark it's the other way around. You don't get a credit history you get marked as a bad payer. In other words you are not forced to take on debt to show that you can pay your rent instead you are checked to see if you are a bad payer.

I have lived in the US and had to build a credit history to rent a flat. I never understood why this is good for anyone but the banks.

<comment><USER23> Thom, you are collateral damage from a rational decision that an American with no history has something to hide. Their defaults are _measurably_ stratospheric compared to folks with positive history. There are nondefault risks such as property damage or running a meth lab, which will cost the landlord five figures to clean if it does not raze the property. Apologies for the inconvenience.

<comment><USER22> You take the system that you know and assume that this is the only way to do it.

I have just explained how it can also be done and is done and run perfectly well.

Make of it as you want.

</comment></comment></comment></comment><comment><USER24> Perhaps one assumption in this business philosophy is that you have to be really clear to everyone about why they're being given certain liberties and why it's important.

The only way I could see people not 'acting like adults' is if they think that by extension certain other things are allowed, which aren't -- by virtue of not being mutually beneficial. DHH and Jason Fried are pretty forceful personalities. It's hard to imagine them not being clear about why they're managing the way they do.

Would it ever backfire without clear, forceful personalities guiding it?

Refreshing to hear about anyway. Investment in the confidence of employees via trusting them seems like always a good investment.

And ditto what other people have said here about the advice being somewhat basic. But on the other hand, the investment strategies of say Warren Buffett are incredibly basic as well. Basic != overvalue

</comment><comment><USER25> I enjoyed this article and because I know David reads this I wanted to suggest the book "Human Action" by Ludwig von Mises. It seems like his discussion of profits in that book might be pretty interesting with your line of thought.

I saw in an interview that John Mackey of Whole Foods got a lot out of reading it for what's that worth.

<http://en.wikipedia.org/wiki/Human_Action>

</comment><comment><USER26> This is so obvious as to be trite.

 _It's these supposedly crazy things that make me not want to give up 37signals for anything._

I'm guessing a sufficiently large buyout offer will change your mind on that right quick.

</comment><comment><USER27> I love this snippet from the comments, referring to the fact that 37signals is beholden to their customers.

"Everyone has a boss. There is no escape."

<comment><USER28> Their customers don't all want the same thing, so they can't "do what their customers want", even if they wanted to.

What they can't do is only whatever would cause _massive_ amounts of customers to stop using their products.

</comment></comment><comment><USER29> How can they manage to get so many upvotes in a post with essentially no content?

I am absolutely baffled.</comment>


Gmail-Britta: a ruby DSL for your gmail filters - <AUTHOR> http://boinkor.net/archives/2012/12/write-gmail-filters-in-a-nice-ruby-dsl-gmail-britta.html

<comment><USER2> Nice work

<comment><AUTHOR> Thanks! Please let me know if you have any questions about it or run into problems. If you write a filter set and you can share the script that generated it for the examples, that would be pretty super, too (-:</comment></comment>